]> andersk Git - splint.git/blame - src/Headers/uentryList.h
Updating to use the LEnsures and LRequires instead of the ensures requires so
[splint.git] / src / Headers / uentryList.h
CommitLineData
885824d3 1/*
2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
3** See ../LICENSE for license information.
4*/
5/*
6** uentryList.h (from slist_templace.h)
7*/
8
9# ifndef uentryLIST_H
10# define uentryLIST_H
11
12abst_typedef /*@null@*/ struct _uentryList *uentryList ;
13
14struct _uentryList
15{
16 int nelements;
17 int nspace;
18 int current;
19 /*@reldef@*/ /*@relnull@*/ o_uentry *elements;
20} ;
21
22/*@iter uentryList_elements (sef uentryList x, yield exposed uentry el); @*/
23# define uentryList_elements(x, m_el) \
24 { if (!uentryList_isUndefined(x) && !uentryList_isVoid(x))\
25 { int m_ind; uentry *m_elements = &((x)->elements[0]); \
26 for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
27 { uentry m_el = *(m_elements++);
28
29# define end_uentryList_elements }}}
30
31extern void uentryList_clear (uentryList p_s) /*@modifies p_s@*/ ;
32extern int uentryList_size (uentryList p_s) /*@*/ ;
33extern /*@only@*/ uentryList uentryList_makeMissingParams (void);
34
35/*@constant null uentryList uentryList_missingParams; @*/
36# define uentryList_missingParams uentryList_undefined
37
38# define uentryList_makeMissingParams() uentryList_missingParams
39
40extern /*@truenull@*/ bool uentryList_isMissingParams (uentryList p_s) /*@*/ ;
41extern /*@truenull@*/ bool uentryList_isUndefined (uentryList p_s) /*@*/ ;
42extern /*@unused@*/ /*@truenull@*/ bool uentryList_isEmpty (uentryList p_s) /*@*/ ;
43extern /*@unused@*/ /*@falsenull@*/ bool uentryList_isDefined (uentryList p_s) /*@*/ ;
44
45# define uentryList_isEmpty(s) (uentryList_size(s) == 0)
46
47/*@constant null uentryList uentryList_undefined; @*/
48# define uentryList_undefined ((uentryList)0)
49
50# define uentryList_isUndefined(c) ((c) == uentryList_undefined)
51# define uentryList_isDefined(c) ((c) != uentryList_undefined)
52
53extern /*@notnull@*/ /*@only@*/ uentryList uentryList_new(void);
54extern uentryList uentryList_add (/*@returned@*/ uentryList p_s, /*@keep@*/ uentry p_el) /*@modifies p_s@*/ ;
55extern /*@only@*/ uentryList uentryList_single (/*@keep@*/ uentry p_el) /*@*/ ;
56extern /*@exposed@*/ uentry uentryList_getN (uentryList p_p, int p_n) /*@*/ ;
57
58extern /*@unused@*/ cstring uentryList_unparseFull (uentryList p_s) /*@*/ ;
59extern cstring uentryList_unparse (uentryList p_s) /*@*/ ;
60extern cstring uentryList_unparseAbbrev (uentryList p_p) /*@*/ ;
61extern cstring uentryList_unparseParams (uentryList p_s) /*@*/ ;
62
63extern void uentryList_free (/*@only@*/ uentryList p_s) ;
64extern bool uentryList_isVoid (uentryList p_cl) /*@*/ ;
65extern /*@only@*/ uentryList uentryList_copy (uentryList p_s) /*@*/ ;
66extern void uentryList_fixMissingNames (uentryList p_cl) /*@modifies p_cl@*/ ;
67
68extern int uentryList_compareStrict (uentryList p_s, uentryList p_t) /*@*/ ;
69extern int uentryList_compareParams (uentryList p_s, uentryList p_t) /*@*/ ;
70extern int uentryList_compareFields (uentryList p_s, uentryList p_t) /*@*/ ;
71extern cstring uentryList_dumpParams (uentryList p_s) /*@*/ ;
72extern uentryList uentryList_undump (char **p_s) /*@modifies *p_s@*/ ;
73
74extern bool uentryList_hasReturned (uentryList p_ul) /*@*/ ;
75extern void uentryList_advanceSafe (uentryList p_s) /*@modifies p_s@*/;
76extern bool uentryList_isFinished (uentryList p_s) /*@*/ ;
77extern void uentryList_reset (uentryList p_s) /*@modifies p_s@*/ ;
78extern /*@exposed@*/ uentry uentryList_current (uentryList p_s) /*@*/ ;
79extern int uentryList_lookupRealName (uentryList p_s, cstring p_name) /*@*/ ;
80extern /*@exposed@*/ uentry
81 uentryList_lookupField (uentryList p_f, cstring p_name) /*@*/ ;
82extern uentryList uentryList_mergeFields (/*@only@*/ uentryList p_f1, /*@only@*/ uentryList p_f2);
83extern void uentryList_showFieldDifference (uentryList p_p1, uentryList p_p2);
84extern /*@only@*/ uentryList uentryList_undumpFields (char **p_s, fileloc p_loc);
85extern /*@only@*/ cstring uentryList_dumpFields (uentryList p_s);
86extern void uentryList_fixImpParams (uentryList p_cl);
87extern bool uentryList_sameObject (uentryList, uentryList);
88extern bool uentryList_matchFields (uentryList p_p1, uentryList p_p2);
89extern bool uentryList_matchParams (uentryList p_p1, uentryList p_p2, bool p_force, bool p_arg);
90
91# define uentryList_sameObject(s,t) ((s) == (t))
92
93/*@constant int PRINTBREADTH;@*/
94# define PRINTBREADTH 3
95
96/*@constant int uentryListBASESIZE;@*/
97# define uentryListBASESIZE MIDBASESIZE
98
99# else
100# error "Multiple include"
101# endif
102
103
104
105
This page took 0.058995 seconds and 5 git commands to generate.