2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
13 /*@private@*/ typedef struct
19 abst_typedef /*@null@*/ struct s_flagSpec *flagSpec;
24 /* combination logic if necessary */
25 /*@null@*/ /*@only@*/ flagSpec trest;
28 /*@constant null flagSpec flagSpec_undefined; @*/
29 # define flagSpec_undefined ((flagSpec) NULL)
31 extern /*@falsenull@*/ bool flagSpec_isDefined (flagSpec p_e) /*@*/ ;
32 # define flagSpec_isDefined(e) ((e) != flagSpec_undefined)
34 extern /*@only@*/ flagSpec flagSpec_createPlain (/*@only@*/ cstring) ;
35 extern /*@only@*/ flagSpec
36 flagSpec_createOr (/*@only@*/ cstring, /*@only@*/ flagSpec) ;
38 extern /*@only@*/ flagSpec flagSpec_copy (flagSpec) /*@*/ ;
39 extern /*@unused@*/ /*@only@*/ cstring flagSpec_unparse (flagSpec) /*@*/ ;
40 extern void flagSpec_free (/*@only@*/ flagSpec) ;
42 extern /*@only@*/ cstring flagSpec_dump (flagSpec) /*@*/ ;
43 extern /*@only@*/ flagSpec flagSpec_undump (char **p_s) /*@modifies p_s@*/ ;
45 extern flagcode flagSpec_getDominant (flagSpec) /*@*/ ;
46 extern flagcode flagSpec_getFirstOn (flagSpec, fileloc) /*@*/ ;
48 extern bool flagSpec_isOn (flagSpec, fileloc) /*@*/ ;
51 # error "Multiple include"