src/clipsrules/core/extnfunc.h File Reference

#include "userdata.h"
#include "expressn.h"
#include "symbol.h"

Include dependency graph for extnfunc.h:

Go to the source code of this file.

Classes

struct  FunctionDefinition
struct  externalFunctionData
struct  FunctionHash

Defines

#define ValueFunctionType(target)   (((struct FunctionDefinition *) target)->returnValueType)
#define ExpressionFunctionType(target)   (((struct FunctionDefinition *) ((target)->value))->returnValueType)
#define ExpressionFunctionPointer(target)   (((struct FunctionDefinition *) ((target)->value))->functionPointer)
#define ExpressionFunctionCallName(target)   (((struct FunctionDefinition *) ((target)->value))->callFunctionName)
#define ExpressionFunctionRealName(target)   (((struct FunctionDefinition *) ((target)->value))->actualFunctionName)
#define PTIF   (int (*)(void))
#define PTIEF   (int (*)(void *))
#define EXTERNAL_FUNCTION_DATA   50
#define ExternalFunctionData(theEnv)   ((struct externalFunctionData *) GetEnvironmentData(theEnv,EXTERNAL_FUNCTION_DATA))
#define LOCALE   extern
#define SIZE_FUNCTION_HASH   517

Functions

LOCALE int DefineFunction (char *, int, int(*)(void), char *)
LOCALE int DefineFunction2 (char *, int, int(*)(void), char *, char *)
LOCALE void InitializeExternalFunctionData (void *)
LOCALE int EnvDefineFunction (void *, char *, int, int(*)(void *), char *)
LOCALE int EnvDefineFunction2 (void *, char *, int, int(*)(void *), char *, char *)
LOCALE int EnvDefineFunctionWithContext (void *, char *, int, int(*)(void *), char *, void *)
LOCALE int EnvDefineFunction2WithContext (void *, char *, int, int(*)(void *), char *, char *, void *)
LOCALE int DefineFunction3 (void *, char *, int, int(*)(void *), char *, char *, intBool, void *)
LOCALE int AddFunctionParser (void *, char *, struct expr *(*)(void *, struct expr *, char *))
LOCALE int RemoveFunctionParser (void *, char *)
LOCALE int FuncSeqOvlFlags (void *, char *, int, int)
LOCALE struct FunctionDefinitionGetFunctionList (void *)
LOCALE void InstallFunctionList (void *, struct FunctionDefinition *)
LOCALE struct FunctionDefinitionFindFunction (void *, char *)
LOCALE int GetNthRestriction (struct FunctionDefinition *, int)
LOCALE char * GetArgumentTypeName (int)
LOCALE int UndefineFunction (void *, char *)
LOCALE int GetMinimumArgs (struct FunctionDefinition *)
LOCALE int GetMaximumArgs (struct FunctionDefinition *)


Define Documentation

#define ExpressionFunctionCallName ( target   )     (((struct FunctionDefinition *) ((target)->value))->callFunctionName)

Definition at line 60 of file extnfunc.h.

#define ExpressionFunctionPointer ( target   )     (((struct FunctionDefinition *) ((target)->value))->functionPointer)

Definition at line 59 of file extnfunc.h.

#define ExpressionFunctionRealName ( target   )     (((struct FunctionDefinition *) ((target)->value))->actualFunctionName)

Definition at line 61 of file extnfunc.h.

#define ExpressionFunctionType ( target   )     (((struct FunctionDefinition *) ((target)->value))->returnValueType)

Definition at line 58 of file extnfunc.h.

#define EXTERNAL_FUNCTION_DATA   50

Definition at line 70 of file extnfunc.h.

#define ExternalFunctionData ( theEnv   )     ((struct externalFunctionData *) GetEnvironmentData(theEnv,EXTERNAL_FUNCTION_DATA))

Definition at line 78 of file extnfunc.h.

#define LOCALE   extern

Definition at line 87 of file extnfunc.h.

#define PTIEF   (int (*)(void *))

Definition at line 64 of file extnfunc.h.

#define PTIF   (int (*)(void))

Definition at line 63 of file extnfunc.h.

#define SIZE_FUNCTION_HASH   517

Definition at line 97 of file extnfunc.h.

#define ValueFunctionType ( target   )     (((struct FunctionDefinition *) target)->returnValueType)

Definition at line 57 of file extnfunc.h.


Function Documentation

LOCALE int AddFunctionParser ( void *  ,
char *  ,
struct expr *)(void *, struct expr *, char * 
)

LOCALE int DefineFunction ( char *  ,
int  ,
int(*)(void)  ,
char *   
)

Definition at line 112 of file extnfunc.c.

LOCALE int DefineFunction2 ( char *  ,
int  ,
int(*)(void)  ,
char *  ,
char *   
)

Definition at line 162 of file extnfunc.c.

LOCALE int DefineFunction3 ( void *  ,
char *  ,
int  ,
int(*)(void *)  ,
char *  ,
char *  ,
intBool  ,
void *   
)

Definition at line 235 of file extnfunc.c.

LOCALE int EnvDefineFunction ( void *  ,
char *  ,
int  ,
int(*)(void *)  ,
char *   
)

Definition at line 132 of file extnfunc.c.

LOCALE int EnvDefineFunction2 ( void *  ,
char *  ,
int  ,
int(*)(void *)  ,
char *  ,
char *   
)

Definition at line 183 of file extnfunc.c.

LOCALE int EnvDefineFunction2WithContext ( void *  ,
char *  ,
int  ,
int(*)(void *)  ,
char *  ,
char *  ,
void *   
)

Definition at line 198 of file extnfunc.c.

LOCALE int EnvDefineFunctionWithContext ( void *  ,
char *  ,
int  ,
int(*)(void *)  ,
char *  ,
void *   
)

Definition at line 146 of file extnfunc.c.

LOCALE struct FunctionDefinition* FindFunction ( void *  ,
char *   
) [read]

Definition at line 626 of file extnfunc.c.

LOCALE int FuncSeqOvlFlags ( void *  ,
char *  ,
int  ,
int   
)

Definition at line 430 of file extnfunc.c.

LOCALE char* GetArgumentTypeName ( int   ) 

Definition at line 455 of file extnfunc.c.

LOCALE struct FunctionDefinition* GetFunctionList ( void *   )  [read]

Definition at line 580 of file extnfunc.c.

LOCALE int GetMaximumArgs ( struct FunctionDefinition  ) 

Definition at line 716 of file extnfunc.c.

LOCALE int GetMinimumArgs ( struct FunctionDefinition  ) 

Definition at line 693 of file extnfunc.c.

LOCALE int GetNthRestriction ( struct FunctionDefinition ,
int   
)

Definition at line 527 of file extnfunc.c.

LOCALE void InitializeExternalFunctionData ( void *   ) 

Definition at line 59 of file extnfunc.c.

LOCALE void InstallFunctionList ( void *  ,
struct FunctionDefinition  
)

Definition at line 590 of file extnfunc.c.

LOCALE int RemoveFunctionParser ( void *  ,
char *   
)

Definition at line 408 of file extnfunc.c.

LOCALE int UndefineFunction ( void *  ,
char *   
)

Definition at line 307 of file extnfunc.c.


Generated on Mon Jan 10 22:33:41 2011 by  doxygen 1.5.6