Skip to main content
`Ctrl`+`K`

# PetscFunctionListAdd

Given a routine and a string id, saves that routine in the specified registry.

## Synopsis

    #include <petscsys.h>
    PetscErrorCode PetscFunctionListAdd(PetscFunctionList *flist,const char name[],void (*fptr)(void))

Not Collective

## Input Parameters

- fl - pointer to function list object

- name - string to identify routine

- fptr - function pointer

## Notes

To remove a registered routine, pass in a `NULL` `fptr`.

Users who wish to register new classes for use by a particular PETSc component (e.g., `SNES`) should generally call the registration routine for that particular component (e.g., `SNESRegister()`) instead of calling `PetscFunctionListAdd()` directly.

## See Also

`PetscFunctionListDestroy()`, `SNESRegister()`, `KSPRegister()`,`PetscFunctionListDuplicate()` `PCRegister()`, `TSRegister()`, `PetscFunctionList`, `PetscObjectComposeFunction()`

## Level

developer

## Location

src/sys/dll/reg.c

## Examples

src/ts/utils/dmplexlandau/tutorials/ex2.c
src/ksp/ksp/tutorials/ex74.c
src/ts/tutorials/ex8.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex9.c

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