CLIPPER HB_UNDOC2() { char szText[ 25 ]; _retc( "Hello word" ); hb_strncpy( szText, _parc( -1 ), sizeof( szText ) - 1 ); szText[ 5 ] = 0; _retc( szText ); }
CLIPPER GETHOSTNAM( PARAMS ) // E() --> cHostName #endif { BYTE Name[ 255 ]; gethostname( ( char * ) Name, 255 ); _retc( ( char * ) Name ); }
CLIPPER GETPEERNAM( PARAMS ) // E( nSocket ) #endif { SOCKADDR_IN sa; // sockaddr_in sa; int iLen = sizeof( sa ); _bset( ( char * ) &sa, 0, sizeof( sa ) ); getpeername( _parni( 1 ), ( SOCKADDR * ) &sa, &iLen ); _retc( inet_ntoa( sa.sin_addr ) ); }
CLIPPER GETHOSTBYA( PARAMS ) // DDRESS( cIPAddress ) #endif { LONG lAddr; struct hostent * pHostent; if( ISCHAR( 1 ) ) { lAddr = inet_addr( _parc( 1 ) ); pHostent = gethostbyaddr( ( LPSTR ) &lAddr, 4, PF_INET ); } else { lAddr = _parnl( 1 ); pHostent = gethostbyaddr( ( char * ) &lAddr, 4, PF_INET ); } // if( ( int ) pHostent != INADDR_NONE ) // GPF's with some servers with no associated host name if( pHostent ) // Changed by Jorge Mason, www.htcsoft.cl, Sept.2002 _retc( pHostent->h_name ); else _retc( "Unknown" ); // changed from "" to "unknown" by LKM }
CLIPPER GETIP( PARAMS ) // nSocket #endif { SOCKADDR_IN sa; // sockaddr_in sa; int iLen = sizeof( sa ); BYTE addr[ 20 ]; _bset( ( char * ) &sa, 0, sizeof( sa ) ); getsockname( _parni( 1 ), ( SOCKADDR * ) &sa, &iLen ); strcpy( ( char * ) addr, "error" ); wsprintf( ( char * ) addr, "%i.%i.%i.%i", ( BYTE ) sa.sin_addr.s_net, ( BYTE ) sa.sin_addr.s_host, ( BYTE ) sa.sin_addr.s_lh, ( BYTE ) sa.sin_addr.s_impno ); _retc( ( char * ) addr ); }
CLIPPER GETHOSTBYN( PARAMS ) // AME( cName ) --> cIPAddress #endif { struct hostent * pHost; BYTE addr[ 20 ]; strcpy( ( char * ) addr, "0.0.0.0" ); pHost = gethostbyname( _parc( 1 ) ); if( pHost ) { wsprintf( ( char * ) addr, "%i.%i.%i.%i", ( BYTE ) pHost->h_addr[ 0 ], ( BYTE ) pHost->h_addr[ 1 ], ( BYTE ) pHost->h_addr[ 2 ], ( BYTE ) pHost->h_addr[ 3 ] ); } _retc( ( char * ) addr ); }
CLIPPER HB_UNDOC12() { _retc( _parc( 1 ) ); _storclen( "CLIPPER power!!!", _parni( 2 ), -1 ); }
CLIPPER HB_UNDOC11() { _retc( _parc( 1 ) ); _storc( "CLIPPER power!!!", -1 ); }
CLIPPER HB_UNDOC10() { _retc( "CLIPPER power!!!" ); _retni( _parinfo( -1 ) ); }
CLIPPER HB_STRINGS2() { _retc( _parc( 1, 1 ) ); }
CLIPPER HB_UNDOC3() { _retc( "Hello word" ); _retnl( _parclen( -1 ) ); }
CLIPPER HB_STRINGS1() { _retc( _parc( 1 ) ); }