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 #ifndef _H_defins
00026 #define _H_defins
00027
00028 #if DEFINSTANCES_CONSTRUCT
00029
00030 #define EnvGetDefinstancesName(theEnv,x) GetConstructNameString((struct constructHeader *) x)
00031 #define EnvGetDefinstancesPPForm(theEnv,x) GetConstructPPForm(theEnv,(struct constructHeader *) x)
00032
00033 #define GetDefinstancesNamePointer(x) GetConstructNamePointer((struct constructHeader *) x)
00034 #define SetDefinstancesPPForm(d,ppf) SetConstructPPForm(theEnv,(struct constructHeader *) d,ppf)
00035
00036 #define GetDefinstancesModuleName(x) GetConstructModuleName((struct constructHeader *) x)
00037 #define EnvDefinstancesModule(theEnv,x) GetConstructModuleName((struct constructHeader *) x)
00038
00039 struct definstances;
00040
00041 #ifndef _H_conscomp
00042 #include "conscomp.h"
00043 #endif
00044 #ifndef _H_constrct
00045 #include "constrct.h"
00046 #endif
00047 #ifndef _H_cstrccom
00048 #include "cstrccom.h"
00049 #endif
00050 #ifndef _H_moduldef
00051 #include "moduldef.h"
00052 #endif
00053 #ifndef _H_object
00054 #include "object.h"
00055 #endif
00056
00057 typedef struct definstancesModule
00058 {
00059 struct defmoduleItemHeader header;
00060 } DEFINSTANCES_MODULE;
00061
00062 typedef struct definstances
00063 {
00064 struct constructHeader header;
00065 unsigned busy;
00066 EXPRESSION *mkinstance;
00067 } DEFINSTANCES;
00068
00069 #define DEFINSTANCES_DATA 22
00070
00071 struct definstancesData
00072 {
00073 struct construct *DefinstancesConstruct;
00074 int DefinstancesModuleIndex;
00075 #if CONSTRUCT_COMPILER && (! RUN_TIME)
00076 struct CodeGeneratorItem *DefinstancesCodeItem;
00077 #endif
00078 };
00079
00080 #define DefinstancesData(theEnv) ((struct definstancesData *) GetEnvironmentData(theEnv,DEFINSTANCES_DATA))
00081
00082
00083 #ifdef LOCALE
00084 #undef LOCALE
00085 #endif
00086
00087 #ifdef _DEFINS_SOURCE_
00088 #define LOCALE
00089 #else
00090 #define LOCALE extern
00091 #endif
00092
00093 #define DefinstancesModule(x) GetConstructModuleName((struct constructHeader *) x)
00094 #define FindDefinstances(a) EnvFindDefinstances(GetCurrentEnvironment(),a)
00095 #define GetDefinstancesList(a,b) EnvGetDefinstancesList(GetCurrentEnvironment(),a,b)
00096 #define GetDefinstancesName(x) GetConstructNameString((struct constructHeader *) x)
00097 #define GetDefinstancesPPForm(x) GetConstructPPForm(GetCurrentEnvironment(),(struct constructHeader *) x)
00098 #define GetNextDefinstances(a) EnvGetNextDefinstances(GetCurrentEnvironment(),a)
00099 #define IsDefinstancesDeletable(a) EnvIsDefinstancesDeletable(GetCurrentEnvironment(),a)
00100 #define ListDefinstances(a,b) EnvListDefinstances(GetCurrentEnvironment(),a,b)
00101 #define Undefinstances(a) EnvUndefinstances(GetCurrentEnvironment(),a)
00102
00103 LOCALE void SetupDefinstances(void *);
00104 LOCALE void *EnvGetNextDefinstances(void *,void *);
00105 LOCALE void *EnvFindDefinstances(void *,char *);
00106 LOCALE int EnvIsDefinstancesDeletable(void *,void *);
00107 LOCALE void UndefinstancesCommand(void *);
00108 LOCALE void *GetDefinstancesModuleCommand(void *);
00109 LOCALE intBool EnvUndefinstances(void *,void *);
00110
00111 #if DEBUGGING_FUNCTIONS
00112 LOCALE void PPDefinstancesCommand(void *);
00113 LOCALE void ListDefinstancesCommand(void *);
00114 LOCALE void EnvListDefinstances(void *,char *,struct defmodule *);
00115 #endif
00116
00117 LOCALE void GetDefinstancesListFunction(void *,DATA_OBJECT *);
00118 LOCALE void EnvGetDefinstancesList(void *,DATA_OBJECT *,struct defmodule *);
00119
00120 #endif
00121
00122 #endif
00123
00124
00125
00126
00127