]> andersk Git - splint.git/blob - src/Headers/functionConstraint.h
*** empty log message ***
[splint.git] / src / Headers / functionConstraint.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 */
5 /*
6 ** functionConstraint.h
7 */
8
9 # ifndef FCNCONSTRAINT_H
10 # define FcNCONSTRAINT_H
11
12 typedef enum
13 {
14   FCT_BUFFER, FCT_METASTATE
15 } functionConstraintKind ;
16
17 struct s_functionConstraint {
18   functionConstraintKind kind;
19   union {
20     /*@only@*/ constraintList buffer;
21     /*@only@*/ metaStateConstraint metastate;
22   } constraint;
23 } ;
24
25 /*@constant null functionConstraint functionConstraint_undefined; @*/
26 # define functionConstraint_undefined    ((functionConstraint) NULL)
27
28 extern /*@falsenull@*/ bool functionConstraint_isDefined (functionConstraint) /*@*/ ;
29 # define functionConstraint_isDefined(p_info) ((p_info) != NULL)
30
31 extern /*@truenull@*/ bool functionConstraint_isUndefined (functionConstraint) /*@*/ ;
32 # define functionConstraint_isUndefined(p_info) ((p_info) == NULL)
33
34 extern functionConstraint functionConstraint_copy (functionConstraint) /*@*/ ;
35
36 extern functionConstraint
37 functionConstraint_createBufferConstraint (/*@only@*/ constraintList) ;
38
39 extern functionConstraint
40 functionConstraint_createMetaStateConstraint (/*@only@*/ metaStateConstraint) ;
41
42 extern bool functionConstraint_hasBufferConstraint (functionConstraint) /*@*/ ;
43
44 extern /*@observer@*/ constraintList functionConstraint_getBufferConstraint (functionConstraint) /*@*/ ;
45 extern /*@observer@*/ metaStateConstraint functionConstraint_getMetaStateConstraint (functionConstraint) /*@*/ ;
46
47 extern cstring functionConstraint_unparse (functionConstraint) /*@*/ ;
48 extern void functionConstraint_free (/*@only@*/ functionConstraint) ;
49
50 # else
51 # error "Multiple include"
52 # endif 
53
54
55
56
This page took 0.038997 seconds and 5 git commands to generate.