]> andersk Git - splint.git/blame - src/Headers/flagSpec.h
Merged code tree with Dave Evans's version. Many changes to numberous to list....
[splint.git] / src / Headers / flagSpec.h
CommitLineData
28bf4b0b 1/*
2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3** See ../LICENSE for license information.
4**
5*/
6/*
7** flagSpec.h
8*/
9
10# ifndef flagSpec_H
11# define flagSpec_H
12
13/*@private@*/ typedef struct
14{
15 cstring name;
16 flagcode code;
17} *flagSpecItem;
18
19abst_typedef /*@null@*/ struct s_flagSpec *flagSpec;
20
21struct s_flagSpec
22{
23 flagSpecItem tspec;
24 /* combination logic if necessary */
25 /*@null@*/ /*@only@*/ flagSpec trest;
26} ;
27
28/*@constant null flagSpec flagSpec_undefined; @*/
29# define flagSpec_undefined ((flagSpec) NULL)
30
31extern /*@falsenull@*/ bool flagSpec_isDefined (flagSpec p_e) /*@*/ ;
32# define flagSpec_isDefined(e) ((e) != flagSpec_undefined)
33
34extern /*@only@*/ flagSpec flagSpec_createPlain (/*@only@*/ cstring) ;
35extern /*@only@*/ flagSpec
36 flagSpec_createOr (/*@only@*/ cstring, /*@only@*/ flagSpec) ;
37
38extern /*@unused@*/ /*@only@*/ cstring flagSpec_unparse (flagSpec) /*@*/ ;
39extern void flagSpec_free (/*@only@*/ flagSpec) ;
40
41extern /*@only@*/ cstring flagSpec_dump (flagSpec) /*@*/ ;
42extern /*@only@*/ flagSpec flagSpec_undump (char **p_s) /*@modifies p_s@*/ ;
43
44extern flagcode flagSpec_getDominant (flagSpec) /*@*/ ;
45extern flagcode flagSpec_getFirstOn (flagSpec, fileloc) /*@*/ ;
46
47extern bool flagSpec_isOn (flagSpec, fileloc) /*@*/ ;
48
49# else
50# error "Multiple include"
51# endif
52
53
54
55
This page took 0.207837 seconds and 5 git commands to generate.