/usr/include/rep/rep_subrs.h is in librep-dev 0.92.5-3build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 | /* rep_subrs.h -- mostly LISP subr declarations
Copyright (C) 1993, 1994 John Harper <john@dcs.warwick.ac.uk>
$Id$
This file is part of Jade.
Jade is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
Jade is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Jade; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA */
#ifndef REP_SUBRS_H
#define REP_SUBRS_H
#include <stdarg.h>
#ifndef inline
#define inline
#endif
/* from continuations.c */
extern int rep_thread_lock;
extern rep_bool rep_pending_thread_yield;
extern repv rep_call_with_barrier (repv (*callback)(repv), repv arg,
rep_bool closed, void (*in)(void *),
void (*out)(void *), void *data);
extern repv Fcall_cc (repv thunk);
extern repv Fcontinuation_callable_p (repv cont);
extern repv Fcall_with_object (repv arg, repv thunk);
extern repv Fcall_with_dynamic_root (repv thunk);
extern repv Fcall_with_barrier (repv thunk, repv closed, repv in, repv out);
extern repv Fmake_thread (repv thunk, repv name);
extern repv Fthread_yield (void);
extern repv Fthread_delete (repv thread);
extern repv Fthread_suspend (repv thread, repv msecs);
extern repv Fthread_wake (repv thread);
extern repv Ftheadp (repv arg);
extern repv Fthread_suspended_p (repv thread);
extern repv Fthread_exited_p (repv thread);
extern repv Fcurrent_thread (repv depth);
extern repv Fall_threads (repv depth);
extern repv Fthread_forbid (void);
extern repv Fthread_permit (void);
extern repv Fthread_name (repv th);
extern unsigned long rep_max_sleep_for (void);
/* from datums.c */
extern repv Fmake_datum (repv, repv);
extern repv Fdefine_datum_printer (repv, repv);
extern repv Fdatum_ref (repv, repv);
extern repv Fdatum_set (repv, repv, repv);
extern repv Fhas_type_p (repv, repv);
/* from debug-buffer.c */
extern void *rep_db_alloc(char *name, int size);
extern void rep_db_free(void *db);
extern void rep_db_vprintf(void *_db, char *fmt, va_list args);
extern void rep_db_printf(void *db, char *fmt, ...);
extern void rep_db_print_backtrace(void *_db, char *fun);
extern void *rep_db_return_address(void);
extern void rep_db_spew(void *_db);
extern void rep_db_spew_all(void);
extern void rep_db_kill(void);
/* from files.c */
extern repv Qdefault_directory;
extern repv Qstart, Qend;
extern repv Qread, Qwrite, Qappend;
extern repv rep_fh_env;
extern int rep_file_type;
extern int rep_op_write_buffer_contents;
extern int rep_op_read_file_contents;
extern int rep_op_insert_file_contents;
extern repv rep_signal_file_error(repv cdr);
extern repv rep_unbound_file_error(repv file);
extern repv rep_get_file_handler(repv file_name, int op);
extern repv rep_call_file_handler(repv handler, int op,
repv sym, int nargs, ...);
extern repv rep_get_handler_from_file_or_name(repv *filep, int op);
extern repv rep_expand_and_get_handler(repv *file_namep, int op);
extern repv rep_localise_and_get_handler(repv *file_namep, int op);
extern rep_bool rep_file_newer_than(repv name1, repv name2);
extern repv Ffile_name_absolute_p(repv file);
extern repv Fexpand_file_name(repv, repv);
extern repv Flocal_file_name(repv);
extern repv Fcanonical_file_name(repv);
extern repv Ffile_name_nondirectory(repv);
extern repv Ffile_name_directory(repv);
extern repv Ffile_name_as_directory(repv);
extern repv Fdirectory_file_name(repv);
extern repv Ffilep(repv arg);
extern repv Ffile_binding(repv file);
extern repv Ffile_bound_stream(repv file);
extern repv Ffile_handler_data(repv);
extern repv Fset_file_handler_data(repv, repv);
extern repv Fopen_file(repv, repv);
extern repv Fmake_file_from_stream(repv, repv, repv);
extern repv Fclose_file(repv);
extern repv Fflush_file(repv file);
extern repv Fseek_file(repv file, repv offset, repv where);
extern repv Fdelete_file(repv);
extern repv Frename_file(repv, repv);
extern repv Fmake_directory(repv);
extern repv Fdelete_directory(repv);
extern repv Fcopy_file(repv, repv);
extern repv Ffile_readable_p(repv file);
extern repv Ffile_writable_p(repv file);
extern repv Ffile_executable_p(repv file);
extern repv Ffile_exists_p(repv file);
extern repv Ffile_regular_p(repv file);
extern repv Ffile_directory_p(repv file);
extern repv Ffile_symlink_p(repv file);
extern repv Ffile_owner_p(repv file);
extern repv Ffile_nlinks(repv file);
extern repv Ffile_size(repv file);
extern repv Ffile_modes(repv file);
extern repv Fset_file_modes(repv file, repv modes);
extern repv Ffile_modes_as_string(repv file);
extern repv Ffile_modtime(repv file);
extern repv Fdirectory_files(repv dir);
extern repv Fread_symlink(repv file);
extern repv Fmake_symlink(repv file, repv contents);
extern repv Fstdin_file(void);
extern repv Fstdout_file(void);
extern repv Fstderr_file(void);
extern repv Fmake_temp_name(void);
extern repv rep_file_fdopen (int fd, char *mode);
/* from find.c */
extern rep_regexp *rep_compile_regexp(repv re);
extern void rep_push_regexp_data(struct rep_saved_regexp_data *sd);
extern void rep_pop_regexp_data(void);
extern void rep_update_last_match(repv data, rep_regexp *prog);
extern void rep_set_string_match(repv obj, repv start, repv end);
extern void (*rep_regsub_fun)(int, rep_regsubs *, char *, char *, void *);
extern int (*rep_regsublen_fun)(int, rep_regsubs *, char *, void *);
extern repv Qregexp_error;
extern repv Fstring_match(repv re, repv str, repv start, repv nocasep);
extern repv Fstring_looking_at(repv re, repv string,
repv start, repv nocasep);
extern repv Fexpand_last_match(repv template_);
extern repv Fmatch_start(repv exp);
extern repv Fmatch_end(repv exp);
extern repv Fquote_regexp(repv str);
extern repv Fregexp_cache_control(repv limit);
extern void rep_regerror(char *err);
/* from fluids.c */
extern repv Fmake_fluid (repv);
extern repv Ffluid_ref (repv);
extern repv Ffluid_set (repv, repv);
extern repv Fwith_fluids (repv, repv, repv);
/* from lisp.c */
extern repv rep_load_autoload(repv);
extern repv rep_funcall(repv fun, repv arglist, rep_bool eval_args);
extern repv rep_apply (repv, repv);
extern repv rep_call_lisp0(repv);
extern repv rep_call_lisp1(repv, repv);
extern repv rep_call_lisp2(repv, repv, repv);
extern repv rep_call_lisp3(repv, repv, repv, repv);
extern repv rep_call_lisp4(repv, repv, repv, repv, repv);
extern repv rep_call_lispn (repv fun, int argc, repv *argv);
extern repv rep_handle_var_int(repv, int *);
extern repv rep_handle_var_long_int(repv, long *);
extern void rep_handle_error(repv, repv);
extern repv rep_signal_arg_error(repv, int);
extern repv rep_signal_missing_arg(int argnum);
extern repv rep_mem_error(void);
extern repv Qdebug_entry, Qdebug_exit, Qdebug_error_entry;
extern repv Qquote, Qlambda, Qmacro, Qautoload, Qfunction;
extern repv Qstandard_input, Qstandard_output;
extern repv Qamp_optional, Qamp_rest, Qamp_aux;
extern volatile repv rep_throw_value;
extern repv rep_int_cell, rep_term_cell;
extern repv Qerror, Qerror_message, Qinvalid_function;
extern repv Qvoid_value, Qbad_arg, Qinvalid_read_syntax;
extern repv Qend_of_stream, Qinvalid_lambda_list, Qmissing_arg;
extern repv Qinvalid_macro, Qinvalid_autoload, Qno_catcher;
extern repv Qfile_error;
extern repv Qinvalid_stream, Qsetting_constant, Qprocess_error;
extern repv Qno_memory, Quser_interrupt, Qarith_error;
extern repv Qterm_interrupt;
extern repv Qstack_error;
extern repv Qprint_escape, Qprint_length, Qprint_level, Qnewlines;
extern repv rep_env, rep_fenv, rep_special_bindings;
extern struct rep_Call *rep_call_stack;
extern int rep_lisp_depth, rep_max_lisp_depth;
extern int rep_test_int_counter;
extern int rep_test_int_period;
extern void (*rep_test_int_fun)(void);
extern repv Ffuncall(repv);
extern repv Feval(repv);
extern repv Fprogn(repv, repv);
extern repv Fbreak(void);
extern repv Fstep(repv);
extern repv Fsignal(repv error, repv data);
extern repv Fbacktrace(repv strm);
extern repv Vmax_lisp_depth(repv val);
extern int rep_list_length(repv);
extern rep_bool rep_assign_args (repv list, int required, int total, ...);
/* from lispcmds.c */
extern repv Qor, Qand;
extern repv Qload_path, Qafter_load_alist, Qlisp_lib_directory;
extern repv Qdl_load_path, Qdl_load_reloc_now, Qprovide, Qfeatures;
extern repv Qsite_lisp_directory, Qdocumentation_file, Qdocumentation_files;
extern repv Fquote(repv, repv);
extern repv Fcar(repv);
extern repv Fcdr(repv);
extern repv Fmake_list(repv, repv);
extern repv Fnconc(repv args);
extern repv Frplaca(repv, repv);
extern repv Frplacd(repv, repv);
extern repv Freverse(repv);
extern repv Fnreverse(repv);
extern repv Fassoc(repv, repv);
extern repv Fassq(repv, repv);
extern repv Frassoc(repv, repv);
extern repv Frassq(repv, repv);
extern repv Fnth(repv, repv);
extern repv Fnthcdr(repv index, repv list);
extern repv Flast(repv);
extern repv Fmapcar(repv, repv);
extern repv Fmapc(repv, repv);
extern repv Ffilter(repv pred, repv list);
extern repv Fmember(repv, repv);
extern repv Fmemq(repv, repv);
extern repv Fmemql(repv, repv);
extern repv Fdelete(repv, repv);
extern repv Fdelq(repv, repv);
extern repv Fdelete_if(repv, repv);
extern repv Fdelete_if_not(repv, repv);
extern repv Fmake_vector(repv, repv);
extern repv Farrayp(repv);
extern repv Faset(repv, repv, repv);
extern repv Faref(repv, repv);
extern repv Fmake_string(repv, repv);
extern repv Fsubstring(repv string, repv start, repv end);
extern repv Flength(repv);
extern repv Fcopy_sequence(repv);
extern repv Felt(repv, repv);
extern repv Fcond(repv, repv);
extern repv Fapply(repv);
extern repv Fload(repv file, repv noerr_p, repv nopath_p,
repv nosuf_p, repv in_env);
extern repv Fequal(repv, repv);
extern repv Feq(repv, repv);
extern repv Fstring_head_eq(repv, repv);
extern repv Fnull(repv);
extern repv Fatom(repv);
extern repv Fconsp(repv);
extern repv Flistp(repv);
extern repv Fstringp(repv);
extern repv Fvectorp(repv);
extern repv Fbytecodep(repv);
extern repv Ffunctionp(repv);
extern repv Fmacrop(repv);
extern repv Fspecial_form_p(repv);
extern repv Fsubrp(repv arg);
extern repv Fsequencep(repv arg);
extern repv FSdocumentation(repv subr, repv useVar);
extern repv FSname(repv subr, repv useVar);
extern repv Fcall_hook(repv hook, repv arg_list, repv type);
extern repv Fthrow(repv, repv);
/* from lispmach.c */
extern repv Qbytecode_error;
extern repv Fvalidate_byte_code(repv bc_major, repv bc_minor);
extern repv Fmake_byte_code_subr(repv args);
/* from macros.c */
extern repv Fmacroexpand(repv, repv);
/* from main.c */
extern void rep_init(char *prog_name, int *argc, char ***argv,
void (*sys_symbols)(void), void (*sys_usage)(void));
extern void rep_init_from_dump(char *prog_name, int *argc, char ***argv,
void (*sys_symbols)(void),
void (*sys_usage)(void),
char *dump_file);
extern repv rep_load_environment (repv file);
extern void rep_kill(void);
extern rep_bool rep_get_option (char *option, repv *argp);
extern rep_bool rep_on_idle(long since_last_event);
extern rep_bool rep_handle_input_exception(repv *result_p);
extern int rep_top_level_exit (void);
extern void *rep_common_db;
extern int rep_recurse_depth;
extern rep_bool (*rep_on_idle_fun)(int since_last);
extern repv (*rep_event_loop_fun)(void);
extern repv Qidle_hook;
extern void (*rep_on_termination_fun)(void);
extern repv Qexit, Qquit, Qtop_level, Qcommand_line_args;
extern repv Qbatch_mode, Qinterpreted_mode, Qprogram_name;
extern repv Qerror_mode, Qinterrupt_mode;
extern repv Frecursive_edit(void);
extern repv rep_top_level_recursive_edit (void);
extern repv Frecursion_depth(void);
extern repv Fget_command_line_option (repv, repv);
/* from message.c */
enum rep_message {
rep_messagen = 0,
rep_message,
rep_messagef,
rep_save_message,
rep_append_message,
rep_reset_message,
rep_restore_message,
rep_redisplay_message
};
extern void (*rep_message_fun)(enum rep_message fn, ...);
/* from misc.c */
extern char *rep_str_dupn(const char *old, int len);
extern void (*rep_beep_fun)(void);
extern repv Qoperating_system, Qwindow_system, Qprocess_environment;
extern repv Qbuild_id_string;
extern repv Qupcase_table, Qdowncase_table, Qflatten_table;
extern repv Fbeep(void);
extern repv Fcomplete_string(repv existing, repv arg_list, repv fold);
extern repv Fcurrent_time(void);
extern repv Ffix_time(repv time);
extern repv Fcurrent_time_string(repv time, repv format);
extern repv Ftime_later_p(repv t1, repv t2);
extern repv Fsleep_for(repv secs, repv msecs);
extern repv Fsit_for(repv secs, repv msecs);
extern repv Fuser_login_name(void);
extern repv Fuser_full_name(repv arg);
extern repv Fuser_home_directory(repv user);
extern repv Fsystem_name(void);
extern repv Fmessage(repv string, repv now);
extern repv Frandom(repv arg);
extern repv Ftranslate_string(repv string, repv table);
extern repv Falpha_char_p(repv);
extern repv Fupper_case_p(repv);
extern repv Flower_case_p(repv);
extern repv Fdigit_char_p(repv);
extern repv Falphanumericp(repv);
extern repv Fspace_char_p(repv);
extern repv Fchar_upcase(repv);
extern repv Fchar_downcase(repv);
/* from numbers.c */
extern repv rep_make_long_uint (unsigned long in);
extern repv rep_make_long_int (long in);
extern unsigned long rep_get_long_uint (repv in);
extern long rep_get_long_int (repv in);
extern repv rep_make_longlong_int (rep_long_long in);
extern rep_long_long rep_get_longlong_int (repv in);
extern repv rep_make_float (double in, rep_bool force);
extern double rep_get_float (repv in);
extern int rep_compare_numbers (repv n1, repv n2);
extern char *rep_print_number_to_string (repv obj, int radix, int prec);
extern repv rep_number_foldl (repv args, repv (*op)(repv, repv));
extern repv rep_integer_foldl (repv args, repv (*op)(repv, repv));
extern repv rep_foldl (repv args, repv (*op)(repv, repv));
extern repv rep_number_add (repv x, repv y);
extern repv rep_number_neg (repv x);
extern repv rep_number_sub (repv x, repv y);
extern repv rep_number_mul (repv x, repv y);
extern repv rep_number_div (repv x, repv y);
extern repv rep_number_lognot (repv x);
extern repv rep_number_logior (repv x, repv y);
extern repv rep_number_logxor (repv x, repv y);
extern repv rep_number_logand (repv x, repv y);
extern repv rep_number_max (repv x, repv y);
extern repv rep_number_min (repv x, repv y);
extern repv rep_integer_gcd (repv x, repv y);
extern repv Feql(repv arg1, repv arg2);
extern repv Fremainder(repv n1, repv n2);
extern repv Fmod(repv n1, repv n2);
extern repv Fquotient(repv n1, repv n2);
extern repv Flognot(repv);
extern repv Fnot(repv);
extern repv Fplus1(repv);
extern repv Fsub1(repv);
extern repv Fash(repv, repv);
extern repv Ffloor (repv);
extern repv Fceiling (repv);
extern repv Ftruncate (repv);
extern repv Fround (repv);
extern repv Fexp (repv);
extern repv Flog (repv);
extern repv Fsin (repv);
extern repv Fcos (repv);
extern repv Ftan (repv);
extern repv Fasin (repv);
extern repv Facos (repv);
extern repv Fatan (repv, repv);
extern repv Fsqrt (repv);
extern repv Fexpt (repv, repv);
extern repv Fzerop(repv);
extern repv Fnumberp(repv);
extern repv Fintegerp(repv);
extern repv Frationalp(repv);
extern repv Frealp(repv);
extern repv Fexactp(repv);
extern repv Finexactp(repv);
extern repv Fexact_to_inexact(repv);
extern repv Finexact_to_exact(repv);
extern repv Fnumerator(repv);
extern repv Fdenominator(repv);
/* from streams.c */
extern repv Qformat_hooks_alist;
extern int rep_stream_getc(repv);
extern int rep_stream_ungetc(repv, int);
extern int rep_stream_putc(repv, int);
extern int rep_stream_puts(repv, void *, int, rep_bool);
extern int rep_stream_read_esc(repv, int *);
extern repv Fwrite(repv stream, repv data, repv len);
extern repv Fread_char(repv stream);
extern repv Fpeek_char(repv stream);
extern repv Fread_chars(repv stream, repv count);
extern repv Fread_line(repv stream);
extern repv Fcopy_stream(repv source, repv dest);
extern repv Fread(repv);
extern repv Fprint(repv, repv);
extern repv Fprin1(repv, repv);
extern repv Fprinc(repv, repv);
extern repv Fformat(repv);
extern repv Fmake_string_input_stream(repv string, repv start);
extern repv Fmake_string_output_stream(void);
extern repv Fget_output_stream_string(repv strm);
extern repv Finput_stream_p(repv arg);
extern repv Foutput_stream_p(repv arg);
/* from symbols.c */
extern repv rep_undefined_value;
extern repv (*rep_deref_local_symbol_fun)(repv sym);
extern repv (*rep_set_local_symbol_fun)(repv sym, repv val);
extern void rep_intern_static(repv *, repv);
extern repv rep_call_with_closure (repv closure,
repv (*fun)(repv arg), repv arg);
extern repv rep_bind_symbol(repv, repv, repv);
extern int rep_unbind_symbols(repv);
extern repv rep_add_binding_to_env (repv env, repv sym, repv value);
extern repv rep_obarray;
extern repv Qt;
extern repv Qvariable_documentation, Qpermanent_local;
extern repv rep_void_value;
extern rep_bool rep_warn_shadowing;
extern repv Fmake_symbol(repv);
extern repv Fmake_obarray(repv);
extern repv Ffind_symbol(repv, repv);
extern repv Fintern_symbol(repv, repv);
extern repv Fintern(repv, repv);
extern repv Funintern(repv, repv);
extern repv Fmake_closure (repv function, repv name);
extern repv Fclosure_function (repv funarg);
extern repv Fset_closure_function (repv funarg, repv fun);
extern repv Fclosurep (repv arg);
extern repv Fsymbol_value(repv, repv);
extern repv Fdefvar(repv, repv);
extern repv Fset(repv, repv);
extern repv Fsetplist(repv, repv);
extern repv Fsymbol_name(repv);
extern repv Fdefault_value(repv, repv);
extern repv Fdefault_boundp(repv);
extern repv Fset_default(repv, repv);
extern repv Fboundp(repv);
extern repv Fsymbol_plist(repv);
extern repv Fgensym(void);
extern repv Fsymbolp(repv);
extern repv Fsetq(repv, repv);
extern repv Fmakunbound(repv);
extern repv Fget(repv, repv);
extern repv Fput(repv, repv, repv);
extern repv Fapropos(repv, repv, repv);
extern repv Fmake_variable_special (repv sym);
extern repv Fspecial_variable_p(repv sym);
extern repv Ftrace(repv sym);
extern repv Funtrace(repv sym);
extern repv Vobarray(repv val);
extern repv Fmake_keyword (repv in);
extern repv Fkeywordp (repv arg);
/* from structures.c */
extern repv rep_structure;
extern repv Fmake_binding_immutable (repv);
extern repv Fbinding_immutable_p (repv, repv);
extern repv Fexport_bindings (repv list);
extern repv Ffeaturep(repv);
extern repv Fprovide(repv);
extern repv Frequire(repv);
extern repv rep_push_structure_name (repv name);
extern repv rep_push_structure (const char *name);
extern repv rep_pop_structure (repv old);
extern void rep_alias_structure (const char *name);
extern repv rep_bootstrap_structure (const char *s);
extern repv rep_add_subr(rep_xsubr *, rep_bool);
extern void rep_structure_exports_all (repv s, rep_bool status);
extern void rep_structure_set_binds (repv s, rep_bool status);
/* from tuples.c */
extern repv rep_make_tuple (repv car, repv a, repv b);
extern void rep_mark_tuple (repv t);
/* from values.c */
extern repv Qafter_gc_hook;
extern rep_cons *rep_dumped_cons_start, *rep_dumped_cons_end;
extern rep_symbol *rep_dumped_symbols_start, *rep_dumped_symbols_end;
extern repv rep_dumped_non_constants;
extern int rep_guardian_type;
extern repv rep_box_pointer (void *p);
void *rep_unbox_pointer (repv v);
extern void rep_register_type(unsigned int code, char *name,
int (*compare)(repv, repv),
void (*princ)(repv, repv),
void (*print)(repv, repv),
void (*sweep)(void),
void (*mark)(repv),
void (*mark_type)(void),
int (*getc)(repv), int (*ungetc)(repv, int),
int (*putc)(repv, int),
int (*puts)(repv, void *, int, rep_bool),
repv (*bind)(repv), void (*unbind)(repv));
extern unsigned int rep_register_new_type(char *name,
int (*compare)(repv, repv),
void (*princ)(repv, repv),
void (*print)(repv, repv),
void (*sweep)(void),
void (*mark)(repv),
void (*mark_type)(void),
int (*getc)(repv),
int (*ungetc)(repv, int),
int (*putc)(repv, int),
int (*puts)(repv, void *, int, rep_bool),
repv (*bind)(repv),
void (*unbind)(repv));
extern rep_type *rep_get_data_type(unsigned int code);
extern int rep_value_cmp(repv, repv);
extern void rep_princ_val(repv, repv);
extern void rep_print_val(repv, repv);
extern repv rep_null_string(void);
extern repv rep_box_string (char *ptr, long len);
extern repv rep_make_string(long);
extern repv rep_string_dupn(const char *, long);
extern repv rep_string_dup(const char *);
extern repv rep_concat2(char *, char *);
extern repv rep_concat3(char *, char *, char *);
extern repv rep_concat4(char *s1, char *s2, char *s3, char *s4);
extern rep_bool rep_set_string_len(repv, long);
extern repv rep_list_1(repv);
extern repv rep_list_2(repv, repv);
extern repv rep_list_3(repv, repv, repv);
extern repv rep_list_4(repv, repv, repv, repv);
extern repv rep_list_5(repv, repv, repv, repv, repv);
extern repv rep_make_vector(int);
extern repv Fmake_primitive_guardian (void);
extern repv Fprimitive_guardian_push (repv g, repv obj);
extern repv Fprimitive_guardian_pop (repv g);
extern void rep_mark_static(repv *);
extern void rep_mark_value(repv);
extern repv Fcons(repv, repv);
extern rep_GC_root *rep_gc_root_stack;
extern rep_GC_n_roots *rep_gc_n_roots_stack;
extern repv Vgarbage_threshold(repv val);
extern repv Vidle_garbage_threshold(repv val);
extern repv Fgarbage_collect(repv noStats);
extern int rep_data_after_gc, rep_gc_threshold, rep_idle_gc_threshold;
extern rep_bool rep_in_gc;
#ifdef rep_HAVE_UNIX
/* from unix_dl.c */
extern rep_bool rep_find_c_symbol(void *, char **, void **);
extern void *rep_find_dl_symbol (repv feature, char *symbol);
/* from unix_files.c */
extern repv rep_lookup_errno(void);
extern unsigned long rep_file_length(repv file);
/* from unix_main.c */
extern unsigned long rep_time(void);
extern rep_long_long rep_utime (void);
extern unsigned long rep_getpid (void);
extern void (*rep_register_input_fd_fun)(int fd, void (*callback)(int fd));
extern void (*rep_deregister_input_fd_fun)(int fd);
extern void rep_add_event_loop_callback (rep_bool (*callback)(void));
extern void rep_sleep_for(long secs, long msecs);
extern void rep_register_input_fd(int fd, void (*callback)(int fd));
extern void rep_deregister_input_fd(int fd);
extern void rep_map_inputs (void (*fun)(int fd, void (*callback)(int)));
extern void rep_mark_input_pending(int fd);
extern void rep_unix_set_fd_nonblocking(int fd);
extern void rep_unix_set_fd_blocking(int fd);
extern void rep_unix_set_fd_cloexec(int fd);
extern void rep_sig_restart(int sig, rep_bool flag);
extern repv rep_event_loop(void);
extern repv rep_sit_for(unsigned long timeout_msecs);
extern repv rep_accept_input_for_callbacks (unsigned long timeout_msecs,
int ncallbacks,
void (**callbacks)(int));
extern repv rep_accept_input_for_fds (unsigned long timeout_msecs,
int nfds, int *fds);
extern repv rep_accept_input(unsigned long timeout_msecs, void (*callback)(int));
extern rep_bool rep_poll_input(int fd);
#ifdef DEBUG_SYS_ALLOC
extern void *rep_alloc(unsigned int length);
extern void *rep_realloc(void *ptr, unsigned int length);
extern void rep_free(void *ptr);
extern void rep_print_allocations(void);
#else
# include <stdlib.h>
# define rep_alloc(n) malloc(n)
# define rep_realloc(p,n) realloc(p,n)
# define rep_free(p) free(p)
#endif
extern void (*rep_redisplay_fun)(void);
extern long (*rep_wait_for_input_fun)(void *inputs, unsigned long timeout_msecs);
extern int rep_input_timeout_secs;
extern repv Funix_print_allocations(void);
/* from unix_processes.c */
extern repv Qpipe, Qpty;
extern void (*rep_sigchld_fun) (void);
extern rep_bool rep_proc_periodically(void);
extern repv Fmake_process(repv stream, repv fun, repv dir,
repv prog, repv args);
extern repv Fstart_process(repv arg_list);
extern repv Fcall_process(repv arg_list);
extern repv Finterrupt_process(repv proc, repv grp);
extern repv Fkill_process(repv proc, repv grp);
extern repv Fstop_process(repv proc, repv grp);
extern repv Fcontinue_process(repv proc, repv grp);
extern repv Fprocess_exit_status(repv proc);
extern repv Fprocess_exit_value(repv proc);
extern repv Fprocess_id(repv proc);
extern repv Fprocess_running_p(repv proc);
extern repv Fprocess_stopped_p(repv proc);
extern repv Fprocess_in_use_p(repv proc);
extern repv Fprocessp(repv arg);
extern repv Fprocess_prog(repv proc);
extern repv Fset_process_prog(repv proc, repv prog);
extern repv Fprocess_args(repv proc);
extern repv Fset_process_args(repv proc, repv args);
extern repv Fprocess_output_stream(repv proc);
extern repv Fset_process_output_stream(repv proc, repv stream);
extern repv Fprocess_error_stream(repv proc);
extern repv Fset_process_error_stream(repv proc, repv stream);
extern repv Fprocess_function(repv proc);
extern repv Fset_process_function(repv proc, repv fn);
extern repv Fprocess_dir(repv proc);
extern repv Fset_process_dir(repv proc, repv dir);
extern repv Fprocess_connection_type(repv proc);
extern repv Fset_process_connection_type(repv proc, repv type);
extern repv Factive_processes(void);
extern repv Faccept_process_output(repv secs, repv msecs);
void rep_register_process_input_handler (void (*handler)(int));
#endif /* rep_HAVE_UNIX */
/* in plugins */
extern repv rep_dl_init (void);
extern void rep_dl_kill (void);
#endif /* REP_SUBRS_H */
|