1    /*******************************************************/
2    /*      "C" Language Integrated Production System      */
3    /*                                                     */
4    /*             CLIPS Version 6.30  01/25/15            */
5    /*                                                     */
6    /*           CONSTRUCT COMMAND HEADER MODULE           */
7    /*******************************************************/
8 
9 /*************************************************************/
10 /* Purpose:                                                  */
11 /*                                                           */
12 /* Principal Programmer(s):                                  */
13 /*      Gary D. Riley                                        */
14 /*                                                           */
15 /* Contributing Programmer(s):                               */
16 /*                                                           */
17 /* Revision History:                                         */
18 /*                                                           */
19 /*      6.24: Renamed BOOLEAN macro type to intBool.         */
20 /*                                                           */
21 /*            Added ConstructsDeletable function.            */
22 /*                                                           */
23 /*      6.30: Added const qualifiers to remove C++           */
24 /*            deprecation warnings.                          */
25 /*                                                           */
26 /*            Changed find construct functionality so that   */
27 /*            imported modules are search when locating a    */
28 /*            named construct.                               */
29 /*                                                           */
30 /*************************************************************/
31 
32 #ifndef _H_cstrccom
33 
34 #define _H_cstrccom
35 
36 #ifndef _H_moduldef
37 #include "moduldef.h"
38 #endif
39 #ifndef _H_constrct
40 #include "constrct.h"
41 #endif
42 
43 #ifdef LOCALE
44 #undef LOCALE
45 #endif
46 
47 #ifdef _CSTRCCOM_SOURCE_
48 #define LOCALE
49 #else
50 #define LOCALE extern
51 #endif
52 
53 #if (! RUN_TIME)
54    LOCALE void                           AddConstructToModule(struct constructHeader *);
55 #endif
56    LOCALE intBool                        DeleteNamedConstruct(void *,const char *,struct construct *);
57    LOCALE void                          *FindNamedConstructInModule(void *,const char *,struct construct *);
58    LOCALE void                          *FindNamedConstructInModuleOrImports(void *,const char *,struct construct *);
59    LOCALE void                           UndefconstructCommand(void *,const char *,struct construct *);
60    LOCALE int                            PPConstruct(void *,const char *,const char *,struct construct *);
61    LOCALE SYMBOL_HN                     *GetConstructModuleCommand(void *,const char *,struct construct *);
62    LOCALE struct defmodule              *GetConstructModule(void *,const char *,struct construct *);
63    LOCALE intBool                        Undefconstruct(void *,void *,struct construct *);
64    LOCALE void                           SaveConstruct(void *,void *,const char *,struct construct *);
65    LOCALE const char                    *GetConstructNameString(struct constructHeader *);
66    LOCALE const char                    *EnvGetConstructNameString(void *,struct constructHeader *);
67    LOCALE const char                    *GetConstructModuleName(struct constructHeader *);
68    LOCALE SYMBOL_HN                     *GetConstructNamePointer(struct constructHeader *);
69    LOCALE void                           GetConstructListFunction(void *,const char *,DATA_OBJECT_PTR,
70                                                                   struct construct *);
71    LOCALE void                           GetConstructList(void *,DATA_OBJECT_PTR,struct construct *,
72                                                           struct defmodule *);
73    LOCALE void                           ListConstructCommand(void *,const char *,struct construct *);
74    LOCALE void                           ListConstruct(void *,struct construct *,const char *,struct defmodule *);
75    LOCALE void                           SetNextConstruct(struct constructHeader *,struct constructHeader *);
76    LOCALE struct defmoduleItemHeader    *GetConstructModuleItem(struct constructHeader *);
77    LOCALE const char                    *GetConstructPPForm(void *,struct constructHeader *);
78    LOCALE void                           PPConstructCommand(void *,const char *,struct construct *);
79    LOCALE struct constructHeader        *GetNextConstructItem(void *,struct constructHeader *,int);
80    LOCALE struct defmoduleItemHeader    *GetConstructModuleItemByIndex(void *,struct defmodule *,int);
81    LOCALE void                           FreeConstructHeaderModule(void *,struct defmoduleItemHeader *,
82                                                                    struct construct *);
83    LOCALE long                           DoForAllConstructs(void *,
84                                                             void (*)(void *,struct constructHeader *,void *),
85                                                             int,int,void *);
86    LOCALE void                           DoForAllConstructsInModule(void *,void *,
87                                                             void (*)(void *,struct constructHeader *,void *),
88                                                             int,int,void *);
89    LOCALE void                           InitializeConstructHeader(void *,const char *,struct constructHeader *,SYMBOL_HN *);
90    LOCALE void                           SetConstructPPForm(void *,struct constructHeader *,const char *);
91    LOCALE void                          *LookupConstruct(void *,struct construct *,const char *,intBool);
92 #if DEBUGGING_FUNCTIONS
93    LOCALE unsigned                       ConstructPrintWatchAccess(void *,struct construct *,const char *,
94                                             EXPRESSION *,
95                                             unsigned (*)(void *,void *),
96                                             void (*)(void *,unsigned,void *));
97    LOCALE unsigned                       ConstructSetWatchAccess(void *,struct construct *,unsigned,
98                                             EXPRESSION *,
99                                             unsigned (*)(void *,void *),
100                                             void (*)(void *,unsigned,void *));
101 #endif
102    LOCALE intBool                        ConstructsDeletable(void *);
103 
104 #endif
105 
106 
107 
108