2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License, Version 1.0 only
2N/A * (the "License"). You may not use this file except in compliance
2N/A * with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A/*
2N/A * Copyright 2000-2003 Sun Microsystems, Inc. All rights reserved.
2N/A * Use is subject to license terms.
2N/A */
2N/A
2N/A#ifndef _FCODE_PROTO_H
2N/A#define _FCODE_PROTO_H
2N/A
2N/A#pragma ident "%Z%%M% %I% %E% SMI"
2N/A
2N/A#ifdef __cplusplus
2N/Aextern "C" {
2N/A#endif
2N/A
2N/A#define FNPROTO(x) void x(fcode_env_t *)
2N/A
2N/AFNPROTO(bdo);
2N/AFNPROTO(bqdo);
2N/A
2N/AFNPROTO(literal);
2N/Avoid branch_common(fcode_env_t *, short, fstack_t, int);
2N/AFNPROTO(zero);
2N/AFNPROTO(bloop);
2N/AFNPROTO(bplusloop);
2N/AFNPROTO(loop_i);
2N/AFNPROTO(loop_j);
2N/AFNPROTO(bleave);
2N/AFNPROTO(execute);
2N/AFNPROTO(add);
2N/AFNPROTO(subtract);
2N/AFNPROTO(multiply);
2N/AFNPROTO(slash_mod);
2N/AFNPROTO(uslash_mod);
2N/AFNPROTO(divide);
2N/AFNPROTO(mod);
2N/AFNPROTO(and);
2N/AFNPROTO(or);
2N/AFNPROTO(xor);
2N/AFNPROTO(invert);
2N/AFNPROTO(lshift);
2N/AFNPROTO(rshift);
2N/AFNPROTO(rshifta);
2N/AFNPROTO(negate);
2N/AFNPROTO(f_abs);
2N/AFNPROTO(f_min);
2N/AFNPROTO(f_max);
2N/AFNPROTO(to_r);
2N/AFNPROTO(from_r);
2N/AFNPROTO(rfetch);
2N/AFNPROTO(f_exit);
2N/AFNPROTO(zero_equals);
2N/AFNPROTO(zero_not_equals);
2N/AFNPROTO(zero_less);
2N/AFNPROTO(zero_less_equals);
2N/AFNPROTO(zero_greater);
2N/AFNPROTO(zero_greater_equals);
2N/AFNPROTO(less);
2N/AFNPROTO(greater);
2N/AFNPROTO(equals);
2N/AFNPROTO(not_equals);
2N/AFNPROTO(unsign_greater);
2N/AFNPROTO(unsign_less_equals);
2N/AFNPROTO(unsign_less);
2N/AFNPROTO(unsign_greater_equals);
2N/AFNPROTO(greater_equals);
2N/AFNPROTO(less_equals);
2N/AFNPROTO(between);
2N/AFNPROTO(within);
2N/AFNPROTO(drop);
2N/AFNPROTO(f_dup);
2N/AFNPROTO(over);
2N/AFNPROTO(swap);
2N/AFNPROTO(rot);
2N/AFNPROTO(minus_rot);
2N/AFNPROTO(tuck);
2N/AFNPROTO(nip);
2N/AFNPROTO(pick);
2N/AFNPROTO(roll);
2N/AFNPROTO(qdup);
2N/AFNPROTO(depth);
2N/AFNPROTO(two_drop);
2N/AFNPROTO(two_dup);
2N/AFNPROTO(two_over);
2N/AFNPROTO(two_swap);
2N/AFNPROTO(two_rot);
2N/AFNPROTO(two_slash);
2N/AFNPROTO(utwo_slash);
2N/AFNPROTO(two_times);
2N/AFNPROTO(slash_c);
2N/AFNPROTO(slash_w);
2N/AFNPROTO(slash_l);
2N/AFNPROTO(slash_n);
2N/AFNPROTO(ca_plus);
2N/AFNPROTO(wa_plus);
2N/AFNPROTO(la_plus);
2N/AFNPROTO(na_plus);
2N/AFNPROTO(c1_plus);
2N/AFNPROTO(w1_plus);
2N/AFNPROTO(l1_plus);
2N/AFNPROTO(cell_plus);
2N/AFNPROTO(do_chars);
2N/AFNPROTO(slash_w_times);
2N/AFNPROTO(slash_l_times);
2N/AFNPROTO(cells);
2N/AFNPROTO(do_off);
2N/AFNPROTO(do_on);
2N/AFNPROTO(fetch);
2N/AFNPROTO(lfetch);
2N/AFNPROTO(wfetch);
2N/AFNPROTO(swfetch);
2N/AFNPROTO(cfetch);
2N/AFNPROTO(store);
2N/AFNPROTO(lstore);
2N/AFNPROTO(wstore);
2N/AFNPROTO(cstore);
2N/A
2N/AFNPROTO(noop);
2N/AFNPROTO(lwsplit);
2N/AFNPROTO(wljoin);
2N/AFNPROTO(lbsplit);
2N/AFNPROTO(bljoin);
2N/AFNPROTO(wbflip);
2N/AFNPROTO(upper_case);
2N/AFNPROTO(lower_case);
2N/AFNPROTO(pack_str);
2N/AFNPROTO(count_str);
2N/AFNPROTO(to_body);
2N/AFNPROTO(to_acf);
2N/AFNPROTO(bcase);
2N/AFNPROTO(bendcase);
2N/A
2N/AFNPROTO(span);
2N/A
2N/AFNPROTO(expect);
2N/A
2N/AFNPROTO(emit);
2N/AFNPROTO(type);
2N/A
2N/AFNPROTO(fc_crlf);
2N/A
2N/AFNPROTO(base);
2N/AFNPROTO(dollar_number);
2N/AFNPROTO(digit);
2N/A
2N/AFNPROTO(do_constant);
2N/AFNPROTO(do_defer);
2N/AFNPROTO(do_crash);
2N/AFNPROTO(do_field);
2N/AFNPROTO(idefer_exec);
2N/A
2N/AFNPROTO(set_args);
2N/A
2N/Avoid make_common_access(fcode_env_t *, char *, int, int, int,
2N/A void (*acf_i)(fcode_env_t *), void (*acf_s)(fcode_env_t *),
2N/A void (*set_a)(fcode_env_t *, int));
2N/A
2N/AFNPROTO(do_create);
2N/A
2N/AFNPROTO(instance);
2N/AFNPROTO(semi);
2N/A
2N/AFNPROTO(dollar_find);
2N/Aacf_t voc_find(fcode_env_t *env);
2N/A
2N/AFNPROTO(evaluate);
2N/A
2N/AFNPROTO(ccomma);
2N/AFNPROTO(wcomma);
2N/AFNPROTO(lcomma);
2N/AFNPROTO(comma);
2N/AFNPROTO(state);
2N/AFNPROTO(compile_comma);
2N/A
2N/AFNPROTO(here);
2N/AFNPROTO(aligned);
2N/AFNPROTO(wbsplit);
2N/AFNPROTO(bwjoin);
2N/AFNPROTO(bmark);
2N/AFNPROTO(bresolve);
2N/A
2N/AFNPROTO(f_error);
2N/AFNPROTO(fc_unimplemented);
2N/AFNPROTO(fc_obsolete);
2N/AFNPROTO(fc_historical);
2N/A
2N/AFNPROTO(myspace);
2N/AFNPROTO(property);
2N/AFNPROTO(encode_int);
2N/AFNPROTO(encode_plus);
2N/AFNPROTO(encode_phys);
2N/AFNPROTO(encode_string);
2N/AFNPROTO(encode_bytes);
2N/AFNPROTO(model_prop);
2N/AFNPROTO(device_type);
2N/AFNPROTO(new_device);
2N/A
2N/AFNPROTO(finish_device);
2N/A
2N/AFNPROTO(device_name);
2N/A
2N/AFNPROTO(lwflip);
2N/AFNPROTO(lbflip);
2N/A
2N/AFNPROTO(child_node);
2N/AFNPROTO(peer_node);
2N/A
2N/AFNPROTO(byte_load);
2N/A
2N/Auchar_t next_bytecode(fcode_env_t *);
2N/Aushort_t get_short(fcode_env_t *);
2N/Auint_t get_int(fcode_env_t *);
2N/A
2N/Achar *get_name(long *);
2N/AFNPROTO(words);
2N/Avoid header(fcode_env_t *, char *, int, flag_t);
2N/Avoid do_code(fcode_env_t *, int, char *, FNPROTO((*)));
2N/Avoid push_string(fcode_env_t *, char *, int);
2N/A
2N/AFNPROTO(verify_usage);
2N/AFNPROTO(dump_dictionary);
2N/Avoid print_stack_element(fcode_env_t *, fstack_t);
2N/Avoid dump_data_stack(fcode_env_t *, int);
2N/Avoid dump_return_stack(fcode_env_t *, int);
2N/Achar *acf_lookup(fcode_env_t *, acf_t);
2N/Achar *acf_to_name(fcode_env_t *, acf_t);
2N/Aint within_dictionary(fcode_env_t *, void *);
2N/Achar *acf_backup_search(fcode_env_t *, acf_t);
2N/Avoid dump_forth_environment(fcode_env_t *);
2N/Avoid forth_abort(fcode_env_t *, char *, ...);
2N/Avoid forth_perror(fcode_env_t *, char *, ...);
2N/Avoid return_to_interact(fcode_env_t *);
2N/Achar *get_path(fcode_env_t *, device_t *);
2N/Achar *search_for_fcode_file(fcode_env_t *, char *);
2N/Aint current_debug_state(fcode_env_t *);
2N/Aint debug_flags_to_mask(char *);
2N/Aint do_exec_debug(fcode_env_t *, void *);
2N/Aint name_is_debugged(fcode_env_t *, char *);
2N/Aprop_t *find_property(device_t *, char *);
2N/Avoid buffer_init(fcode_env_t *env);
2N/Avoid check_for_debug_entry(fcode_env_t *);
2N/Avoid check_for_debug_exit(fcode_env_t *);
2N/Avoid check_semi_debug_exit(fcode_env_t *);
2N/Avoid check_vitals(fcode_env_t *);
2N/Avoid clear_debug_state(fcode_env_t *, int);
2N/Avoid debug_set_level(fcode_env_t *, int);
2N/Avoid define_actions(fcode_env_t *env, int n, token_t *array);
2N/Avoid do_alias(fcode_env_t *);
2N/Avoid do_bbranch(fcode_env_t *env);
2N/Avoid do_bdo(fcode_env_t *);
2N/Avoid do_bleave(fcode_env_t *env);
2N/Avoid do_bloop(fcode_env_t *env);
2N/Avoid do_bofbranch(fcode_env_t *env);
2N/Avoid do_bploop(fcode_env_t *env);
2N/Avoid do_bqbranch(fcode_env_t *env);
2N/Avoid do_bqdo(fcode_env_t *env);
2N/Avoid do_creator(fcode_env_t *env);
2N/Avoid do_default_action(fcode_env_t *env);
2N/Avoid do_emit(fcode_env_t *, uchar_t);
2N/Avoid do_literal(fcode_env_t *);
2N/Avoid dump_comma(fcode_env_t *, char *);
2N/Avoid dump_words(fcode_env_t *);
2N/Avoid fevaluate(fcode_env_t *);
2N/Avoid ibuffer_init(fcode_env_t *env);
2N/Avoid install_builtin_nodes(fcode_env_t *);
2N/Avoid install_does(fcode_env_t *);
2N/Avoid install_openprom_nodes(fcode_env_t *);
2N/Avoid install_package_nodes(fcode_env_t *);
2N/Avoid internal_env_addr(fcode_env_t *env);
2N/Avoid internal_env_fetch(fcode_env_t *env);
2N/Avoid internal_env_store(fcode_env_t *env);
2N/Avoid key(fcode_env_t *);
2N/Avoid keyquestion(fcode_env_t *);
2N/Avoid make_a_node(fcode_env_t *, char *, int);
2N/Avoid output_data_stack(fcode_env_t *, int);
2N/Avoid output_return_stack(fcode_env_t *, int, int);
2N/Avoid output_step_message(fcode_env_t *);
2N/Avoid output_vitals(fcode_env_t *);
2N/Avoid print_property(fcode_env_t *, prop_t *, char *);
2N/Avoid read_line(fcode_env_t *);
2N/Avoid run_daemon(fcode_env_t *);
2N/Avoid run_fcode_from_file(fcode_env_t *, char *, int);
2N/Avoid tick_literal(fcode_env_t *);
2N/Avoid unbug(fcode_env_t *);
2N/Avoid xbflip(fcode_env_t *);
2N/Avoid xfetch(fcode_env_t *);
2N/Avoid xlflip(fcode_env_t *);
2N/Avoid xstore(fcode_env_t *);
2N/Avoid expose_acf(fcode_env_t *, char *);
2N/A
2N/AFNPROTO(do_semi);
2N/AFNPROTO(do_colon);
2N/AFNPROTO(do_next);
2N/Avoid do_run(fcode_env_t *, int);
2N/A
2N/Avoid *safe_malloc(size_t, char *, int);
2N/Avoid *safe_realloc(void *, size_t, char *, int);
2N/Achar *safe_strdup(char *, char *, int);
2N/Avoid safe_free(void *, char *, int);
2N/A
2N/AFNPROTO(do_forth);
2N/AFNPROTO(do_current);
2N/AFNPROTO(do_context);
2N/AFNPROTO(do_definitions);
2N/AFNPROTO(do_interact);
2N/AFNPROTO(do_resume);
2N/AFNPROTO(do_vocab);
2N/AFNPROTO(create);
2N/AFNPROTO(colon);
2N/AFNPROTO(does);
2N/AFNPROTO(recursive);
2N/AFNPROTO(do_if);
2N/AFNPROTO(do_else);
2N/AFNPROTO(do_then);
2N/AFNPROTO(parse_word);
2N/AFNPROTO(do_quote);
2N/AFNPROTO(run_quote);
2N/A
2N/AFNPROTO(do_order);
2N/AFNPROTO(do_also);
2N/AFNPROTO(do_previous);
2N/A
2N/AFNPROTO(find_package);
2N/AFNPROTO(open_package);
2N/AFNPROTO(close_package);
2N/AFNPROTO(find_method);
2N/AFNPROTO(dollar_call_parent);
2N/AFNPROTO(my_parent);
2N/AFNPROTO(my_unit);
2N/AFNPROTO(ihandle_to_phandle);
2N/AFNPROTO(dollar_call_method);
2N/AFNPROTO(dollar_open_package);
2N/A
2N/AFNPROTO(call_environment_method);
2N/A
2N/AFNPROTO(f_abort);
2N/AFNPROTO(catch);
2N/AFNPROTO(throw);
2N/A
2N/AFNPROTO(get_my_property);
2N/AFNPROTO(decode_int);
2N/AFNPROTO(decode_string);
2N/AFNPROTO(get_inherited_prop);
2N/AFNPROTO(delete_property);
2N/AFNPROTO(get_package_property);
2N/Avoid get_environment_property(fcode_env_t *env, int);
2N/A
2N/AFNPROTO(root_node);
2N/AFNPROTO(current_device);
2N/AFNPROTO(dot_properties);
2N/AFNPROTO(pwd);
2N/AFNPROTO(do_ls);
2N/AFNPROTO(do_cd);
2N/AFNPROTO(do_select_dev);
2N/AFNPROTO(do_unselect_dev);
2N/AFNPROTO(device_end);
2N/AFNPROTO(value);
2N/AFNPROTO(buffer_colon);
2N/AFNPROTO(variable);
2N/AFNPROTO(constant);
2N/AFNPROTO(actions);
2N/AFNPROTO(use_actions);
2N/AFNPROTO(action_colon);
2N/AFNPROTO(perform_action);
2N/AFNPROTO(do_tick);
2N/AFNPROTO(bracket_tick);
2N/AFNPROTO(defer);
2N/AFNPROTO(bye);
2N/AFNPROTO(dump_device);
2N/AFNPROTO(dump_instance);
2N/AFNPROTO(compile_string);
2N/AFNPROTO(parse_two_int);
2N/A
2N/Atoken_t *alloc_instance_data(fcode_env_t *, int, int, int *);
2N/AFNPROTO(fetch_instance_data);
2N/AFNPROTO(set_instance_data);
2N/AFNPROTO(address_instance_data);
2N/AFNPROTO(instance_variable);
2N/AFNPROTO(decode_phys);
2N/A
2N/Avoid install_actions(fcode_env_t *env, token_t *table);
2N/Avoid set_value_actions(fcode_env_t *env, int);
2N/Avoid set_internal_value_actions(fcode_env_t *env);
2N/Avoid set_buffer_actions(fcode_env_t *env, int);
2N/A
2N/Avoid system_message(fcode_env_t *env, char *msg);
2N/A
2N/Avoid check_interrupt(void);
2N/Avoid complete_interrupt(void);
2N/A
2N/AFNPROTO(do_set_action);
2N/Avoid push_a_string(fcode_env_t *, char *);
2N/Achar *pop_a_string(fcode_env_t *, int *);
2N/Achar *pop_a_duped_string(fcode_env_t *, int *);
2N/Achar *parse_a_string(fcode_env_t *, int *);
2N/Avoid push_double(fcode_env_t *, dforth_t);
2N/Adforth_t pop_double(fcode_env_t *);
2N/Adforth_t peek_double(fcode_env_t *);
2N/Avoid push_xforth(fcode_env_t *, xforth_t);
2N/Axforth_t pop_xforth(fcode_env_t *);
2N/Axforth_t peek_xforth(fcode_env_t *);
2N/Avoid create_prop(fcode_env_t *, char *);
2N/Avoid create_int_prop(fcode_env_t *, char *, int);
2N/Avoid create_string_prop(fcode_env_t *, char *, char *);
2N/Avoid make_builtin_hooks(fcode_env_t *, char *);
2N/Afstack_t mapping_to_mcookie(uint64_t, size_t, uint64_t, size_t);
2N/Avoid delete_mapping(fstack_t);
2N/Aint is_mcookie(fstack_t);
2N/Auint64_t mcookie_to_addr(fstack_t);
2N/Afstack_t mcookie_to_rlen(fstack_t);
2N/Afstack_t mcookie_to_rvirt(fstack_t);
2N/Avoid set_here(fcode_env_t *, uchar_t *, char *);
2N/Aint call_my_parent(fcode_env_t *, char *);
2N/AFILE *get_dump_fd(fcode_env_t *);
2N/A
2N/Avoid load_file(fcode_env_t *);
2N/Avoid token_roundup(fcode_env_t *, char *);
2N/A
2N/A#ifdef DEBUG
2N/Avoid do_fclib_trace(fcode_env_t *, void *);
2N/Aint do_fclib_step(fcode_env_t *);
2N/A#endif
2N/A
2N/A#ifdef __cplusplus
2N/A}
2N/A#endif
2N/A
2N/A#endif /* _FCODE_PROTO_H */