home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / MSDOS / WATTCP / NEWWATCP.ZIP / SRC / BSDNAME.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-15  |  2.1 KB  |  99 lines

  1. #include <copyright.h>
  2. #include <stdio.h>
  3. #include <wattcp.h>
  4. #include <stdlib.h>    /* itoa */
  5. #include <string.h>
  6. #include <elib.h>
  7.  
  8.  
  9. getpeername( tcp_Socket *s, void *dest, int *len )
  10. {
  11.     struct sockaddr temp;
  12.     int ltemp;
  13.  
  14.     memset( &temp, 0, sizeof( struct sockaddr ));
  15.     temp.s_ip = s->hisaddr;
  16.     temp.s_port = s->hisport;
  17.  
  18.     if (!s->hisaddr || !s->hisport || ! _chk_socket( s )) {
  19.         if (len) *len = 0;
  20.         return( -1 );
  21.     }
  22.  
  23.     /* how much do we move */
  24.     ltemp = (len) ? *len : sizeof( struct sockaddr );
  25.     if (ltemp > sizeof( struct sockaddr)) ltemp = sizeof( struct sockaddr );
  26.     qmove( &temp, dest, ltemp );
  27.  
  28.     if (len) *len = ltemp;
  29.     return( 0 );
  30. }
  31.  
  32. getsockname(  tcp_Socket *s, void *dest, int *len )
  33. {
  34.     struct sockaddr temp;
  35.     int ltemp;
  36.  
  37.     memset( &temp, 0, sizeof( struct sockaddr ));
  38.     temp.s_ip = s->myaddr;
  39.     temp.s_port = s->myport;
  40.  
  41.     if (!s->hisaddr || !s->hisport || ! _chk_socket( s )) {
  42.         if (len) *len = 0;
  43.         return( -1 );
  44.     }
  45.  
  46.     /* how much do we move */
  47.     ltemp = (len) ? *len : sizeof( struct sockaddr );
  48.     if (ltemp > sizeof( struct sockaddr)) ltemp = sizeof( struct sockaddr );
  49.     qmove( &temp, dest, ltemp );
  50.  
  51.     if (len) *len = ltemp;
  52.     return( 0 );
  53. }
  54.  
  55. char *getdomainname( char *name, int length )
  56. {
  57.     if ( length ) {
  58.     if ( length < strlen( def_domain ))
  59.         *name = 0;
  60.     else
  61.         strcpy( name, def_domain );
  62.     return( name );
  63.     }
  64.     return( ( def_domain && *def_domain ) ? def_domain : NULL );
  65. }
  66.  
  67. char *setdomainname( char *string )
  68. {
  69.     return( def_domain = string );
  70. }
  71.  
  72. char *gethostname( char *name, int len )
  73. {
  74.     if ( len ) {
  75.     if (len < strlen( _hostname ))
  76.         *name = 0;
  77.     else
  78.         strcpy( name, _hostname );
  79.     return( name );
  80.     }
  81.     return( ( _hostname && *_hostname ) ?  _hostname  : NULL );
  82. }
  83. char *sethostname( char *name )
  84. {
  85.     return( _hostname = name );
  86. }
  87. void psocket( tcp_Socket *s )
  88. {
  89.     char buffer[255];
  90.  
  91.     outch( '[' );
  92.     outs( inet_ntoa( buffer, s->hisaddr) );
  93.     outch( ':' );
  94.     itoa( s->hisport, buffer, 10 );
  95.     outs( buffer );
  96.     outch( ']' );
  97.  
  98. }
  99.