:orphan: # PetscFileMode Access mode for a file. ## Synopsis ``` typedef enum { FILE_MODE_UNDEFINED = -1, FILE_MODE_READ = 0, FILE_MODE_WRITE, FILE_MODE_APPEND, FILE_MODE_UPDATE, FILE_MODE_APPEND_UPDATE } PetscFileMode; ``` ## Values - ***`FILE_MODE_UNDEFINED` -*** initial invalid value - ***`FILE_MODE_READ` -*** open a file at its beginning for reading - ***`FILE_MODE_WRITE` -*** open a file at its beginning for writing (will create if the file does not exist) - ***`FILE_MODE_APPEND` -*** open a file at end for writing - ***`FILE_MODE_UPDATE` -*** open a file for updating, meaning for reading and writing - ***`FILE_MODE_APPEND_UPDATE` -*** open a file for updating, meaning for reading and writing, at the end ## See Also `PetscViewerFileSetMode()` ## Level beginner ## Location include/petscsystypes.h ## Examples src/dm/impls/plex/tutorials/ex5.c
src/dm/impls/stag/tutorials/ex4.c
src/dm/impls/stag/tutorials/ex6.c
src/dm/tutorials/ex1.c
src/dm/tutorials/ex10.c
src/dm/tutorials/ex15.c
src/dm/tutorials/ex20.c
src/dm/tutorials/ex21.c
src/dm/tutorials/ex7.c
src/dm/tutorials/ex9.c
src/ksp/ksp/tutorials/ex10.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsystypes.h) [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)