dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/support socket.c,1.8,1.9


From: Gopal.V <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/support socket.c,1.8,1.9
Date: Mon, 12 May 2003 05:41:19 -0400

Update of /cvsroot/dotgnu-pnet/pnet/support
In directory subversions:/tmp/cvs-serv22444/support

Modified Files:
        socket.c 
Log Message:
Support functions for getting and setting Socket options


Index: socket.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/support/socket.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** socket.c    3 Apr 2003 05:39:34 -0000       1.8
--- socket.c    12 May 2003 09:41:17 -0000      1.9
***************
*** 422,428 ****
                                                   ILInt32 name, ILInt32 value)
  {
!       /* TODO */
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
  }
  
--- 422,432 ----
                                                   ILInt32 name, ILInt32 value)
  {
! #ifdef HAVE_SETSOCKOPT
!       return (setsockopt((int)(ILNativeInt)sockfd,level,name,&value,
!                       sizeof(value))== 0);
! #else
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
+ #endif
  }
  
***************
*** 430,450 ****
                                                   ILInt32 name, ILInt32 *value)
  {
!       /* TODO */
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
  }
  
  int ILSysIOSocketSetLinger(ILSysIOHandle handle, int enabled, int seconds)
  {
!       /* TODO */
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
  }
  
  int ILSysIOSocketGetLinger(ILSysIOHandle handle, int *enabled, int *seconds)
  {
!       /* TODO */
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
  }
  
--- 434,481 ----
                                                   ILInt32 name, ILInt32 *value)
  {
! #ifdef HAVE_GETSOCKOPT
!       socklen_t len=sizeof(ILInt32);
!       return (getsockopt((int)(ILNativeInt)sockfd,level,name,value,&len) == 
0);
! #else
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
+ #endif
  }
  
  int ILSysIOSocketSetLinger(ILSysIOHandle handle, int enabled, int seconds)
  {
! #if defined(HAVE_SETSOCKOPT) && defined(SO_LINGER)
!       struct linger _linger;
!       _linger.l_onoff=enabled;
!       _linger.l_linger=seconds;
!       if(setsockopt((int)(ILNativeInt)handle, SOL_SOCKET, 
SO_LINGER,&(_linger),
!                                               sizeof(struct linger)) < 0)
!       {
!               return 0;
!       }
!       return 1;
! #else
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
+ #endif
  }
  
  int ILSysIOSocketGetLinger(ILSysIOHandle handle, int *enabled, int *seconds)
  {
! #if defined(HAVE_SETSOCKOPT) && defined(SO_LINGER)
!       struct linger _linger;
!       socklen_t size=sizeof(struct linger);
!       if(getsockopt((int)(ILNativeInt)handle, SOL_SOCKET, 
SO_LINGER,&(_linger),
!                                               &size) < 0)
!       {
!               return 0;
!       }
!       *enabled=_linger.l_onoff;
!       *seconds=_linger.l_linger;
!       return 1;
! #else
        ILSysIOSetErrno(IL_ERRNO_EINVAL);
        return 0;
+ #endif
  }
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]