1
/* repint_subrs.h -- library-local prototypes
2
Copyright (C) 1993, 1994 John Harper <john@dcs.warwick.ac.uk>
3
$Id: repint_subrs.h,v 1.49 2001/09/14 14:37:33 jsh Exp $
5
This file is part of Jade.
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)
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.
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, 675 Mass Ave, Cambridge, MA 02139, USA. */
21
#ifndef REPINT_SUBRS_H
22
#define REPINT_SUBRS_H
24
/* from continuations.c */
25
extern void rep_continuations_init (void);
28
extern void rep_pre_datums_init (void);
29
extern void rep_datums_init (void);
32
extern void rep_files_init(void);
33
extern void rep_files_kill(void);
36
extern struct rep_saved_regexp_data *rep_saved_matches;
37
extern void rep_string_modified (repv string);
38
extern void rep_mark_regexp_data(void);
39
extern void rep_find_init(void);
40
extern void rep_find_kill(void);
43
extern void rep_fluids_init (void);
46
extern repv rep_scm_t, rep_scm_f;
47
extern repv rep_readl(repv, int *);
48
extern repv rep_eval (repv form, repv tail_posn);
49
extern void rep_lisp_prin(repv, repv);
50
extern void rep_string_princ(repv, repv);
51
extern void rep_string_print(repv, repv);
52
extern repv rep_copy_list(repv);
53
extern rep_bool rep_compare_error(repv error, repv handler);
54
extern void rep_lisp_init(void);
55
extern rep_bool rep_single_step_flag;
58
extern rep_xsubr Slambda;
59
extern repv Qload_filename;
60
extern repv Fcall_with_exception_handler (repv, repv);
61
extern void rep_lispcmds_init(void);
64
extern repv Qbytecode_error;
65
extern repv Frun_byte_code(repv code, repv consts, repv stkreq);
66
extern repv rep_apply_bytecode (repv subr, int nargs, repv *args);
67
extern void rep_lispmach_init(void);
68
extern void rep_lispmach_kill(void);
71
extern char *rep_stack_bottom;
72
extern void rep_deprecated (rep_bool *seen, const char *desc);
75
extern void rep_macros_before_gc (void);
76
extern void rep_macros_clear_history (void);
77
extern void rep_macros_init (void);
81
extern char *stpcpy(char *, const char *);
83
#ifndef HAVE_STRNCASECMP
84
extern int strncasecmp (const char *s1, const char *s2, size_t n);
86
extern void rep_misc_init(void);
89
extern repv rep_parse_number (char *buf, u_int len, u_int radix,
90
int sign, u_int type);
91
extern void rep_numbers_init (void);
94
extern rep_bool rep_record_origins;
95
extern void rep_record_origin (repv form, repv stream, long start_line);
96
extern repv Flexical_origin (repv form);
97
extern void rep_mark_origins (void);
98
extern void rep_origin_init (void);
101
extern void rep_default_regsub(int, rep_regsubs *, char *, char *, void *);
102
extern int rep_default_regsublen(int, rep_regsubs *, char *, void *);
105
extern void rep_streams_init(void);
107
/* from structures.c */
108
extern repv rep_default_structure, rep_specials_structure;
109
extern repv Qfeatures, Q_structures, Q_meta, Qrep, Q_specials,
110
Q_user_structure, Qrep_structures, Qrep_lang_interpreter,
111
Qrep_vm_interpreter, Qexternal, Qinternal;
112
extern rep_struct_node *rep_search_imports (rep_struct *s, repv var);
113
extern repv Fmake_structure (repv, repv, repv, repv);
114
extern repv F_structure_ref (repv, repv);
115
extern repv Fstructure_set (repv, repv, repv);
116
extern repv Fstructure_define (repv, repv, repv);
117
extern repv Fstructure_bound_p (repv, repv);
118
extern repv Fexternal_structure_ref (repv, repv);
119
extern repv Fintern_structure (repv);
120
extern repv Fget_structure (repv);
121
extern repv rep_get_initial_special_value (repv sym);
122
extern repv rep_documentation_property (repv structure);
123
extern void rep_pre_structures_init (void);
124
extern void rep_structures_init (void);
127
extern repv rep_keyword_obarray;
128
extern int rep_pre_symbols_init(void);
129
extern void rep_symbols_init(void);
130
extern int rep_allocated_funargs, rep_used_funargs;
131
extern repv Freal_set (repv var, repv value);
132
extern repv rep_bind_special (repv oldList, repv symbol, repv newVal);
135
extern int rep_allocated_tuples, rep_used_tuples;
136
extern void rep_sweep_tuples (void);
137
extern void rep_tuples_kill(void);
140
extern int rep_type_cmp(repv, repv);
141
extern int rep_ptr_cmp(repv, repv);
142
extern rep_cons_block *rep_cons_block_chain;
143
extern rep_cons *rep_cons_freelist;
144
extern int rep_allocated_cons, rep_used_cons;
145
extern rep_cons *rep_allocate_cons (void);
146
extern void rep_cons_free(repv);
147
extern void rep_pre_values_init (void);
148
extern void rep_values_init(void);
149
extern void rep_values_kill (void);
150
extern void rep_dumped_init(char *file);
152
/* from weak-refs.c */
153
extern repv Fmake_weak_ref (repv value);
154
extern repv Fweak_ref (repv ref);
155
extern repv Fweak_ref_set (repv ref, repv value);
156
extern void rep_scan_weak_refs (void);
157
extern void rep_weak_refs_init (void);
162
extern repv rep_open_dl_library(repv file_name);
163
extern void rep_mark_dl_data(void);
164
extern void rep_kill_dl_libraries(void);
166
/* from unix_files.c */
167
extern repv rep_file_name_absolute_p(repv file);
168
extern repv rep_expand_file_name(repv file);
169
extern repv rep_canonical_file_name(repv file);
170
extern repv rep_file_name_nondirectory(repv file);
171
extern repv rep_file_name_directory(repv file);
172
extern repv rep_file_name_as_directory(repv file);
173
extern repv rep_directory_file_name(repv file);
174
extern repv rep_delete_file(repv file);
175
extern repv rep_rename_file(repv old, repv new_);
176
extern repv rep_make_directory(repv dir);
177
extern repv rep_delete_directory(repv dir);
178
extern repv rep_copy_file(repv src, repv dst);
179
extern repv rep_file_readable_p(repv file);
180
extern repv rep_file_writable_p(repv file);
181
extern repv rep_file_exists_p(repv file);
182
extern repv rep_file_regular_p(repv file);
183
extern repv rep_file_directory_p(repv file);
184
extern repv rep_file_symlink_p(repv file);
185
extern repv rep_file_owner_p(repv file);
186
extern repv rep_file_nlinks(repv file);
187
extern repv rep_file_size(repv file);
188
extern repv rep_file_modes(repv file);
189
extern repv rep_set_file_modes(repv file, repv modes);
190
extern repv rep_file_modes_as_string(repv file);
191
extern repv rep_file_modtime(repv file);
192
extern repv rep_directory_files(repv dir_name);
193
extern repv rep_read_symlink (repv file);
194
extern repv rep_make_symlink (repv file, repv contents);
195
extern repv rep_getpwd(void);
196
extern repv rep_structure_file (repv in);
198
/* from unix_main.c */
199
extern repv rep_user_login_name(void);
200
extern repv rep_user_full_name(void);
201
extern repv rep_user_home_directory(repv user);
202
extern repv rep_system_name(void);
203
extern void rep_pre_sys_os_init(void);
204
extern void rep_sys_os_init(void);
205
extern void rep_sys_os_kill(void);
207
/* from unix_processes.c */
208
extern repv rep_system(char *command);
209
extern void rep_proc_init(void);
210
extern void rep_proc_kill(void);
212
#ifndef HAVE_REALPATH
213
/* from realpath.c */
214
extern char *realpath (const char *name, char *resolved);
217
#endif /* rep_HAVE_UNIX */
219
#endif /* REPINT_SUBRS_H */