]> andersk Git - splint.git/blob - src/Headers/filelocStack.h
Initial revision
[splint.git] / src / Headers / filelocStack.h
1 /*
2 ** filelocStack.h (from slist_templace.h)
3 */
4
5 # ifndef FILELOCSTACK_H
6 # define FILELOCSTACK_H
7
8 abst_typedef /*@null@*/ struct _filelocStack
9 {
10   int nelements;
11   int free;
12   /*@reldef@*/ /*@relnull@*/ o_fileloc *elements;
13 } *filelocStack ;
14
15 /*@constant null filelocStack filelocStack_undefined; @*/
16 # define filelocStack_undefined (NULL)
17
18 extern /*@falsenull@*/ bool filelocStack_isDefined (filelocStack p_f) /*@*/ ;
19 # define filelocStack_isDefined(f)   ((f) != filelocStack_undefined)
20
21 extern int filelocStack_size (/*@sef@*/ filelocStack p_s) /*@*/ ;
22 # define filelocStack_size(s)    (filelocStack_isDefined (s) ? (s)->nelements : 0)
23
24 extern int filelocStack_includeDepth (filelocStack p_s);
25 extern void filelocStack_printIncludes (filelocStack p_s) /*@modifies g_msgstream@*/ ;
26
27 extern void filelocStack_clear (filelocStack p_s) /*@modifies p_s@*/ ;
28
29 extern /*@only@*/ filelocStack filelocStack_new (void) /*@*/ ;
30 extern /*@observer@*/ fileloc filelocStack_nextTop (filelocStack p_s) /*@*/ ;
31
32 extern bool
33   filelocStack_popPushFile (filelocStack p_s, /*@only@*/ fileloc p_el) 
34   /*@modifies p_s@*/ ;
35
36 extern /*@unused@*/ /*@only@*/ cstring filelocStack_unparse (filelocStack p_s) /*@*/ ;
37 extern void filelocStack_free (/*@only@*/ filelocStack p_s) ;
38
39 /*@constant int filelocStackBASESIZE;@*/
40 # define filelocStackBASESIZE MIDBASESIZE
41
42 # endif
43
44
45
46
This page took 0.090076 seconds and 5 git commands to generate.