Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */
  2. /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
  3. /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
  4. #ifndef __dj_include_sys_exceptn_h__
  5. #define __dj_include_sys_exceptn_h__
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #ifndef __dj_ENFORCE_ANSI_FREESTANDING
  12.  
  13. #ifndef __STRICT_ANSI__
  14.  
  15. #ifndef _POSIX_SOURCE
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21. #ifndef __dj_ENFORCE_ANSI_FREESTANDING
  22.  
  23. #ifndef __STRICT_ANSI__
  24.  
  25. #ifndef _POSIX_SOURCE
  26.  
  27. #ifdef __dj_include_setjmp_h_
  28. extern jmp_buf *__djgpp_exception_state_ptr;    /* Must include setjmp.h first */
  29. #define __djgpp_exception_state (*__djgpp_exception_state_ptr)
  30. #endif
  31.  
  32. extern unsigned short __djgpp_our_DS;
  33. extern unsigned short __djgpp_app_DS;   /* Data selector invalidated by HW ints */
  34. extern unsigned short __djgpp_ds_alias; /* Data selector always valid */
  35. extern unsigned short __djgpp_dos_sel;  /* Linear mem selector copy in locked mem */
  36. /* Hardware Interrupt Flags:
  37.  
  38.    1 = Disable INTR and QUIT keys (Ctrl-C and Ctrl-\);
  39.    2 = Count Ctrl-Break (don't kill);
  40.    4 = IRET from our timer interrupt handler, don't chain */
  41. extern unsigned short __djgpp_hwint_flags;
  42. extern unsigned __djgpp_cbrk_count;     /* Count of CTRL-BREAK hits */
  43. extern int __djgpp_exception_inprog;    /* Nested exception count */
  44.  
  45. extern unsigned short __djgpp_sigint_key;  /* key that raises SIGINT */
  46. extern unsigned short __djgpp_sigquit_key; /* key that raises SIGQUIT */
  47. extern unsigned short __djgpp_sigint_mask; /* kb mask for SIGINT key */
  48. extern unsigned short __djgpp_sigquit_mask;/* kb mask for SIGQUIT key */
  49.  
  50. void __djgpp_exception_toggle(void);
  51. int  __djgpp_set_ctrl_c(int __enable);  /* On by default */
  52. int  __djgpp_set_sigint_key(int new_key);  /* Set key which raises SIGINT */
  53. int  __djgpp_set_sigquit_key(int new_key); /* Set key which raises SIGQUIT */
  54.  
  55. #endif /* !_POSIX_SOURCE */
  56. #endif /* !__STRICT_ANSI__ */
  57. #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
  58.  
  59. #ifndef __dj_ENFORCE_FUNCTION_CALLS
  60. #endif /* !__dj_ENFORCE_FUNCTION_CALLS */
  61.  
  62. #ifdef __cplusplus
  63. }
  64. #endif
  65.  
  66. #endif /* !_POSIX_SOURCE */
  67. #endif /* !__STRICT_ANSI__ */
  68. #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
  69.  
  70. #ifndef __dj_ENFORCE_FUNCTION_CALLS
  71. #endif /* !__dj_ENFORCE_FUNCTION_CALLS */
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76.  
  77. #endif /* !__dj_include_sys_exceptn_h__ */
  78.