Files
epics-base/src/include/bsdProto.h
1996-06-19 20:04:39 +00:00

98 lines
2.5 KiB
C

/*
* $Id
*
* Author Jeff Hill
*
* BSD prototypes missing from SUNOS4, MULTINET and
* perhaps other environments
*
*/
#ifndef bsdProtInc
#define bsdProtInc
#if defined (SUNOS4) || defined(MULTINET)
#ifdef __cplusplus
extern "C" {
#endif
#include <epicsTypes.h>
int ioctl (int fd, int req, ...);
int socket_ioctl (int fd, int req, ...);
int socket_close (int fd);
int gettimeofday (struct timeval *tp, struct timezone *tzp);
int gethostname (char *name, int namelen);
int ftruncate (int fd, long length);
#ifndef NOBSDNETPROTO
/*
* sun's CC defines at least a few of these under sunos4
*/
#if !defined(__SUNPRO_CC) && defined(SUNOS4)
int listen (int socket, int backlog);
int accept (int socket, struct sockaddr *addr, int *addrlen);
int shutdown (int socket, int how);
int getpeername (int socket, struct sockaddr *name, int *namelen);
int connect (int socket, struct sockaddr *name, int namelen);
int setsockopt (int socket, int level, int optname,
char *optval, int optlen);
void bzero (char *b, int length);
int sendto (int socket, const char *buf, int len,
int flags, struct sockaddr *to, int tolen);
int select (int width, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);
int bind (int socket, struct sockaddr *name, int namelen);
int send (int socket, const char *buf, int len, int flags);
int recv (int socket, char *buf, int len, int flags);
int getsockopt (int socket, int level, int optname,
char *optval, int *optlen);
int socket (int domain, int type, int protocol);
int recvfrom (int socket, char *buf, int len,
int flags, struct sockaddr *from, int *fromlen);
int getsockname (int socket, struct sockaddr *name, int *namelen);
/*
* from /usr/include/arpa/inet.h
* (which under sunos4 does not include arguments for C++)
* (__SUNPRO_CC supplies this file but g++ does not supply an ansi protottype)
*/
unsigned long inet_addr (char *);
char * inet_ntoa (struct in_addr in);
/*
* from /usr/include/netdb.h
* (which under sunos4 does not include arguments for C++)
* (__SUNPRO_CC supplies this file but g++ does not)
*/
struct hostent *gethostbyaddr(char *addr, int len, int type);
#endif /* !defined(__SUNPRO_CC) && defined(SUNOS4) */
#ifdef __SUNPRO_CC
#include <arpa/inet.h>
#endif
#if !defined (htonl) || defined(MULTINET)
epicsInt32 htonl (epicsInt32);
epicsInt16 htons (epicsInt16);
epicsInt32 ntohl (epicsInt32);
epicsInt16 ntohs (epicsInt16);
#endif
#endif /*NOBSDNETPROTO*/
#ifdef __cplusplus
}
#endif
#endif /* defined(SUNOS4) */
#endif /* bsdProtInc */