00001 /*******************************************************/ 00002 /* "C" Language Integrated Production System */ 00003 /* */ 00004 /* CLIPS Version 6.30 10/19/06 */ 00005 /* */ 00006 /* RETRACT HEADER FILE */ 00007 /*******************************************************/ 00008 00009 /*************************************************************/ 00010 /* Purpose: Handles join network activity associated with */ 00011 /* with the removal of a data entity such as a fact or */ 00012 /* instance. */ 00013 /* */ 00014 /* Principal Programmer(s): */ 00015 /* Gary D. Riley */ 00016 /* */ 00017 /* Contributing Programmer(s): */ 00018 /* */ 00019 /* Revision History: */ 00020 /* */ 00021 /* 6.24: Rule with exists CE has incorrect activation. */ 00022 /* DR0867 */ 00023 /* */ 00024 /* 6.30: Added support for hashed alpha memories. */ 00025 /* */ 00026 /* Added additional developer statistics to help */ 00027 /* analyze join network performance. */ 00028 /* */ 00029 /*************************************************************/ 00030 00031 #ifndef _H_retract 00032 #define _H_retract 00033 00034 #ifndef _H_match 00035 #include "match.h" 00036 #endif 00037 #ifndef _H_network 00038 #include "network.h" 00039 #endif 00040 00041 #ifdef LOCALE 00042 #undef LOCALE 00043 #endif 00044 00045 #ifdef _RETRACT_SOURCE_ 00046 #define LOCALE 00047 #else 00048 #define LOCALE extern 00049 #endif 00050 00051 struct rdriveinfo 00052 { 00053 struct partialMatch *link; 00054 struct joinNode *jlist; 00055 struct rdriveinfo *next; 00056 }; 00057 00058 LOCALE void NetworkRetract(void *,struct patternMatch *); 00059 LOCALE void ReturnPartialMatch(void *,struct partialMatch *); 00060 LOCALE void DestroyPartialMatch(void *,struct partialMatch *); 00061 LOCALE void FlushGarbagePartialMatches(void *); 00062 LOCALE void DeletePartialMatches(void *,struct partialMatch *); 00063 LOCALE void PosEntryRetractBeta(void *,struct partialMatch *,struct partialMatch *); 00064 LOCALE void PosEntryRetractAlpha(void *,struct partialMatch *); 00065 00066 #endif 00067 00068 00069
1.5.6