home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c005 / 5.ddi / C / UTINIT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1986-08-05  |  997 b   |  42 lines

  1. /**
  2. *
  3. * Name        utinit -- Initialize registers for call to dos
  4. *
  5. * Synopsis    iret = utinit(preg);
  6. *
  7. *        int    iret      Return value is always 0.
  8. *        DOSREG *preg      Pointer to DOS register structure.
  9. *
  10. * Description    This function initializes the registers pointed to by
  11. *        preg to the default values in preparation for a call to
  12. *        the DOS gate (called DOS).  The DS and ES registers are
  13. *        set to the current values, but all other registers are
  14. *        set to 0.
  15. *
  16. * Returns    iret          Return value is always 0.
  17. *        *preg          DOS register structure.
  18. *
  19. * Version    3.0  (C)Copyright Blaise Computing Inc.  1983, 1984, 1986
  20. *
  21. **/
  22.  
  23. #include <butility.h>
  24.  
  25. int utinit(preg)
  26. DOSREG *preg;
  27. {
  28.     unsigned cs,ss,ds,es;
  29.  
  30.     utsreg(&cs,&ss,&ds,&es);
  31.     preg->ds = ds;               /* Default Data Segment           */
  32.     preg->es = es;               /* Extra segment value           */
  33.     preg->ax =
  34.     preg->bx =
  35.     preg->cx =
  36.     preg->dx =
  37.     preg->si =
  38.     preg->di = 0;
  39.  
  40.     return(0);
  41. }
  42.