root/1.8.3/tags/p6/hdrs/boolexp.h

Revision 919, 1.1 KB (checked in by shawnw, 19 months ago)

1.8.3p3

Line 
1#ifndef BOOLEXP_H
2#define BOOLEXP_H
3#include "copyrite.h"
4#include "chunk.h"
5
6typedef chunk_reference_t boolexp;
7
8/* tokens for locks */
9#define NOT_TOKEN '!'
10#define AND_TOKEN '&'
11#define OR_TOKEN '|'
12#define AT_TOKEN '@'
13#define IN_TOKEN '+'
14#define IS_TOKEN '='
15#define OWNER_TOKEN '$'
16
17enum { TRUE_BOOLEXP = NULL_CHUNK_REFERENCE };
18
19/* From boolexp.c */
20extern boolexp dup_bool(boolexp b);
21extern int sizeof_boolexp(boolexp b);
22extern int eval_boolexp(dbref player, boolexp b, dbref target);
23extern boolexp parse_boolexp(dbref player, const char *buf, lock_type ltype);
24extern boolexp parse_boolexp_d(dbref player, const char *buf, lock_type ltype,
25                               int derefs);
26extern void free_boolexp(boolexp b);
27boolexp getboolexp(FILE * f, const char *ltype);
28void putboolexp(FILE * f, boolexp b);
29enum u_b_f {
30  UB_ALL, /**< Use names of objects */
31  UB_DBREF, /**< Use dbrefs */
32  UB_MEREF /**< Use dbrefs or "me" if the object is the player arg
33              from unparse_boolexp.() For @decompile. */
34};
35extern char *unparse_boolexp(dbref player, boolexp b, enum u_b_f flag);
36#endif                          /* BOOLEXP_H */
Note: See TracBrowser for help on using the browser.