/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2000-2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _FCODE_PROTO_H
#define _FCODE_PROTO_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
void make_common_access(fcode_env_t *, char *, int, int, int,
void (*set_a)(fcode_env_t *, int));
char *get_name(long *);
void push_string(fcode_env_t *, char *, int);
void dump_data_stack(fcode_env_t *, int);
void dump_return_stack(fcode_env_t *, int);
int within_dictionary(fcode_env_t *, void *);
void dump_forth_environment(fcode_env_t *);
void forth_abort(fcode_env_t *, char *, ...);
void forth_perror(fcode_env_t *, char *, ...);
void return_to_interact(fcode_env_t *);
char *search_for_fcode_file(fcode_env_t *, char *);
int current_debug_state(fcode_env_t *);
int debug_flags_to_mask(char *);
int do_exec_debug(fcode_env_t *, void *);
int name_is_debugged(fcode_env_t *, char *);
void check_for_debug_entry(fcode_env_t *);
void check_for_debug_exit(fcode_env_t *);
void check_semi_debug_exit(fcode_env_t *);
void check_vitals(fcode_env_t *);
void clear_debug_state(fcode_env_t *, int);
void debug_set_level(fcode_env_t *, int);
void do_alias(fcode_env_t *);
void do_bdo(fcode_env_t *);
void do_literal(fcode_env_t *);
void dump_comma(fcode_env_t *, char *);
void dump_words(fcode_env_t *);
void fevaluate(fcode_env_t *);
void install_builtin_nodes(fcode_env_t *);
void install_does(fcode_env_t *);
void install_openprom_nodes(fcode_env_t *);
void install_package_nodes(fcode_env_t *);
void key(fcode_env_t *);
void keyquestion(fcode_env_t *);
void make_a_node(fcode_env_t *, char *, int);
void output_data_stack(fcode_env_t *, int);
void output_return_stack(fcode_env_t *, int, int);
void output_step_message(fcode_env_t *);
void output_vitals(fcode_env_t *);
void read_line(fcode_env_t *);
void run_daemon(fcode_env_t *);
void run_fcode_from_file(fcode_env_t *, char *, int);
void tick_literal(fcode_env_t *);
void unbug(fcode_env_t *);
void xbflip(fcode_env_t *);
void xfetch(fcode_env_t *);
void xlflip(fcode_env_t *);
void xstore(fcode_env_t *);
void expose_acf(fcode_env_t *, char *);
void do_run(fcode_env_t *, int);
void *safe_malloc(size_t, char *, int);
void *safe_realloc(void *, size_t, char *, int);
char *safe_strdup(char *, char *, int);
void safe_free(void *, char *, int);
void check_interrupt(void);
void complete_interrupt(void);
void push_a_string(fcode_env_t *, char *);
char *pop_a_string(fcode_env_t *, int *);
char *pop_a_duped_string(fcode_env_t *, int *);
char *parse_a_string(fcode_env_t *, int *);
void create_prop(fcode_env_t *, char *);
void create_int_prop(fcode_env_t *, char *, int);
void create_string_prop(fcode_env_t *, char *, char *);
void make_builtin_hooks(fcode_env_t *, char *);
void delete_mapping(fstack_t);
int is_mcookie(fstack_t);
int call_my_parent(fcode_env_t *, char *);
void load_file(fcode_env_t *);
void token_roundup(fcode_env_t *, char *);
#ifdef DEBUG
void do_fclib_trace(fcode_env_t *, void *);
int do_fclib_step(fcode_env_t *);
#endif
#ifdef __cplusplus
}
#endif
#endif /* _FCODE_PROTO_H */