home *** CD-ROM | disk | FTP | other *** search
/ PC Extra Super CD 1998 January / PCPLUS131.iso / DJGPP / V2MISC / CSDPMI3S.ZIP / SRC / CWSDPMI / TSS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-15  |  2.1 KB  |  68 lines

  1. /* Copyright (C) 1995,1996 CW Sandmann (sandmann@clio.rice.edu) 1206 Braelinn, Sugarland, TX 77479
  2. ** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  3. **
  4. ** This file is distributed under the terms listed in the document
  5. ** "copying.cws", available from CW Sandmann at the address above.
  6. ** A copy of "copying.cws" should accompany this file; if not, a copy
  7. ** should be available from where this file was obtained.  This file
  8. ** may not be distributed without a verbatim copy of "copying.cws".
  9. **
  10. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  11. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. */
  13.  
  14. /* Hack note: esp1, esp2 not used, so replaced with backlink info */
  15.  
  16. typedef struct TSS {
  17.     unsigned short tss_back_link;
  18.     unsigned short res0;
  19.     unsigned long  tss_esp0;
  20.     unsigned short tss_ss0;
  21.     unsigned short res1;
  22. /*    unsigned long  tss_esp1; */
  23.     unsigned short tss_cur_es;
  24.     unsigned short tss_lastused;
  25.     unsigned short tss_ss1;
  26.     unsigned short res2;
  27. /*    unsigned long  tss_esp2; */
  28.     unsigned short tss_old_env;
  29.     unsigned short tss_cur_psp;
  30.     unsigned short tss_ss2;
  31.     unsigned short res3;
  32.     unsigned long  tss_cr3;
  33.     unsigned long  tss_eip;
  34.     unsigned long  tss_eflags;
  35.     unsigned long  tss_eax;
  36.     unsigned long  tss_ecx;
  37.     unsigned long  tss_edx;
  38.     unsigned long  tss_ebx;
  39.     unsigned long  tss_esp;
  40.     unsigned long  tss_ebp;
  41.     unsigned long  tss_esi;
  42.     unsigned long  tss_edi;
  43.     unsigned short tss_es;
  44.     unsigned short res4;
  45.     unsigned short tss_cs;
  46.     unsigned short res5;
  47.     unsigned short tss_ss;
  48.     unsigned short res6;
  49.     unsigned short tss_ds;
  50.     unsigned short res7;
  51.     unsigned short tss_fs;
  52.     unsigned short res8;
  53.     unsigned short tss_gs;
  54.     unsigned short res9;
  55.     unsigned short tss_ldt;
  56.     unsigned short res10;
  57.     unsigned short tss_trap;
  58.     unsigned char  tss_iomap;    /* Not used, ring 0 or IOPL = 3 */
  59.     unsigned char  tss_irqn;
  60.     unsigned long  tss_cr2;
  61.     unsigned long  tss_error;
  62.     unsigned short stack0[64];    /* 15 max used, 30 worst case */
  63.     unsigned short tss_stack[1];
  64. } TSS;
  65.  
  66. extern TSS c_tss, a_tss, o_tss, i_tss, f_tss;
  67. extern TSS *tss_ptr;
  68.