[Top][All Lists]
[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/support socket.c,1.7,1.8,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet/engine int_proto.h,1.54,1.55 int_table.c,1.56,1.57 lib_socket.c,1.10,1.11
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnetlib/System/Platform SocketMethods.cs,1.1,1.2
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet/engine int_proto.h,1.54,1.55 int_table.c,1.56,1.57 lib_socket.c,1.10,1.11
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnetlib/System/Platform SocketMethods.cs,1.1,1.2
- Index(es):