Skip to main content
`Ctrl`+`K`

# PetscOptionsGetEnum

Gets the enum value for a particular option in the database.

## Synopsis

    #include "petscsys.h"
    PetscErrorCode PetscOptionsGetEnum(PetscOptions options, const char pre[], const char opt[], const char *const list[], PetscEnum *value, PetscBool *set) PeNSS

Not Collective

## Input Parameters

- options - options database, use `NULL` for default global database

- pre - option prefix or `NULL`

- opt - option name

- list - array containing the list of choices, followed by the enum name, followed by the enum prefix, followed by a null

## Output Parameters

- value - the value to return

- set - `PETSC_TRUE` if found, else `PETSC_FALSE`

## Notes

If the user does not supply the option `value` is NOT changed. Thus you should ALWAYS initialize `value` if you access it without first checking that the `set` flag is true.

`list` is usually something like `PCASMTypes` or some other predefined list of enum names

## See Also

`PetscOptionsGetReal()`, `PetscOptionsHasName()`, `PetscOptionsGetString()`, `PetscOptionsGetInt()`, `PetscOptionsGetIntArray()`, `PetscOptionsGetRealArray()`, `PetscOptionsBool()`, `PetscOptionsInt()`, `PetscOptionsString()`, `PetscOptionsReal()`, `PetscOptionsName()`, `PetscOptionsBegin()`, `PetscOptionsEnd()`, `PetscOptionsHeadBegin()`, `PetscOptionsStringArray()`, `PetscOptionsRealArray()`, `PetscOptionsScalar()`, `PetscOptionsBoolGroupBegin()`, `PetscOptionsBoolGroup()`, `PetscOptionsBoolGroupEnd()`, `PetscOptionsFList()`, `PetscOptionsEList()`, `PetscOptionsGetEList()`, `PetscOptionsEnum()`

## Level

beginner

## Location

src/sys/objects/options.c

## Examples

src/mat/tutorials/ex10.c
src/sys/tutorials/ex8f90.F90

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages