home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / mint / netlib / lib / ssockopt.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-27  |  725 b   |  44 lines

  1. /*
  2.  *    setsockopt() emulation for MiNT-Net, (w) '93, kay roemer
  3.  */
  4.  
  5. #include "socklib.h"
  6. #ifdef KERNEL
  7. #include "kerbind.h"
  8. #else
  9. #include <mintbind.h>
  10. #endif
  11. #include "sys/socket.h"
  12. #include "mintsock.h"
  13.  
  14. #ifndef KERNEL
  15. extern int errno;
  16. #endif
  17.  
  18. int
  19. setsockopt (fd, level, optname, optval, optlen)
  20.     int fd, level, optname;
  21.     void *optval;
  22.     _SIZE_T optlen;
  23. {
  24.     struct setsockopt_cmd cmd;
  25.     int r;
  26.  
  27.     cmd.cmd =    SETSOCKOPT_CMD;
  28.     cmd.level =    level;
  29.     cmd.optname =    optname;
  30.     cmd.optval =    optval;
  31.     cmd.optlen =    optlen;
  32.  
  33. #ifndef KERNEL
  34.     r = Fcntl (fd, (long)&cmd, SOCKETCALL);
  35.     if (r < 0) {
  36.         errno = -r;
  37.         return -1;
  38.     }
  39.     return 0;
  40. #else
  41.     return f_cntl (fd, (long)&cmd, SOCKETCALL);
  42. #endif
  43. }
  44.