home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / unixlib / !UnixLib / src / unix / c / ioctl < prev    next >
Encoding:
Text File  |  1994-09-30  |  698 b   |  45 lines

  1. static char sccs_id[] = "@(#) ioctl.c 1.2 " __DATE__ " HJR";
  2.  
  3. /* ioctl.c (c) Copyright 1990 H.Rogers */
  4.  
  5. #include <errno.h>
  6.  
  7. #include "termio.h"
  8.  
  9. #include "sys/unix.h"
  10. #include "sys/dev.h"
  11.  
  12. int
  13. ioctl (int fd, register int request, void *arg)
  14. {
  15.   register struct file *f;
  16.  
  17.   if (!arg)
  18.     {
  19.       errno = EINVAL;
  20.       return (-1);
  21.     }
  22.  
  23.   if (BADF (fd))
  24.     {
  25.       errno = EBADF;
  26.       return (-1);
  27.     }
  28.  
  29.   f = __u->file + fd;
  30.  
  31.   return ((*(__dev[major (f->dev)].ioctl)) (minor (f->dev), request, arg, f));
  32. }
  33.  
  34. int
  35. gtty (register int fd, register struct termio *t)
  36. {
  37.   return (ioctl (fd, TCGETA, t));
  38. }
  39.  
  40. int
  41. stty (register int fd, register struct termio *t)
  42. {
  43.   return (ioctl (fd, TCSETA, t));
  44. }
  45.