/usr/include/clips/objrtmch.h is in libclips-dev 6.24-3ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | /*******************************************************/
/* "C" Language Integrated Production System */
/* */
/* CLIPS Version 6.24 05/17/06 */
/* */
/* */
/*******************************************************/
/*************************************************************/
/* Purpose: */
/* */
/* Principal Programmer(s): */
/* Brian L. Donnell */
/* */
/* Contributing Programmer(s): */
/* */
/* Revision History: */
/* */
/* 6.24: Converted INSTANCE_PATTERN_MATCHING to */
/* DEFRULE_CONSTRUCT. */
/* */
/* Renamed BOOLEAN macro type to intBool. */
/* */
/*************************************************************/
#ifndef _H_objrtmch
#define _H_objrtmch
#if DEFRULE_CONSTRUCT && OBJECT_SYSTEM
#define OBJECT_ASSERT 1
#define OBJECT_RETRACT 2
#define OBJECT_MODIFY 3
#ifndef _H_evaluatn
#include "evaluatn.h"
#endif
#ifndef _H_expressn
#include "expressn.h"
#endif
#ifndef _H_match
#include "match.h"
#endif
#ifndef _H_network
#include "network.h"
#endif
#ifndef _H_object
#include "object.h"
#endif
#ifndef _H_symbol
#include "symbol.h"
#endif
typedef struct classBitMap
{
unsigned short maxid;
char map[1];
} CLASS_BITMAP;
#define ClassBitMapSize(bmp) ((sizeof(CLASS_BITMAP) + \
(sizeof(char) * (bmp->maxid / BITS_PER_BYTE))))
typedef struct slotBitMap
{
unsigned short maxid;
char map[1];
} SLOT_BITMAP;
#define SlotBitMapSize(bmp) ((sizeof(SLOT_BITMAP) + \
(sizeof(char) * (bmp->maxid / BITS_PER_BYTE))))
typedef struct objectAlphaNode OBJECT_ALPHA_NODE;
typedef struct objectPatternNode
{
unsigned blocked : 1;
unsigned multifieldNode : 1;
unsigned endSlot : 1;
unsigned whichField : 8;
unsigned leaveFields : 8;
unsigned long matchTimeTag;
unsigned slotNameID;
EXPRESSION *networkTest;
struct objectPatternNode *nextLevel;
struct objectPatternNode *lastLevel;
struct objectPatternNode *leftNode;
struct objectPatternNode *rightNode;
OBJECT_ALPHA_NODE *alphaNode;
long bsaveID;
} OBJECT_PATTERN_NODE;
struct objectAlphaNode
{
struct patternNodeHeader header;
unsigned long matchTimeTag;
BITMAP_HN *classbmp,*slotbmp;
OBJECT_PATTERN_NODE *patternNode;
struct objectAlphaNode *nxtInGroup,
*nxtTerminal;
long bsaveID;
};
typedef struct objectMatchAction
{
int type;
INSTANCE_TYPE *ins;
SLOT_BITMAP *slotNameIDs;
struct objectMatchAction *nxt;
} OBJECT_MATCH_ACTION;
#ifdef LOCALE
#undef LOCALE
#endif
#ifdef _OBJRTMCH_SOURCE_
#define LOCALE
#else
#define LOCALE extern
#endif
LOCALE void ObjectMatchDelay(void *,DATA_OBJECT *);
LOCALE intBool SetDelayObjectPatternMatching(void *,int);
LOCALE intBool GetDelayObjectPatternMatching(void *);
LOCALE OBJECT_PATTERN_NODE *ObjectNetworkPointer(void *);
LOCALE OBJECT_ALPHA_NODE *ObjectNetworkTerminalPointer(void *);
LOCALE void SetObjectNetworkPointer(void *,OBJECT_PATTERN_NODE *);
LOCALE void SetObjectNetworkTerminalPointer(void *,OBJECT_ALPHA_NODE *);
LOCALE void ObjectNetworkAction(void *,int,INSTANCE_TYPE *,int);
LOCALE void ResetObjectMatchTimeTags(void *);
#endif
#endif
|