More small changes for OS/2.
authorChris Hanson <org/chris-hanson/cph>
Mon, 14 Nov 1994 05:16:32 +0000 (05:16 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 14 Nov 1994 05:16:32 +0000 (05:16 +0000)
v7/src/microcode/os.h
v7/src/microcode/osscheme.c
v7/src/microcode/osscheme.h
v7/src/microcode/syscall.h
v7/src/microcode/utils.c

index 7a81417e666309dcd1f8011e41d4c42f7ded2bf2..eb145440a30a2cef174bf41e6216c317280000db 100644 (file)
@@ -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 */
index 37672e94316124eb7f0e332613ddc2035911dd21..d8c56f035ad8a52fa52e3ede084ad748dc06f556 100644 (file)
@@ -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)
 {
index c7e94e7e634281a228043e2522060d813d31b94b..000f47d29efd60d195daa058d2525d6a41d5fa4f 100644 (file)
@@ -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));
index e96701e16836a8ff0d982e9e3367a44c0a3e2670..65ddcd58382009d1e02beffaad07dbf79c41fcd5 100644 (file)
@@ -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
 \f
+#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));
index b20bd41998b6fe6f11a6245b5dd3542374412f78..b65a38321bd4503debb50ac96a215c19162ee6f7 100644 (file)
@@ -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.");