home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / gnu / djgpp / libsrc / c / sys / getftime.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-28  |  1.2 KB  |  51 lines

  1. /* This is file GETFTIME.C */
  2. /*
  3. ** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. **
  5. ** This file is distributed under the terms listed in the document
  6. ** "copying.dj", available from DJ Delorie at the address above.
  7. ** A copy of "copying.dj" should accompany this file; if not, a copy
  8. ** should be available from where this file was obtained.  This file
  9. ** may not be distributed without a verbatim copy of "copying.dj".
  10. **
  11. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. */
  14.  
  15. #include <dos.h>
  16. #include <errno.h>
  17.  
  18. int getftime(int handle, struct ftime *ft)
  19. {
  20.   union REGS r;
  21.   r.h.ah = 0x57;
  22.   r.h.al = 0;
  23.   r.x.bx = handle;
  24.   int86(0x21, &r, &r);
  25.   if (r.x.cflag)
  26.   {
  27.     errno = r.x.ax;
  28.     return -1;
  29.   }
  30.   ((short *)ft)[0] = r.x.cx;
  31.   ((short *)ft)[1] = r.x.dx;
  32.   return 0;
  33. }
  34.  
  35. int setftime(int handle, struct ftime *ft)
  36. {
  37.   union REGS r;
  38.   r.h.ah = 0x57;
  39.   r.h.al = 1;
  40.   r.x.bx = handle;
  41.   r.x.cx = ((short *)ft)[0];
  42.   r.x.dx = ((short *)ft)[1];
  43.   int86(0x21, &r, &r);
  44.   if (r.x.cflag)
  45.   {
  46.     errno = r.x.ax;
  47.     return -1;
  48.   }
  49.   return 0;
  50. }
  51.