/*
-** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
+** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
** See ../LICENSE for license information.
*/
/*
# ifndef uentryLIST_H
# define uentryLIST_H
-abst_typedef /*@null@*/ struct _uentryList *uentryList ;
-
-struct _uentryList
-{
+abst_typedef /*@null@*/ struct {
int nelements;
int nspace;
int current;
/*@reldef@*/ /*@relnull@*/ o_uentry *elements;
-} ;
+} *uentryList;
/*@iter uentryList_elements (sef uentryList x, yield exposed uentry el); @*/
# define uentryList_elements(x, m_el) \
# define uentryList_makeMissingParams() uentryList_missingParams
-extern /*@truenull@*/ bool uentryList_isMissingParams (uentryList p_s) /*@*/ ;
-extern /*@truenull@*/ bool uentryList_isUndefined (uentryList p_s) /*@*/ ;
-extern /*@unused@*/ /*@truenull@*/ bool uentryList_isEmpty (uentryList p_s) /*@*/ ;
-extern /*@unused@*/ /*@falsenull@*/ bool uentryList_isDefined (uentryList p_s) /*@*/ ;
+extern /*@nullwhentrue@*/ bool uentryList_isMissingParams (uentryList p_s) /*@*/ ;
+extern /*@nullwhentrue@*/ bool uentryList_isUndefined (uentryList p_s) /*@*/ ;
+extern /*@unused@*/ /*@nullwhentrue@*/ bool uentryList_isEmpty (uentryList p_s) /*@*/ ;
+extern /*@unused@*/ /*@falsewhennull@*/ bool uentryList_isDefined (uentryList p_s) /*@*/ ;
# define uentryList_isEmpty(s) (uentryList_size(s) == 0)
extern cstring uentryList_unparseParams (uentryList p_s) /*@*/ ;
extern void uentryList_free (/*@only@*/ uentryList p_s) ;
+extern void uentryList_freeShallow (/*@only@*/ uentryList p_s) ;
extern bool uentryList_isVoid (uentryList p_cl) /*@*/ ;
extern /*@only@*/ uentryList uentryList_copy (uentryList p_s) /*@*/ ;
extern void uentryList_fixMissingNames (uentryList p_cl) /*@modifies p_cl@*/ ;
extern int uentryList_compareStrict (uentryList p_s, uentryList p_t) /*@*/ ;
extern int uentryList_compareParams (uentryList p_s, uentryList p_t) /*@*/ ;
extern int uentryList_compareFields (uentryList p_s, uentryList p_t) /*@*/ ;
+extern bool uentryList_equivFields (uentryList p_p1, uentryList p_p2) /*@*/ ;
+
extern cstring uentryList_dumpParams (uentryList p_s) /*@*/ ;
extern uentryList uentryList_undump (char **p_s) /*@modifies *p_s@*/ ;
# define uentryList_sameObject(s,t) ((s) == (t))
-/*@constant int PRINTBREADTH;@*/
-# define PRINTBREADTH 3
-
/*@constant int uentryListBASESIZE;@*/
# define uentryListBASESIZE MIDBASESIZE
+/*@constant int uentryList_abbrevBreadth@*/
+# define uentryList_abbrevBreadth 3
+
# else
# error "Multiple include"
# endif