home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sockpli.zip
/
NETDB.COP
< prev
next >
Wrap
Text File
|
1995-06-27
|
13KB
|
294 lines
%dcl #_NETDB_32H char ext;
%if #_NETDB_32H = '' %then
%do;
%dcl #_NETDB_32H char ext;
%#_NETDB_32H = 'Y';
/************************************************************/
/* Copyright (c) 1980, 1983, 1988 Regents of the University */
/* of California */
/* */
/* All rights reserved. */
/* */
/* Redistribution and use in source and binary forms are */
/* permitted provided that this notice is preserved and */
/* that due credit is given to the University of California */
/* at Berkeley. The name of the University may not be used */
/* to endorse or promote products derived from this software*/
/* without specific prior written permission. This software */
/* is provided 'as is' without express or implied warranty. */
/* */
/* @(#)netdb.h 5.9 (Berkeley 4/5/88) */
/* */
/************************************************************/
/*----------------------------------------------------------*/
/* Structures returned by network */
/* data base library. All addresses */
/* are supplied in host order, and */
/* returned in network order (suitable */
/* for use in system calls). */
/*----------------------------------------------------------*/
define structure
1 hostent,
2 h_name /* official name of host */
pointer,
/* -------- */
2 h_aliases /* alias list */
pointer,
/* -------- */
2 h_addrtype /* host address type */
fixed bin(31),
/* -------------- */
2 h_length /* length of address */
fixed bin(31),
/* -------------- */
2 h_addr_list /* list of addr from namsrv*/
pointer;
/* -------- */
define alias @hostent handle hostent;
/*----------------------------------------------------------*/
/* Assumption here is that a network number */
/* fits in 32 bits -- probably a poor one. */
/*----------------------------------------------------------*/
define structure
1 netent,
2 n_name /* official name of net */
pointer,
/* -------- */
2 n_aliases /* alias list */
pointer,
/* -------- */
2 n_addrtype /* net address type */
fixed bin(31),
/* -------------- */
2 n_net /* network # */
unsigned fixed bin(31);
/* ---------------------- */
define alias @netent handle netent;
define structure
1 servent,
2 s_name /* official service name */
pointer,
/* -------- */
2 s_aliases /* alias list */
pointer,
/* -------- */
2 s_port /* port # */
fixed bin(31),
/* -------------- */
2 s_proto /* protocol to use */
pointer;
/* ------- */
define alias @servent handle servent;
define structure
1 protoent,
2 p_name /* official protocol name */
pointer,
/* -------- */
2 p_aliases /* alias list */
pointer,
/* -------- */
2 p_proto /* protocol # */
fixed bin(31);
/* -------------- */
define alias @protoent handle protoent;
%INCLUDE IN;
%dcl (#MAXALIASES,
#MAXADDRS,
#MAXLINELEN,
#HOSTBUFSIZE) char;
%#MAXALIASES = '35';
%#MAXADDRS = '35';
%#MAXLINELEN = '1024';
%#HOSTBUFSIZE = '513';
/*----------------------------------------------------------*/
/* After a successful call to gethostby│name/addr│_r() the */
/* structure hostent_data will contain the data to which */
/* pointers in the hostent structure will point to. */
/*----------------------------------------------------------*/
define structure
1 hostent_data,
2 host_addr /* host address pointer */
type in_addr,
/* ------------- */
2 h_addr_ptrs (#MAXADDRS) /* host address */
pointer,
/* -------- */
2 hostaddr
char(#MAXADDRS) varyingz,
/* ------------------------- */
2 hostbuf /* host data */
char(#HOSTBUFSIZE) varyingz,
/* ---------------------------*/
2 host_aliases (#MAXALIASES)
pointer,
/* -------- */
2 host_addrs (2)
pointer,
/* -------- */
2 hostf
pointer,
/* ------- */
2 stayopen /* AIX addon */
fixed bin(31),
/* ------- */
2 host_addresses (#MAXADDRS) /* As per defect 48367 */
unsigned fixed bin (31);
/* ------------------------ */
define structure /* should be considered opaque */
1 servent_data,
2 serv_fp
pointer,
/* -------- */
%dcl line char ext;
if %line = '' then
%deact line;
2 line
if %line = '' then
%act line;
char(#MAXLINELEN) varyingz,
/* ---------------------------*/
2 serv_aliases (#MAXALIASES)
pointer,
/* -------- */
2 #serv_stayopen
fixed bin(31);
/* -------------- */
dcl gethostbyname_r entry (
pointer,
handle hostent,
handle hostent_data)
returns( fixed bin(31) byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl gethostbyaddr_r entry (
pointer,
fixed bin(31),
fixed bin(31),
handle hostent,
handle hostent_data)
returns( fixed bin(31) byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getservbyname_r entry (
pointer,
pointer,
handle servent,
handle servent_data)
returns( fixed bin(31) byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl gethostname entry (
pointer,
fixed bin(31))
returns( fixed bin(31) byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl gethostbyname entry (
pointer)
returns( type @hostent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl gethostbyaddr entry (
pointer, fixed bin (31), fixed bin (31))
returns( type @hostent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getnetbyname entry (
pointer)
returns( type @netent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getnetbyaddr entry (
ULONG, fixed bin (31))
returns( type @netent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getservbyname entry (
pointer, pointer)
returns( type @servent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getservbyport entry (
fixed bin (31), pointer)
returns( type @servent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getservent entry
returns( type @servent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getprotobyname entry (
pointer)
returns( type @protoent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl getprotobynumber entry (
fixed bin (31))
returns( type @protoent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl sethostent entry (
fixed bin(31) )
options(linkage(system) byvalue nodescriptor) external;
dcl gethostent entry
returns( type @hostent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl endhostent entry
options(linkage(system) byvalue nodescriptor) external;
dcl setnetent entry (
fixed bin(31) )
options(linkage(system) byvalue nodescriptor) external;
dcl getnetent entry
returns( type @netent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl endnetent entry
options(linkage(system) byvalue nodescriptor) external;
dcl setprotoent entry (
fixed bin(31) )
options(linkage(system) byvalue nodescriptor) external;
dcl getprotoent entry
returns( type @protoent byvalue )
options(linkage(system) byvalue nodescriptor) external;
dcl endprotoent entry
options(linkage(system) byvalue nodescriptor) external;
dcl setservent entry (
fixed bin(31) )
options(linkage(system) byvalue nodescriptor) external;
dcl endservent entry
options(linkage(system) byvalue nodescriptor) external;
/*----------------------------------------------------------*/
/* Error return codes from gethostbyname() & gethostbyaddr()*/
/* (left in extern int h_errno). */
/*----------------------------------------------------------*/
dcl h_errno fixed bin(31);
dcl HOST_NOT_FOUND /* Authoritative Answer Host */
/* not found */
fixed bin(31) init(1);
/* ---------------------- */
dcl TRY_AGAIN /* Non-Authoratitive Host not */
/* found or SERVERFAIL */
fixed bin(31) init(2);
/* ---------------------- */
dcl NO_RECOVERY /* Non-recov. errors FORMERR, */
/* REFUSED, NOTIMP */
fixed bin(31) init(3);
/* ---------------------- */
dcl NO_DATA /* Valid name, no data record */
/* of requested type */
fixed bin(31) init(4);
/* ---------------------- */
%dcl NO_ADDRESS char ext;
%NO_ADDRESS='NO_DATA';
%dcl @NO_ADDRESS char ext;
%@NO_ADDRESS='@NO_DATA';
/* no address, look for MX record */
%end;
/* __NETDB_32H */