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