changa 3.5
Loading...
Searching...
No Matches
param.h
1#ifndef PARAM_HINCLUDED
2#define PARAM_HINCLUDED
3
4/* Header for parameter parsing module.
5 * First implemented by Joachim Stadel in PKDGRAV.
6 */
7#ifdef __cplusplus
8extern "C" {
9#endif
13enum TypeParam {
14 paramBool = 0,
15 paramInt = 1,
16 paramDouble = 2,
17 paramString = 3
18};
19
23typedef struct prmNode {
24 struct prmNode *pnNext;
25 char *pszName;
26 int iType;
27 int bArg;
28 int bFile;
29 int iSize;
30 void *pValue;
31 char *pszArg;
32 char *pszArgUsage;
33 } PRM_NODE;
34
38typedef struct prmContext {
39 PRM_NODE *pnHead;
40 PRM_NODE *pnTail;
41 void (*fcnLeader)(void);
42 void (*fcnTrailer)(void);
43 } * PRM;
44
45#define PRM_LINE_SIZE 256
46
47void prmInitialize(PRM *,void (*)(void),void (*)(void));
48void prmFinish(PRM);
49void prmAddParam(PRM,const char *,int,void *,int,const char *,const char *);
50void prmArgUsage(PRM prm);
51void prmLogParam(PRM prm, const char *pszFile);
52int prmParseParam(PRM,char *);
53int prmArgProc(PRM,int,char **, int);
54int prmSpecified(PRM,const char *);
55int prmArgSpecified(PRM,const char *);
56int prmFileSpecified(PRM,const char *);
57#ifdef __cplusplus
58}
59#endif
60
61#endif
62
63
64
65
66
67
68
Object containing the parameter information.
Definition param.h:38
Information about a parameter.
Definition param.h:23