1 /* repint_subrs.h -- library-local prototypes 2 Copyright (C) 1993, 1994 John Harper <john@dcs.warwick.ac.uk> 3 $Id$ 4 5 This file is part of Jade. 6 7 Jade is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2, or (at your option) 10 any later version. 11 12 Jade is distributed in the hope that it will be useful, but 13 WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with Jade; see the file COPYING. If not, write to 19 the Free Software Foundation, 51 Franklin Street, Fifth Floor, 20 Boston, MA 02110-1301 USA */ 21 22 #ifndef REPINT_SUBRS_H 23 #define REPINT_SUBRS_H 24 25 /* from continuations.c */ 26 extern void rep_continuations_init (void); 27 28 /* from datums.c */ 29 extern void rep_pre_datums_init (void); 30 extern void rep_datums_init (void); 31 32 /* from files.c */ 33 extern void rep_files_init(void); 34 extern void rep_files_kill(void); 35 36 /* from find.c */ 37 extern struct rep_saved_regexp_data *rep_saved_matches; 38 extern void rep_string_modified (repv string); 39 extern void rep_mark_regexp_data(void); 40 extern void rep_find_init(void); 41 extern void rep_find_kill(void); 42 43 /* from fluids.c */ 44 extern void rep_fluids_init (void); 45 46 /* from lisp.c */ 47 extern repv rep_scm_t, rep_scm_f; 48 extern repv rep_readl(repv, int *); 49 extern repv rep_eval (repv form, repv tail_posn); 50 extern void rep_lisp_prin(repv, repv); 51 extern void rep_string_princ(repv, repv); 52 extern void rep_string_print(repv, repv); 53 extern repv rep_copy_list(repv); 54 extern rep_bool rep_compare_error(repv error, repv handler); 55 extern void rep_lisp_init(void); 56 extern rep_bool rep_single_step_flag; 57 58 /* from lispcmds.c */ 59 extern rep_xsubr Slambda; 60 extern repv Qload_filename; 61 extern repv Fcall_with_exception_handler (repv, repv); 62 extern void rep_lispcmds_init(void); 63 extern repv Flist_star (int argc, repv *argv); 64 extern repv Fnconc_ (int argc, repv *argv); 65 extern repv Fappend (int argc, repv *argv); 66 extern repv Fvector (int argc, repv *argv); 67 extern repv Fconcat (int, repv *); 68 extern repv Fnum_eq (int, repv *); 69 extern repv Fnum_noteq (int, repv *); 70 extern repv Fgtthan (int, repv *); 71 extern repv Fgethan (int, repv *); 72 extern repv Fltthan (int, repv *); 73 extern repv Flethan (int, repv *); 74 75 /* from lispmach.c */ 76 extern repv Qbytecode_error; 77 extern repv Frun_byte_code(repv code, repv consts, repv stkreq); 78 extern repv rep_apply_bytecode (repv subr, int nargs, repv *args); 79 extern void rep_lispmach_init(void); 80 extern void rep_lispmach_kill(void); 81 82 /* from main.c */ 83 extern char *rep_stack_bottom; 84 extern void rep_deprecated (rep_bool *seen, const char *desc); 85 86 /* from macros.c */ 87 extern void rep_macros_before_gc (void); 88 extern void rep_macros_clear_history (void); 89 extern void rep_macros_init (void); 90 91 /* from misc.c */ 92 #ifndef HAVE_STPCPY 93 extern char *stpcpy(char *, const char *); 94 #endif 95 #ifndef HAVE_STRNCASECMP 96 extern int strncasecmp (const char *s1, const char *s2, size_t n); 97 #endif 98 extern void rep_misc_init(void); 99 100 /* from numbers.c */ 101 extern repv rep_parse_number (char *buf, unsigned int len, unsigned int radix, 102 int sign, unsigned int type); 103 extern void rep_numbers_init (void); 104 extern repv Fplus(int, repv *); 105 extern repv Fminus(int, repv *); 106 extern repv Fproduct(int, repv *); 107 extern repv Fdivide(int, repv *); 108 extern repv Flogior(int, repv *); 109 extern repv Flogxor(int, repv *); 110 extern repv Flogand(int, repv *); 111 extern repv Fmax(int, repv *); 112 extern repv Fmin(int, repv *); 113 extern repv Fgcd (int, repv *); 114 115 /* from origin.c */ 116 extern rep_bool rep_record_origins; 117 extern void rep_record_origin (repv form, repv stream, long start_line); 118 extern repv Flexical_origin (repv form); 119 extern void rep_mark_origins (void); 120 extern void rep_origin_init (void); 121 122 /* from regsub.c */ 123 extern void rep_default_regsub(int, rep_regsubs *, char *, char *, void *); 124 extern int rep_default_regsublen(int, rep_regsubs *, char *, void *); 125 126 /* from streams.c */ 127 extern void rep_streams_init(void); 128 129 /* from structures.c */ 130 extern repv rep_default_structure, rep_specials_structure; 131 extern repv Qfeatures, Q_structures, Q_meta, Qrep, Q_specials, 132 Q_user_structure, Qrep_structures, Qrep_lang_interpreter, 133 Qrep_vm_interpreter, Qexternal, Qinternal; 134 extern rep_struct_node *rep_search_imports (rep_struct *s, repv var); 135 extern repv Fmake_structure (repv, repv, repv, repv); 136 extern repv F_structure_ref (repv, repv); 137 extern repv Fstructure_set (repv, repv, repv); 138 extern repv Fstructure_define (repv, repv, repv); 139 extern repv Fstructure_bound_p (repv, repv); 140 extern repv Fexternal_structure_ref (repv, repv); 141 extern repv Fintern_structure (repv); 142 extern repv Fget_structure (repv); 143 extern repv Fexport_binding (repv var); 144 extern repv rep_get_initial_special_value (repv sym); 145 extern repv rep_documentation_property (repv structure); 146 extern void rep_pre_structures_init (void); 147 extern void rep_structures_init (void); 148 149 /* from symbols.c */ 150 extern repv rep_keyword_obarray; 151 extern int rep_pre_symbols_init(void); 152 extern void rep_symbols_init(void); 153 extern int rep_allocated_funargs, rep_used_funargs; 154 extern repv Freal_set (repv var, repv value); 155 extern repv rep_bind_special (repv oldList, repv symbol, repv newVal); 156 157 /* from tuples.c */ 158 extern int rep_allocated_tuples, rep_used_tuples; 159 extern void rep_sweep_tuples (void); 160 extern void rep_tuples_kill(void); 161 162 /* from values.c */ 163 extern int rep_type_cmp(repv, repv); 164 extern int rep_ptr_cmp(repv, repv); 165 extern rep_cons_block *rep_cons_block_chain; 166 extern rep_cons *rep_cons_freelist; 167 extern int rep_allocated_cons, rep_used_cons; 168 extern rep_cons *rep_allocate_cons (void); 169 extern void rep_cons_free(repv); 170 extern void rep_pre_values_init (void); 171 extern void rep_values_init(void); 172 extern void rep_values_kill (void); 173 extern void rep_dumped_init(char *file); 174 175 /* from weak-refs.c */ 176 extern repv Fmake_weak_ref (repv value); 177 extern repv Fweak_ref (repv ref); 178 extern repv Fweak_ref_set (repv ref, repv value); 179 extern void rep_scan_weak_refs (void); 180 extern void rep_weak_refs_init (void); 181 182 #ifdef rep_HAVE_UNIX 183 184 /* from unix_dl.c */ 185 extern repv rep_open_dl_library(repv file_name); 186 extern void rep_mark_dl_data(void); 187 extern void rep_kill_dl_libraries(void); 188 extern int rep_intern_dl_library (repv file_name); 189 extern void *rep_lookup_dl_symbol (int idx, const char *name); 190 191 /* from unix_files.c */ 192 extern repv rep_file_name_absolute_p(repv file); 193 extern repv rep_expand_file_name(repv file); 194 extern repv rep_canonical_file_name(repv file); 195 extern repv rep_file_name_nondirectory(repv file); 196 extern repv rep_file_name_directory(repv file); 197 extern repv rep_file_name_as_directory(repv file); 198 extern repv rep_directory_file_name(repv file); 199 extern repv rep_delete_file(repv file); 200 extern repv rep_rename_file(repv old, repv new_); 201 extern repv rep_make_directory(repv dir); 202 extern repv rep_delete_directory(repv dir); 203 extern repv rep_copy_file(repv src, repv dst); 204 extern repv rep_file_readable_p(repv file); 205 extern repv rep_file_writable_p(repv file); 206 extern repv rep_file_executable_p(repv file); 207 extern repv rep_file_exists_p(repv file); 208 extern repv rep_file_regular_p(repv file); 209 extern repv rep_file_directory_p(repv file); 210 extern repv rep_file_symlink_p(repv file); 211 extern repv rep_file_owner_p(repv file); 212 extern repv rep_file_gid(repv file); 213 extern repv rep_file_uid(repv file); 214 extern repv rep_file_nlinks(repv file); 215 extern repv rep_file_size(repv file); 216 extern repv rep_file_modes(repv file); 217 extern repv rep_set_file_modes(repv file, repv modes); 218 extern repv rep_file_modes_as_string(repv file); 219 extern repv rep_file_modtime(repv file); 220 extern repv rep_directory_files(repv dir_name); 221 extern repv rep_read_symlink (repv file); 222 extern repv rep_make_symlink (repv file, repv contents); 223 extern repv rep_getpwd(void); 224 extern repv rep_structure_file (repv in); 225 226 /* from unix_main.c */ 227 extern repv rep_user_login_name(void); 228 extern repv rep_user_full_name(void); 229 extern repv rep_user_home_directory(repv user); 230 extern repv rep_system_name(void); 231 extern void rep_pre_sys_os_init(void); 232 extern void rep_sys_os_init(void); 233 extern void rep_sys_os_kill(void); 234 235 /* from unix_processes.c */ 236 extern repv rep_system(char *command); 237 extern void rep_proc_init(void); 238 extern void rep_proc_kill(void); 239 240 #ifndef HAVE_REALPATH 241 /* from realpath.c */ 242 extern char *realpath (const char *name, char *resolved); 243 #endif 244 245 #endif /* rep_HAVE_UNIX */ 246 247 #endif /* REPINT_SUBRS_H */ 248