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.7,1.8


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/support socket.c,1.7,1.8
Date: Thu, 03 Apr 2003 00:39:36 -0500

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

Modified Files:
        socket.c 
Log Message:


New internalcalls for socket support.


Index: socket.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/support/socket.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** socket.c    13 Dec 2002 11:24:47 -0000      1.7
--- socket.c    3 Apr 2003 05:39:34 -0000       1.8
***************
*** 20,23 ****
--- 20,24 ----
  
  #include "il_sysio.h"
+ #include "il_errno.h"
  #if TIME_WITH_SYS_TIME
        #include <sys/time.h>
***************
*** 42,45 ****
--- 43,49 ----
  #include <netinet/in.h>
  #endif
+ #ifdef HAVE_SYS_IOCTL_H
+ #include <sys/ioctl.h>
+ #endif
  #ifdef HAVE_UNISTD_H
  #include <unistd.h>
***************
*** 367,370 ****
--- 371,468 ----
        /* Return the result to the caller */
        return (ILInt32)result;
+ }
+ 
+ int ILSysIOSocketSetBlocking(ILSysIOHandle sockfd, int flag)
+ {
+ #if defined(FIONBIO) && defined(HAVE_IOCTL)
+       return (ioctl((int)(ILNativeInt)sockfd, FIONBIO, &flag) >= 0);
+ #else
+       ILSysIOSetErrno(IL_ERRNO_EINVAL);
+       return 0;
+ #endif
+ }
+ 
+ ILInt32 ILSysIOSocketGetAvailable(ILSysIOHandle sockfd)
+ {
+ #if defined(FIONREAD) && defined(HAVE_IOCTL)
+       int result = 0;
+       if(ioctl((int)(ILNativeInt)sockfd, FIONREAD, &result) >= 0)
+       {
+               return (ILInt32)result;
+       }
+       else
+       {
+               return -1;
+       }
+ #else
+       return 0;
+ #endif
+ }
+ 
+ int ILSysIOSocketGetName(ILSysIOHandle sockfd, ILSysIOSockAddr *addr)
+ {
+       struct sockaddr_in iaddr;
+       int size = sizeof(iaddr);
+       ILMemZero(&iaddr, sizeof(iaddr));
+       if(getsockname((int)(ILNativeInt)sockfd,
+                                  (struct sockaddr *)&addr, &size) >= 0)
+       {
+               addr->family = (int)(iaddr.sin_family);
+               addr->addr = (unsigned long)(iaddr.sin_addr.s_addr);
+               addr->port = ntohs(iaddr.sin_port);
+               return 1;
+       }
+       else
+       {
+               return 0;
+       }
+ }
+ 
+ int ILSysIOSocketSetOption(ILSysIOHandle sockfd, ILInt32 level,
+                                                  ILInt32 name, ILInt32 value)
+ {
+       /* TODO */
+       ILSysIOSetErrno(IL_ERRNO_EINVAL);
+       return 0;
+ }
+ 
+ int ILSysIOSocketGetOption(ILSysIOHandle sockfd, ILInt32 level,
+                                                  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;
+ }
+ 
+ int ILSysIOSocketSetMulticast(ILSysIOHandle handle, ILInt32 name,
+                                                         ILSysIOSockAddr 
*group,
+                                                         ILSysIOSockAddr 
*mcint)
+ {
+       /* TODO */
+       ILSysIOSetErrno(IL_ERRNO_EINVAL);
+       return 0;
+ }
+ 
+ int ILSysIOSocketGetMulticast(ILSysIOHandle handle, ILInt32 name,
+                                                         ILSysIOSockAddr 
*group,
+                                                         ILSysIOSockAddr 
*mcint)
+ {
+       /* TODO */
+       ILSysIOSetErrno(IL_ERRNO_EINVAL);
+       return 0;
  }
  





reply via email to

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