/* functions.h - declarations for functions & function processing */
/* $Id: functions.h,v 1.3 2005/06/23 02:59:58 murrayma Exp $ */
#include "copyright.h"
#ifndef __FUNCTIONS_H
#define __FUNCTIONS_H
typedef struct fun {
const char *name; /* function name */
void (*fun) (); /* handler */
int nargs; /* Number of args needed or expected */
int flags; /* Function flags */
int perms; /* Access to function */
} FUN;
typedef struct ufun {
const char *name; /* function name */
dbref obj; /* Object ID */
int atr; /* Attribute ID */
int flags; /* Function flags */
int perms; /* Access to function */
struct ufun *next; /* Next ufun in chain */
} UFUN;
#define FN_VARARGS 1 /* Function allows a variable # of args */
#define FN_NO_EVAL 2 /* Don't evaluate args to function */
#define FN_PRIV 4 /* Perform user-def function as holding obj */
#define FN_PRES 8 /* Preseve r-regs before user-def functions */
extern void init_functab(void);
extern void list_functable(dbref);
extern dbref match_thing(dbref, char *);
#endif