mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 17:51:38 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| {
 | |
|     This file is part of the Free Pascal run time library.
 | |
|     Copyright (c) 2005 Soren Ager
 | |
| 
 | |
|     Implementation of TCP/IP name resolution for OS/2.
 | |
| 
 | |
|     See the file COPYING.FPC, included in this distribution,
 | |
|     for details about the copyright.
 | |
| 
 | |
|     This program is distributed in the hope that it will be useful,
 | |
|     but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
| 
 | |
|  **********************************************************************}
 | |
| 
 | |
| const
 | |
|   { Net type }
 | |
|   socklib = 'TCP32DLL';
 | |
|   AF_INET = 2;
 | |
| 
 | |
|   { Error constants. Returned by LastError method of THost, TNet}
 | |
| 
 | |
|   NETDB_INTERNAL= -1;       { see errno }
 | |
|   NETDB_SUCCESS = 0;        { no problem }
 | |
|   HOST_NOT_FOUND= 1;        { Authoritative Answer Host not found }
 | |
|   TRY_AGAIN     = 2;        { Non-Authoritive Host not found, or SERVERFAIL }
 | |
|   NO_RECOVERY   = 3;        { Non recoverable errors, FORMERR, REFUSED, NOTIMP }
 | |
|   NO_DATA       = 4;        { Valid name, no data record of requested type }
 | |
|   NO_ADDRESS    = NO_DATA;  { no address, look for MX record }
 | |
| 
 | |
| 
 | |
| Type
 | |
| 
 | |
|   { THostEnt Object }
 | |
|   THostEnt = record
 | |
|     H_Name     : pchar;   { Official name }
 | |
|     H_Aliases  : ppchar;  { Null-terminated list of aliases}
 | |
|     H_Addrtype : longint;   { Host address type }
 | |
|     H_length  : longint;   { Length of address }
 | |
|     H_Addr : ppchar;    { null-terminated list of adresses }
 | |
|   end;
 | |
|   PHostEntry = ^THostEnt;
 | |
| 
 | |
|   { TNetEnt object }
 | |
|   TNetEnt = record
 | |
|     N_Name     : pchar;   { Official name }
 | |
|     N_Aliases  : ppchar;  { Nill-terminated alias list }
 | |
|     N_AddrType : longint; { Net address type }
 | |
|     N_net      : Cardinal; { Network number }
 | |
|   end;
 | |
|   PNetEntry = ^TNetEnt;
 | |
| 
 | |
|   TServEnt = record
 | |
|     s_name    : pchar;    { Service name }
 | |
|     s_aliases : ppchar;   { Null-terminated alias list }
 | |
|     s_port    : longint;  { Port number }
 | |
|     s_proto   : pchar;    { Protocol to use }
 | |
|   end;
 | |
|   PServEntry = ^TServEnt;
 | |
| 
 | |
| 
 | |
| function gethostent : PHostEntry; cdecl; external socklib index 30;
 | |
| procedure sethostent (stayopen : longint); cdecl; external socklib index 28;
 | |
| procedure endhostent; cdecl; external socklib index 29;
 | |
| 
 | |
| function getnetent : PNetEntry; cdecl; external socklib index 17;
 | |
| procedure setnetent ( Stayopen : Longint);  cdecl; external socklib index 15;
 | |
| procedure endnetent; cdecl; external socklib index 16;
 | |
| 
 | |
| function getservent : PServEntry; cdecl; external socklib index 27;
 | |
| procedure setservent (StayOpen : longint); cdecl; external socklib index 25;
 | |
| procedure endservent; cdecl; external socklib index 26;
 | |
| 
 | |
| function getnetbyaddr ( Net : Longint; nettype : Longint) : PNetEntry; cdecl; external socklib index 14;
 | |
| function gethostbyname ( Name : Pchar) : PHostEntry; cdecl; external socklib index 11;
 | |
| function gethostbyaddr ( Addr : PChar; Len : Longint; HType : Longint) : PHostentry ; cdecl; external socklib index 12;
 | |
| function getnetbyname ( Name : pchar) : PNetEntry; cdecl; external socklib index 13;
 | |
| function getservbyname (name : pchar  ; protocol : pchar) : PServEntry; cdecl; external socklib index 24;
 | |
| function getservbyport (port : longint; protocol : pchar) : PServEntry; cdecl; external socklib index 23;
 | |
| 
 | |
| function  GetDNSError : LongInt;
 | |
| begin
 | |
|   GetDNSError:=0;   //!!! fpgetCerrno;
 | |
| end;
 | |
| 
 | |
| Function InitResolve : Boolean;
 | |
| begin
 | |
|   Result:=True;
 | |
| end;
 | |
| 
 | |
| Function FinalResolve : Boolean;
 | |
| begin
 | |
|   Result:=True;
 | |
| end;
 | 
