/*
-** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
+** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
** See ../LICENSE for license information.
**
*/
extern ctype ctype_forceRealType (ctype p_c);
extern bool ctype_forceMatch (ctype p_c1, ctype p_c2);
-extern bool ctype_genMatch (ctype p_c1, ctype p_c2, bool p_force, bool p_arg, bool p_def);
+extern bool ctype_genMatch (ctype p_c1, ctype p_c2, bool p_force, bool p_arg, bool p_def, bool p_deep);
extern bool ctype_isSimple (ctype p_c) /*@*/ ;
extern bool ctype_isAbstract (ctype p_c) /*@*/ ;
extern bool ctype_isFixedArray (ctype p_c) /*@*/ ;
extern bool ctype_isIncompleteArray (ctype p_c) /*@*/ ;
extern bool ctype_isArrayPtr (ctype p_c) /*@*/ ;
-extern bool ctype_isBool (ctype p_c) /*@*/ ;
+extern bool ctype_isBool (ctype p_c) /*@*/ ; /* matches type bool */
+extern bool ctype_isManifestBool (ctype p_c) /*@*/ ; /* declared as type bool */
extern bool ctype_isChar (ctype p_c) /*@*/ ;
extern bool ctype_isUnsignedChar (ctype p_c) /*@*/ ;
extern bool ctype_isSignedChar (ctype p_c) /*@*/ ;
extern bool ctype_isInt (ctype p_c) /*@*/ ;
extern bool ctype_isRegularInt (ctype p_c) /*@*/ ;
extern bool ctype_isMutable (ctype p_t) /*@*/ ;
+extern bool ctype_isImmutableAbstract (ctype p_t) /*@*/ ;
extern bool ctype_isNumeric (ctype p_c) /*@*/ ;
extern bool ctype_isPointer (ctype p_c) /*@*/ ;
extern bool ctype_isReal (ctype p_c) /*@*/ ;
extern bool ctype_isStructorUnion(ctype p_c) /*@*/ ;
extern bool ctype_isUA (ctype p_c) /*@*/ ;
extern bool ctype_isUnion (ctype p_c) /*@*/ ;
-extern bool ctype_isUserBool (ctype p_ct) /*@*/ ;
extern bool ctype_isVoid (ctype p_c) /*@*/ ;
extern bool ctype_isVoidPointer (ctype p_c) /*@*/ ;
extern ctype ctype_createUnnamedUnion (/*@only@*/ uentryList p_f) ;
extern ctype ctype_createUser (typeId p_u) ;
+extern bool ctype_isUnnamedSU (ctype p_c) /*@*/ ;
extern bool ctype_isUser (ctype p_c) /*@*/ ;
extern ctype ctype_expectFunction(ctype p_c) ;
extern ctype ctype_makeFunction (ctype p_base, /*@only@*/ uentryList p_p) /*@*/ ;
extern ctype ctype_makeNFParamsFunction (ctype p_base, /*@only@*/ uentryList p_p) /*@*/ ;
extern ctype ctype_makePointer (ctype p_c);
-extern ctype ctype_makeRealFunction (ctype p_base, /*@dependent@*/ uentryList p_p);
+extern ctype ctype_makeRawFunction (ctype p_base, /*@only@*/ uentryList p_p);
extern ctype ctype_newBase (ctype p_c, ctype p_p) /*@*/ ;
extern ctype ctype_realType (ctype p_c) /*@*/ ;
extern ctype ctype_removePointers (ctype p_c) /*@*/ ;
extern ctype ctype_resolve (ctype p_c) /*@*/ ;
extern ctype ctype_resolveNumerics (ctype p_c1, ctype p_c2) /*@*/ ;
-extern ctype ctype_returnValue (ctype p_c) /*@*/ ;
+extern ctype ctype_getReturnType (ctype p_c) /*@*/ ;
extern bool ctype_isRefCounted (ctype p_t) /*@*/ ;
extern /*@observer@*/ uentryList ctype_argsFunction (ctype p_c) /*@*/ ;
extern ctype ctype_widest (ctype, ctype) /*@*/ ;
+/*
+ drl
+ modified */
+long int ctype_getArraySize (ctype p_c);
+/*end drl add functions */
+
+/* Should only be used in uentry.c */
+extern bool ctype_isUserBool (ctype p_ct) /*@*/ ;
+
# else
# error "Multiple include"
# endif