mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 15:39:24 +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;
 |