home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / MSDOS / WATTCP / WNWATTCP.ZIP / SRC / DPMI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-06  |  1.3 KB  |  40 lines

  1. /*
  2. *    Dos Protected Mode Interface (DPMI) routines.
  3. *    See Intel/Microsoft DPMI 1.0 spec for explanations.
  4. *    Also PC Magazine, June 25, 1991, Lab Notes.
  5. */
  6.  
  7. #pragma pack(1)
  8.  
  9. typedef struct {
  10.     unsigned long edi, esi, ebp, res1, ebx, edx, ecx, eax;
  11.     unsigned flags, es, ds, fs, gs, ip, cs, sp, ss;
  12. } RMODE_CALL;
  13.  
  14. typedef struct {
  15.     unsigned limit, addr_lo;
  16.     unsigned char addr_hi, access, res1, addr_xhi;
  17. } DESCRIPTOR;
  18.  
  19. int        dpmi_rmode_intr(unsigned intr, unsigned flags,
  20.             unsigned nwords, RMODE_CALL far *rmode_call);
  21. unsigned    dpmi_sel(void);
  22. int        dpmi_get_descriptor(unsigned pmodesel, DESCRIPTOR far *d);
  23. int        dpmi_set_descriptor(unsigned pmodesel, DESCRIPTOR far *d);
  24. void far    (*dpmi_make_callback(void far (*p)(), RMODE_CALL far *rc))();
  25. int        dpmi_free_callback(void far (*p)());
  26. unsigned    verw(unsigned sel);
  27.  
  28. unsigned    MapRealSeg(unsigned rpara, unsigned long size,
  29.             unsigned far *psel);
  30. void far *    ProtToReal(void far *prot);
  31. void far *    map_real(void far *rptr, unsigned long size);
  32. void        unmap_real(void far *p);
  33.  
  34. /* undocumented Windows functions */
  35. DWORD FAR PASCAL    GetSelectorBase(unsigned sel);
  36. DWORD FAR PASCAL    GetSelectorLimit(unsigned sel);
  37. void FAR PASCAL        SetSelectorBase(unsigned sel, DWORD base);
  38. void FAR PASCAL        SetSelectorLimit(unsigned sel, DWORD limit);
  39.  
  40.