home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / d / dec92.zip / DPMI.H < prev    next >
Text File  |  1992-10-14  |  3KB  |  89 lines

  1. ;/*
  2. comment &
  3. */
  4. #define IVEC_DPMI   0x31
  5.  
  6. /* DPMI Functions */
  7.  
  8. #define DPMI_GETRMVEC 0x0200        /* Get Real Mode Vector        */
  9. #define DPMI_SETRMVEC 0x0201        /* Set Real Mode Vector        */
  10. #define DPMI_SIMRMINT 0x0300        /* Simulate Real Mode Interrupt */
  11. #define DPMI_RMCALL   0x0301        /* Call real mode procedure     */
  12. #define DPMI_RMINT    0x0302        /* Call real mode interrupt svc */
  13. #define DPMI_ALLOCRMC 0x0303        /* Allocate Real Mode Callback  */
  14. #define DPMI_FREERMC  0x0304        /* Free Real Mode Callback        */
  15.  
  16. typedef struct __RMCS        /* Real Mode Call Structure */
  17.     {
  18.     unsigned long _edi ;    /*  0/00 */
  19.     unsigned long _esi ;    /*  4/00 */
  20.     unsigned long _ebp ;    /*  8/00 */
  21.     unsigned long _reserved ;    /* 12/00 */
  22.     unsigned long _ebx ;    /* 16/00 */
  23.     unsigned long _edx ;    /* 20/00 */
  24.     unsigned long _ecx ;    /* 24/00 */
  25.     unsigned long _eax ;    /* 28/00 */
  26.     unsigned short _flags ;    /* 32/00 */
  27.     unsigned short _es ;    /* 34/00 */
  28.     unsigned short _ds ;    /* 36/00 */
  29.     unsigned short _fs ;    /* 38/00 */
  30.     unsigned short _gs ;    /* 40/00 */
  31.     unsigned short _ip ;    /* 42/00 */
  32.     unsigned short _cs ;    /* 44/00 */
  33.     unsigned short _sp ;    /* 46/00 */
  34.     unsigned short _ss ;    /* 48/00 */
  35.     } _RMCS ;
  36.  
  37. ; /*&
  38. IVEC_DPMI   equ     31h
  39.  
  40. DPMI_GETRMVEC equ 0200h        ; Get Real Mode Vector
  41. DPMI_SETRMVEC equ 0201h        ; Set Real Mode Vector
  42. DPMI_SIMRMINT equ 0300h        ; Simulate Real Mode Interrupt
  43. DPMI_RMCALL   equ 0301h        ; Call real mode procedure
  44. DPMI_RMINT    equ 0302h        ; Call real mode interrupt svc
  45. DPMI_ALLOCRMC equ 0303h        ; Allocate Real Mode Callback
  46. DPMI_FREERMC  equ 0304h        ; Free Real Mode Callback
  47.  
  48.  
  49. RMCS STRUC
  50. rmcs_edi    dd ?    ;  0/00
  51. rmcs_esi    dd ?    ;  4/04
  52. rmcs_ebp    dd ?    ;  8/08
  53. rmcs_reserved    dd ?    ; 12/0C
  54. rmcs_ebx    dd ?    ; 16/10
  55. rmcs_edx    dd ?    ; 20/14
  56. rmcs_ecx    dd ?    ; 24/18
  57. rmcs_eax    dd ?    ; 28/1C
  58. rmcs_flags    dw ?    ; 32/20
  59. rmcs_es     dw ?    ; 34/22
  60. rmcs_ds     dw ?    ; 36/24
  61. rmcs_fs     dw ?    ; 38/26
  62. rmcs_gs     dw ?    ; 40/28
  63. rmcs_ip     dw ?    ; 42/2A
  64. rmcs_cs     dw ?    ; 44/2C
  65. rmcs_sp     dw ?    ; 46/2E
  66. rmcs_ss     dw ?    ; 48/30
  67.             ; 50/32 (total)
  68. RMCS ENDS
  69.  
  70. rmcs_di equ word ptr rmcs_edi
  71. rmcs_si equ word ptr rmcs_esi
  72. rmcs_bp equ word ptr rmcs_ebp
  73. rmcs_bx equ word ptr rmcs_ebx
  74. rmcs_dx equ word ptr rmcs_edx
  75. rmcs_cx equ word ptr rmcs_ecx
  76. rmcs_ax equ word ptr rmcs_eax
  77. rmcs_fl equ word ptr rmcs_flags
  78.  
  79. rmcs_bl equ byte ptr rmcs_bx
  80. rmcs_bh equ byte ptr rmcs_bl+1
  81. rmcs_dl equ byte ptr rmcs_dx
  82. rmcs_dh equ byte ptr rmcs_dl+1
  83. rmcs_cl equ byte ptr rmcs_cx
  84. rmcs_ch equ byte ptr rmcs_cl+1
  85. rmcs_al equ byte ptr rmcs_ax
  86. rmcs_ah equ byte ptr rmcs_al+1
  87.  
  88. ; */
  89.