/* match.h */ /* $Id: match.h,v 1.6 2000/11/25 23:06:48 lwl Exp $ */ #include "copyright.h" #ifndef __MATCH_H #define __MATCH_H typedef struct match_state MSTATE; struct match_state { int confidence; /* How confident are we? CON_xx */ int count; /* # of matches at this confidence */ int pref_type; /* The preferred object type */ int check_keys; /* Should we test locks? */ dbref absolute_form; /* If #num, then the number */ dbref match; /* What I've found so far */ dbref player; /* Who is performing match */ char *string; /* The string to search for */ }; /* Match functions * Usage: * init_match(player, name, type); * match_this(); * match_that(); * ... * thing = match_result() */ extern void FDECL(init_match, (dbref, const char *, int)); extern void FDECL(init_match_check_keys, (dbref, const char *, int)); extern void NDECL(match_player); extern void NDECL(match_absolute); extern void NDECL(match_numeric); extern void NDECL(match_me); extern void NDECL(match_here); extern void NDECL(match_home); extern void NDECL(match_possession); extern void NDECL(match_neighbor); extern void NDECL(match_exit); extern void NDECL(match_exit_with_parents); extern void NDECL(match_carried_exit); extern void NDECL(match_carried_exit_with_parents); extern void NDECL(match_master_exit); extern void NDECL(match_zone_exit); extern void FDECL(match_everything, (int)); extern dbref NDECL(match_result); extern dbref NDECL(last_match_result); extern dbref FDECL(match_status, (dbref, dbref)); extern dbref NDECL(noisy_match_result); extern void FDECL(save_match_state, (MSTATE *)); extern void FDECL(restore_match_state, (MSTATE *)); #define NOMATCH_MESSAGE "I don't see that here." #define AMBIGUOUS_MESSAGE "I don't know which one you mean!" #define NOPERM_MESSAGE "Permission denied." #define MAT_NO_EXITS 1 /* Don't check for exits */ #define MAT_EXIT_PARENTS 2 /* Check for exits in parents */ #define MAT_NUMERIC 4 /* Check for un-#ified dbrefs */ #define MAT_HOME 8 /* Check for 'home' */ #endif /* __MATCH_H */