Files
m241Neelima/components/ip_net2-6.9/ipxinc/include/sys/socket.h
T
2026-07-30 11:19:44 +05:30

335 lines
12 KiB
C

/*
******************************************************************************
* HEADER FILE
*
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: socket.h,v $ $Revision: 1.13.10.1 $
* $Source: /home/interpeak/CVSRoot/ipxinc/include/sys/socket.h,v $
* $Author: svc-cmnet $ $Date: 2013-03-13 07:45:47 $
* $State: Exp $ $Locker: $
*
* INTERPEAK_COPYRIGHT_STRING
* Design and implementation by Lennart Bang <lob@interpeak.se>
******************************************************************************
*/
#ifndef IP_SYS_SOCKET_H
#define IP_SYS_SOCKET_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
#include "ipcom_config.h"
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include "ipcom_sock.h"
#include "ipcom_sysctl.h"
#include "sys/types.h"
#include "limits.h"
#include "errno.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
****************************************************************************
* 4 DEFINES
****************************************************************************
*/
/*
*===========================================================================
* domain
*===========================================================================
*/
#define AF_UNSPEC IP_AF_UNSPEC
#define AF_INET IP_AF_INET
#define AF_NETLINK IP_AF_NETLINK
#define AF_ROUTE IP_AF_ROUTE
#define AF_LINK IP_AF_LINK
#define AF_PACKET IP_AF_PACKET
#define AF_INET6 IP_AF_INET6
#define AF_KEY IP_AF_KEY
#define AF_IPX IP_AF_IPX
#define AF_MAX IP_AF_MAX
#define PF_INET IP_PF_INET
#define PF_NETLINK IP_PF_NETLINK
#define PF_ROUTE IP_PF_ROUTE
#define PF_LINK IP_PF_LINK
#define PF_PACKET IP_PF_PACKET
#define PF_INET6 IP_PF_INET6
#define PF_KEY IP_PF_KEY
#define PF_IPX IP_PF_IPX
/*
*===========================================================================
* Socket types
*===========================================================================
*/
#define SOCK_STREAM IP_SOCK_STREAM
#define SOCK_DGRAM IP_SOCK_DGRAM
#define SOCK_RAW IP_SOCK_RAW
#define SOCK_PACKET IP_SOCK_PACKET
/*
*===========================================================================
* setsockopt/getsockopt
*===========================================================================
*/
#define SOL_SOCKET IP_SOL_SOCKET
/***** IP_SOL_SOCKET socket options: *****/
#define SO_REUSEADDR IP_SO_REUSEADDR
#define SO_KEEPALIVE IP_SO_KEEPALIVE
#define SO_DONTROUTE IP_SO_DONTROUTE
#define SO_BROADCAST IP_SO_BROADCAST
#define SO_USELOOPBACK IP_SO_USELOOPBACK
#define SO_REUSEPORT IP_SO_REUSEPORT
#define SO_SNDBUF IP_SO_SNDBUF
#define SO_RCVBUF IP_SO_RCVBUF
#define SO_RCVTIMEO IP_SO_RCVTIMEO
#define SO_ERROR IP_SO_ERROR
#define SO_TYPE IP_SO_TYPE
#define SO_BINDTODEVICE IP_SO_BINDTODEVICE
#define SO_PASSCRED 16 /* UNSUPPORTED */
#define SO_BSDCOMPAT 0xffffffff /* UNSUPPORTED */
#define SO_VR IP_SO_X_VR
/*
*===========================================================================
* sysctl
*===========================================================================
* Networking sysctl's
*/
#define NET_RT_DUMP IP_NET_RT_DUMP
#define NET_RT_FLAGS IP_NET_RT_FLAGS
#define NET_RT_IFLIST IP_NET_RT_IFLIST
/*
*===========================================================================
* msghdr
*===========================================================================
*/
#define msghdr Ip_msghdr
/* msg_flags values */
#define MSG_TRUNC IP_MSG_TRUNC
#define MSG_CTRUNC IP_MSG_CTRUNC
#define MSG_DONTWAIT IP_MSG_DONTWAIT
#define MSG_WAITALL IP_MSG_WAITALL
#define MSG_OOB 0x80 /* unsupported */
/*
*===========================================================================
* cmsghdr
*===========================================================================
*/
#define cmsghdr Ip_cmsghdr
#define CMSG_ALIGN(len) IP_CMSG_ALIGN(len)
#define CMSG_FIRSTHDR(mhdrptr) IP_CMSG_FIRSTHDR(mhdrptr)
#define CMSG_NXTHDR(mhdr,cmsg) IP_CMSG_NXTHDR(mhdr,cmsg)
#define CMSG_DATA(cmsgptr) IP_CMSG_DATA(cmsgptr)
#define CMSG_SPACE(len) IP_CMSG_SPACE(len)
#define CMSG_LEN(len) IP_CMSG_LEN(len)
/*
*===========================================================================
* recvxx() argument flags
*===========================================================================
*/
#define MSG_DONTWAIT IP_MSG_DONTWAIT
#define MSG_PEEK IP_MSG_PEEK
#define MSG_DONTROUTE IP_MSG_DONTROUTE
#define MSG_NOTIFICATION IP_MSG_NOTIFICATION
/*
*===========================================================================
* shutdown() argument flags
*===========================================================================
*/
#define SHUT_RD IP_SHUT_RD
#define SHUT_WR IP_SHUT_WR
#define SHUT_RDWR IP_SHUT_RDWR
/*
*===========================================================================
* UNSUPPORTED
*===========================================================================
*/
#define SCM_CREDENTIALS 0x02
/*
****************************************************************************
* 5 TYPES
****************************************************************************
*/
/*
*===========================================================================
* sockaddr
*===========================================================================
*/
#define sockaddr Ip_sockaddr
#define sockaddr_storage Ip_sockaddr_storage
/*
*===========================================================================
* if_nameindex
*===========================================================================
*/
typedef struct if_nameindex Ip_if_nameindex;
/*
*===========================================================================
* _T TYPES
*===========================================================================
*/
#define sa_family_t Ip_sa_family_t
#define socklen_t Ip_socklen_t
/*
*===========================================================================
* in_pktinfo
*===========================================================================
*/
#define in_pktinfo Ip_in_pktinfo
/*
*===========================================================================
* UNSUPPORTED
*===========================================================================
*/
struct ucred
{
Ip_u32 pid;
Ip_u32 uid;
Ip_u32 gid;
};
/*
****************************************************************************
* 6 FUNCTIONS
****************************************************************************
*/
#ifdef IPCOM_USE_NATIVE_SOCK_API
#define socket(domain,type,protocol) ipcom_socket_usr(domain,type,protocol)
#define shutdown(fd,how) ipcom_shutdown_usr((Ip_fd)fd,how)
#define bind(fd,addr,addrlen) ipcom_bind_usr((Ip_fd)fd,(IP_CONST struct Ip_sockaddr *)addr,(Ip_socklen_t)addrlen)
#define connect(fd,addr,addrlen) ipcom_connect_usr((Ip_fd)fd,(IP_CONST struct Ip_sockaddr *)addr,(Ip_socklen_t)addrlen)
#define accept(fd,addr,addrlenp) ipcom_accept_usr((Ip_fd)fd,(struct Ip_sockaddr *)addr,(Ip_socklen_t *)addrlenp)
#define listen(fd,backlog) ipcom_listen_usr((Ip_fd)fd,backlog)
#define send(fd,msg,len,flags) ipcom_send_usr((Ip_fd)fd,(IP_CONST void *)(msg),(Ip_size_t)len,flags)
#define sendto(fd,msg,len,flags,to,tolen) ipcom_sendto_usr((Ip_fd)fd,(IP_CONST void *)(msg),(Ip_size_t)len,flags,(IP_CONST struct Ip_sockaddr *)to,(Ip_socklen_t)tolen)
#define sendmsg(fd,msg,flags) ipcom_sendmsg_usr((Ip_fd)fd,(IP_CONST struct Ip_msghdr *)msg,flags)
#define recv(fd,buf,len,flags) ipcom_recv_usr((Ip_fd)fd,(void *)(buf),(Ip_size_t)len,flags)
#define recvfrom(fd,buf,len,flags,from,fp) ipcom_recvfrom_usr((Ip_fd)fd,(void *)(buf),(Ip_size_t)len,flags,(struct Ip_sockaddr *)from,(Ip_socklen_t *)fp)
#define recvmsg(fd,msg,flags) ipcom_recvmsg_usr((Ip_fd)fd,(struct Ip_msghdr *)msg,flags)
#define getsockopt(fd,level,optname,optval,optlenp) ipcom_getsockopt_usr((Ip_fd)fd,level,optname,optval,(Ip_socklen_t *)optlenp)
#define setsockopt(fd,level,optname,optval,optlen) ipcom_setsockopt_usr((Ip_fd)fd,level,optname,(IP_CONST void *)optval,(Ip_socklen_t)optlen)
#define getsockname(fd,name,namelenp) ipcom_getsockname_usr((Ip_fd)fd,(struct Ip_sockaddr *)name,(Ip_socklen_t *)namelenp)
#define getpeername(fd,name,namelenp) ipcom_getpeername_usr((Ip_fd)fd,(struct Ip_sockaddr *)name,(Ip_socklen_t *)namelenp)
#define if_nametoindex(ifname) ipcom_if_nametoindex((IP_CONST char *)ifname)
#define ifNameToIfIndex(ifname) ipcom_if_nametoindex((IP_CONST char *)ifname)
#define if_indextoname(ifindex,ifname) ipcom_if_indextoname((Ip_u32)ifindex, (char *)ifname)
#define if_nameindex() ipcom_if_nameindex()
#define if_freenameindex(pif) ipcom_if_freenameindex(pif)
#else /* IPCOM_USE_NATIVE_SOCK_API */
#define socket(domain,type,protocol) ipcom_socket(domain,type,protocol)
#define shutdown(fd,how) ipcom_shutdown((Ip_fd)fd,how)
#define bind(fd,addr,addrlen) ipcom_bind((Ip_fd)fd,(IP_CONST struct Ip_sockaddr *)addr,(Ip_socklen_t)addrlen)
#define connect(fd,addr,addrlen) ipcom_connect((Ip_fd)fd,(IP_CONST struct Ip_sockaddr *)addr,(Ip_socklen_t)addrlen)
#define accept(fd,addr,addrlenp) ipcom_accept((Ip_fd)fd,(struct Ip_sockaddr *)addr,(Ip_socklen_t *)addrlenp)
#define listen(fd,backlog) ipcom_listen((Ip_fd)fd,backlog)
#define send(fd,msg,len,flags) ipcom_send((Ip_fd)fd,(IP_CONST void *)(msg),(Ip_size_t)len,flags)
#define sendto(fd,msg,len,flags,to,tolen) ipcom_sendto((Ip_fd)fd,(IP_CONST void *)(msg),(Ip_size_t)len,flags,(IP_CONST struct Ip_sockaddr *)to,(Ip_socklen_t)tolen)
#define sendmsg(fd,msg,flags) ipcom_sendmsg((Ip_fd)fd,(IP_CONST struct Ip_msghdr *)msg,flags)
#define recv(fd,buf,len,flags) ipcom_recv((Ip_fd)fd,(void *)(buf),(Ip_size_t)len,flags)
#define recvfrom(fd,buf,len,flags,from,fp) ipcom_recvfrom((Ip_fd)fd,(void *)(buf),(Ip_size_t)len,flags,(struct Ip_sockaddr *)from,(Ip_socklen_t *)fp)
#define recvmsg(fd,msg,flags) ipcom_recvmsg((Ip_fd)fd,(struct Ip_msghdr *)msg,flags)
#define getsockopt(fd,level,optname,optval,optlenp) ipcom_getsockopt((Ip_fd)fd,level,optname,optval,(Ip_socklen_t *)optlenp)
#define setsockopt(fd,level,optname,optval,optlen) ipcom_setsockopt((Ip_fd)fd,level,optname,(IP_CONST void *)optval,(Ip_socklen_t)optlen)
#define getsockname(fd,name,namelenp) ipcom_getsockname((Ip_fd)fd,(struct Ip_sockaddr *)name,(Ip_socklen_t *)namelenp)
#define getpeername ipcom_getpeername
#define if_nametoindex(ifname) ipcom_if_nametoindex((IP_CONST char *)ifname)
#define ifNameToIfIndex(ifname) ipcom_if_nametoindex((IP_CONST char *)ifname)
#define if_indextoname(ifindex,ifname) ipcom_if_indextoname((Ip_u32)ifindex, (char *)ifname)
#define if_nameindex() ipcom_if_nameindex()
#define if_freenameindex(pif) ipcom_if_freenameindex(pif)
#endif /* IPCOM_USE_NATIVE_SOCK_API */
#ifdef NETSNMP_INTERPEAK
#ifdef socket
#undef socket
#endif
#define socket(domain,type,protocol) ipnetsnmp_socket(domain,type,protocol)
IP_PUBLIC Ip_fd ipnetsnmp_socket(int domain, int type, int protocol);
#endif /* #ifdef NETSNMP_INTERPEAK */
#ifdef __cplusplus
}
#endif
#endif
/*
****************************************************************************
* END OF FILE
****************************************************************************
*/