~ubuntu-branches/ubuntu/intrepid/ecl/intrepid

« back to all changes in this revision

Viewing changes to src/h/external.h

  • Committer: Bazaar Package Importer
  • Author(s): Albin Tonnerre
  • Date: 2008-06-20 18:00:19 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080620180019-7fbz1ln5444vtkkr
Tags: 0.9j-20080306-2ubuntu1
* Enabled unicode support. (Closes: LP #123530)
* Modify Maintainer value to match the DebianMaintainerField specification.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- mode: c; c-basic-offset: 8 -*- */
1
2
#ifdef __cplusplus
2
3
extern "C" {
3
4
#endif
97
98
#endif
98
99
        int interrupt_pending;
99
100
 
 
101
        /* The following is a hash table for caching invocations of
 
102
           generic functions. In a multithreaded environment we must
 
103
           queue operations in which the hash is cleared from updated
 
104
           generic functions. */
 
105
#ifdef CLOS
 
106
#ifdef ECL_THREADS
 
107
        cl_object method_hash_clear_list;
 
108
#endif
 
109
        cl_object method_hash;
 
110
        cl_object method_spec_vector;
 
111
        cl_fixnum method_generation;
 
112
#endif
 
113
 
100
114
        /* foreign function interface */
101
115
        void *fficall;
102
116
};
426
440
/* interpreter.c */
427
441
 
428
442
extern cl_object si_interpreter_stack _ARGS((cl_narg narg));
 
443
extern void ecl_stack_frame_reserve(cl_object f, cl_index size);
 
444
extern void ecl_stack_frame_push(cl_object f, cl_object o);
 
445
extern void ecl_stack_frame_push_values(cl_object f);
 
446
extern void ecl_stack_frame_push_va_list(cl_object f, cl_va_list args);
 
447
extern void ecl_stack_frame_close(cl_object f);
 
448
extern cl_object ecl_stack_frame_pop_values(cl_object f);
 
449
extern cl_object ecl_stack_frame_elt(cl_object f, cl_index n);
 
450
extern void ecl_stack_frame_elt_set(cl_object f, cl_index n, cl_object o);
 
451
extern cl_object ecl_apply_from_stack_frame(cl_object f, cl_object o);
 
452
#define si_apply_from_stack_frame ecl_apply_from_stack_frame
429
453
 
430
454
extern void cl_stack_push(cl_object o);
431
455
extern cl_object cl_stack_pop(void);
440
464
extern cl_index cl_stack_push_values(void);
441
465
extern void cl_stack_pop_values(cl_index n);
442
466
 
443
 
extern cl_object ecl_apply_lambda(cl_narg narg, cl_object fun);
 
467
extern cl_object ecl_apply_lambda(cl_object frame, cl_object fun);
444
468
extern void *ecl_interpret(cl_object bytecodes, void *pc);
445
469
 
446
470
/* disassembler.c */
473
497
extern void FEundefined_function(cl_object fname) /*__attribute__((noreturn))*/;
474
498
extern void FEinvalid_function(cl_object obj) /*__attribute__((noreturn))*/;
475
499
extern void FEinvalid_function_name(cl_object obj) /*__attribute__((noreturn))*/;
476
 
extern cl_object CEerror(const char *err_str, int narg, ...);
 
500
extern cl_object CEerror(cl_object c, const char *err_str, int narg, ...);
477
501
extern void FEillegal_index(cl_object x, cl_object i);
478
502
extern void FEtype_error_symbol(cl_object obj) /*__attribute__((noreturn))*/;
479
503
extern void FElibc_error(const char *msg, int narg, ...) /*__attribute__((noreturn))*/;
630
654
/* gfun.c */
631
655
 
632
656
#ifdef CLOS
 
657
extern void _ecl_set_method_hash_size(struct cl_env_struct *env, cl_index size);
 
658
extern cl_object si_clear_gfun_hash(cl_object what);
633
659
extern cl_object clos_set_funcallable_instance_function(cl_object x, cl_object function_or_t);
634
660
extern cl_object si_generic_function_p(cl_object instance);
635
661
 
636
 
extern cl_object _ecl_compute_method(cl_narg narg, cl_object fun, cl_object *args);
 
662
extern cl_object _ecl_standard_dispatch(cl_object frame, cl_object fun);
637
663
#endif /* CLOS */
638
664
 
639
665
 
682
708
extern cl_object ecl_instance_ref(cl_object x, cl_fixnum i);
683
709
extern cl_object ecl_instance_set(cl_object x, cl_fixnum i, cl_object v);
684
710
extern cl_object si_copy_instance(cl_object x);
 
711
 
 
712
extern cl_object ecl_slot_value(cl_object x, const char *slot);
 
713
extern cl_object ecl_slot_value_set(cl_object x, const char *slot, cl_object y);
685
714
#endif /* CLOS */
686
715
 
687
716
 
783
812
 
784
813
/* load.c */
785
814
 
786
 
extern cl_object ecl_library_open(cl_object filename);
 
815
extern cl_object ecl_library_open(cl_object filename, bool force_reload);
787
816
extern void *ecl_library_symbol(cl_object block, const char *symbol, bool lock);
788
817
extern cl_object ecl_library_error(cl_object block);
789
818
extern void ecl_library_close(cl_object block);
1391
1420
extern cl_object mp_make_process _ARGS((cl_narg narg, ...));
1392
1421
extern cl_object mp_process_active_p(cl_object process);
1393
1422
extern cl_object mp_process_enable(cl_object process);
 
1423
extern cl_object mp_process_yield(void);
1394
1424
extern cl_object mp_process_interrupt(cl_object process, cl_object function);
1395
1425
extern cl_object mp_process_kill(cl_object process);
1396
1426
extern cl_object mp_process_name(cl_object process);
1398
1428
extern cl_object mp_process_run_function _ARGS((cl_narg narg, cl_object name, cl_object function, ...));
1399
1429
extern cl_object mp_process_whostate(cl_object process);
1400
1430
extern cl_object mp_make_lock _ARGS((cl_narg narg, ...));
 
1431
extern cl_object mp_recursive_lock_p(cl_object lock);
 
1432
extern cl_object mp_lock_name(cl_object lock);
 
1433
extern cl_object mp_lock_holder(cl_object lock);
1401
1434
extern cl_object mp_get_lock _ARGS((cl_narg narg, cl_object lock, ...));
1402
1435
extern cl_object mp_giveup_lock(cl_object lock);
 
1436
extern cl_object mp_make_condition_variable(void);
 
1437
extern cl_object mp_condition_variable_wait(cl_object cv, cl_object lock);
 
1438
extern cl_object mp_condition_variable_timedwait(cl_object cv, cl_object lock, cl_object seconds);
 
1439
extern cl_object mp_condition_variable_signal(cl_object cv);
 
1440
extern cl_object mp_condition_variable_broadcast(cl_object cv);
1403
1441
 
1404
1442
extern void ecl_import_current_thread(cl_object process_name, cl_object process_binding);
1405
1443
extern void ecl_release_current_thread(void);
1411
1449
extern cl_object cl_sleep(cl_object z);
1412
1450
extern cl_object cl_get_internal_run_time(void);
1413
1451
extern cl_object cl_get_internal_real_time(void);
 
1452
extern cl_object cl_get_universal_time(void);
1414
1453
 
1415
1454
 
1416
1455
/* typespec.c */
1450
1489
/* unixfsys.c */
1451
1490
 
1452
1491
extern cl_object cl_truename(cl_object file);
1453
 
extern cl_object cl_rename_file(cl_object old_obj, cl_object new_obj);
 
1492
extern cl_object cl_rename_file _ARGS((cl_narg narg, cl_object old_obj, cl_object new_obj, ...));
1454
1493
extern cl_object cl_delete_file(cl_object file);
1455
1494
extern cl_object cl_probe_file(cl_object file);
1456
1495
extern cl_object cl_file_write_date(cl_object file);
1569
1608
extern cl_object cl_load_logical_pathname_translations _ARGS((cl_narg, cl_object V1, ...));
1570
1609
extern cl_object cl_decode_universal_time _ARGS((cl_narg narg, cl_object V1, ...));
1571
1610
extern cl_object cl_encode_universal_time _ARGS((cl_narg narg, cl_object V1, cl_object V2, cl_object V3, cl_object V4, cl_object V5, cl_object V6, ...));
1572
 
extern cl_object cl_get_universal_time _ARGS((cl_narg narg, ...));
1573
1611
extern cl_object cl_get_decoded_time _ARGS((cl_narg narg, ...));
1574
1612
extern cl_object cl_ensure_directories_exist _ARGS((cl_narg narg, cl_object V1, ...));
1575
1613
extern cl_object si_simple_program_error _ARGS((cl_narg narg, cl_object format, ...)) /*__attribute__((noreturn))*/;