From: Chris Hanson Date: Mon, 14 Nov 1994 05:16:32 +0000 (+0000) Subject: More small changes for OS/2. X-Git-Tag: 20090517-FFI~7009 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=8ffdf59e9e93194a7e835360d585794b3aa52487;p=mit-scheme.git More small changes for OS/2. --- diff --git a/v7/src/microcode/os.h b/v7/src/microcode/os.h index 7a81417e6..eb145440a 100644 --- a/v7/src/microcode/os.h +++ b/v7/src/microcode/os.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: os.h,v 1.4 1993/06/24 06:08:38 gjr Exp $ +$Id: os.h,v 1.5 1994/11/14 05:08:23 cph Exp $ -Copyright (c) 1990-1993 Massachusetts Institute of Technology +Copyright (c) 1990-94 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -37,9 +37,21 @@ MIT in each case. */ #include "ansidecl.h" #include "oscond.h" - #include "posixtyp.h" typedef unsigned int Tchannel; +extern PTR EXFUN (OS_malloc, (unsigned int)); +extern PTR EXFUN (OS_realloc, (PTR, unsigned int)); +extern void EXFUN (OS_free, (PTR)); + +#define FASTCOPY(from, to, n) \ +{ \ + const char * FASTCOPY_scan_src = (from); \ + const char * FASTCOPY_end_src = (FASTCOPY_scan_src + (n)); \ + char * FASTCOPY_scan_dst = (to); \ + while (FASTCOPY_scan_src < FASTCOPY_end_src) \ + (*FASTCOPY_scan_dst++) = (*FASTCOPY_scan_src++); \ +} + #endif /* SCM_OS_H */ diff --git a/v7/src/microcode/osscheme.c b/v7/src/microcode/osscheme.c index 37672e943..d8c56f035 100644 --- a/v7/src/microcode/osscheme.c +++ b/v7/src/microcode/osscheme.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: osscheme.c,v 1.7 1993/06/24 06:12:14 gjr Exp $ +$Id: osscheme.c,v 1.8 1994/11/14 05:10:53 cph Exp $ -Copyright (c) 1990-1993 Massachusetts Institute of Technology +Copyright (c) 1990-94 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -68,6 +68,27 @@ DEFUN_VOID (executing_scheme_primitive_p) return (PRIMITIVE_P (Regs [REGBLOCK_PRIMITIVE])); } +#ifdef _OS2 + +void +DEFUN_VOID (request_attention_interrupt) +{ + REQUEST_INTERRUPT (INT_Global_1); +} + +int +DEFUN_VOID (test_and_clear_attention_interrupt) +{ + long code; + GRAB_INTERRUPT_REGISTERS (); + code = (FETCH_INTERRUPT_CODE ()); + CLEAR_INTERRUPT_NOLOCK (INT_Global_1); + RELEASE_INTERRUPT_REGISTERS (); + return ((code & INT_Global_1) != 0); +} + +#endif /* _OS2 */ + void DEFUN_VOID (request_character_interrupt) { diff --git a/v7/src/microcode/osscheme.h b/v7/src/microcode/osscheme.h index c7e94e7e6..000f47d29 100644 --- a/v7/src/microcode/osscheme.h +++ b/v7/src/microcode/osscheme.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: osscheme.h,v 1.8 1993/06/24 06:11:12 gjr Exp $ +$Id: osscheme.h,v 1.9 1994/11/14 05:11:04 cph Exp $ -Copyright (c) 1990-1993 Massachusetts Institute of Technology +Copyright (c) 1990-94 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -60,6 +60,11 @@ extern void EXFUN (termination_init_error, (void)); extern void EXFUN (termination_signal, (CONST char * signal_name)); extern void EXFUN (termination_trap, (void)); +#ifdef _OS2 +extern void EXFUN (request_attention_interrupt, (void)); +extern int EXFUN (test_and_clear_attention_interrupt, (void)); +#endif /* _OS2 */ + extern void EXFUN (request_character_interrupt, (void)); extern void EXFUN (request_timer_interrupt, (void)); extern void EXFUN (request_suspend_interrupt, (void)); diff --git a/v7/src/microcode/syscall.h b/v7/src/microcode/syscall.h index e96701e16..65ddcd583 100644 --- a/v7/src/microcode/syscall.h +++ b/v7/src/microcode/syscall.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: syscall.h,v 1.3 1993/08/28 05:43:32 gjr Exp $ +$Id: syscall.h,v 1.4 1994/11/14 05:15:25 cph Exp $ -Copyright (c) 1993 Massachusetts Institute of Technology +Copyright (c) 1993-94 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -38,7 +38,638 @@ MIT in each case. */ #ifndef SCM_SYSCALL_H #define SCM_SYSCALL_H + +#include "oscond.h" + +#ifdef _OS2 + +enum syscall_names +{ +}; + +/* Machine-generated table, do not edit: */ +enum syserr_names +{ + syserr_invalid_function, + syserr_file_not_found, + syserr_path_not_found, + syserr_too_many_open_files, + syserr_access_denied, + syserr_invalid_handle, + syserr_arena_trashed, + syserr_not_enough_memory, + syserr_invalid_block, + syserr_bad_environment, + syserr_bad_format, + syserr_invalid_access, + syserr_invalid_data, + syserr_invalid_drive, + syserr_current_directory, + syserr_not_same_device, + syserr_no_more_files, + syserr_write_protect, + syserr_bad_unit, + syserr_not_ready, + syserr_bad_command, + syserr_crc, + syserr_bad_length, + syserr_seek, + syserr_not_dos_disk, + syserr_sector_not_found, + syserr_out_of_paper, + syserr_write_fault, + syserr_read_fault, + syserr_gen_failure, + syserr_sharing_violation, + syserr_lock_violation, + syserr_wrong_disk, + syserr_fcb_unavailable, + syserr_sharing_buffer_exceeded, + syserr_code_page_mismatched, + syserr_handle_eof, + syserr_handle_disk_full, + syserr_not_supported, + syserr_rem_not_list, + syserr_dup_name, + syserr_bad_netpath, + syserr_network_busy, + syserr_dev_not_exist, + syserr_too_many_cmds, + syserr_adap_hdw_err, + syserr_bad_net_resp, + syserr_unexp_net_err, + syserr_bad_rem_adap, + syserr_printq_full, + syserr_no_spool_space, + syserr_print_cancelled, + syserr_netname_deleted, + syserr_network_access_denied, + syserr_bad_dev_type, + syserr_bad_net_name, + syserr_too_many_names, + syserr_too_many_sess, + syserr_sharing_paused, + syserr_req_not_accep, + syserr_redir_paused, + syserr_sbcs_att_write_prot, + syserr_sbcs_general_failure, + syserr_xga_out_memory, + syserr_file_exists, + syserr_dup_fcb, + syserr_cannot_make, + syserr_fail_i24, + syserr_out_of_structures, + syserr_already_assigned, + syserr_invalid_password, + syserr_invalid_parameter, + syserr_net_write_fault, + syserr_no_proc_slots, + syserr_not_frozen, + syserr_sys_comp_not_loaded, + syserr_tstovfl, + syserr_tstdup, + syserr_no_items, + syserr_interrupt, + syserr_device_in_use, + syserr_too_many_semaphores, + syserr_excl_sem_already_owned, + syserr_sem_is_set, + syserr_too_many_sem_requests, + syserr_invalid_at_interrupt_time, + syserr_sem_owner_died, + syserr_sem_user_limit, + syserr_disk_change, + syserr_drive_locked, + syserr_broken_pipe, + syserr_open_failed, + syserr_buffer_overflow, + syserr_disk_full, + syserr_no_more_search_handles, + syserr_invalid_target_handle, + syserr_protection_violation, + syserr_viokbd_request, + syserr_invalid_category, + syserr_invalid_verify_switch, + syserr_bad_driver_level, + syserr_call_not_implemented, + syserr_sem_timeout, + syserr_insufficient_buffer, + syserr_invalid_name, + syserr_invalid_level, + syserr_no_volume_label, + syserr_mod_not_found, + syserr_proc_not_found, + syserr_wait_no_children, + syserr_child_not_complete, + syserr_direct_access_handle, + syserr_negative_seek, + syserr_seek_on_device, + syserr_is_join_target, + syserr_is_joined, + syserr_is_substed, + syserr_not_joined, + syserr_not_substed, + syserr_join_to_join, + syserr_subst_to_subst, + syserr_join_to_subst, + syserr_subst_to_join, + syserr_busy_drive, + syserr_same_drive, + syserr_dir_not_root, + syserr_dir_not_empty, + syserr_is_subst_path, + syserr_is_join_path, + syserr_path_busy, + syserr_is_subst_target, + syserr_system_trace, + syserr_invalid_event_count, + syserr_too_many_muxwaiters, + syserr_invalid_list_format, + syserr_label_too_long, + syserr_too_many_tcbs, + syserr_signal_refused, + syserr_discarded, + syserr_not_locked, + syserr_bad_threadid_addr, + syserr_bad_arguments, + syserr_bad_pathname, + syserr_signal_pending, + syserr_uncertain_media, + syserr_max_thrds_reached, + syserr_monitors_not_supported, + syserr_unc_driver_not_installed, + syserr_lock_failed, + syserr_swapio_failed, + syserr_swapin_failed, + syserr_busy, + syserr_cancel_violation, + syserr_atomic_lock_not_supported, + syserr_read_locks_not_supported, + syserr_invalid_segment_number, + syserr_invalid_callgate, + syserr_invalid_ordinal, + syserr_already_exists, + syserr_no_child_process, + syserr_child_alive_nowait, + syserr_invalid_flag_number, + syserr_sem_not_found, + syserr_invalid_starting_codeseg, + syserr_invalid_stackseg, + syserr_invalid_moduletype, + syserr_invalid_exe_signature, + syserr_exe_marked_invalid, + syserr_bad_exe_format, + syserr_iterated_data_exceeds_64k, + syserr_invalid_minallocsize, + syserr_dynlink_from_invalid_ring, + syserr_iopl_not_enabled, + syserr_invalid_segdpl, + syserr_autodataseg_exceeds_64k, + syserr_ring2seg_must_be_movable, + syserr_reloc_chain_xeeds_seglim, + syserr_infloop_in_reloc_chain, + syserr_envvar_not_found, + syserr_not_current_ctry, + syserr_no_signal_sent, + syserr_filename_exced_range, + syserr_ring2_stack_in_use, + syserr_meta_expansion_too_long, + syserr_invalid_signal_number, + syserr_thread_1_inactive, + syserr_info_not_avail, + syserr_locked, + syserr_bad_dynalink, + syserr_too_many_modules, + syserr_nesting_not_allowed, + syserr_cannot_shrink, + syserr_zombie_process, + syserr_stack_in_high_memory, + syserr_invalid_exitroutine_ring, + syserr_getbuf_failed, + syserr_flushbuf_failed, + syserr_transfer_too_long, + syserr_forcenoswap_failed, + syserr_smg_no_target_window, + syserr_no_children, + syserr_invalid_screen_group, + syserr_bad_pipe, + syserr_pipe_busy, + syserr_no_data, + syserr_pipe_not_connected, + syserr_more_data, + syserr_vc_disconnected, + syserr_circularity_requested, + syserr_directory_in_cds, + syserr_invalid_fsd_name, + syserr_invalid_path, + syserr_invalid_ea_name, + syserr_ea_list_inconsistent, + syserr_ea_list_too_long, + syserr_no_meta_match, + syserr_findnotify_timeout, + syserr_no_more_items, + syserr_search_struc_reused, + syserr_char_not_found, + syserr_too_much_stack, + syserr_invalid_attr, + syserr_invalid_starting_ring, + syserr_invalid_dll_init_ring, + syserr_cannot_copy, + syserr_directory, + syserr_oplocked_file, + syserr_oplock_thread_exists, + syserr_volume_changed, + syserr_findnotify_handle_in_use, + syserr_findnotify_handle_closed, + syserr_notify_object_removed, + syserr_already_shutdown, + syserr_eas_didnt_fit, + syserr_ea_file_corrupt, + syserr_ea_table_full, + syserr_invalid_ea_handle, + syserr_no_cluster, + syserr_create_ea_file, + syserr_cannot_open_ea_file, + syserr_eas_not_supported, + syserr_need_eas_found, + syserr_duplicate_handle, + syserr_duplicate_name, + syserr_empty_muxwait, + syserr_mutex_owned, + syserr_not_owner, + syserr_param_too_small, + syserr_too_many_handles, + syserr_too_many_opens, + syserr_wrong_type, + syserr_unused_code, + syserr_thread_not_terminated, + syserr_init_routine_failed, + syserr_module_in_use, + syserr_not_enough_watchpoints, + syserr_too_many_posts, + syserr_already_posted, + syserr_already_reset, + syserr_sem_busy, + syserr_invalid_procid, + syserr_invalid_pdelta, + syserr_not_descendant, + syserr_not_session_manager, + syserr_invalid_pclass, + syserr_invalid_scope, + syserr_invalid_threadid, + syserr_dossub_shrink, + syserr_dossub_nomem, + syserr_dossub_overlap, + syserr_dossub_badsize, + syserr_dossub_badflag, + syserr_dossub_badselector, + syserr_mr_msg_too_long, + syserr_mr_mid_not_found, + syserr_mr_un_acc_msgf, + syserr_mr_inv_msgf_format, + syserr_mr_inv_ivcount, + syserr_mr_un_perform, + syserr_ts_wakeup, + syserr_ts_semhandle, + syserr_ts_notimer, + syserr_ts_handle, + syserr_ts_datetime, + syserr_sys_internal, + syserr_que_current_name, + syserr_que_proc_not_owned, + syserr_que_proc_owned, + syserr_que_duplicate, + syserr_que_element_not_exist, + syserr_que_no_memory, + syserr_que_invalid_name, + syserr_que_invalid_priority, + syserr_que_invalid_handle, + syserr_que_link_not_found, + syserr_que_memory_error, + syserr_que_prev_at_end, + syserr_que_proc_no_access, + syserr_que_empty, + syserr_que_name_not_exist, + syserr_que_not_initialized, + syserr_que_unable_to_access, + syserr_que_unable_to_add, + syserr_que_unable_to_init, + syserr_vio_invalid_mask, + syserr_vio_ptr, + syserr_vio_aptr, + syserr_vio_rptr, + syserr_vio_cptr, + syserr_vio_lptr, + syserr_vio_mode, + syserr_vio_width, + syserr_vio_attr, + syserr_vio_row, + syserr_vio_col, + syserr_vio_toprow, + syserr_vio_botrow, + syserr_vio_rightcol, + syserr_vio_leftcol, + syserr_scs_call, + syserr_scs_value, + syserr_vio_wait_flag, + syserr_vio_unlock, + syserr_sgs_not_session_mgr, + syserr_smg_invalid_sgid, + syserr_smg_invalid_session_id, + syserr_smg_nosg, + syserr_smg_no_sessions, + syserr_smg_grp_not_found, + syserr_smg_session_not_found, + syserr_smg_set_title, + syserr_kbd_parameter, + syserr_kbd_no_device, + syserr_kbd_invalid_iowait, + syserr_kbd_invalid_length, + syserr_kbd_invalid_echo_mask, + syserr_kbd_invalid_input_mask, + syserr_mon_invalid_parms, + syserr_mon_invalid_devname, + syserr_mon_invalid_handle, + syserr_mon_buffer_too_small, + syserr_mon_buffer_empty, + syserr_mon_data_too_large, + syserr_mouse_no_device, + syserr_mouse_inv_handle, + syserr_mouse_inv_parms, + syserr_mouse_cant_reset, + syserr_mouse_display_parms, + syserr_mouse_inv_module, + syserr_mouse_inv_entry_pt, + syserr_mouse_inv_mask, + syserr_mouse_no_data, + syserr_mouse_ptr_drawn, + syserr_invalid_frequency, + syserr_nls_no_country_file, + syserr_nls_open_failed, + syserr_nls_no_ctry_code, + syserr_no_country_or_codepage, + syserr_nls_table_truncated, + syserr_nls_bad_type, + syserr_nls_type_not_found, + syserr_vio_smg_only, + syserr_vio_invalid_asciiz, + syserr_vio_deregister, + syserr_vio_no_popup, + syserr_vio_existing_popup, + syserr_kbd_smg_only, + syserr_kbd_invalid_asciiz, + syserr_kbd_invalid_mask, + syserr_kbd_register, + syserr_kbd_deregister, + syserr_mouse_smg_only, + syserr_mouse_invalid_asciiz, + syserr_mouse_invalid_mask, + syserr_mouse_register, + syserr_mouse_deregister, + syserr_smg_bad_action, + syserr_smg_invalid_call, + syserr_scs_sg_notfound, + syserr_scs_not_shell, + syserr_vio_invalid_parms, + syserr_vio_function_owned, + syserr_vio_return, + syserr_scs_invalid_function, + syserr_scs_not_session_mgr, + syserr_vio_register, + syserr_vio_no_mode_thread, + syserr_vio_no_save_restore_thd, + syserr_vio_in_bg, + syserr_vio_illegal_during_popup, + syserr_smg_not_baseshell, + syserr_smg_bad_statusreq, + syserr_que_invalid_wait, + syserr_vio_lock, + syserr_mouse_invalid_iowait, + syserr_vio_invalid_handle, + syserr_vio_illegal_during_lock, + syserr_vio_invalid_length, + syserr_kbd_invalid_handle, + syserr_kbd_no_more_handle, + syserr_kbd_cannot_create_kcb, + syserr_kbd_codepage_load_incompl, + syserr_kbd_invalid_codepage_id, + syserr_kbd_no_codepage_support, + syserr_kbd_focus_required, + syserr_kbd_focus_already_active, + syserr_kbd_keyboard_busy, + syserr_kbd_invalid_codepage, + syserr_kbd_unable_to_focus, + syserr_smg_session_non_select, + syserr_smg_session_not_foregrnd, + syserr_smg_session_not_parent, + syserr_smg_invalid_start_mode, + syserr_smg_invalid_related_opt, + syserr_smg_invalid_bond_option, + syserr_smg_invalid_select_opt, + syserr_smg_start_in_background, + syserr_smg_invalid_stop_option, + syserr_smg_bad_reserve, + syserr_smg_process_not_parent, + syserr_smg_invalid_data_length, + syserr_smg_not_bound, + syserr_smg_retry_sub_alloc, + syserr_kbd_detached, + syserr_vio_detached, + syserr_mou_detached, + syserr_vio_font, + syserr_vio_user_font, + syserr_vio_bad_cp, + syserr_vio_no_cp, + syserr_vio_na_cp, + syserr_invalid_code_page, + syserr_cplist_too_small, + syserr_cp_not_moved, + syserr_mode_switch_init, + syserr_code_page_not_found, + syserr_unexpected_slot_returned, + syserr_smg_invalid_trace_option, + syserr_vio_internal_resource, + syserr_vio_shell_init, + syserr_smg_no_hard_errors, + syserr_cp_switch_incomplete, + syserr_vio_transparent_popup, + syserr_critsec_overflow, + syserr_critsec_underflow, + syserr_vio_bad_reserve, + syserr_invalid_address, + syserr_zero_selectors_requested, + syserr_not_enough_selectors_ava, + syserr_invalid_selector, + syserr_smg_invalid_program_type, + syserr_smg_invalid_pgm_control, + syserr_smg_invalid_inherit_opt, + syserr_vio_extended_sg, + syserr_vio_not_pres_mgr_sg, + syserr_vio_shield_owned, + syserr_vio_no_more_handles, + syserr_vio_see_error_log, + syserr_vio_associated_dc, + syserr_kbd_no_console, + syserr_mouse_no_console, + syserr_mouse_invalid_handle, + syserr_smg_invalid_debug_parms, + syserr_kbd_extended_sg, + syserr_mou_extended_sg, + syserr_smg_invalid_icon_file, + syserr_trc_pid_non_existent, + syserr_trc_count_active, + syserr_trc_suspended_by_count, + syserr_trc_count_inactive, + syserr_trc_count_reached, + syserr_no_mc_trace, + syserr_mc_trace, + syserr_trc_count_zero, + syserr_smg_too_many_dds, + syserr_smg_invalid_notification, + syserr_lf_invalid_function, + syserr_lf_not_avail, + syserr_lf_suspended, + syserr_lf_buf_too_small, + syserr_lf_buffer_corrupted, + syserr_lf_buffer_full, + syserr_lf_invalid_daemon, + syserr_lf_invalid_record, + syserr_lf_invalid_templ, + syserr_lf_invalid_service, + syserr_lf_general_failure, + syserr_lf_invalid_id, + syserr_lf_invalid_handle, + syserr_lf_no_id_avail, + syserr_lf_template_area_full, + syserr_lf_id_in_use, + syserr_mou_not_initialized, + syserr_mouinitreal_done, + syserr_dossub_corrupted, + syserr_mouse_caller_not_subsys, + syserr_arithmetic_overflow, + syserr_tmr_no_device, + syserr_tmr_invalid_time, + syserr_pvw_invalid_entity, + syserr_pvw_invalid_entity_type, + syserr_pvw_invalid_spec, + syserr_pvw_invalid_range_type, + syserr_pvw_invalid_counter_blk, + syserr_pvw_invalid_text_blk, + syserr_prf_not_initialized, + syserr_prf_already_initialized, + syserr_prf_not_started, + syserr_prf_already_started, + syserr_prf_timer_out_of_range, + syserr_prf_timer_reset, + syserr_vdd_lock_useage_denied, + syserr_timeout, + syserr_vdm_down, + syserr_vdm_limit, + syserr_vdd_not_found, + syserr_invalid_caller, + syserr_pid_mismatch, + syserr_invalid_vdd_handle, + syserr_vlpt_no_spooler, + syserr_vcom_device_busy, + syserr_vlpt_device_busy, + syserr_nesting_too_deep, + syserr_vdd_missing, + syserr_bidi_invalid_length, + syserr_bidi_invalid_increment, + syserr_bidi_invalid_combination, + syserr_bidi_invalid_reserved, + syserr_bidi_invalid_effect, + syserr_bidi_invalid_csdrec, + syserr_bidi_invalid_csdstate, + syserr_bidi_invalid_level, + syserr_bidi_invalid_type_support, + syserr_bidi_invalid_orientation, + syserr_bidi_invalid_num_shape, + syserr_bidi_invalid_csd, + syserr_bidi_no_support, + syserr_bidi_rw_incomplete, + syserr_imp_invalid_parm, + syserr_imp_invalid_length, + syserr_hpfs_disk_error_warn, + syserr_mon_bad_buffer, + syserr_module_corrupted, + syserr_sm_outof_swapfile, + syserr_lf_timeout, + syserr_lf_suspend_success, + syserr_lf_resume_success, + syserr_lf_redirect_success, + syserr_lf_redirect_failure, + syserr_swapper_not_active, + syserr_invalid_swapid, + syserr_ioerr_swap_file, + syserr_swap_table_full, + syserr_swap_file_full, + syserr_cant_init_swapper, + syserr_swapper_already_init, + syserr_pmm_insufficient_memory, + syserr_pmm_invalid_flags, + syserr_pmm_invalid_address, + syserr_pmm_lock_failed, + syserr_pmm_unlock_failed, + syserr_pmm_move_incomplete, + syserr_ucom_drive_renamed, + syserr_ucom_filename_truncated, + syserr_ucom_buffer_length, + syserr_mon_chain_handle, + syserr_mon_not_registered, + syserr_smg_already_top, + syserr_pmm_arena_modified, + syserr_smg_printer_open, + syserr_pmm_set_flags_failed, + syserr_invalid_dos_dd, + syserr_blocked, + syserr_noblock, + syserr_instance_shared, + syserr_no_object, + syserr_partial_attach, + syserr_incache, + syserr_swap_io_problems, + syserr_crosses_object_boundary, + syserr_longlock, + syserr_shortlock, + syserr_uvirtlock, + syserr_aliaslock, + syserr_alias, + syserr_no_more_handles, + syserr_scan_terminated, + syserr_terminator_not_found, + syserr_not_direct_child, + syserr_delay_free, + syserr_guardpage, + syserr_swaperror, + syserr_ldrerror, + syserr_nomemory, + syserr_noaccess, + syserr_no_dll_term, + syserr_cpsio_code_page_invalid, + syserr_cpsio_no_spooler, + syserr_cpsio_font_id_invalid, + syserr_cpsio_internal_error, + syserr_cpsio_invalid_ptr_name, + syserr_cpsio_not_active, + syserr_cpsio_pid_full, + syserr_cpsio_pid_not_found, + syserr_cpsio_read_ctl_seq, + syserr_cpsio_read_fnt_def, + syserr_cpsio_write_error, + syserr_cpsio_write_full_error, + syserr_cpsio_write_handle_bad, + syserr_cpsio_swit_load, + syserr_cpsio_inv_command, + syserr_cpsio_no_font_swit, + syserr_entry_is_callgate, + syserr_unknown +}; + +#define syserr_not_enough_space syserr_not_enough_memory +#else /* not _OS2 */ + enum syscall_names { syscall_accept, @@ -142,6 +773,8 @@ enum syserr_names syserr_too_many_open_files_in_system }; +#endif /* not _OS2 */ + extern void EXFUN (error_in_system_call, (enum syserr_names, enum syscall_names)); extern void EXFUN (error_system_call, (int, enum syscall_names name)); diff --git a/v7/src/microcode/utils.c b/v7/src/microcode/utils.c index b20bd4199..b65a38321 100644 --- a/v7/src/microcode/utils.c +++ b/v7/src/microcode/utils.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: utils.c,v 9.65 1994/09/29 15:54:27 adams Exp $ +$Id: utils.c,v 9.66 1994/11/14 05:16:32 cph Exp $ -Copyright (c) 1987-1993 Massachusetts Institute of Technology +Copyright (c) 1987-94 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -129,6 +129,14 @@ DEFUN (Setup_Interrupt, (masked_interrupts), long masked_interrupts) long interrupt_mask; SCHEME_OBJECT interrupt_handler; +#ifdef _OS2 + if ((1 << interrupt_number) == INT_Global_1) + { + extern void OS2_handle_attention_interrupt (); + OS2_handle_attention_interrupt (); + abort_to_interpreter (PRIM_POP_RETURN); + } +#endif /* _OS2 */ if (! (Valid_Fixed_Obj_Vector ())) { outf_fatal ("\nInvalid fixed-objects vector.");