00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _H_cstrnchk
00027 #define _H_cstrnchk
00028
00029 #ifndef _H_constrnt
00030 #include "constrnt.h"
00031 #endif
00032 #ifndef _H_evaluatn
00033 #include "evaluatn.h"
00034 #endif
00035
00036 #ifdef LOCALE
00037 #undef LOCALE
00038 #endif
00039
00040 #ifdef _CSTRNCHK_SOURCE_
00041 #define LOCALE
00042 #else
00043 #define LOCALE extern
00044 #endif
00045
00046 #define NO_VIOLATION 0
00047 #define TYPE_VIOLATION 1
00048 #define RANGE_VIOLATION 2
00049 #define ALLOWED_VALUES_VIOLATION 3
00050 #define FUNCTION_RETURN_TYPE_VIOLATION 4
00051 #define CARDINALITY_VIOLATION 5
00052 #define ALLOWED_CLASSES_VIOLATION 6
00053
00054 LOCALE intBool CheckCardinalityConstraint(void *,long,CONSTRAINT_RECORD *);
00055 LOCALE intBool CheckAllowedValuesConstraint(int,void *,CONSTRAINT_RECORD *);
00056 LOCALE intBool CheckAllowedClassesConstraint(void *,int,void *,CONSTRAINT_RECORD *);
00057 LOCALE int ConstraintCheckExpressionChain(void *,struct expr *,
00058 CONSTRAINT_RECORD *);
00059 LOCALE void ConstraintViolationErrorMessage(void *,char *,char *,int,int,
00060 struct symbolHashNode *,
00061 int,int,CONSTRAINT_RECORD *,
00062 int);
00063 LOCALE int ConstraintCheckValue(void *,int,void *,CONSTRAINT_RECORD *);
00064 LOCALE int ConstraintCheckDataObject(void *,DATA_OBJECT *,CONSTRAINT_RECORD *);
00065 #if (! BLOAD_ONLY) && (! RUN_TIME)
00066 LOCALE int ConstraintCheckExpression(void *,struct expr *,
00067 CONSTRAINT_RECORD *);
00068 #endif
00069 #if (! RUN_TIME)
00070 LOCALE intBool UnmatchableConstraint(struct constraintRecord *);
00071 #endif
00072
00073 #endif
00074
00075
00076