]> andersk Git - splint.git/blame_incremental - src/Headers/functionConstraint.h
*** empty log message ***
[splint.git] / src / Headers / functionConstraint.h
... / ...
CommitLineData
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
12typedef enum
13{
14 FCT_BUFFER, FCT_METASTATE, FCT_CONJUNCT
15} functionConstraintKind ;
16
17struct s_functionConstraint {
18 functionConstraintKind kind;
19 union {
20 /*@only@*/ constraintList buffer;
21 /*@only@*/ metaStateConstraint metastate;
22 struct { functionConstraint op1; functionConstraint op2; } conjunct;
23 } constraint;
24} ;
25
26/*@constant null functionConstraint functionConstraint_undefined; @*/
27# define functionConstraint_undefined ((functionConstraint) NULL)
28
29extern /*@falsenull@*/ bool functionConstraint_isDefined (functionConstraint) /*@*/ ;
30# define functionConstraint_isDefined(p_info) ((p_info) != NULL)
31
32extern /*@truenull@*/ bool functionConstraint_isUndefined (functionConstraint) /*@*/ ;
33# define functionConstraint_isUndefined(p_info) ((p_info) == NULL)
34
35extern functionConstraint functionConstraint_copy (functionConstraint) /*@*/ ;
36
37extern functionConstraint
38functionConstraint_createBufferConstraint (/*@only@*/ constraintList) ;
39
40extern functionConstraint
41functionConstraint_createMetaStateConstraint (/*@only@*/ metaStateConstraint) ;
42
43extern bool functionConstraint_hasBufferConstraint (functionConstraint) /*@*/ ;
44extern bool functionConstraint_hasMetaStateConstraint (functionConstraint) /*@*/ ;
45
46extern functionConstraint
47functionConstraint_conjoin (/*@only@*/ functionConstraint, /*@only@*/ functionConstraint) ;
48
49extern /*@only@*/ constraintList functionConstraint_getBufferConstraints (functionConstraint) /*@*/ ;
50extern /*@only@*/ metaStateConstraintList functionConstraint_getMetaStateConstraints (functionConstraint) /*@*/ ;
51
52extern cstring functionConstraint_unparse (functionConstraint) /*@*/ ;
53extern void functionConstraint_free (/*@only@*/ functionConstraint) ;
54
55# else
56# error "Multiple include"
57# endif
58
59
60
61
This page took 1.072695 seconds and 5 git commands to generate.