1 /*******************************************************/ 2 /* "C" Language Integrated Production System */ 3 /* */ 4 /* CLIPS Version 6.30 08/16/14 */ 5 /* */ 6 /* */ 7 /*******************************************************/ 8 9 /*************************************************************/ 10 /* Purpose: */ 11 /* */ 12 /* Principal Programmer(s): */ 13 /* Brian L. Dantes */ 14 /* */ 15 /* Contributing Programmer(s): */ 16 /* */ 17 /* Revision History: */ 18 /* */ 19 /* 6.24: Removed IMPERATIVE_MESSAGE_HANDLERS and */ 20 /* AUXILIARY_MESSAGE_HANDLERS compilation flags. */ 21 /* */ 22 /* 6.30: Changed integer type/precision. */ 23 /* */ 24 /* Removed conditional code for unsupported */ 25 /* compilers/operating systems (IBM_MCW, */ 26 /* MAC_MCW, and IBM_TBC). */ 27 /* */ 28 /*************************************************************/ 29 30 #ifndef _H_objbin 31 #define _H_objbin 32 33 #ifndef _H_object 34 #include "object.h" 35 #endif 36 37 #define OBJECTBIN_DATA 33 38 39 struct objectBinaryData 40 { 41 DEFCLASS *DefclassArray; 42 long ModuleCount; 43 long ClassCount; 44 long LinkCount; 45 long SlotCount; 46 long SlotNameCount; 47 long TemplateSlotCount; 48 long SlotNameMapCount; 49 long HandlerCount; 50 DEFCLASS_MODULE *ModuleArray; 51 DEFCLASS **LinkArray; 52 SLOT_DESC *SlotArray; 53 SLOT_DESC **TmpslotArray; 54 SLOT_NAME *SlotNameArray; 55 unsigned *MapslotArray; 56 HANDLER *HandlerArray; 57 unsigned *MaphandlerArray; 58 }; 59 60 #define ObjectBinaryData(theEnv) ((struct objectBinaryData *) GetEnvironmentData(theEnv,OBJECTBIN_DATA)) 61 62 #define DefclassPointer(i) (((i) == -1L) ? NULL : (DEFCLASS *) &ObjectBinaryData(theEnv)->DefclassArray[i]) 63 #define DefclassIndex(cls) (((cls) == NULL) ? -1 : ((struct constructHeader *) cls)->bsaveID) 64 65 #ifdef LOCALE 66 #undef LOCALE 67 #endif 68 69 #ifdef _OBJBIN_SOURCE_ 70 #define LOCALE 71 #else 72 #define LOCALE extern 73 #endif 74 75 LOCALE void SetupObjectsBload(void *); 76 LOCALE void *BloadDefclassModuleReference(void *,int); 77 78 #endif /* _H_objbin */ 79 80 81 82