www.pudn.com > MSTCPSDK.rar > SOCKDEFS.H


/*      COPYRIGHT, (c) HEWLETT PACKARD CO. 1990,1991 */ 
/*      All rights reserved. No part of this program */ 
/*      may be copied or used without the express    */ 
/*      written consent of HEWLETT PACKARD Corp.     */ 
/* 
**      SOCKDEFS.H 
** 
**      Copyright (c) Hewlett Packard Company, 1989.  All rights reserved. 
**      No part of this program may be copied or used without the prior 
**      written consent of Hewlett Packard Company. 
** 
**      Macros are necessary to map standard sockets calls, which set the 
**      errno global variable as a side effect of the call, to our 
**      implementation-specific library entry points which expect to receive 
**      a pointer to the errno variable.  This is required since (1) the 
**      custom memory model sockets library can't set a global variable 
**      in the user's application without receiving a pointer to it (which 
**      would require a sockets-interface change), and (2) global variables 
**      are not available between dynamic link libraries and user applications. 
** 
**      These macros transparently provide full errno functionality without 
**      requiring sockets source code changes. 
*/ 
 
#define  accept(a,b,c)          _accept(a,b,c, (int far *) &errno ) 
#define  bind(a,b,c)            _bind(a,b,c, (int far *) &errno ) 
#define  close_socket(a)        _close_socket(a, (int far *) &errno ) 
#define  connect(a,b,c)         _connect(a,b,c, (int far *) &errno ) 
#define  gethostname(a,b)       _gethostname(a,b, (int far *) &errno ) 
#define  getpeername(a,b,c)     _getpeername(a,b,c, (int far *) &errno ) 
#define  getsockname(a,b,c)     _getsockname(a,b,c, (int far *) &errno ) 
#define  getsockopt(a,b,c,d,e)  _getsockopt(a,b,c,d,e, (int far *) &errno ) 
#define  ioctl(a,b,c)           _ioctl(a,b,c, (int far *) &errno ) 
#define  listen(a,b)            _listen(a,b, (int far *) &errno ) 
#define  recv(a,b,c,d)          _recv(a,b,c,d, (int far *) &errno ) 
#define  recvfrom(a,b,c,d,e,f)  _recvfrom(a,b,c,d,e,f, (int far *) &errno ) 
#define  select(a,b,c,d,e)      _select(a,b,c,d,e, (int far *) &errno ) 
#define  send(a,b,c,d)          _send(a,b,c,d, (int far *) &errno ) 
#define  sendto(a,b,c,d,e,f)    _sendto(a,b,c,d,e,f, (int far *) &errno ) 
#define  setsockopt(a,b,c,d,e)  _setsockopt(a,b,c,d,e, (int far *) &errno ) 
#define  socket(a,b,c)          _socket(a,b,c, (int far *) &errno ) 
 
 
/* 
**      System calls 
*/ 
 
int  cdecl far  _accept( int, struct sockaddr far *, int far *, int far * ); 
int  cdecl far  _bind( int, struct sockaddr far *, int , int far * ); 
int  cdecl far  _close_socket( int , int far * ); 
int  cdecl far  _connect( int, struct sockaddr far *, int , int far * ); 
int  cdecl far  _gethostname( char far *, int , int far * ); 
int  cdecl far  _getpeername( int, struct sockaddr far *, int far * , int far * ); 
int  cdecl far  _getsockname( int, struct sockaddr far *, int far * , int far * ); 
int  cdecl far  _getsockopt( int, int, int, char far *, int far * , int far * ); 
int  cdecl far  _ioctl( int, int, char far * , int far * ); 
int  cdecl far  _listen( int, int , int far * ); 
int  cdecl far  _recv( int, char far *, int, int , int far * ); 
int  cdecl far  _recvfrom( int, char far *, int, int, struct sockaddr far *, 
                                          int far * , int far * ); 
int  cdecl far  _select( int, fd_set far *, fd_set far *, fd_set far *, 
                                           struct timeval far * , int far * ); 
int  cdecl far  _send( int, char far *, int, int , int far * ); 
int  cdecl far  _sendto( int, char far *, int, int, struct sockaddr far *, int, 
                                           int far * ); 
int  cdecl far  _setsockopt( int, int, int, char far *, int , int far * ); 
int  cdecl far  _socket( int, int, int , int far * ); 
 
 
char far * cdecl far  sock_strerror( int ); 
 
 
 
/* 
**    inet_*, byte swapping routines 
*/ 
 
unsigned long   cdecl far inet_addr( char far * ); 
long            cdecl far inet_lnaof( struct in_addr ); 
struct in_addr  cdecl far inet_makeaddr( unsigned long, unsigned long ); 
long            cdecl far inet_netof( struct in_addr ); 
unsigned long   cdecl far inet_network( char far * ); 
char far       *cdecl far inet_ntoa( struct in_addr ); 
 
int             cdecl far htons( int ),  cdecl far ntohs( int ); 
unsigned long   cdecl far htonl( long ), cdecl far ntohl( long ); 
 
 
/* 
**    library calls 
*/ 
 
void                 cdecl far sethostent( int ); 
void                 cdecl far endhostent( void ); 
struct hostent far  *cdecl far gethostent( void ); 
struct hostent far  *cdecl far gethostbyname( char far * ); 
struct hostent far  *cdecl far gethostbyaddr( struct in_addr far *, int, int ); 
 
void                 cdecl far setnetent( int ); 
void                 cdecl far endnetent( void ); 
struct netent far   *cdecl far getnetent( void ); 
struct netent far   *cdecl far getnetbyname( char far * ); 
struct netent far   *cdecl far getnetbyaddr( unsigned long, int ); 
 
void                 cdecl far setprotoent( int ); 
void                 cdecl far endprotoent( void ); 
struct protoent far *cdecl far getprotoent( void ); 
struct protoent far *cdecl far getprotobyname( char far * ); 
struct protoent far *cdecl far getprotobynumber( int ); 
 
void                 cdecl far setservent( int ); 
void                 cdecl far endservent( void ); 
struct servent far  *cdecl far getservent( void ); 
struct servent far  *cdecl far getservbyname( char far *, char far * ); 
struct servent far  *cdecl far getservbyport( int, char far * );