1    /*******************************************************/
2    /*      "C" Language Integrated Production System      */
3    /*                                                     */
4    /*             CLIPS Version 6.30  08/16/14            */
5    /*                                                     */
6    /*          LOGICAL DEPENDENCIES HEADER FILE           */
7    /*******************************************************/
8 
9 /*************************************************************/
10 /* Purpose: Provide support routines for managing truth      */
11 /*   maintenance using the logical conditional element.      */
12 /*                                                           */
13 /* Principal Programmer(s):                                  */
14 /*      Gary D. Riley                                        */
15 /*                                                           */
16 /* Contributing Programmer(s):                               */
17 /*                                                           */
18 /* Revision History:                                         */
19 /*                                                           */
20 /*      6.24: Removed LOGICAL_DEPENDENCIES compilation flag. */
21 /*                                                           */
22 /*            Renamed BOOLEAN macro type to intBool.         */
23 /*                                                           */
24 /*            Rule with exists CE has incorrect activation.  */
25 /*            DR0867                                         */
26 /*                                                           */
27 /*      6.30: Added support for hashed memories.             */
28 /*                                                           */
29 /*************************************************************/
30 
31 #ifndef _H_lgcldpnd
32 
33 #define _H_lgcldpnd
34 
35 struct dependency
36   {
37    void *dPtr;
38    struct dependency *next;
39   };
40 
41 #ifndef _H_match
42 #include "match.h"
43 #endif
44 #ifndef _H_pattern
45 #include "pattern.h"
46 #endif
47 
48 #ifdef LOCALE
49 #undef LOCALE
50 #endif
51 #ifdef _LGCLDPND_SOURCE_
52 #define LOCALE
53 #else
54 #define LOCALE extern
55 #endif
56 
57    LOCALE intBool                        AddLogicalDependencies(void *,struct patternEntity *,int);
58    LOCALE void                           RemoveEntityDependencies(void *,struct patternEntity *);
59    LOCALE void                           RemovePMDependencies(void *,struct partialMatch *);
60    LOCALE void                           DestroyPMDependencies(void *,struct partialMatch *);
61    LOCALE void                           RemoveLogicalSupport(void *,struct partialMatch *);
62    LOCALE void                           ForceLogicalRetractions(void *);
63    LOCALE void                           Dependencies(void *,struct patternEntity *);
64    LOCALE void                           Dependents(void *,struct patternEntity *);
65    LOCALE void                           DependenciesCommand(void *);
66    LOCALE void                           DependentsCommand(void *);
67    LOCALE void                           ReturnEntityDependencies(void *,struct patternEntity *);
68    LOCALE struct partialMatch           *FindLogicalBind(struct joinNode *,struct partialMatch *);
69 
70 #endif /* _H_lgcldpnd */
71 
72 
73 
74 
75 
76