#ifndef _TOKTABLE_H
#define _TOKTABLE_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct token_desc {
char *t_name;
char *t_tagname;
int (*func)();
short t_type;
} token_desc_t;
#define NOFUNC (int (*)())0
#define MAXTOKEN 0xff
extern token_desc_t tokentable[];
#define T_ATTRIBUTE 1
#define T_ELEMENT 2
#define T_ENCLOSED 3
#define T_EXTENDED 4
#define T_UNKNOWN 99
enum tagnum_t { TAG_INVALID = MAXTOKEN,
TAG_UID,
TAG_GID,
TAG_RUID,
TAG_RGID,
TAG_AUID,
TAG_PID,
TAG_SID,
TAG_TID32,
TAG_TID64,
TAG_TID32_EX,
TAG_TID64_EX,
TAG_EVMOD,
TAG_TOKVERS,
TAG_EVTYPE,
TAG_ISO,
TAG_ERRVAL,
TAG_RETVAL,
TAG_SETTYPE,
TAG_GROUPID,
TAG_XID,
TAG_XCUID,
TAG_XSELTEXT,
TAG_XSELTYPE,
TAG_XSELDATA,
TAG_ARGNUM,
TAG_ARGVAL32,
TAG_ARGVAL64,
TAG_ARGDESC,
TAG_MODE,
TAG_FSID,
TAG_NODEID32,
TAG_NODEID64,
TAG_DEVICE32,
TAG_DEVICE64,
TAG_SEQNUM,
TAG_ARGV,
TAG_ARGE,
TAG_ARG,
TAG_ENV,
TAG_XAT,
TAG_RESULT,
TAG_CUID,
TAG_CGID,
TAG_SEQ,
TAG_KEY,
TAG_IPVERS,
TAG_IPSERV,
TAG_IPLEN,
TAG_IPID,
TAG_IPOFFS,
TAG_IPTTL,
TAG_IPPROTO,
TAG_IPCKSUM,
TAG_IPSRC,
TAG_IPDEST,
TAG_ACLTYPE,
TAG_ACLVAL,
TAG_SOCKTYPE,
TAG_SOCKPORT,
TAG_SOCKADDR,
TAG_SOCKEXDOM,
TAG_SOCKEXTYPE,
TAG_SOCKEXLPORT,
TAG_SOCKEXLADDR,
TAG_SOCKEXFPORT,
TAG_SOCKEXFADDR,
TAG_IPCTYPE,
TAG_IPCID,
TAG_ARBPRINT,
TAG_ARBTYPE,
TAG_ARBCOUNT,
TAG_HOSTID,
TAG_ZONENAME,
TAG_TID_TYPE,
TAG_IP,
TAG_IP_LOCAL,
TAG_IP_REMOTE,
TAG_IP_ADR,
TAG_ACEMASK,
TAG_ACEFLAGS,
TAG_ACETYPE,
TAG_ACEID,
TAG_USERNAME,
TAG_WSID,
MAXTAG
};
extern int file_token();
extern int trailer_token();
extern int header_token();
extern int header32_ex_token();
extern int arbitrary_data_token();
extern int fmri_token();
extern int s5_IPC_token();
extern int path_token();
extern int path_attr_token();
extern int subject32_token();
extern int process32_token();
extern int return_value32_token();
extern int text_token();
extern int opaque_token();
extern int ip_addr_token();
extern int ip_token();
extern int iport_token();
extern int argument32_token();
extern int socket_token();
extern int sequence_token();
extern int acl_token();
extern int ace_token();
extern int attribute_token();
extern int s5_IPC_perm_token();
extern int group_token();
extern int label_token();
extern int privilege_token();
extern int useofpriv_token();
extern int liaison_token();
extern int newgroup_token();
extern int exec_args_token();
extern int exec_env_token();
extern int attribute32_token();
extern int useofauth_token();
extern int user_token();
extern int zonename_token();
extern int secflags_token();
extern int xatom_token();
extern int xselect_token();
extern int xcolormap_token();
extern int xcursor_token();
extern int xfont_token();
extern int xgc_token();
extern int xpixmap_token();
extern int xproperty_token();
extern int xwindow_token();
extern int xclient_token();
extern int cmd_token();
extern int exit_token();
extern int host_token();
extern int argument64_token();
extern int return_value64_token();
extern int attribute64_token();
extern int header64_token();
extern int subject64_token();
extern int process64_token();
extern int file64_token();
extern int header64_ex_token();
extern int subject32_ex_token();
extern int process32_ex_token();
extern int subject64_ex_token();
extern int process64_ex_token();
extern int ip_addr_ex_token();
extern int socket_ex_token();
extern int tid_token();
#ifdef __cplusplus
}
#endif
#endif