/usr/include/clips/msgpass.h is in libclips-dev 6.24-3.
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 | /*******************************************************/
/* "C" Language Integrated Production System */
/* */
/* CLIPS Version 6.24 05/17/06 */
/* */
/* */
/*******************************************************/
/*************************************************************/
/* Purpose: Message-passing support functions */
/* */
/* Principal Programmer(s): */
/* Brian L. Donnell */
/* */
/* Contributing Programmer(s): */
/* */
/* Revision History: */
/* */
/* 6.24: Removed IMPERATIVE_MESSAGE_HANDLERS */
/* compilation flag. */
/* */
/* Renamed BOOLEAN macro type to intBool. */
/* */
/*************************************************************/
#ifndef _H_msgpass
#define _H_msgpass
#define GetActiveInstance(theEnv) ((INSTANCE_TYPE *) GetNthMessageArgument(theEnv,0)->value)
#ifndef _H_object
#include "object.h"
#endif
typedef struct messageHandlerLink
{
HANDLER *hnd;
struct messageHandlerLink *nxt;
} HANDLER_LINK;
#ifdef LOCALE
#undef LOCALE
#endif
#ifdef _MSGPASS_SOURCE_
#define LOCALE
#else
#define LOCALE extern
#endif
#if ENVIRONMENT_API_ONLY
#define Send(theEnv,a,b,c,d) EnvSend(theEnv,a,b,c,d)
#else
#define Send(a,b,c,d) EnvSend(GetCurrentEnvironment(),a,b,c,d)
#endif
LOCALE void DirectMessage(void *,SYMBOL_HN *,INSTANCE_TYPE *,
DATA_OBJECT *,EXPRESSION *);
LOCALE void EnvSend(void *,DATA_OBJECT *,char *,char *,DATA_OBJECT *);
LOCALE void DestroyHandlerLinks(void *,HANDLER_LINK *);
LOCALE void SendCommand(void *,DATA_OBJECT *);
LOCALE DATA_OBJECT *GetNthMessageArgument(void *,int);
LOCALE int NextHandlerAvailable(void *);
LOCALE void CallNextHandler(void *,DATA_OBJECT *);
LOCALE void FindApplicableOfName(void *,DEFCLASS *,HANDLER_LINK *[],
HANDLER_LINK *[],SYMBOL_HN *);
LOCALE HANDLER_LINK *JoinHandlerLinks(void *,HANDLER_LINK *[],HANDLER_LINK *[],SYMBOL_HN *);
LOCALE void PrintHandlerSlotGetFunction(void *,char *,void *);
LOCALE intBool HandlerSlotGetFunction(void *,void *,DATA_OBJECT *);
LOCALE void PrintHandlerSlotPutFunction(void *,char *,void *);
LOCALE intBool HandlerSlotPutFunction(void *,void *,DATA_OBJECT *);
LOCALE void DynamicHandlerGetSlot(void *,DATA_OBJECT *);
LOCALE void DynamicHandlerPutSlot(void *,DATA_OBJECT *);
#endif
|