:orphan:
# PetscBagRegisterEnum
add an enum value to a `PetscBag`
## Synopsis
```
#include "petscbag.h"
PetscErrorCode PetscBagRegisterEnum(PetscBag bag, void *addr, const char *const *list, PetscEnum mdefault, const char *name, const char *help)
```
Logically Collective
## Input Parameters
- ***bag -*** the bag of values
- ***addr -*** location of enum in struct, for example `¶ms->dt`
- ***list -*** array of strings containing names of enum values followed by enum name followed by enum prefix
- ***mdefault -*** the initial value, cast with (`PetscEnum`)
- ***name -*** the name of the item
- ***help -*** longer string with more information about the value
## See Also
`PetscBag`, `PetscBagSetName()`, `PetscBagView()`, `PetscBagLoad()`, `PetscBagGetData()`
`PetscBagRegisterInt()`, `PetscBagRegisterBool()`, `PetscBagRegisterScalar()`
`PetscBagSetFromOptions()`, `PetscBagCreate()`, `PetscBagGetName()`
## Level
beginner
## Location
src/sys/classes/bag/bag.c
## Examples
src/sys/tutorials/ex5.c
src/sys/tutorials/ex5f90.F90
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/bag/bag.c)
[Index of all Sys routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)