/* prototypes.h --- Shared interfaces used by CGIJACL and JACL
 * (C) 2008 Stuart Allen, distribute and use 
 * according to GNU GPL, see file COPYING for details.
 */

int parent_of();
int grand_of();
int find_route();
int exit_function();
int	count_resolve();
void jacl_set_window();
void create_cstring();
void create_string();
void create_integer();
void create_cinteger();
strid_t open_glk_file();
void scripting();
void undoing();
void walking_thru();
glui32 glk_get_bin_line_stream(); 
void create_paths();
int get_key();
char get_character();
int get_yes_or_no();
void get_string();
int get_number();
int save_interaction();
int restore_interaction();
void write_integer();
void write_long();
int  read_integer();
long read_long();
void jacl_encrypt ();
void jacl_decrypt ();
void log_message();
void set_them();
void preparse();
void inspect();
int is_child_of_from();
void add_all();
void add_to_list();
void call_functions();
int build_object_list();
long value_of();
long attribute_resolve();
long user_attribute_resolve();
struct word_type *exact_match();
struct word_type *object_match();
struct integer_type *integer_resolve();
struct integer_type *integer_resolve_indexed();
struct function_type *function_resolve();
struct string_type *string_resolve();
struct string_type *string_resolve_indexed();
struct string_type *cstring_resolve();
struct string_type *cstring_resolve_indexed();
struct cinteger_type *cinteger_resolve();
struct cinteger_type *cinteger_resolve_indexed();
int array_length_resolve();
int legal_label_check();
int attribute_test();
char* object_names();
char* arg_text_of();
char* text_of();
char* expand_function();
int* container_resolve();
int condition();
int and_condition();
void free_from();
void word_check();
void eachturn();
void read_config_file();
void version_info();
int jacl_whitespace();
int get_here();
void stripwhite();
void encapsulate();
void jacl_truncate();
void parser();
void diagnose();
void look_around();
void move_player();
char* sentence_output();
void isnt_output();
void is_output();
void it_output();
void doesnt_output();
void does_output();
void list_output();
void long_output();
void terminate();
void set_arguments();
void pop_stack();
void push_stack();
void write_text();
void status_line();
void newline();
void scroll();
int  save_game();
int  restore_game();
void write_integer();
int  read_integer();
void write_long();
long read_long();
void save_game_state();
void restore_game_state();
void add_string();
void add_cstring();
void clear_string();
void clear_cstring();
void add_cinteger();
void clear_cinteger();
void restart_game();
void read_gamefile();
void new_position();
void build_grammar_table();
void unkfunrun();
void nofnamerr();
void nongloberr();
void unkkeyerr();
void maxatterr();
void unkattrun();
void badptrrun();
void badplrrun();
void badparrun();
void notintrun();
void noproprun();
void noproperr();
void noobjerr();
void unkobjerr();
void unkobjrun();
void unkdirrun();
void unkscorun();
void unkstrrun();
void unkvarrun();
void outofmem();
void set_defaults();
void no_it();
void clrscrn();
void more();
int jpp();
int process_file();
char* strip_return();
char** command_completion();
char* object_generator();
char* verb_generator();
void add_word();
