File: cio_filevars.h

package info (click to toggle)
eprover 2.6%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 21,288 kB
  • sloc: ansic: 331,111; csh: 12,026; python: 10,178; awk: 5,825; makefile: 461; sh: 389
file content (72 lines) | stat: -rw-r--r-- 2,212 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*-----------------------------------------------------------------------

File  : cio_filevars.h

Author: Stephan Schulz

Contents

  Functions for managing file-stored "variable = value;" pairs.

  Copyright 1998, 1999 by the author.
  This code is released under the GNU General Public Licence and
  the GNU Lesser General Public License.
  See the file COPYING in the main E directory for details..
  Run "eprover -h" for contact information.

Changes

<1> Thu Apr  8 16:00:49 MET DST 1999
    New

-----------------------------------------------------------------------*/

#ifndef CIO_FILEVARS

#define CIO_FILEVARS

#include <clb_stringtrees.h>
#include <clb_pstacks.h>
#include <cio_basicparser.h>


/*---------------------------------------------------------------------*/
/*                    Data type declarations                           */
/*---------------------------------------------------------------------*/

typedef struct filevarscell
{
   PStack_p  names; /* Of sources, for error messages */
   StrTree_p vars;  /* Storing (ident, value) pairs */
}FileVarsCell, *FileVars_p;



/*---------------------------------------------------------------------*/
/*                Exported Functions and Variables                     */
/*---------------------------------------------------------------------*/


#define FileVarsCellAlloc() (FileVarsCell*)SizeMalloc(sizeof(FileVarsCell))
#define FileVarsCellFree(junk)        SizeFree(junk, sizeof(FileVarsCell))

FileVars_p FileVarsAlloc(void);
void       FileVarsFree(FileVars_p handle);
long       FileVarsParse(Scanner_p in, FileVars_p vars);
long       FileVarsReadFromFile(char* file, FileVars_p vars);
bool       FileVarsGetBool(FileVars_p vars, char* name, bool *value);
bool       FileVarsGetInt(FileVars_p vars, char* name,  long *value);
bool       FileVarsGetStr(FileVars_p vars, char* name,  char **value);
bool       FileVarsGetIdentifier(FileVars_p vars, char* name,  char
             **value);

#endif

/*---------------------------------------------------------------------*/
/*                        End of File                                  */
/*---------------------------------------------------------------------*/