xref: /petsc/include/petscoptions.h (revision 4bbc92c1ffdc419abb1af95adee3d231624e4f0c)
1*4bbc92c1SBarry Smith /* $Id: petscoptions.h,v 1.40 2000/08/24 22:43:56 bsmith Exp bsmith $ */
2f26ada1bSBarry Smith /*
337f753daSBarry Smith    Routines to determine options set in the options database.
4f26ada1bSBarry Smith */
50a835dfdSSatish Balay #if !defined(__PETSCOPTIONS_H)
60a835dfdSSatish Balay #define __PETSCOPTIONS_H
73a3b2205SBarry Smith #include "petsc.h"
83a3b2205SBarry Smith 
9ca44d042SBarry Smith EXTERN int  OptionsHasName(const char[],const char[],PetscTruth*);
10ca44d042SBarry Smith EXTERN int  OptionsGetInt(const char[],const char [],int *,PetscTruth*);
11ca44d042SBarry Smith EXTERN int  OptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*);
12ca44d042SBarry Smith EXTERN int  OptionsGetDouble(const char[],const char[],double *,PetscTruth*);
13ca44d042SBarry Smith EXTERN int  OptionsGetScalar(const char[],const char[],Scalar *,PetscTruth*);
14ca44d042SBarry Smith EXTERN int  OptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*);
15ca44d042SBarry Smith EXTERN int  OptionsGetDoubleArray(const char[],const char[],double[],int *,PetscTruth*);
16ca44d042SBarry Smith EXTERN int  OptionsGetString(const char[],const char[],char[],int,PetscTruth*);
17ca44d042SBarry Smith EXTERN int  OptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*);
183a3b2205SBarry Smith 
19ca44d042SBarry Smith EXTERN int  OptionsSetAlias(const char[],const char[]);
20ca44d042SBarry Smith EXTERN int  OptionsSetValue(const char[],const char[]);
21ca44d042SBarry Smith EXTERN int  OptionsClearValue(const char[]);
223a3b2205SBarry Smith 
23ca44d042SBarry Smith EXTERN int  OptionsAllUsed(int *);
24ca44d042SBarry Smith EXTERN int  OptionsLeft(void);
25ca44d042SBarry Smith EXTERN int  OptionsPrint(FILE *);
264b0e389bSBarry Smith 
27ca44d042SBarry Smith EXTERN int  OptionsCreate(void);
28ca44d042SBarry Smith EXTERN int  OptionsInsert(int *,char ***,const char[]);
29ca44d042SBarry Smith EXTERN int  OptionsInsertFile(const char[]);
30ca44d042SBarry Smith EXTERN int  OptionsDestroy(void);
315d0dffe5SBarry Smith 
32ca44d042SBarry Smith EXTERN int  OptionsReject(const char[],const char[]);
33ca44d042SBarry Smith EXTERN int  OptionsGetAll(char*[]);
345d0dffe5SBarry Smith 
35ca44d042SBarry Smith EXTERN int  OptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *);
36ca44d042SBarry Smith EXTERN int  OptionsAtoi(const char[],int*);
37ca44d042SBarry Smith EXTERN int  OptionsAtod(const char[],double*);
382e8a6d31SBarry Smith 
39186905e3SBarry Smith extern PetscTruth OptionsPublish;
40186905e3SBarry Smith extern int        OptionsPublishCount;
41186905e3SBarry Smith #define    OptionsBegin(comm,prefix,mess) 0; {\
42*4bbc92c1SBarry Smith              for (OptionsPublishCount=(OptionsPublish?-1:1); OptionsPublishCount<2; OptionsPublishCount++) {\
43186905e3SBarry Smith              int __ierr = OptionsBegin_Private(comm,prefix,mess);CHKERRQ(__ierr);
44186905e3SBarry Smith #define    OptionsEnd() __ierr = OptionsEnd_Private();CHKERRQ(__ierr);}}
45186905e3SBarry Smith EXTERN int OptionsBegin_Private(MPI_Comm,char*,char*);
46186905e3SBarry Smith EXTERN int OptionsEnd_Private(void);
47*4bbc92c1SBarry Smith EXTERN int OptionsHead(char*);
48*4bbc92c1SBarry Smith #define    OptionsTail() 0; {if (OptionsPublishCount != 1) PetscFunctionReturn(0);}
49186905e3SBarry Smith 
50186905e3SBarry Smith EXTERN int OptionsInt(char*,char*,char*,int,int*,PetscTruth*);
51186905e3SBarry Smith EXTERN int OptionsDouble(char*,char*,char*,double,double*,PetscTruth*);
52186905e3SBarry Smith EXTERN int OptionsScalar(char*,char*,char*,Scalar,Scalar*,PetscTruth*);
53186905e3SBarry Smith EXTERN int OptionsName(char*,char*,char*,PetscTruth*);
54186905e3SBarry Smith EXTERN int OptionsString(char*,char*,char*,char*,char*,int,PetscTruth*);
55186905e3SBarry Smith EXTERN int OptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*);
56186905e3SBarry Smith EXTERN int OptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*);
57186905e3SBarry Smith EXTERN int OptionsLogicalGroup(char*,char*,char*,PetscTruth*);
58186905e3SBarry Smith EXTERN int OptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*);
59186905e3SBarry Smith EXTERN int OptionsList(char*,char*,char*,FList,char*,char*,int,PetscTruth*);
60186905e3SBarry Smith EXTERN int OptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*);
61*4bbc92c1SBarry Smith EXTERN int OptionsDoubleArray(char*,char*,char*,double[],int*,PetscTruth*);
62*4bbc92c1SBarry Smith EXTERN int OptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*);
633a3b2205SBarry Smith #endif
64*4bbc92c1SBarry Smith 
65*4bbc92c1SBarry Smith 
66