typedef enum
{
- CTK_ANYTYPE = -4,
CTK_UNKNOWN = -3,
CTK_INVALID = -2,
CTK_DNE = -1,
/*@constant ctype ctype_dne; @*/
# define ctype_dne ((ctype) CTK_DNE)
-/*@constant ctype ctype_anytype; @*/
-# define ctype_anytype ((ctype) CTK_ANYTYPE)
-
/*@constant ctype ctype_unknown; @*/
# define ctype_unknown CTX_UNKNOWN
extern ctype ctype_getBaseType (ctype p_c) /*@*/ ;
+extern ctype ctype_makeAnytype (void) /*@*/ ;
+extern bool ctype_isAnytype (ctype) /*@*/ ;
+
extern ctype ctype_makeArray (ctype p_c);
-extern ctype ctype_makeFixedArray (ctype p_c, long p_size);
+extern ctype ctype_makeFixedArray (ctype p_c, size_t p_size);
+extern ctype ctype_makeInnerFixedArray (ctype p_c, size_t p_size);
extern ctype ctype_makeInnerArray (ctype p_c);
-extern ctype ctype_makeInnerFixedArray (ctype p_c, long p_size);
-
-extern ctype ctype_makeConj (ctype p_c1, ctype p_c2);
+extern ctype ctype_makeConj (ctype p_c1, ctype p_c2) /*@modifies internalState@*/ ;
extern ctype ctype_makeParamsFunction (ctype p_base, /*@only@*/ uentryList p_p);
extern ctype ctype_makeFunction (ctype p_base, /*@only@*/ uentryList p_p) /*@*/ ;
extern ctype ctype_makeNFParamsFunction (ctype p_base, /*@only@*/ uentryList p_p) /*@*/ ;
extern bool ctype_isUnknown (ctype p_c) /*@*/;
# define ctype_isUnknown(c) ((c) == CTX_UNKNOWN)
-extern bool ctype_isAnytype (ctype p_c) /*@*/;
-# define ctype_isAnytype(c) ((c) == ctype_anytype)
-
extern bool ctype_isBogus (/*@sef@*/ ctype p_c) /*@*/ ;
# define ctype_isBogus(c) (ctype_isUndefined(c) || ctype_isUnknown(c))
extern ctype ctype_widest (ctype, ctype) /*@*/ ;
/* drl modified */
-extern long int ctype_getArraySize (ctype p_c);
+extern size_t ctype_getArraySize (ctype p_c);
+
+extern cstring ctype_unparseFunction (ctype p_c, /*@only@*/ cstring p_name);
+
+
+extern cstring
+ctype_unparseFunctionPointer (ctype p_c, cstring p_quals, /*@only@*/ cstring p_name);
+
/*end drl add functions */
/* Should only be used in uentry.c */
extern bool ctype_isUserBool (ctype p_ct) /*@*/ ;
+
+
# else
# error "Multiple include"
# endif