diff defs/netdefs.sym @ 0:e0bbaa717f41 draft default tip

lol J
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 25 Nov 2013 11:56:30 -0500
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/defs/netdefs.sym
@@ -0,0 +1,135 @@
+<stdio.h>
+#ifdef _WIN32
+<winsock.h>
+#else
+<stdlib.h>
+<sys/socket.h>
+#ifdef sun
+<inet/tcp.h>
+#endif
+<netdb.h>
+<netinet/in.h>
+<arpa/inet.h>
+<sys/ioctl.h>
+#endif
+<sys/types.h>
+
+
+; Networking-related definitions.
+; (Keep "strongly-POSIX-related" definitions in unixsyms.sym, though.)
+;
+
+i FIONBIO FIONREAD FD_SETSIZE
+
+#ifdef _WIN32
+i SD_RECEIVE SD_SEND SD_BOTH
+#endif
+
+st struct sockaddr
+f	sa_family
+f	sa_data
+
+st struct sockaddr_in
+f	sin_family
+f	sin_port
+f	sin_addr
+
+st struct in_addr
+f	s_addr
+
+st struct hostent
+f	h_name
+f	h_aliases
+f	h_addrtype
+f	h_length
+f	h_addr_list
+
+; Provide just a tiny tiny subset of socket ioctls:
+
+i SIOCATMARK
+
+; The following are all "classic" Well Known Numbers as delivered
+; with BSD4.3.  The official reference today would be a look at
+; the IANA lists, most notably RFC 1700.
+; All the constants should probably better _not_ be used.
+; getprotobyname etc. are they way to go.
+;
+; Having said that:
+; We will restrict ourselves only to those constants listed with
+; every netinet/in.h on any platform.
+
+i IPPROTO_IP IPPROTO_ICMP IPPROTO_IGMP IPPROTO_TCP
+i IPPROTO_PUP IPPROTO_UDP IPPROTO_IDP
+i IPPROTO_RAW IPPROTO_MAX
+
+; IMP link numbers?  whoa, they lost their relevance in the late 70s...
+; I doubt there's still _any_ of the  (four?) IMP nodes is still running.
+; Solaris has them, Linux not.  Trash these entries.
+; i IMPLINK_IP IMPLINK_LOWEXPER IMPLINK_HIGHEXPER
+
+i INADDR_ANY INADDR_LOOPBACK INADDR_BROADCAST
+; INADDR_NONE is referring to the (deprecated) return value of
+; the deprecated function inet_addr.  The value is usually -1
+; (even though Solaris' inet_addr() return an unsigned long...) and
+; actually clashes with the valid address INADDR_BROADCAST.  Sigh...
+#ifdef INADDR_NONE
+i INADDR_NONE
+#else
+J INADDR_NONE=: _1
+#endif
+
+#ifndef _WIN32
+i INADDR_UNSPEC_GROUP INADDR_ALLHOSTS_GROUP INADDR_MAX_LOCAL_GROUP
+i IN_LOOPBACKNET
+#endif
+
+i SOCK_STREAM SOCK_DGRAM SOCK_RAW SOCK_RDM SOCK_SEQPACKET
+
+i SOL_SOCKET
+i SO_DEBUG SO_REUSEADDR SO_KEEPALIVE SO_DONTROUTE
+i SO_BROADCAST SO_LINGER SO_OOBINLINE
+
+i SO_SNDBUF SO_RCVBUF SO_SNDLOWAT SO_RCVLOWAT SO_SNDTIMEO SO_RCVTIMEO
+i SO_ERROR SO_TYPE
+
+st struct linger
+f	l_onoff
+f	l_linger
+
+; Again, only the common subset:
+i AF_UNSPEC AF_UNIX AF_INET AF_SNA AF_DECnet AF_APPLETALK AF_IPX AF_MAX
+i PF_UNSPEC PF_UNIX PF_INET PF_SNA PF_DECnet PF_APPLETALK PF_IPX PF_MAX
+
+i SOMAXCONN
+i MSG_OOB MSG_PEEK MSG_DONTROUTE
+
+#ifndef _WIN32
+st struct msghdr
+f	msg_name
+f	msg_namelen
+f	msg_iov
+f	msg_iovlen
+#if defined(linux) || defined(Darwin)
+f	msg_control
+f	msg_controllen
+f	msg_flags
+#else
+f	msg_accrights
+f	msg_accrightslen
+#endif
+#endif
+
+#ifdef _WIN32
+i SOCKET_ERROR 
+i FD_READ FD_WRITE FD_OOB FD_ACCEPT FD_CONNECT FD_CLOSE
+i WSABASEERR WSAEINTR WSAEBADF WSAEACCES WSAEFAULT WSAEINVAL WSAEMFILE WSAEWOULDBLOCK
+i WSAEINPROGRESS WSAEALREADY WSAENOTSOCK WSAEDESTADDRREQ WSAEMSGSIZE WSAEPROTOTYPE
+i WSAENOPROTOOPT WSAEPROTONOSUPPORT WSAESOCKTNOSUPPORT WSAEOPNOTSUPP WSAEPFNOSUPPORT
+i WSAEAFNOSUPPORT WSAEADDRINUSE WSAEADDRNOTAVAIL WSAENETDOWN WSAENETUNREACH
+i WSAENETRESET WSAECONNABORTED WSAECONNRESET WSAENOBUFS WSAEISCONN WSAENOTCONN
+i WSAESHUTDOWN WSAETOOMANYREFS WSAETIMEDOUT WSAECONNREFUSED WSAELOOP WSAENAMETOOLONG
+i WSAEHOSTDOWN WSAEHOSTUNREACH WSAENOTEMPTY WSAEPROCLIM WSAEUSERS WSAEDQUOT WSAESTALE
+i WSAEREMOTE WSASYSNOTREADY WSAVERNOTSUPPORTED WSANOTINITIALISED WSAHOST_NOT_FOUND
+i HOST_NOT_FOUND WSATRY_AGAIN TRY_AGAIN WSANO_RECOVERY NO_RECOVERY WSANO_DATA
+i NO_DATA WSANO_ADDRESS NO_ADDRESS WM_USER
+#endif
\ No newline at end of file