NETLIB020.Dr+0 NETLIB020.DBACKUP NETLIBDEF.H,NETLIBDEF.R32,NETLIBDEF.L32,NETLIBDEF.L32E,LIBRARY.DECW$BOOKSHELF,NETLIB.DECW$BOOKSHELF,ECHOCLIENT.C,ECHOSERVER.C,ECHOSERVER_STANDALONE.C,MG_KIT:[NETLIB]NETLIB_DOC.DECW$BOOK,MG_KIT:[NETLIB]NETLIB_DOC.PS,MG_KIT:[NETLIB]NETLIB_DOC.TXT,MG_KIT:[NETLIB]NETLIB_INST.DECW$BOOK,MG_KIT:[NETLIB]NETLIB_INST.PS,MG_KIT:[NETLIB]NETLIB_INST.TXT MG_KIT:[NETLIB]NETLIB020.D/SAVE/INTERCHANGE/BLOCK=8192/NOCRC/GROU=0 MADISON  @oʘT6.2 _HQ::  _HQ$DKA500: V6.2 t*[NETLIB]NETLIBDEF.H;14+,S./ @ 4\n-n?0123KPWO566$y7T.8y8T6S`/9V$ǘG @HJ/*** NETLIBDEF.H**-** Definitions for use with NETLIB routines.**=** COPYRIGHT 1993, MADGOAT SOFTWARE. ALL RIGHTS RESERVED.**** MODIFICATION HISTORY:**,** 29-Sep-1993 Madison Initial coding.*/#ifndef __NETLIBDEF_H_LOADED__#define __NETLIBDEF_H_LOADED__##define NETLIB_K_TYPE_STREAM 1##define NETLIB_K_TYPE_DGRAM 2(#define NETLIB_K_OPTION_REUSEADDR 0x04(#define NETLIB_K_OPTION_KEEPALIVE 0x08(#define NETLIB_K_OPTION_BROADCAST 0x20)#define NETLIB_K_OPTION_SNDBUF 0x1001)#define NETLIB_K_OPTION_RCVBUF 0x1002*#define NETLIB_K_OPTION_SNDLOWAT 0x1003*#define NETLIB_K_OPTION_RCVLOWAT 0x1004(#define NETLIB_K_LEVEL_SOCKET 0xffff##define NETLIB_K_AF_INET 2##define NETLIB_K_LOOKUP_DNS 1&#define NETLIB_K_LOOKUP_HOST_TABLE 2&#define NETLIB_K_SHUTDOWN_RECEIVER 0&#define NETLIB_K_SHUTDOWN_SENDER 1%#define NETLIB_K_SHUTDOWN_BOTH 2'#define NETLIB_M_ALLOW_LF (1<<0))#define NETLIB_M_DOMAIN_SEARCH (1<<0)(#define NETLIB_M_NO_RECURSION (1<<1)##define NETLIB_K_DNS_TYPE_A 0x01##define NETLIB_K_DNS_TYPE_NS 0x02##define NETLIB_K_DNS_TYPE_MD 0x03##define NETLIB_K_DNS_TYPE_MF 0x04&#define NETLIB_K_DNS_TYPE_CNAME 0x05$#define NETLIB_K_DNS_TYPE_SOA 0x06##define NETLIB_K_DNS_TYPE_MB 0x07##define NETLIB_K_DNS_TYPE_MG 0x08##define NETLIB_K_DNS_TYPE_MR 0x09%#define NETLIB_K_DNS_TYPE_NULL 0x0A$#define NETLIB_K_DNS_TYPE_WKS 0x0B$#define NETLIB_K_DNS_TYPE_PTR 0x0C&#define NETLIB_K_DNS_TYPE_HINFO 0x0D&#define NETLIB_K_DNS_TYPE_MINFO 0x0E##define NETLIB_K_DNS_TYPE_MX 0x0F$#define NETLIB_K_DNS_TYPE_TXT 0x10)#define NETLIB_K_DNS_QTYPE_ALL 0xFF$#define NETLIB_K_DNS_CLASS_IN 0x01$#define NETLIB_K_DNS_CLASS_CS 0x02$#define NETLIB_K_DNS_CLASS_CH 0x03$#define NETLIB_K_DNS_CLASS_HS 0x04&#define NETLIB_K_DNS_QCLASS_ALL 0xFF #define NETLIB_K_DNS_OP_STDQ 0 #define NETLIB_K_DNS_OP_INVQ 1"#define NETLIB_K_DNS_OP_STATUS 2##define NETLIB_K_DNS_RC_SUCCESS 0"#define NETLIB_K_DNS_RC_FMTERR 1##define NETLIB_K_DNS_RC_SRVFAIL 2"#define NETLIB_K_DNS_RC_NAMERR 3"#define NETLIB_K_DNS_RC_NOTIMP 4"#define NETLIB_K_DNS_RC_REFUSE 5#ifdef __ALPHA#pragma member_alignment save#pragma nomember_alignment#endif#pragma nostandard struct NETLIB_DNS_HEADER {" unsigned short dns_w_queryid; variant_union {$ unsigned short dns_w_flags; variant_struct {6 unsigned int dns_v_recursion_desired : 1;/ unsigned int dns_v_truncated : 1;/ unsigned int dns_v_authoritative : 1;- unsigned int dns_v_opcode : 4;, unsigned int dns_v_reply : 1;/ unsigned int dns_v_reply_code : 4;/ unsigned int dns_v_xx_unsused_xx : 3;6 unsigned int dns_v_recursion_available : 1; } dns_x_flags; } dns_r_flags_overlay;" unsigned short dns_w_qdcount;" unsigned short dns_w_ancount;" unsigned short dns_w_nscount;" unsigned short dns_w_arcount; };#pragma standard struct SOCKADDRDEF {& unsigned short sockaddr_w_family;( unsigned char sockaddr_x_data[14]; }; struct INADDRDEF {! unsigned long inaddr_l_addr; }; struct SINDEF {! unsigned short sin_w_family; unsigned short sin_w_port;! struct INADDRDEF sin_x_addr; unsigned char sin_x_mbz[8]; }; struct NETLIBIOSBDEF {" unsigned short iosb_w_status;! unsigned short iosb_w_count;" unsigned long iosb_l_unused; };#define NETLIB_S_MXRR_NAME 128 struct MXRRDEF {$ unsigned int mxrr_l_preference; unsigned int mxrr_l_length;/ char mxrr_t_name[NETLIB_S_MXRR_NAME]; };#ifdef __ALPHA #pragma member_alignment restore#endif>#define netlib_word_swap(x) ((((x)>>8)&0xff)|(((x)&0xff)<<8 ))\#define netlib_long_swap(x) ((((x)>>24)&0xff)|(((x)>>8)&0xff00)|(((x)&0xff00)<<8)|((x)<<24))#ifndef __NETLIB_BUILD__#ifdef __cplusplus extern "C" {#endif3 unsigned int netlib_socket(void **socket, ...);S unsigned int netlib_server_setup(void **socket, void *sa, unsigned int *salen);P unsigned int netlib_bind(void **socket, void *sa, unsigned int *salen, ...);< unsigned int netlib_getsockname(void **socket, void *sa,> unsigned int *sasize, unsigned int *salen, ...);< unsigned int netlib_getpeername(void **socket, void *sa,> unsigned int *sasize, unsigned int *salen, ...);S unsigned int netlib_connect(void **socket, void *sa, unsigned int *salen, ...);@ unsigned int netlib_write(void **socket, void *bufdsc, ...);D unsigned int netlib_writeline(void **socket, void *bufdsc, ...);? unsigned int netlib_read(void **socket, void *bufdsc, ...);C unsigned int netlib_readline(void **socket, void *bufdsc, ...);5 unsigned int netlib_shutdown(void **socket, ...);2 unsigned int netlib_close(void **socket, ...);3 unsigned int netlib_listen(void **socket, ...);C unsigned int netlib_accept(void **socket, void **newsock, ...);8 unsigned int netlib_get_hostname(void *bufdsc, ...);F unsigned int netlib_setsockopt(void **socket, unsigned int *level,L unsigned int *option, void *value, unsigned int *vallen, ...);F unsigned int netlib_getsockopt(void **socket, unsigned int *level,N unsigned int *option, void *buffer, unsigned int *bufsize, ...);Y unsigned int netlib_name_to_address(void **socket, unsigned int *which, void *namdsc,? void *addrlist, unsigned int *addrlistsize, ...);V unsigned int netlib_address_to_name(void *socket, unsigned int *which, void *addr,9 unsigned int *addrsize, void *namdsc, ...);I int netlib_dns_skipname(unsigned char *bufp, unsigned short *buflen);R unsigned int netlib_dns_expandname(unsigned char *buf, unsigned short *buflen,6 unsigned char *bufp, void *namdsc, ...);> unsigned int netlib_dns_query(void **socket, void *namdsc,6 unsigned int *class, unsigned int *type,@ unsigned char *buf, unsigned short *bufsize, ...);B unsigned int netlib_strtoaddr(void *dsc, struct INADDRDEF *a);G unsigned int netlib_addrtostr(struct INADDRDEF *a, void *dsc, ...);6 unsigned int netlib_connect_by_name(void **socket,4 void *dsc, unsigned short *port, ...);? unsigned int netlib_dns_mx_lookup(void **socket, void *dsc,7 void *mxrr, unsigned int *  NETLIB020.DSn?[NETLIB]NETLIBDEF.H;14\mxrrsize, ...);7 unsigned int netlib_hton_long(unsigned int *value);7 unsigned int netlib_ntoh_long(unsigned int *value);; unsigned short netlib_hton_word(unsigned short *value);; unsigned short netlib_ntoh_word(unsigned short *value);#ifdef __cplusplus}#endif!#endif /* not __NETLIB_BUILD__ */##endif /* __NETLIBDEF_H_LOADED__ */  NETLIB020.D}7n?[NETLIB]NETLIBDEF.R32;4@ GW*[NETLIB]NETLIBDEF.R32;4+,}7. / @ 4@ p-n?0123KPWO 56\ӻr7Ir8mn|"9V$ǘG @HJ!++! NETLIBDEF.R32! -! Definitions for use with NETLIB routines.! =! COPYRIGHT 1994, MADGOAT SOFTWARE. ALL RIGHTS RESERVED.! ! MODIFICATION HISTORY:! 7! 04-NOV-1994 Madison Initial coding (for V2.0).!--LITERAL! NETLIB_K_TYPE_STREAM = 1,! NETLIB_K_TYPE_DGRAM = 2,$ NETLIB_K_OPTION_REUSEADDR = 4,$ NETLIB_K_OPTION_KEEPALIVE = 8,% NETLIB_K_OPTION_BROADCAST = 32,& NETLIB_K_OPTION_SNDBUF = %X'1001',& NETLIB_K_OPTION_RCVBUF = %X'1002',+ NETLIB_K_OPTION_SNDLOWAT = %X'1003',+ NETLIB_K_OPTION_RCVLOWAT = %X'1004',% NETLIB_K_LEVEL_SOCKET = %X'FFFF', NETLIB_K_AF_INET = 2, NETLIB_K_LOOKUP_DNS = 1,$ NETLIB_K_LOOKUP_HOST_TABLE = 2,$ NETLIB_K_SHUTDOWN_RECEIVER = 0,$ NETLIB_K_SHUTDOWN_SENDER = 1, NETLIB_K_SHUTDOWN_BOTH = 2;LITERAL NETLIB_M_ALLOW_LF = 1;LITERAL NETLIB_M_DOMAIN_SEARCH = 1, NETLIB_M_NO_RECURSION = 2;LITERAL" NETLIB_K_DNS_TYPE_A = %X'01'," NETLIB_K_DNS_TYPE_NS = %X'02'," NETLIB_K_DNS_TYPE_MD = %X'03'," NETLIB_K_DNS_TYPE_MF = %X'04',% NETLIB_K_DNS_TYPE_CNAME = %X'05',# NETLIB_K_DNS_TYPE_SOA = %X'06'," NETLIB_K_DNS_TYPE_MB = %X'07'," NETLIB_K_DNS_TYPE_MG = %X'08'," NETLIB_K_DNS_TYPE_MR = %X'09',$ NETLIB_K_DNS_TYPE_NULL = %X'0A',# NETLIB_K_DNS_TYPE_WKS = %X'0B',# NETLIB_K_DNS_TYPE_PTR = %X'0C',% NETLIB_K_DNS_TYPE_HINFO = %X'0D',% NETLIB_K_DNS_TYPE_MINFO = %X'0E'," NETLIB_K_DNS_TYPE_MX = %X'0F',# NETLIB_K_DNS_TYPE_TXT = %X'10',$ NETLIB_K_DNS_QTYPE_ALL = %X'FF',# NETLIB_K_DNS_CLASS_IN = %X'01',# NETLIB_K_DNS_CLASS_CS = %X'02',# NETLIB_K_DNS_CLASS_CH = %X'03',# NETLIB_K_DNS_CLASS_HS = %X'04',% NETLIB_K_DNS_QCLASS_ALL = %X'FF', NETLIB_K_DNS_OP_STDQ = 0, NETLIB_K_DNS_OP_INVQ = 1, NETLIB_K_DNS_OP_STATUS = 2, NETLIB_K_DNS_RC_SUCCESS = 0, NETLIB_K_DNS_RC_FMTERR = 1, NETLIB_K_DNS_RC_SRVFAIL = 2, NETLIB_K_DNS_RC_NAMERR = 3, NETLIB_K_DNS_RC_NOTIMP = 4, NETLIB_K_DNS_RC_REFUSE = 5;LITERAL DNS_S_HEADER = 12;MACRO% DNS_W_QUERYID = 0,0,16,0%,% DNS_W_FLAGS = 2,0,16,0%,' DNS_V_RECURSION_DESIRED = 2,0,1,0%,$ DNS_V_TRUNCATED = 2,1,1,0%,' DNS_V_AUTHORITATIVE = 2,2,1,0%,$ DNS_V_OPCODE = 2,3,4,0%,$ DNS_V_REPLY = 2,7,1,0%,$ DNS_V_REPLY_CODE = 2,8,4,0%,* DNS_V_RECURSION_AVAILABLE = 2,15,1,0%,% DNS_W_QDCOUNT = 4,0,16,0%,% DNS_W_ANCOUNT = 6,0,16,0%,% DNS_W_NSCOUNT = 8,0,16,0%,& DNS_W_ARCOUNT = 10,0,16,0%,7 NETLIB_DNS_HEADER = BLOCK [DNS_S_HEADER,BYTE]%;LITERAL! SOCKADDR_S_SOCKADDRDEF = 16, SOCKADDR_S_DATA = 14;MACRO& SOCKADDR_W_FAMILY = 0,0,16,0%,$ SOCKADDR_X_DATA = 2,0,0,0%,@ SOCKADDRDEF = BLOCK [SOCKADDR_S_SOCKADDRDEF,BYTE]%;LITERAL INADDR_S_INADDRDEF = 4;MACRO% INADDR_L_ADDR = 0,0,32,0%,: INADDRDEF = BLOCK [INADDR_S_INADDRDEF,BYTE]%;LITERAL SIN_S_SINDEF = 16, SIN_S_MBZ = 8;MACRO% SIN_W_FAMILY = 0,0,16,0%,$ SIN_W_PORT = 2,0,16,0%,$ SIN_X_ADDR = 4,0,32,0%," SIN_X_MBZ = 8,0,0,0%,3 SINDEF = BLOCK [SIN_S_SINDEF,BYTE]%;LITERAL IOSB_S_IOSBDEF = 8;MACRO% IOSB_W_STATUS = 0,0,16,0%,% IOSB_W_COUNT = 2,0,16,0%,% IOSB_L_UNUSED = 4,0,32,0%,5 IOSBDEF = BLOCK [IOSB_S_IOSBDEF,BYTE]%;LITERAL MXRR_S_MXRRDEF = 136, MXRR_S_NAME = 128," NETLIB_S_MXRR_NAME = 128;MACRO& MXRR_L_PREFERENCE = 0,0,32,0%,% MXRR_L_LENGTH = 4,0,32,0%,$ MXRR_T_NAME = 8,0,0,0%,5 MXRRDEF = BLOCK [MXRR_S_MXRRDEF,BYTE]%;!+)! Definitions for V1 NETLIB - OBSOLETE!!-LITERAL NET_K_TCP = 1, NET_K_UDP = 2, NET_M_PUSH = 1, NET_M_NOTRM = 2;MACRO NET_V_PUSH = 0,0,1,0%, NET_V_NOTRM = 0,1,1,0%;   NETLIB020.DVTn?[NETLIB]NETLIBDEF.L32;3R*[NETLIB]NETLIBDEF.L32;3+,VT./ @ 4 -n?0123KPWO56n?[NETLIB]NETLIBDEF.L32E;2T*[NETLIB]NETLIBDEF.L32E;2+,/>./ @ 4-n?0123KPWO56˽r7nLr8n!ޘ9V$ǘG @HJ bBLISS-32EN V1.1-021C 8-Nov-1994 13:32:42(  ( p     h     @ `     ( H h     X"###$%%%&&&&&&&&&&&&&&&&& '''H)))+++++--- 1115506Xp8899999:::;;=0X?@@@@@B8EEEEEEEEXFFFFFFHHHHIIIIIIIKK LLHMpNOOOQQQRR(xVWWWXXXXY [@\h]]]_________````aa NETLIB_K_LOOKUP_HOST_TABLENETLIB_DNS_HEADER NETLIB_K_DNS_QCLASS_ALL  IOSB_L_UNUSED NETLIB_K_DNS_TYPE_CNAMEDNS_V_RECURSION_DESIRED DNS_W_ANCOUNT  MXRR_L_LENGTH  DNS_W_ARCOUNT NETLIB_K_DNS_RC_SRVFAIL DNS_W_QDCOUNTMXRRDEF NETLIB_K_DNS_RC_SUCCESS SOCKADDRDEF  SIN_X_ADDR DNS_W_QUERYID NETLIB_K_DNS_TYPE_HINFOSOCKADDR_W_FAMILY DNS_W_NSCOUNT NETLIB_K_DNS_TYPE_MINFO IOSB_W_STATUS MXRR_L_PREFERENCE NET_M_PUSH NETLIB_K_TYPE_STREAM NETLIB_M_ALLOW_LF IOSB_S_IOSBDEF NETLIB_K_DNS_TYPE_MB NET_V_PUSH NETLIB_K_DNS_TYPE_MD NETLIB_K_DNS_TYPE_MF NETLIB_K_DNS_TYPE_MG INADDR_S_INADDRDEF SIN_W_PORT NETLIB_K_DNS_OP_STDQ NETLIB_K_DNS_OP_INVQ NETLIB_K_DNS_TYPE_MR NETLIB_K_DNS_TYPE_NS NETLIB_K_DNS_TYPE_MX NETLIB_K_SHUTDOWN_SENDER DNS_W_FLAGS NETLIB_K_LEVEL_SOCKET NETLIB_K_DNS_CLASS_CH NETLIB_K_OPTION_SNDLOWAT NETLIB_K_OPTION_RCVLOWAT MXRR_S_MXRRDEF NETLIB_K_DNS_CLASS_CS SOCKADDR_S_DATA SOCKADDR_S_SOCKADDRDEF NETLIB_K_DNS_CLASS_IN MXRR_S_NAME NETLIB_K_DNS_CLASS_HSSOCKADDR_X_DATA MXRR_T_NAME NETLIB_M_NO_RECURSIONE INADDRDEF NET_M_NOTRM DNS_V_REPLY NET_V_NOTRM NETLIB_K_DNS_TYPE_SOA NETLIB_K_OPTION_BROADCASTDNS_V_RECURSION_AVAILABLE NETLIB_K_OPTION_KEEPALIVE NETLIB_M_DOMAIN_SEARCH NETLIB_S_MXRR_NAME NETLIB_K_OPTION_REUSEADDR DNS_S_HEADER NETLIB_K_DNS_TYPE_WKS NETLIB_K_DNS_TYPE_PTRDNS_V_TRUNCATED NETLIB_K_DNS_TYPE_TXT DNS_V_OPCODE SIN_S_SINDEFiSINDEF NETLIB_K_OPTION_SNDBUF SIN_W_FAMILY NETLIB_K_DNS_RC_NAMERR NETLIB_K_OPTION_RCVBUF NETLIB_K_DNS_RC_REFUSE IOSB_W_COUNT NETLIB_K_DNS_RC_FMTERR NETLIB_K_SHUTDOWN_BOTH NETLIB_K_TYPE_DGRAM NETLIB_K_DNS_QTYPE_ALL NETLIB_K_DNS_RC_NOTIMP  INADDR_L_ADDR NET_K_TCP NET_K_UDP NETLIB_K_AF_INETDNS_V_AUTHORITATIVE SIN_S_MBZ NETLIB_K_LOOKUP_DNS NETLIB_K_DNS_TYPE_NULL SIN_X_MBZ NETLIB_K_DNS_OP_STATUS NETLIB_K_DNS_TYPE_A NETLIB_K_SHUTDOWN_RECEIVERIOSBDEFDNS_V_REPLY_CODEBLOCK[ DNS_S_HEADER,`]BLOCK[SOCKADDR_S_SOCKADDRDEF,`]BLOCK[INADDR_S_INADDRDEF,`]BLOCK[ SIN_S_SINDEF,`]BLOCK[IOSB_S_IOSBDEF,`]BLOCK[MXRR_S_MXRRDEF,`]  NETLIB020.D*6>n? [NETLIB]LIBRARY.DECW$BOOKSHELF;1!9O *[NETLIB]LIBRARY.DECW$BOOKSHELF;1+,*6>./ @ 4!$-n?0123KPWO5662p762p8^|"9V$ǘG @HJ!SHELF\netlib\NETLIB documentation  NETLIB020.D2n?[NETLIB]NETLIB.DECW$BOOKSHELF;1**[NETLIB]NETLIB.DECW$BOOKSHELF;1+,2./ @ 4*X-n?0123KPWO56DJ2p7lJ2p8|"9V$ǘG @HJ)BOOK\netlib_doc\NETLIB Programmer's Guide*BOOK\netlib_inst\NETLIB Installation Guide  NETLIB020.DQn?[NETLIB]ECHOCLIENT.C;18NP*[NETLIB]ECHOCLIENT.C;18+,Q./ @ 4N"-n?0123KPWO56k07pNG8G͗89V$ǘG @HJ/***++ ** FACILITY: NETLIB test client**** ABSTRACT: Echo client.**** MODULE DESCRIPTION:**G** This is a test client for NETLIB. It connects to an "echo" serverG** via TCP, which is supposed to echo back any characters sent to it.**C** We do character-at-a-time I/O, which isn't very efficient, but@** it's a good test of NETLIB's asynchronous I/O capabilities.**C** N.B.: This program expects that SYS$INPUT and SYS$OUTPUT point** to terminal devices.**** AUTHOR: M. MadisonG** COPYRIGHT 1994, MADGOAT SOFTWARE. ALL RIGHTS RESERVED.**** CREATION DATE: 17-NOV-1994**** MODIFICATION HISTORY:**1** 17-NOV-1994 V1.0 Madison Initial coding.**--*/!#include "netlib_dir:netlibdef.h"#include #include #include #include #include #include #include #include #include #ifdef __DECC#include #else#pragma builtins#endifF#define INIT_SDESC(dsc, len, ptr) {(dsc).dsc$b_dtype = DSC$K_DTYPE_T;\C (dsc).dsc$b_class = DSC$K_CLASS_S; (dsc).dsc$w_length = (len);\! (dsc).dsc$a_pointer = (ptr);}/*N** This is the default port we use (matches the accompanying server program).*/* const unsigned short ECHO_PORT = 2000;/*A** Other statics we need because we have to pass these values by ** reference*/8 static unsigned int sinsize = sizeof(struct SINDEF);; static unsigned int adrsize = sizeof(struct INADDRDEF);8 static unsigned int which_dns = NETLIB_K_LOOKUP_DNS;? static unsigned int which_ht = NETLIB_K_LOOKUP_HOST_TABLE;/*** I/O request*/ typedef struct IORequest {% struct IORequest *flink, *blink; struct NETLIBIOSBDEF iosb;" struct dsc$descriptor bufdsc; char buf[2]; } IORequest;/* ** Queue*/4 typedef struct Queue {void *head, *tail;} Queue;/*** Forward declarations*/. unsigned int main(int argc, char *argv[]);+ void Terminal_Read_AST(IORequest *ior);* void Network_Read_AST(IORequest *ior);# void Write_AST(IORequest *ior);" IORequest *Allocate_IOR(void); IORequest *Get_IOR(void);/*** OWN storage*/9 static Queue Free_Queue = {&Free_Queue, &Free_Queue};2 static $DESCRIPTOR(input_device, "SYS$INPUT");4 static $DESCRIPTOR(output_device, "SYS$OUTPUT");I static $DESCRIPTOR(help, "Usage: ECHOCLIENT hostname [port-number]");! static void *network_context;( static unsigned short input_channel;) static unsigned short output_channel; static int Done = 0;* static unsigned int completion_status; /***++** ROUTINE: main**** FUNCTIONAL DESCRIPTION:**C** Echo client main routine. Establishes the service connection,C** then reads data from the terminal and sends it off to the echoD** server. Any data read from the echo server is displayed on the** terminal.**B** RETURNS: cond_value, longword (unsigned), write only, by value**** PROTOTYPE:** ** main()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/,unsigned int main (int argc, char *argv[]) { IORequest *ior; struct SINDEF remsin; struct dsc$descriptor dsc; unsigned int status, remlen;! unsigned short port, namelen; char name[1024], buf[1024]; int i; if (argc < 2) { lib$put_output(&help); return SS$_NORMAL; }/*0** Get channels to the input and output devices*/= status = sys$assign(&input_device, &input_channel, 0, 0);4 if (!$VMS_STATUS_SUCCESS(status)) return status;? status = sys$assign(&output_device, &output_channel, 0, 0);4 if (!$VMS_STATUS_SUCCESS(status)) return status;/*7** Allocate a network socket and connect to the server*/- status = netlib_socket(&network_context);4 if (!$VMS_STATUS_SUCCESS(status)) return status;. INIT_SDESC(dsc, strlen(argv[1]), argv[1]);2 port = (argc > 2) ? atoi(argv[2]) : ECHO_PORT;C status = netlib_connect_by_name(&network_context, &dsc, &port);4 if (!$VMS_STATUS_SUCCESS(status)) return status;/*,** Let the user know who we're connected to*/N status = netlib_getpeername(&network_context, &remsin, &sinsize, &remlen);& if ($VMS_STATUS_SUCCESS(status)) {) INIT_SDESC(dsc, sizeof(name), name);B status = netlib_address_to_name(&network_context, &which_dns,< &remsin.sin_x_addr, &adrsize, &dsc, &namelen);& if (!$VMS_STATUS_SUCCESS(status))E status = netlib_address_to_name(&network_context, &which_ht,< &remsin.sin_x_addr, &adrsize, &dsc, &namelen);& if (!$VMS_STATUS_SUCCESS(status))G status = netlib_addrtostr(&remsin.sin_x_addr, &dsc, &namelen);' if ($VMS_STATUS_SUCCESS(status)) {L i = sprintf(buf, "Connected to host %.*s, port %d. CTRL/Z exits.",? namelen, name, netlib_ntoh_word(&remsin.sin_w_port));! INIT_SDESC(dsc, i, buf); lib$put_output(&dsc); dsc.dsc$w_length = 0; lib$put_output(&dsc); } }/*** Pre-load the free queue*/ for (i = 0; i < 16; i++) { ior = Allocate_IOR(); if (ior == 0) break;# _INSQUE(ior, Free_Queue.tail); }/*** Start a terminal read*/ ior = Get_IOR();% if (ior == 0) return SS$_INSFMEM;& status = sys$qio(0, input_channel,0 IO$_READVBLK|IO$M_NOECHO|IO$M_NOFILTR,- &ior->iosb, Terminal_Read_AST, ior,# ior->buf, 1, 0, 0, 0, 0);4 if (!$VMS_STATUS_SUCCESS(status)) return status; ior = Get_IOR(); if (ior == 0) { sys$cancel(input_channel); return SS$_INSFMEM; }/*** Start a network read*/8 status = netlib_read(&network_context, &ior->bufdsc,( 0, 0, 0, 0, &ior->iosb,( Network_Read_AST, ior);' if (!$VMS_STATUS_SUCCESS(status)) { sys$cancel(input_channel); return SS$_INSFMEM; }/*>** Let the ASTs do all the work. They will set the Done flag'** when it's time for us to shut down.*/ while (!Done) { sys$hiber(); }/*8** Close down the network socket and terminal channels.*/& netlib_shutdown(&network_context);# netlib_close(&network_context); sys$dassgn(input_channel); sys$dassgn(output_channel); return SS$_NORMAL; } /* main */ /***++** ROUTINE: Terminal_Read_AST**** FUNCTIONAL DESCRIPTION:**,** Read completion AST for terminal input.**** RETURNS: void**** PROTOTYPE:**** Terminal_Read_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/)void Terminal_Read_AST (IORequest *ior) { unsigned int status;/*** Exit on error or ctrl/Z.*/5 if (!$VMS_STATUS_SUCCESS(ior->iosb.iosb_w_status) || ior->buf[0] == 26) {< if    NETLIB020.DQn?[NETLIB]ECHOCLIENT.C;18N͖(!Done) completion_status = ior->iosb.iosb_w_status; Done = 1; sys$wake(0,0); return; }/*!** Write the data to the server.*/9 status = netlib_write(&network_context, &ior->bufdsc,, 0, 0, &ior->iosb, Write_AST, ior);& if ($VMS_STATUS_SUCCESS(status)) { ior = Get_IOR();( if (ior == 0) status = SS$_INSFMEM;, else status = sys$qio(0, input_channel,5 IO$_READVBLK|IO$M_NOECHO|IO$M_NOFILTR,2 &ior->iosb, Terminal_Read_AST, ior,( ior->buf, 1, 0, 0, 0, 0); }' if (!$VMS_STATUS_SUCCESS(status)) {< if (!Done) completion_status = ior->iosb.iosb_w_status; Done = 1; sys$wake(0,0); return; }} /* Terminal_Read_AST */ /***++** ROUTINE: Network_Read_AST**** FUNCTIONAL DESCRIPTION:**%** Completion AST for network read.**** RETURNS: void**** PROTOTYPE:**** Network_Read_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/(void Network_Read_AST (IORequest *ior) { unsigned int status; int len;/*>** If the read completed successfully, format the data we got!** and write it to the terminal.*/% status = ior->iosb.iosb_w_status;& if ($VMS_STATUS_SUCCESS(status)) { len = 1; if (ior->buf[0] == 0x7f) { ior->buf[0] = '^'; ior->buf[1] = '?'; len = 2;= } else if (ior->buf[0] == '\r' || ior->buf[0] == '\n') { ior->buf[0] = '\r'; ior->buf[1] = '\n'; len = 2;$ } else if (ior->buf[0] < ' ') {) ior->buf[1] = ior->buf[0] + '@'; ior->buf[0] = '^'; len = 2; }7 status = sys$qio(0, output_channel, IO$_WRITEVBLK,8 &ior->iosb, Write_AST, ior, ior->buf, len, 0, 0, 0, 0);' if ($VMS_STATUS_SUCCESS(status)) { ior = Get_IOR();, if (ior == 0) status = SS$_INSFMEM;B else status = netlib_read(&network_context, &ior->bufdsc,+ 0, 0, 0, 0, &ior->iosb,+ Network_Read_AST, ior); } }' if (!$VMS_STATUS_SUCCESS(status)) {< if (!Done) completion_status = ior->iosb.iosb_w_status; Done = 1; sys$wake(0,0); }} /* Network_Read_AST */ /***++** ROUTINE: Write_AST**** FUNCTIONAL DESCRIPTION:**?** Completion AST for terminal and network writes. It checks>** for successful completion and frees the I/O request block.**** RETURNS: void**** PROTOTYPE:**** Write_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/!void Write_AST (IORequest *ior) {8 if (!$VMS_STATUS_SUCCESS(ior->iosb.iosb_w_status)) {< if (!Done) completion_status = ior->iosb.iosb_w_status; Done = 1; sys$wake(0,0); return; }" _INSQUE(ior, Free_Queue.tail);} /* Write_AST */ /***++** ROUTINE: Allocate_IOR**** FUNCTIONAL DESCRIPTION:**** Allocates an IORequest.**** RETURNS: IORequest ***** PROTOTYPE:**** Allocate_IOR()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**,** COMPLETION CODES: 0 = allocation failure**** SIDE EFFECTS: None.****--*/ IORequest *Allocate_IOR (void) { IORequest *ior; unsigned int status;3 const unsigned int iorsize = sizeof(IORequest);( status = lib$get_vm(&iorsize, &ior);/ if (!$VMS_STATUS_SUCCESS(status)) return 0; memset(ior, 0, iorsize);) INIT_SDESC(ior->bufdsc, 1, ior->buf); return ior;} /* Allocate_IOR */ /***++** ROUTINE: Get_IOR**** FUNCTIONAL DESCRIPTION:**;** Gets a free IORequest, either off the free queue or by** allocating one.**** RETURNS: IORequest ***** PROTOTYPE:**** Get_IOR()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.***** COMPLETION CODES: 0 = couldn't get one**** SIDE EFFECTS: None.****--*/IORequest *Get_IOR (void) { IORequest *ior;L if (_REMQUE(Free_Queue.head, (void **) &ior) & 1) return Allocate_IOR(); return ior;} /* Get_IOR */    NETLIB020.Dn?[NETLIB]ECHOSERVER.C;4M *[NETLIB]ECHOSERVER.C;4+,. / @ 4M f-n?0123KPWO 56n腄7|腄8^P͗89V$ǘG @HJ /***++)** FACILITY: NETLIB test "forked" server**** ABSTRACT: Echo server.**** MODULE DESCRIPTION:**B** This is a test server that simply returns any characters sentG** to it over a TCP connection. It is primarily intended for testing,** NETLIB's "forked" server compatibility.**** AUTHOR: M. MadisonG** COPYRIGHT 1994, MADGOAT SOFTWARE. ALL RIGHTS RESERVED.**** CREATION DATE: 17-NOV-1994**** MODIFICATION HISTORY:**1** 17-NOV-1994 V1.0 Madison Initial coding.**--*/!#include "netlib_dir:netlibdef.h"#include #include #include #include /*9** The following definition should match the port numberM** you have configured for this service in your master server configuration.*/* const unsigned short ECHO_PORT = 2000;/*** Forward declarations*/ unsigned int main(void); /***++** ROUTINE: main**** FUNCTIONAL DESCRIPTION:**C** Echo server main routine. Establishes the service connection,;** then just echoes any received data back to the sender.**B** RETURNS: cond_value, longword (unsigned), write only, by value**** PROTOTYPE:** ** main()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/unsigned int main (void) { struct SINDEF server_sin; struct dsc$descriptor dsc; char chr;! unsigned int status, context;7 const unsigned int sinsize = sizeof(struct SINDEF);/*5** The server setup MUST precede any CRTL I/O calls!**D** The socket address argument is ignored by all TCP/IPs except forD** CMU TCP/IP, which requires it, due to the way forked servers are ** implemented in that package.*/$ memset(&server_sin, 0, sinsize);9 server_sin.sin_w_port = netlib_hton_word(&ECHO_PORT);B status = netlib_server_setup(&context, &server_sin, &sinsize);4 if (!$VMS_STATUS_SUCCESS(status)) return status;$ dsc.dsc$b_dtype = DSC$K_DTYPE_T;$ dsc.dsc$b_class = DSC$K_CLASS_S; dsc.dsc$a_pointer = &chr; dsc.dsc$w_length = 1;/*D** The logic here is very simple because we're doing the I/O 1 byteH** at a time. As soon as the 1-byte buffer is filled, the read requestC** will complete; we then immediately echo the data back again and** start up another read.*/ while (1) {* status = netlib_read(&context, &dsc);- if (!$VMS_STATUS_SUCCESS(status)) break;+ status = netlib_write(&context, &dsc);- if (!$VMS_STATUS_SUCCESS(status)) break; }/*B** LINKDISCON is the normal ending status for us -- it just means/** the remote side closed down the connection.*/6 if (status == SS$_LINKDISCON) status = SS$_NORMAL; netlib_close(&context); return status; } /* main */   NETLIB020.Din?"[NETLIB]ECHOSERVER_STANDALONE.C;15TY"*[NETLIB]ECHOSERVER_STANDALONE.C;15+,i./ @ 4TR-n?0123KPWO56BRk7rRk8pBi/9V$ǘG @HJ/***++-** FACILITY: NETLIB test server (standalone)**4** ABSTRACT: Standalone version of the echo server.**** MODULE DESCRIPTION:**F** This is a test server for NETLIB. It implements an "echo" serverG** via TCP, which is supposed to echo back any characters sent to it.**C** We do character-at-a-time I/O, which isn't very efficient, but@** it's a good test of NETLIB's asynchronous I/O capabilities.****** AUTHOR: M. MadisonG** COPYRIGHT 1994, MADGOAT SOFTWARE. ALL RIGHTS RESERVED.**** CREATION DATE: 17-NOV-1994**** MODIFICATION HISTORY:**1** 17-NOV-1994 V1.0 Madison Initial coding.**--*/!#include "netlib_dir:netlibdef.h"#include #include #include #include #include #include #include #ifdef __DECC#include #else#pragma builtins#endifF#define INIT_SDESC(dsc, len, ptr) {(dsc).dsc$b_dtype = DSC$K_DTYPE_T;\C (dsc).dsc$b_class = DSC$K_CLASS_S; (dsc).dsc$w_length = (len);\! (dsc).dsc$a_pointer = (ptr);}/*A** The following definition should match the port number you use** in the client.*/* const unsigned short ECHO_PORT = 2000;8 static unsigned int sinsize = sizeof(struct SINDEF);/*** I/O request*/ typedef struct IORequest {% struct IORequest *flink, *blink; void *network_context; struct NETLIBIOSBDEF iosb; struct SINDEF remsin;" struct dsc$descriptor bufdsc;" struct dsc$descriptor adrdsc; unsigned int sinlen, count; char buf[1]; char remaddr[256]; } IORequest;/* ** Queue*/4 typedef struct Queue {void *head, *tail;} Queue;/*** Forward declarations*/. unsigned int main(int argc, char *argv[]);$ void Accept_AST(IORequest *ior);" void Read_AST(IORequest *ior);# void Write_AST(IORequest *ior);" IORequest *Allocate_IOR(void); IORequest *Get_IOR(void);/*** OWN storage*/9 static Queue Free_Queue = {&Free_Queue, &Free_Queue};" static void *network_listener; static int Done = 0;* static unsigned int completion_status; /***++** ROUTINE: main**** FUNCTIONAL DESCRIPTION:**G** Echo server main routine. Waits for incoming service connections,H** then starts a chain of ASTs that echo the data received back to the** sender on each connection.**B** RETURNS: cond_value, longword (unsigned), write only, by value**** PROTOTYPE:** ** main()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/,unsigned int main (int argc, char *argv[]) { IORequest *ior; struct SINDEF sin; unsigned int status; struct dsc$descriptor dsc; unsigned short port, buflen; int i; char buf[512];T static $DESCRIPTOR(faodsc, "Listener started on port !UW, use CTRL/Y to stop.");. status = netlib_socket(&network_listener);4 if (!$VMS_STATUS_SUCCESS(status)) return status; memset(&sin, 0, sinsize);2 port = (argc > 1) ? atoi(argv[1]) : ECHO_PORT;- sin.sin_w_port = netlib_hton_word(&port);< status = netlib_bind(&network_listener, &sin, &sinsize);4 if (!$VMS_STATUS_SUCCESS(status)) return status;. status = netlib_listen(&network_listener);4 if (!$VMS_STATUS_SUCCESS(status)) return status;& INIT_SDESC(dsc, sizeof(buf), buf);* sys$fao(&faodsc, &buflen, &dsc, port); dsc.dsc$w_length = buflen; lib$put_output(&dsc); for (i = 0; i < 16; i++) { ior = Allocate_IOR(); if (ior == 0) break;# _INSQUE(ior, Free_Queue.tail); } ior = Get_IOR();% if (ior == 0) return SS$_INSFMEM;D status = netlib_accept(&network_listener, &ior->network_context,8 &ior->remsin, &sinsize, &ior->sinlen,0 &ior->iosb, Accept_AST, ior);4 if (!$VMS_STATUS_SUCCESS(status)) return status; while (!Done) { sys$hiber(); }$ netlib_close(&network_listener); return SS$_NORMAL; } /* main */ /***++** ROUTINE: Accept_AST**** FUNCTIONAL DESCRIPTION:** ** Completion AST for accepts.**** RETURNS: void**** PROTOTYPE:**** Accept_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/"void Accept_AST (IORequest *ior) { unsigned int status; struct dsc$descriptor dsc; char buf[512]; unsigned short buflen;I static $DESCRIPTOR(faodsc, "Connection accepted from !AS, port !UW");7 if ($VMS_STATUS_SUCCESS(ior->iosb.iosb_w_status)) {F netlib_addrtostr(&ior->remsin.sin_x_addr, &ior->adrdsc, &buflen);' ior->adrdsc.dsc$w_length = buflen;' INIT_SDESC(dsc, sizeof(buf), buf);2 sys$fao(&faodsc, &buflen, &dsc, &ior->adrdsc,9 netlib_ntoh_word(&ior->remsin.sin_w_port)); dsc.dsc$w_length = buflen; lib$put_output(&dsc);> status = netlib_read(&ior->network_context, &ior->bufdsc,; 0, 0, 0, 0, &ior->iosb, Read_AST, ior); ior = Get_IOR(); if (ior == 0) {) completion_status = SS$_INSFMEM; Done = 1; sys$wake(0,0); return; } }D status = netlib_accept(&network_listener, &ior->network_context,8 &ior->remsin, &sinsize, &ior->sinlen,0 &ior->iosb, Accept_AST, ior);' if (!$VMS_STATUS_SUCCESS(status)) { completion_status = status; Done = 1; sys$wake(0,0); }} /* Accept_AST */ /***++** ROUTINE: Read_AST**** FUNCTIONAL DESCRIPTION:**%** Completion AST for network read.**** RETURNS: void**** PROTOTYPE:**** Read_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/ void Read_AST (IORequest *ior) {& struct dsc$descriptor dsc, msgdsc; unsigned int status; int len; unsigned short buflen; char buf[512], msgbuf[256]; static $DESCRIPTOR(faodsc,H "Connection from !AS port !UW closed, !UL bytes echoed:!/ !AS");% status = ior->iosb.iosb_w_status;& if ($VMS_STATUS_SUCCESS(status)) {E status = netlib_write(&ior->network_context, &ior->bufdsc, 0, 0,0 &ior->iosb, Write_AST, ior);- if ($VMS_STATUS_SUCCESS(status)) return; }( netlib_close(&ior->network_context);/ INIT_SDESC(msgdsc, sizeof(msgbuf), msgbuf); buflen = 0;0 sys$getmsg(status, &buflen, &msgdsc, 15, 0);! msgdsc.dsc$w_length = buflen;& INIT_SDESC(dsc, sizeof(buf), buf);1 sys$fao(&faodsc, &buflen, &dsc, &ior->adrdsc,J netlib_ntoh_word(&ior->remsin.sin_w_port), ior->count, &msgdsc); dsc.dsc$w_length = buflen; lib$put_output(&dsc); " _INSQUE(ior, Free_Queue.head);} /* Read_AST */ /***++** ROUTINE: Write_A   NETLIB020.Din?"[NETLIB]ECHOSERVER_STANDALONE.C;15T^U ST**** FUNCTIONAL DESCRIPTION:**4** Completion AST for terminal and network writes.**** RETURNS: void**** PROTOTYPE:**** Write_AST(ior)**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**** COMPLETION CODES: None.**** SIDE EFFECTS: None.****--*/!void Write_AST (IORequest *ior) { struct dsc$descriptor dsc; unsigned int status; int len; unsigned short buflen; char buf[512]; static $DESCRIPTOR(faodsc,M "Connection from !AS port !UW closed, !UL bytes echoed. (write error)");% status = ior->iosb.iosb_w_status;& if ($VMS_STATUS_SUCCESS(status)) { ior->count++;> status = netlib_read(&ior->network_context, &ior->bufdsc,; 0, 0, 0, 0, &ior->iosb, Read_AST, ior); }' if (!$VMS_STATUS_SUCCESS(status)) {) netlib_close(&ior->network_context);' INIT_SDESC(dsc, sizeof(buf), buf);2 sys$fao(&faodsc, &buflen, &dsc, &ior->adrdsc,E netlib_ntoh_word(&ior->remsin.sin_w_port), ior->count); dsc.dsc$w_length = buflen; lib$put_output(&dsc);# _INSQUE(ior, Free_Queue.head); return; }} /* Write_AST */ /***++** ROUTINE: Allocate_IOR**** FUNCTIONAL DESCRIPTION:**** Allocates an IORequest.**** RETURNS: IORequest ***** PROTOTYPE:**** Allocate_IOR()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.**,** COMPLETION CODES: 0 = allocation failure**** SIDE EFFECTS: None.****--*/ IORequest *Allocate_IOR (void) { IORequest *ior; unsigned int status;3 const unsigned int iorsize = sizeof(IORequest);( status = lib$get_vm(&iorsize, &ior);/ if (!$VMS_STATUS_SUCCESS(status)) return 0; memset(ior, 0, iorsize);) INIT_SDESC(ior->bufdsc, 1, ior->buf);@ INIT_SDESC(ior->adrdsc, sizeof(ior->remaddr), ior->remaddr); return ior;} /* Allocate_IOR */ /***++** ROUTINE: Get_IOR**** FUNCTIONAL DESCRIPTION:**8** Gets a free IORequest, either off the free queue or** by allocating one.**** RETURNS: IORequest ***** PROTOTYPE:**** Get_IOR()**** IMPLICIT INPUTS: None.**** IMPLICIT OUTPUTS: None.***** COMPLETION CODES: 0 = couldn't get one**** SIDE EFFECTS: None.****--*/IORequest *Get_IOR (void) { IORequest *ior;L if (_REMQUE(Free_Queue.head, (void **) &ior) & 1) return Allocate_IOR(); ior->count = 0;@ INIT_SDESC(ior->adrdsc, sizeof(ior->remaddr), ior->remaddr); return ior;} /* Get_IOR */   NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#*[NETLIB]NETLIB_DOC.DECW$BOOK;2+,./ @ 4#-A 0123KPWO56~'ʘ77R)ʘ87'[89G @HJ`> brNETLIB Programmer's Guide'ʘNETLIB_DOC 1 Contents  TablesB*7VAX DOCUMENT V2.2(JXJ0ble_tJHJ0JPoN2=option_tableJviewlJ9~H`JOJendformaltopicL JJ0erview( J Jshut_table6(PJ ,J8Joption_table(J`JendtableeEent(J J:Jstatus_table@hJJ~OC0JJsocket_type_tableH0J0 J;U~status_table/ gCONTENTSCONTENTS8 E\TitlePageTitle Page@E\ CopyrightPageCopyright Page1xE\PrefacePreface Aw$K1UsingNETLIB1 Using NETLIBDg  $K1.1&KOverview1.1 OverviewO\!!$@1.1.1NETLIBServices1.1.1 NETLIB ServicesMg$ $L1.2&LHeaderfiles1.2 Header filesbg/ $L1.3"&LNETLIBData Structures1.3 NETLIB Data StructuresW\%%$A1.3.1 INADDRDEF Structure1.3.1 INADDRDEF StructureQ\""$A1.3.2SINDEF Structure1.3.2 SINDEF StructureS\##$A1.3.3MXRRDEF Structure1.3.3 MXRRDEF Structuregl"--$A1.3.4NETLIB_DNS_HEADER Structure1.3.4 NETLIB_DNS_HEADER Structuregw1 $K1.4$&K Byte-OrderConsiderations1.4 Byte-Order Considerationsw+@ $K1.53&K Synchronousvs.' Asynchronous Operation1.5 Synchronous vs. Asynchronous Operation Vg) $K1.6&KI/OStatusBlock1.6 I/O Status Block!dw0 $L1.7#&LLinkingNETLIBPrograms1.7 Linking NETLIB Programs"`w. $K1.8!&K ContactingtheAuthor1.8 Contacting the Author$\((\PartIMRoutine DescriptionsPart I Routine Descriptions)=rEK NETLIB_ACCEPTNETLIB_ACCEPT*Or  EKNETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAME8CrEKNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRH9r EL NETLIB_BINDNETLIB_BINDQ;r EK NETLIB_CLOSENETLIB_CLOSE]?rEKNETLIB_CONNECTNETLIB_CONNECTdOr  EKNETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMEpMrEKNETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAME|KrEKNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPCrELNETLIB_DNS_QUERYNETLIB_DNS_QUERYIrEKNETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMEGrELNETLIB_GETPEERNAMENETLIB_GETPEERNAMEGrEKNETLIB_GETSOCKNAMENETLIB_GETSOCKNAMEErEKNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTCrEKNETLIB_HTON_LONGNETLIB_HTON_LONGCrEKNETLIB_HTON_WORDNETLIB_HTON_WORD=rEK NETLIB_LISTENNETLIB_LISTENOr  ELNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSCrEKNETLIB_NTOH_LONGNETLIB_NTOH_LONGCrEKNETLIB_NTOH_WORDNETLIB_NTOH_WORD 9r EK NETLIB_READNETLIB_READArEKNETLIB_READLINENETLIB_READLINEIrEKNETLIB_SERVER_SETUPNETLIB_SERVER_SETUP-ErELNETLIB_SETSOCKOPTNETLIB_SETSOCKOPT6ArELNETLIB_SHUTDOWNNETLIB_SHUTDOWNF=rEK NETLIB_SOCKETNETLIB_SOCKETTCrEKNETLIB_STRTOADDRNETLIB_STRTOADDR^;r EK NETLIB_WRITENETLIB_WRITEfCrEKNETLIB_WRITELINENETLIB_WRITELINEsIx" $\A\StatusCodesA Status Codes~SS+gTABLESTABLESsl'44=ARTN-1DomainNameServicequerytypesRTN- 1 Domain Name Service query typestl(44=ARTN-2FlagvaluesforNETLIB_DNS_QUERYRTN- 2 Flag values for NETLIB_DNS_QUERYNl  =ARTN-3SocketoptionsRTN- 3 Socket options>Nl  =ARTN-4ShutdowntypesRTN- 4 Shutdown typesMJl=@RTN-5SockettypesRTN- 5 Socket types[U\$$=@A-1NETLIBStatusCodesA- 1 NETLIB Status Codes[[fF<* Copyright1994MadGoat Software.&AllRights Reserved. ~AllRights Reserved.O%%ONETLIB Programmer'sGuideCO November,1994VO{Thismanualcontains informationaboutNETLIB,alibraryforTCP/IP1Onetwork programmingonVMSsystems.tJ'ORevision/Update Information:#^Thisisanewmanual.,t*O OperatingSystemandVersion:,^VAX/VMSV5.2orlater;OpenVMS^AXPV1.0orlater\2OSoftwareVersion:^NETLIBV2.0   NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#n! : O OO 01November1994jO Permissionisgrantedtocopyand redistributethisdocumentforno commercialgain.jOVThe informationinthisdocumentissubjecttochangewithoutnoticeandshouldnotfObe construedasa commitmentbytheauthor.(TheauthorassumesnoresponsibilityBOforanyerrorsthatmayappearinthis document.Ou DISCLAIMER:RuTheauthor,theauthor's employer,andMadGoatSoftwaremakenofOrepresentationsor warrantieswithrespecttothecontentshereofand specificallynOdisclaimanyimplied warrantiesofmerchantabilityorfitnessforany particularpurpose.WOAXP,DEC,VAX,VMS,andOpenVMSare trademarksofDigital EquipmentO Corporation.GOsUNIXisa trademarkofUnixSystem Laboratories,Inc.4OMultiNetisa trademarkofTGV,Inc.HOTCPwareisa trademarkofProcessSoftware Corporation.FODPathWayisa trademarkofThe WollongongGroup,Inc. OFO! Copyright1994MadGoat Software.'AllRights Reserved.* UU    OPrefaceDOThereareseveralTCP/IPpackages availableforVMSDOsystemstoday.,Eachprovidesa VMS-style programmingCOX interface,!usingthe $QIO system service,!and mostHOalsoprovidea ``socket'' programminglibrary,basedon@O thecommunicationsmodel developedforBSDUNIX.FObUnfortunately, thereisnostandardamongalloftheHOpackagesforthe $QIO-based programming interface(most,VObutnotall,emulate Digital's,atleasttosomedegree),andthe>Ol $QIO-based interfaceisnotveryeasytouse.  WMOThesocket librariesprovidedwiththesepackagesprovideaFOsomewhat easier-to-use programming interface,butdon'tFO5permit VMS-style asynchronous programming(usingASTs),IOand generallyrequireatleastare-LINK,and sometimesLOsourcemodifications,whenmovingfromonevendor'slibraryO>toanother. BONETLIBwas originally developedtosupportMadGoatFO Software'sMessageExchangemailpackage,whichneeded?O5tosupportmanyTCP/IPpackagesdoing VMS-styleFO asynchronous programming.(NETLIBprovidesa consistent,EO VMS-style interfacefor TCP/IP-basednetwork programs,OO> operatingwithallofthe currently availableTCP/IPpackagesHO availabletodayforVMS(withoneminor exception).-InRO addition,NETLIBallowsfor flexibilityintheuseofaTCP/IPKOHpackage,by selectingthevendor-dependentlibrarycodeat-O run-time,ratherthan link-time.   OIntendedAudience?OUThis manual is intended for programmers writing*O applicationsthatuseNETLIB.L77  ODocument StructureNOUThisdocumentconsistsofan introductorychapter,asectionKO containingroutine descriptions,andanappendix describing=OthestatuscodesreturnedbyNETLIB routines.. ORelated Documents OUThe%UNETLIB InstallationGuide%U describeshowtoinstallONETLIB.cO 1.2Using!NETLIBHOThischapter discussestheNETLIB programming interface.rl l ! XO1.1BOverviewHOUNETLIBprovidesasingle programming interfacethatcanJObeusedwithalmostanyTCP/IPpackageforVMSsystems.NOWhileeverypackageprovidesa$QIO interfaceandmostalsoJO^provideasocketlibrary,the advantagestousingNETLIBOinsteadare:! S `m>mNETLIBallows VMS-style asynchronous programmingG(usingASTs)withouthavingtousethe$QIO interfaceD directly.)The$QIO programming interfacevariesfromwvendortovendor. `HNETLIBselectsitsvendor-specificsupportcodeatrun-EOtime,allowingyoutoswitchbetweenTCP/IPpackagesHwithout re-linkingyourprogram.&YoucanevenhavetheJsame application, installedjustonce,runover differentIYTCP/IPpackagesatthesametimeon differentnodesin a VMSclustersystem. `0A0NETLIBprovidesaVMScommonlanguage environmentIstyleof programming interface,makingiteasiertouseEfromother languagesthana UNIX-typesocketlibrary':writtenforC programmers.! q!O1.1.1BNETLIBServicesIO4NETLIBprovidesservicesforwriting TCP/IP-basednetworkIO programs,bothclientandserver..ServerscaneitherbeJO standalone, AST-driven programs,orcanbesingle-threadedNO=server processes ``forked''bythe``masterserver''provided&OwitheachTCP/IPpackage.qGGONETLIBservicescanbegroupedintofourbasicareas:! p `mm Connectionservices*m..TheseroutinesprovidetheEservices necessaryfor performingTCP/IPnetworkI/O. `EE Line-modeservices/E.+Theseroutinesprovidealine-Dorientednetworkreadsandwrites,for line-oriented* protocolsthatrunoverTCP. `v!v DNSresolverservices+=v.,TheseroutinesprovidehostFnameandaddresslookup services.*AdirectDNSquery&'routineisalso provided. ` Utilityroutines92.'Theseareroutinesfordoing byte-orderJ conversions,IPaddressparsingand formatting,andother"W miscellaneous services. qO1.2BHeaderfilesCOUNETLIBincludesheaderfilesforbothCandBLISS@O programming,called NETLIBDEF.HandNETLIBDEF.R32,IO respectively.+Theheaderfilesresideinthe NETLIB_DIR:QO^ directory.'Thesefilesdefine constantsand structuresthatare8OusedbytheNETLIB programming interface.   )'O1.3BNETLIBData StructuresGOUNETLIBusesseveraldata structuresinits programmingCO interface.-Someofthesedata structures (INADDRDEFBOandSINDEF)arecommontoallBSDsocket-orientedBO^ programming libraries, one (MXRRDEF)isspecialtoFONETLIB.TheheaderfilesprovidedwithNETLIBdefines=Othese structuresforBLISSandC programmers.k  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#i%O1.3.1B INADDRDEF StructureCO4The INADDRDEF structureisusedforpassinganIPMOaddress.)Thecontentsis (currently)a longword,innetworkObyteorder(seeSection1.4'formore information).0Its&O= definitionis(inC)is: struct& INADDRDEF%{(   unsigned&long%inaddr_l_addr; R }*?"O1.3.2BSINDEF StructureIO4TheSINDEF structuredefinesanIP ``socket,''whichisIOa combinationofanIPaddressandaTCPorUDPport'Onumber.'Its definitionis:i struct&SINDEF%{(  unsigned&short& sin_w_family;&  unsigned&short& sin_w_port;(zA struct% INADDRDEF% sin_x_addr;'z unsigned&char% sin_x_mbz[8];  } N OThe sin_w_family7fieldshouldalwaysbesetto NETLIB_K_#OAF_INET(value2).'The sin_w_mbz#fieldshouldalwaysbeO5zeroed.2JOThisisaspecificformofthemoregeneral SOCKADDRDEFJO structureforusewithIP-basedsockets.)NETLIB currentlyIO5onlysupportsIPnetwork programming,soothertypesof+O addressesshouldnotbeused.\#O1.3.3BMXRRDEF Structure@O4TheMXRRDEF structureisusedtoreturnMXre-FOsourcerecord informationinacalltoNETLIB_DNS_MX_OLOOKUP:i struct&MXRRDEF%{+z unsigned&int%mxrr_l_preference;'z unsigned&int%mxrr_l_length;zA char_A mxrr_t_name[128];  }Y//OThis structureisNETLIB-specific.P! `&-O1.3.4BNETLIB_DNS_HEADER StructureJO4AdomainnameserveracceptsqueriesandreturnsrepliesMOprefixedwithwithastandardheader.,A definitionofthisFOheaderisprovidedintheNETLIB_DNS_HEADER structure.HO=Refertothe NETLIBDEFheaderfileandthe appropriateIODNSRFCs(suchasRFC1035)formore informationaboutHOthisheader.)OnlythoseprogramswhichusetheNETLIB_COG DNS_QUERYroutinewillneedthisheader definition.66 ))O1.4B Byte-OrderConsiderationsHOUInNETLIB routines, addressesandportnumbersareex-SOpectedtobein ``networkorder;''thatis,withthe high-orderNObytefirst.*Thisisoppositethenatural byte-orderforVAXIO^andAXPsystemsrunningVMS,whichplacesthe low-orderKObytefirst.,NETLIBprovidesroutinesthatcanbeusedtoLOreversebyteorderforuseinthecallswhichexpectit.$$  )8O1.5B Synchronousvs.' Asynchronous OperationBOUMostNETLIBroutinescanbeexecuted synchronouslyGO(wheretheroutineuses$QIOW)orasynchronously($QIOMOisusedinsteadof$QIOW).Tohavearoutinecalledasyn-+O^ chronously,specifyanon-zero^ astadr^argument(and,O optionally,the` astprm+ argument,tohavea parameter)OpassedtotheAST routine).JJ0!!O1.6BI/OStatusBlockJOUMostNETLIBroutinesincludeanoptional parameterforaMO VMS-styleI/Ostatusblock(IOSB),whichisusedtoreturnOOstatus informationtothecallingprogram.(ThefirstwordofPO^theIOSBistheNETLIBstatuscodeforthecall;thesecondOOword,forreadandwrite operations,isthenumberofbytesOO transferred.(ThesecondlongwordoftheIOSBisnotusedbyOhNETLIB.;;"K(O1.7BLinkingNETLIBProgramsIOUTolinkyourprogramwithNETLIB,includethe following+OlineinaLINKoptionsfile:2 NETLIB_SHRXFR/SHARE># NO ReferencingthislogicalnamewilllinkyourprogramagainstJONETLIB'stransfervector,whichatrun-timewillactivateJO5the appropriatevendor-specificversionofNETLIB(pointed2Otobythe NETLIB_SHRlogicalname).i2$ &O1.8B ContactingtheAuthorOOUThereisnoformalsupportforNETLIB.IfyouhaveInternetMO connectivity,however,youmaywishto subscribetooneorFOmoreofthe followingMadGoatSoftwaremailinglists:O%%%m Info-MadGoat@wkuvx1.wku.edum& CEW DiscussionofMadGoatSoftwareproductsbyusersandDMadGoat developers.,To subscribe,sendamessageto-#Info-MadGoat-Request@wkuvx1.wku.eduwiththewordKa SUBSCRIBEinthefirstlineofthebodyofthemessage.) MadGoat-Announce@wkuvx1.wku.eduj'@DW Announcementsofnewreleasesandnewproductsfrom8MadGoat.+To subscribe,sendamessagetoMadGoat-)Announce-Request@wkuvx1.wku.edu&withthewordKa SUBSCRIBEinthefirstlineofthebodyofthemessage.% MadGoat-Bugs@wkuvx1.wku.eduK( z!EWAddressfor reportingbugsinMadGoatSoftwareprod-Kucts.'PleaseincludethenameofthepackageandversionOinthesubjectheaderofthemessage,sothereportcanbeBamoreeasilydirectedtothe appropriate developer.r)n(OPartI8Routine DescriptionsFOThispart describestheeachoftheNETLIB routines.@@k*AO] NETLIB_ACCEPT*OAcceptanincoming connection*+,ABO NETLIB_ACCEPTwaitsforanincoming connectionandLO(acceptsit,creatinganewsocketforthenew connection.-=OFormat7Os NETLIB_ACCEPTMsocket ,newsocket [,remaddr]2 [,remaddr-size][,remaddr-len][,iosb]$ [,astadr] [,astprm].OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue/O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference:OpSocketthatwas establishedasa listener.90?O newsocket(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby   NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2# -referenceMOSocketfortheaccepted connection(createdandreturnedbyO&this routine).b1?8Oremaddr O( VMSUsage:! structureO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceMOAddressofasocket_address structureintowhichtheremoteLO& address/port informationforthenew connectioniswritten.2O remaddr-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceOSizeofthe remaddrV structure.C3! ?O remaddr-len(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceOOLongwordintowhichtheactualreturnedlenghtofthesocketO&addressiswritten.4Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'5 ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.6OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.7! O DescriptionVOsThisroutineisusedaspartofa ``passive''open sequence,typ-TOicallybyserversthatbindasockettoaspecificportnumber,OO$then establishalistenertohandletheincoming connections.OO|Thiscallisusedtoacceptanincoming connection,creatingOOanewsocketforthenew connection.*ThelistenersocketisKO-notaffectedbythiscall,soyoucancall NETLIB_ACCEPTLOagaintowaitforanotherincoming connectiononthesame.Oportafteroneaccept completes.KOzIfyouwanttoknowtheaddressandportnumberoftheLOremoteendoftheaccepted connection,youcaneitheruse O+the+ remaddr A+,m+ remaddr-size+,anda+ remaddr-len+argu-TOmentsonthiscall,orfollowthiscallwithacalltoNETLIB_O GETPEERNAME.~8T O]NETLIB_ADDRESS_TO_NAME4OGetthehostnameforanIPa3ddress*9:A=ONETLIB_ADDRESS_TO_NAMEperformsaninversehostIO(lookup, returninganame associatedwithanIPaddress.;=OFormat=Os NETLIB_ADDRESS_TO_NAMENsocket,[which],address,( addrsize,hostname [,retlen]'$ [,iosb] [,astadr] [,astprm]<OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueB=O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceOOpThesocketaboutwhichyouwishtoobtaintheoptioninfor-Omation.> ROwhich(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceROAcode indicatingthetypeoflookuptobe performed.'PossibleAO&valuesareNETLIB_K_LOOKUP_DNS(1),whichrequestsLO~thatthenamebelookedupusingtheDomainNameSystem,;OandNETLIB_K_LOOKUP_HOST_TABLE(2),whichre-OO/queststhatthenamebelookedupinthelocalhosttable.COIfomitted,thedefaultisNETLIB_K_LOOKUP_DNS.SeeKOthe Descriptionsectionfor informationonpackage-specific.O9 restrictionswiththis parameter.!??Oaddress O( VMSUsage:! structureO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceDOAn INADDRDEF structure containingtheaddresstobeO&lookedup.,@Oaddrsize(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference6OThesizeoftheaddresspassedinthe~ address parameter.AOhostname"O( VMSUsage:! char_stringO type:* characterstringO access:writeonly$O2 mechanism:Fby descriptorOOAbufferintowhichthereturnedhostnamewillbewritten. BOretlen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:writeonly#O2 mechanism:Fby referenceAOThereturnedlengthofthehostname,inbytes.COiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'D ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.EOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.cF D9O DescriptionGOsThisroutineperformsanaddress-to-namelookupontheJO specifiedIPaddress.)EachTCP/IPpackage implementsthisRO$functionslightly differently,sotherearesome restrictionson&O|theuseofthisroutine.6OFor MultiNet,TCPware,andPathway,the whichargu-LOpmentisusedto determinewhetherthelookupshouldoccurIOusingNETLIB'sDNSresolversupportorusingtheTCP/IPNO! package's host-tableaccess routines.(Forthese packages,theROz host-tableaccessmethodcannotbeusedatASTlevel.'Also,ifNOaDNSlookupis attemptedandthesystemisnot configuredDO+forDNS,anSS$_UNSUPPORTEDerrorwillbe returned.GW*OForUCXandCMUTCP/IP,the  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#)<& which2argumentisig-POnored,sincethesepackagesdonotprovideseparateaccesstoNO5DNSandlocalhosttables.)ForUCX,hosttablelookupwillNOoccurfirst,followedbyaDNSlookup.(ForCMU,thisorderOis reversed. tHJO]NETLIB_ADDRTOSTR0OFormatanIPaddresstoastring*IJ AxHONETLIB_ADDRTOSTRisautilityroutinefor formattingan0O(IPaddressasa characterstring.qKGOFormat7Os NETLIB_ADDRTOSTRNaddress,string [,retlen]LOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue>MO ArgumentsOsaddress+O VMSUsage:! INADDRDEF structureO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceDOpAn INADDRDEF structure containingtheaddresstobeO formatted.NOstring"O( VMSUsage:! char_stringO type:* characterstringO access:writeonly$O2 mechanism:Fby descriptor9OThestringtoholdthe formattedaddress.OOretlen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:writeonly#O2 mechanism:Fby reference2OThenumberof characterswrittento string u.PO DescriptionOOsThisisautilityroutinewhichformatsanIPaddresstoaAO characterstring,usingthedotted-decimalformat.9 9  nQDO] NETLIB_BIND/OBindasockettoan address/port*RSAXGO NETLIB_BINDsetstheaddressand/orportnumberforaO(socket.TtOFormatFOs NETLIB_BINDMsocket,socket-address, sockaddr-len[,iosb] [,astadr] [,astprm]UOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueVO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference OpSockettobebound.LW?"Osocket-address O( VMSUsage:! structureO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceMOSocket_address structure describingtheaddresesandportto0O&whichthesocketistobebound. XO sockaddr-len(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference4OSizeofthesocketaddress structure.YOiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'Z ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.[OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.\O DescriptionOOsThisroutineisused primarilybyserverprogramstobindaUOsockettoa particularport,andis typicallyfollowedbyacallGO$to NETLIB_LISTENtoopenapassive connectiononthatO|port.SOIfaprogramdoesnotbindasockettoa particularlocalad-KOp dress/port combination,the underlyingTCP/IPsoftwarewill;O automaticallyassignanaddressand/orport.qq`]6O] NETLIB_CLOSE OClosedownasocket*^T_**O NETLIB_CLOSEclosesasocket.X`.OFormatOs NETLIB_CLOSENsocketaOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvaluebO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference!OpSockettobeclosed.Xc! .O DescriptionSOsThisroutinedeletesthe specifiedsocket,closingthe associatedNOnetworkcommunicationschannel,ifoneisopen.'Onceclosed,OO$thesocketcannolongerbeused;youmustopenanewone)O|withthe NETLIB_SOCKETcall.n   {dQO]NETLIB_CONNECT9OConnectasockettoaremote address/port*efAVAONETLIB_CONNECTconnectsasockettoaremotead-O( dress/port.gwOFormat@Os NETLIB_CONNECTNsocket,socket-address, sockaddr-len'B [,iosb] [,astadr] [,astprm]hOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueiO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference$OpSockettobe connected.Pj?&Osocket-address O( VMSUsage:! structureO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceMOSocket_address structure describingtheaddresesandportto4O&whichthesocketistobe connected. kO sockaddr-len(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference4OSizeofthesocketaddress structure.lOiosb&O( VMSUsage:!io_status_blockO   NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#6 Ktype:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'m ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.nOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.Ho O DescriptionKOsThisroutineisused primarilywith TCP-basedprogramstoLO establisha connectiontoaremotesystem.)WhenusedwithNO$UDP,thisroutinefixestheaddresstowhich subsequentUDP$O| datagramswillbesent.    p^ O]NETLIB_CONNECT_BY_NAME>O EstablishaTCP connectiontoahostbyname*qr;ONETLIB_CONNECT_BY_NAME establishesaTCPcon-PO(nectiontoahostusingthehost'sname,ratherthanitsIPOaddress.s qOFormatCOs NETLIB_CONNECT_BY_NAMENsocket, hostname,port[,iosb] [,astadr] [,astprm]tOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue#uO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceAOpA STREAM-typesocket allocatedwithNETLIB_SOCKET.Dv?Ohostname"O( VMSUsage:! char_stringO type:* characterstringO access:readonly$O2 mechanism:Fby descriptorMOA characterstring containingeitherahostnameoranIP.O&addressindotted-decimalformat.>w! COport$O# VMSUsage:! word_unsignedO| type:*| word (unsigned)O access:readonly#O- mechanism:Fby referenceQOTheportnumbertoconnecttoonthe destinationhost.'UnlikeJO the SIN_W_PORTfieldofaSINDEF(socketaddress)struc-0Oyture,thisnumberis specifiedinyhostorderUy,notnetwork=Oorder.(NETLIB_CONNECT_BY_NAMEwill automaticallyCO*converttheportnumbertonetworkorderforyou.xOiosb&O( VMSUsag Qe:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'y ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.zOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.{FO DescriptionKOsThisroutineconvertsthe specifiednameordotted-decimalEOaddresstoanIPaddressandusesNETLIB_CONNECTtoPO$connecttothe specifiedhostandport.)Ifmultiple addressesNO|arereturnedbythehostnamelookup,eachaddresswillbePOtrieduntila connectionis establishedorall addresseshaveO-beentried.   !x|NO]NETLIB_DNS_EXPANDNAME/OExpandanameinaDNSresponse*}~ ACONETLIB_DNS_EXPANDNAMEisautilityroutineusedfor>O( extractingadomainnamefromaDNS response.sOFormatBOs NETLIB_DNS_EXPANDNAMEM bufstart,buflen,bufptr,name! [,retlen] [,skipcount]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOsbufstartO VMSUsage:!pointerO$ type:*$ longword (unsigned)O| access:readonlyO mechanism:FbyvalueEOpApointertothestartoftheDNSresponsebuffer.Obuflen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:readonly#O2 mechanism:Fby reference1OThesizeofthebuffer,inbytes./?ObufptrO( VMSUsage:!pointerO Vtype:* longword (unsigned)O access:readonlyO2 mechanism:FbyvalueMOApointertotheareaofthebuffer containingthedomain!O&nametobe expanded.>/Oname"O VMSUsage:! char_stringOq type:*q characterstringO access:writeonly$O" mechanism:Fby descriptorLOA descriptorfora characterstringbufferintowhichthe,Oexpandednamewillbewritten. Oretlen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:writeonly#O2 mechanism:Fby referenceEOThereturnedlengthoftheexpandedname,inbytes./?O skipcount$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:writeonly#O2 mechanism:Fby referenceMOThenumberofbytesinthebufferthatwereusedfortheO&domainname.3!  O DescriptionNOsThisisautilityroutineusedwhenparsingaresponsere-DOturnedbyacalltoNETLIB_DNS_QUERY.ItexpandsaLO$domainnamestoredinaDNSresponseouttothetypical,1O|human-readable, dotted-domainformat.NOThisroutineisneededbecauseofthewaydomainnamesareNOp representedinDNS responses.&RefertoRFC1035forfurtherIO informationontheformatofDNSqueriesand responses.s# (oONETLIB_DNS_MX_LOOKUPlooksupahostname,re-$O(turninganyMXrecords.=OFormat=Os NETLIB_DNS_MX_LOOKUPMsocket, hostname, mxrrlist,.w mxrrlist-size [,mxrrcount][,iosb]w$ [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference6OpAnysocket allocatedwithNETLIB_SOCKET.Ohostname"O( VMSUsage:! char_stringO type:* characterstringO access:readonly$O2 mechanism:Fby descriptor.OThehostnametobelookedup.=?Omxrrlist,O( VMSUsage:!arrayof structuresO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceBOAnarrayofMXRRDEF structuresintowhichtheMX%O&recordswillbewritten.$O mxrrlist-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference,OThenumberofelementsinthe mxrrlistarray.+O mxrrcount(O# VMSUsage:!longword_unsignedO| type:*| longword (unsigned)O access:writeonly#O- mechanism:Fby reference;OTheactualnumberofMXrecordswrittento mxrrlist .Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine. O DescriptionLOsThisroutineperformsaDNSlookuponthe specifiedname,JO returninganyMail Exchanger(MX)recordsforthatname.BOfFor MultiNet,TCPware,andPathway,andUCX,thisAOroutineisa front-endthatusesNETLIB_DNS_QUERYEOtoperformtheDNSqueries.,ForCMUTCP/IP,theMX8Oplookupsare performedusingNAMREScalls.  "!%d:O]NETLIB_DNS_QUERY OPerformaDNSquery*A=ONETLIB_DNS_QUERYformatsadomainnameserviceCO(queryandreturnstheresponsefromaDNSserver. OFormatDOs NETLIB_DNS_QUERYMsocket,name,[class],type,buffer,: bufsize[,flags][,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue;O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceFOpAsocket allocatedwithNETLIB_SOCKET.AnysocketcanObeused.Oname"O VMSUsage:! char_stringOq type:*q characterstringO access:readonly$O" mechanism:Fby descriptor0OThedomainnametobelookedup. ^Oclass(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceJOTheclassofthequery.-ForInternetdomainnames,thisEO&shouldbeNETLIB_K_DNS_CLASS_IN,whichisthedefault+O~ifthis parameterisomitted.cOtype(O# VMSUsage:!longword_unsignedO| type:*| longword (unsigned)O access:readonly#O- mechanism:Fby referenceQOThetypeofquery.(Validtypecodesare specifiedbyInternetLO RFCsontheDNS,thecodesprovidedbyNETLIBarelisted OyinyTableRTN-1.*<?Obuffer"O VMSUsage:! varying_argOT type:*T longword (unsigned)O access:writeonly#O mechanism:Fby referenceGOAbufferintowhichtheDNSresponsewillbecopied.Obufsize$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:readonly#O2 mechanism:Fby referenceOThesizeof buffer,inbytes. vOflags$O( VMSUsage:! longword_maskO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceNOAbitmaskofflags specifyingoptionsforthisquery.,Valid O&flagsarelistedin&TableRTN-2.+&Ifomitted,thedefaultvalue&O~forthis parameteris1.*?Oiosb&O VMSUsage:!io_status_blockOT type:*T longword (un  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#}V isigned)O access:writeonly#O mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine. O DescriptionLOsThisroutineformatsaDNSqueryandreturnstheresponsePOfromany answeringnameserver.'Ifthequeryfails,anerrorO$statusis returned.GOFor MultiNet,TCPware,andPathway,andUCX,thenameOOserversthatarequeriedarethose specifiedforthosepack-KOpages.-With MultiNet,forexample,theoneslistedintheFO translationstringforthelogicalnamefor MULTINET_?O! NAMESERVERSareused.+FortheCMUTCP/IPpack-MOzage,thenameserversusedbyNAMRESarenot availabletoEONETLIB,soyoumustdefinethelogicalnameNETLIB_@O+ NAMESERVERSwiththeIP address(es)ofthenameGO server(s)youwantNETLIBtouse.-Ifnonameservers9Ocanbefound,SS$_UNSUPPORTEDis returned.%"&tJO]NETLIB_DNS_SKIPNAME-OSkipanameinaDNSresponse*AAONETLIB_DNS_SKIPNAMEisautilityroutineusedforGO(parsingDNS responseswhichskipsoveradomainname.h>OFormat.Os NETLIB_DNS_SKIPNAMENbufptr,buflenOReturns&Os VMSUsage:!longword_signedO type:* longword(signed)O$ access:writeonlyO| mechanism:FbyvalueJ O ArgumentsOsbufptrO VMSUsage:!pointerO$ type:*$ longword (unsigned)O| access:readonlyO mechanism:FbyvalueQOpApointertotheareaoftheDNSresponsebufferthatbegins%Othenametobeskipped.2?Obuflen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:readonly#O2 mechanism:Fby referencePOAcountofthenumberofbytesinthebuffer,startingfromO& bufptr T&.! :O DescriptionNOsThisisautilityroutineusedwhenparsingaroesponsere-DOturnedbyacalltoNETLIB_DNS_QUERY.ItreturnsaNO$countofthenumberofbytestoskip allocatedtothedo-?O|mainname positionedinthebufferatlocation| bufptr|.'IftheGO operationfails,-1isreturnedtoindicateanerror.NOpThisroutineisneededbecauseofthewaydomainnamesareNO representedinDNS responses.&RefertoRFC1035forfurtherIO! informationontheformatofDNSqueriesand responses.q q & %'lBO]NETLIB_GETPEERNAME&OGetremotesocketaddress*Aw@ONETLIB_GETSOCKNAMEreturnstheremoteaddressand7O(port informationfora connectedsocket.=OFormat6Os NETLIB_GETPEERNAMENsocket,socket-address,) sockaddr-size,sockaddr-retlen'$ [,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue'O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceEOpSocketforwhichthe informationistobe returned.<?Osocket-address O( VMSUsage:! structureO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceJOSocket_address structurewhichwillholdthereturnedad-"O& dress/port information. O sockaddr-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference4OSizeofthesocketaddress structure.Osockaddr-retlen(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby reference=OReturnedactuallengthofthesocketaddress.Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.! O DescriptionNOsThisroutineisusedtoreturntheremoteaddressandportRO informationforasocketthatis connectedtoaremotesystem.^ ^ ' &(kAO]NETLIB_GETSOCKNAME%OGetlocalsocketaddress*Ak?ONETLIB_GETSOCKNAMEreturnsthelocaladdressand,O(port informationforasocket.=OFormat6Os NETLIB_GETSOCKNAMEMsocket,socket-address,)' sockaddr-size,sockaddr-retlen''$ [,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue'O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceEOpSocketforwhichthe informationistobe returned.<?Osocket-address O( VMSUsage:! structureO   NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#xtype:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceJOSocket_address structurewhichwillholdthereturnedad-"O& dress/port information. O sockaddr-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference4OSizeofthesocketaddress structure.Osockaddr-retlen(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby reference=OReturnedactuallengthofthesocketaddress.Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.O DescriptionMOsThisroutineisusedtoreturnthelocaladdressandportMO informationforasocketthathasbeenboundor connected.~~)(*! UO]NETLIB_HTON_LONG;OConvert host-orderlongwordtonetworkorder*GONETLIB_HTON_LONGisautilityroutinefor convertingaMO(longwordinthelocalhost'sbyteordertoa network-orderO longword.[1OFormat!Os NETLIB_HTON_LONGMvalueOReturns(Os VMSUsage:!longword_unsignedO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue O ArgumentsOsvalue(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference+OpThelongwordtobe converted.O DescriptionQOsThisisautilityroutinewhichreversesthebyteorderofaMOlongwordtoconvertitfromthenativeformatforthelo-OO$calhost(whichis``little-endian''forVAXandAXPsystemsIO|runningVMS)tonetworkorder(whichis``big-endian'').AOThereturnedvalueisthe network-order longword.II*)+{QO]NETLIB_HTON_WORD7OConvert host-orderwordtonetworkorder* AGONETLIB_HTON_WORDisautilityroutinefor convertingaPO(wordinthelocalhost'sbyteordertoa network-orderword.[1OFormat!Os NETLIB_HTON_WORDNvalueOReturns$Os VMSUsage:! word_unsignedO type:* word (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOsvalue$O VMSUsage:! word_unsignedO$ type:*$ word (unsigned)O| access:readonly#O mechanism:Fby reference'OpThewordtobe converted. O DescriptionQOsThisisautilityroutinewhichreversesthebyteorderofaQOwordtoconvertitfromthenativeformatforthelocalhostMO$(whichis``little-endian''forVAXandAXPsystemsrunningMO|VMS)tonetworkorder(whichis``big-endian'').'Thereturn.Ovalueisthe network-orderword.E  + *,mCO] NETLIB_LISTEN,OListenforincoming connections*A]GO NETLIB_LISTENsetsasocketuptolistenforincomingO( connections.ZOFormatJOs NETLIB_LISTENNsocket [,backlog][,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference3OpSockettobesetupasa listener.&?Obacklog$O( VMSUsage:!unsignedintO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceGOThenumberof backlogged connectionstoallowonthisO& listener.Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.! O DescriptionVOsThisroutineisusedaspartofa ``passive''open sequence,typ-TOicallybyserversthatbindasockettoaspecificportnumber,OO$then establishalistenertohandletheincoming connections.OO|Thiscallisusuallyfollowedbyoneormore invocationsof@O NETLIB_ACCEPTtoaccepttheincoming connections.,+-W O]NETLIB_NAME_TO_ADDRESS7OGettheIP address(es)forahostname*Ae;ONETLIB_NAME_TO_ADDRESSlooksupahostname,*O( returningitsIP address(es).OFormat>Os NETLIB_NAME_TO_ADDRESSNsocket,[which], hostname," addrlist, addrlist-size*$ [,addrcount][,iosb] [,astadr]| [,astprm]OReturns!Os VM  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#D%SUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueBO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceOOpThesocketaboutwhichyouwishtoobtaintheoptioninfor-Omation. ROwhich(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceROAcode indicatingthetypeoflookuptobe performed.'PossibleAO&valuesareNETLIB_K_LOOKUP_DNS(1),whichrequestsLO~thatthenamebelookedupusingtheDomainNameSystem,;OandNETLIB_K_LOOKUP_HOST_TABLE(2),whichre-OO/queststhatthenamebelookedupinthelocalhosttable.COIfomitted,thedefaultisNETLIB_K_LOOKUP_DNS.SeeKOthe Descriptionsectionfor informationonpackage-specific.O9 restrictionswiththis parameter.Ohostname"O( VMSUsage:! char_stringO type:* characterstringO access:readonly$O2 mechanism:Fby descriptor.OThehostnametobelookedup.@?Oaddrlist,O( VMSUsage:!arrayof structuresO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceEOAnarrayof INADDRDEF structuresintowhichthead-%O&dresseswillbewritten.$O addrlist-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference,OThenumberofelementsinthe addrlistarray.)O addrcount(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby reference9OTheactualnumberof addresseswrittentoY addrlist .Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.a D7O DescriptionFOsThisroutineperformsaname-to-addresslookupontheIO specifiedhostname.)EachTCP/IPpackage implementsthisRO$functionslightly differently,sotherearesome restrictionson&O|theuseofthisroutine.6OFor MultiNet,TCPware,andPathway,the whichargu-LOpmentisusedto determinewhetherthelookupshouldoccurIOusingNETLIB'sDNSresolversupportorusingtheTCP/IPNO! package's host-tableaccess routines.(Forthese packages,theROz host-tableaccessmethodcannotbeusedatASTlevel.'Also,ifNOaDNSlookupis attemptedandthesystemisnot configuredDO+forDNS,anSS$_UNSUPPORTEDerrorwillbe returned.W*OForUCXandCMUTCP/IP,the& which2argumentisig-POnored,sincethesepackagesdonotprovideseparateaccesstoNO5DNSandlocalhosttables.)ForUCX,hosttablelookupwillNOoccurfirst,followedbyaDNSlookup.(ForCMU,thisorderOis reversed.-,.! UO]NETLIB_NTOH_LONG;OConvert network-orderlongwordtohostorder*! AGONETLIB_NTOH_LONGisautilityroutinefor convertingaOO(longwordinthenetworkbyteordertoa host-order longword.[1OFormat!Os NETLIB_NTOH_LONGMvalueOReturns(Os VMSUsage:!longword_unsignedO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue O ArgumentsOsvalue(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference+OpThelongwordtobe converted. =O DescriptionQOsThisisautilityroutinewhichreversesthebyteorderofaPOlongwordtoconvertitfromnetworkordertohostorder.'The7O$returnvalueisthe host-order longword..-/{ QO]NETLIB_NTOH_WORD7OConvert network-orderwordtohostorder*   AGONETLIB_NTOH_WORDisautilityroutinefor convertingaGO(wordinthenetworkbyteordertoa host-orderword.[ 1OFormat!Os NETLIB_NTOH_WORDNvalue OReturns$Os VMSUsage:! word_unsignedO type:* word (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOsvalue$O VMSUsage:! word_unsignedO$ type:*$ word (unsigned)O| access:readonly#O mechanism:Fby reference'OpThewordtobe converted.=O DescriptionQOsThisisautilityroutinewhichreversesthebyteorderofaLOwordtoconvertitfromnetworkordertohostorder.+The3O$returnvalueisthe host-orderword./.0lBO] NETLIB_READ-OReceivedatafromremotesystem*AYHO NETLIB_READreadsdatasentbyaremotesystemfromaO(socket.=OFormat9Os NETLIB_READNsocket,buffer[,socket-address]7 [,sockaddr-size][,sockaddr-len] [,timeout]'$ [,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueO ArgumentsOssocket(O VMSUsage:!longwo  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#ټ rd_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference7OpSockettowhichdatashouldbewritten.-Obuffer"O( VMSUsage:! unspecifiedO type:* longword (unsigned)O access:writeonly4O2 mechanism:Fby descriptor(fixed-length)ROTheaddressofa descriptorforabuffertoreceivethedata.eOsocket-address O( VMSUsage:! structureO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceJOSocket_address structuretoreceivetheaddresesandportPO&fromwhichthedataistobesent.* Typicallyusedonlywith%O~ unconnectedUDP sockets).K ?!O sockaddr-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceQOSizeofthesocketaddress structure.( Typicallyusedonlywith$O& unconnectedUDPsockets.V?,O sockaddr-len(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceKOReturnedlengthofthesocketaddress structure.* Typically6O&usedonlywith unconnectedUDPsockets.O?%Otimeout!O( VMSUsage:! delta_timeO type:* quadword(signed)O access:readonly#O2 mechanism:Fby referenceEOAmountoftimethat NETLIB_READshouldwaitfortheCO&readto complete.'Ifomitted,notimeoutisused.Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.O DescriptionMOsThisroutinereadsdatafromthesocketintothe specifiedRObuffer.*Thereadwillcompletewhenthebufferisfull,orif$O$thereadtimesout(ifb$ timeout*$is specified).*A fixed-lengthRO| descriptorshouldbeusedforthe buffer.(ToobtaintheactualPOnumberofbytesreadinthiscall,useanI/Ostatusblock.0/1h>O]NETLIB_READLINE%OReada``line''ofdata* u! KKONETLIB_READLINEreadsa``line''ofdatafromthesocket."OFormatKOs NETLIB_READLINENsocket,buffer [,retlen][,flags] [,timeout]'M [,iosb] [,astadr] [,astprm]#OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue$O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference6OpSocketfromwhichdatashouldberead.%Obuffer"O( VMSUsage:! char_stringO type:* characterstringO access:writeonly$O2 mechanism:Fby descriptorQOTheaddressofa descriptorforthebuffertoholdtheline.3&! ? Oretlen$O( VMSUsage:! word_unsignedO type:* word (unsigned)O access:writeonly#O2 mechanism:Fby referenceROTheaddressofawordwhichreceivestheactuallengthoftheO&receivedline.'! wOflagsO( VMSUsage:!bitmaskO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceSOTheaddressofabitmask containingflags controllingthiscall.CO&Onlyoneflagis currentlydefined,NETLIB_M_ALLOW_CO~LF(value1),whichcausesNETLIB_READLINEtocon-ROsidereitheraCR/LFpairorabareLFasaline terminator.QO/Ifthisargumentisomitted,thisflagisenabledbydefault.QO Otherwise,onlyaCR/LFpairwillbe consideredalinetermi-Onator.1(! ?Otimeout!O( VMSUsage:! delta_timeO type:* quadword(signed)O access:readonly#O2 mechanism:Fby referencePOTheaddressofaVMSdeltatimevalue specifyingthetimeoutO&forthisread.)Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'* ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.+OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.,! FO DescriptionMOsThisroutineisintendedfor TCP-basedprogramsthatuseaLOprotocolwhichdelimitscommandsandreplieswith carriage-LO$return/linefeedpairs.*It completesonlywhenthe specifiedRO|bufferisfull;whena complete, terminated,linehasbeenre-SOceived;orifatimeoutoccurs.'Theline terminatorisstripped$O-fromthereturneddata.3~>I T(OTableRTN-3:7Socketoptions O OFSymbolicnameFValue Description Ob ONETLIB_K_OPTION_O REUSEADDR 4@GAllowsaportnumbertobereused.+ValueisaAG longword,either1(on)or0(off).,DefaultforAG[mostpackagesisoff,butNETLIBturnsthisop-@Gtionon automaticallyunlessyou explicitlycall)G NETLIB_SETSOCKOPTtosetit.ONETLIB_K_OPTION_OSNDBUFE4097Setssocketbuffersizeforsends./Valueisa;G longword, t  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#<ypicallywithamaximumvalueofG732768.ONETLIB_K_OPTION_O RCVBUFH4098Setssocketbuffersizefor receives.,Valueisa;G  longword, typicallywithamaximumvalueofGb32768. O   1 02x-NO]NETLIB_SERVER_SETUP1OSocketsetupfor ``forked''servers*./BONETLIB_SERVER_SETUPcreatesandsetsupthesocketNO(usedbyaserverprocess ``forked''fromaTCP/IP package'sO``master server''.0^OFormat7Os NETLIB_SERVER_SETUPNsocket,socket-address, sockaddr-size1OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue/2O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:writeonly#O mechanism:Fby referenceLOpReturnedsockethandleforusein subsequentNETLIBcalls.@3?Osocket-address(O( VMSUsage:!special_structureO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceJOSocketaddress describingportbeingopened.,SeenoteinO& descriptionsection./4O sockaddr-size(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby reference.OSizeofthe structurepassedin socket-address argument.5gO DescriptionIOsThisroutinecreatesaNETLIBsocketforthe communica-HOtionschannelinaserverprograminvokedbyaTCP/IP-O$ package's``master server.''/The$ socket-address $andO| sockaddr-size2| argumentsmustbe provided,althoughKOforallpackagesexceptCMUTCP/IPtheyareignored(theCO-actualaddressandportnumberarepre-determined). _UNote _@7ForatleastsomeTCP/IP packages,thisroutineshouldbecalled%before% anylanguage-specificI/O'routines(forexample,the printfroutineintheCFArun-timelibrary)arecalled,topreventtherun-timeAsystemfrom interferingwiththenetworkchannel. 5Ml (OTableRTN-4:7Shutdowntypes O OFSymbolicnameFValue Description Ob ONETLIB_K_SHUTDOWN_ORECEIVER 0*GPreventanyfurther receives.O|NETLIB_K_SHUTDOWN_OSENDER |1'G|Preventanyfurthersends.OONETLIB_K_SHUTDOWN_OBOTH O20GOPreventanyfurthersends/receives. O 22214c69O]NETLIB_SETSOCKOPTOSetsocketoptions*7n8DDONETLIB_SETSOCKOPTmodifies attributesofaasocket.9|OFormatEOs NETLIB_SETSOCKOPTNsocket,level,option,value,vallen' [,iosb] [,astadr] [,astprm]:OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue;O ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference-OpThesocketyouwishtomodify.<Olevel(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceSO ``Level''oftheoptionbeingset.)Theonlylevelgloballysup->O&portedisNETLIB_K_LEVEL_SOCKET(value X'FFFF').JO~Somepackagesalsosupportprotocol-leveloption settings.=XOoption(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceKOLongword representingtheoptionbeingset.+Notallpack-QO&agessupportalloptions,butmostsupporttheoneslistedinO~TableRTN-3.*=OA?>=?! KOConsultyourpackage-specific documentationonotheravail-JOableoptionsandonoptionvalueranges.)TheCMUTCP/IPTOTpackageisnotbasedonsockets,sothiscallhasnoeffecton*Osystemsrunningthatpackage.@ Ovalue"O( VMSUsage:! varying_argO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceTOValuetosetfortheoption.&Valuesvaryfromoptiontooption.AOvallen(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceOSizeofthe value argument,inbytes.BOiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'C ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.DOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.E ~O Description9OsThisroutineprovidesan interfacetothes setsockoptsserviceJOprovidedbymostTCP/IPpackages(mostarebasedontheMO$BSDsocketcommunicationsmodel).'NotethatnotalloptionsJO|are availablewithall packages,andfortheCMUTCP/IP*Othiscallisa no-operation.\\7B[ P&OTableRTN-5:7Sockettypes O OFSymbolicnameFValue Description Ob !ONETLIB_K_TYPE_STREAM12GConnection-orientedsocket(forTCP). O$NETLIB_K_TYPE_DGRAM2-G$Connectionlesssocket(forUDP). OJ [ [ 426fF<O]NETLIB_SHUTDOWN#OShutdowna co  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#u nnection*GHA^>ONETLIB_SHUTDOWNshutsdowna connectionwithout O(deletingthesocket.IeOFormatBOs NETLIB_SHUTDOWNNsocket [,shuttype][,iosb] [,astadr] [,astprm]JOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueKO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference3OpSockettobesetupasa listener.LdOshuttype$O( VMSUsage:!unsignedintO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceOOTypeofshutdowntobe performed.(Possiblevaluesarelisted O&in&TableRTN-4.3&Ifomitted,thedefaultis NETLIB_K_O~SHUTDOWN_RECEIVER.*L?MN\BOThis parameterhasnomeaningwhenusingtheCMUOTCP/IPpackage.OOiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'P ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.QOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.R! `O DescriptionNOsThisroutineclosesthenetwork connection currentlyopenonTOthe specifiedsocket,withoutdeletingthesocket.'AnydatastillSO$waitingtobereceivedorsentcanbe discardedorretainedby9O| specifyingan appropriateshutdowntypeinu| shuttype |.SGOFortheCMUTCP/IPpackage,theshutdowntypeisnotNOused;theCMUclose operationdoesnotprovidethisoption.h  6 48uTKO] NETLIB_SOCKET4OCreateaNETLIB communicationendpoint*UVAuIO NETLIB_SOCKETcreatesa``socket''-thatis,alocalend-,O(pointforTCP/IPcommunication.{WQOFormatAOs NETLIB_SOCKETMsocket[,socket-type][,socket-family]XOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:Fbyvalue>YO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:writeonly#O mechanism:Fby referenceKOpThereturnedsocketcontext,forusein subsequentNETLIBOcalls.ZXO socket-type(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly$O2 mechanism:Fby referenceeMOTypeofsockettobecreated.+AllowedvaluesareshowninO&TableRTN-5.8r&Ifomitted,thedefaultisNETLIB_K_TYPE_O~STREAM.*ZO?[b\8O socket-family(O VMSUsage:!longword_unsignedOT type:*T longword (unsigned)O access:readonly#O mechanism:Fby referenceCOAddress/protocolfamily.(OnlyNETLIB_K_AF_INET(valueIO2)is permitted,andisassumedbydefaultifomitted.1] O DescriptionLOsThisroutinecreatesa ``socket''(anendpointfornetworkHOcommunication).*OnesocketisrequiredforeachnetworkOO$ connection.(Thiswillbethefirstcallinmost NETLIB-basedOO| programs.(Theonly exceptiontothisruleisaprogramthatOOisintendedtoberunasa ``forked''serverfromaTCP/IPHO- package's``master server'',whichwillusetheNETLIB_)O SERVER_SETUProutineinstead.hh869z^PO]NETLIB_STRTOADDR6OConvertadotted-addresstobinaryform*_` GONETLIB_STRTOADDRisautilityroutinefor convertingaPO( characterstringholdingadotted-decimalIPaddresesintoitsObinary equivalent.fa<OFormat,Os NETLIB_STRTOADDRNstring,addressbOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvaluecO ArgumentsOsstring"O VMSUsage:! char_stringO$ type:*$ characterstringO| access:readonly$O mechanism:Fby descriptor@OpThestring containingthedotted-decimaladdress.dOaddress+O( VMSUsage:! INADDRDEF structureO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceEOAn INADDRDEF structuretoholdthereturnedaddress.me CO DescriptionROsThisisautilityroutinewhichparsesa characterstringcon-JOtaininganIPaddressindotted-decimalformat, returningLO$thebinaryrepresentationofthataddressinnetworkorderFO| (suitableforacalltoNETLIB_CONNECT,for example).  9 8:hf>O] NETLIB_WRITE(OSenddatatoremotesystem*ghAfJO NETLIB_WRITEwritesdatatoasocketfor transmissiontoO(aremotesystem.iOFormat:Os NETLIB_WRITENsocket,buffer[,socket-address]8 [,sockaddr-len][,iosb] [,astadr] [,astprm]jOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvaluekO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference7Op  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#OSockettowhichdatashouldbewritten.lObuffer"O( VMSUsage:! unspecifiedO type:* longword (unsigned)O access:readonly$O2 mechanism:Fby descriptorHOTheaddressofa descriptorforthedatatobesent.mVOsocket-address O( VMSUsage:! structureO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceIOSocket_address structure describingtheaddresesandportPO&towhichthedataistobesent.)Usedonlywith unconnectedO~UDP sockets).Bn?O sockaddr-len(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceNOSizeofthesocketaddress structure.)Usedonlywithuncon-O&nectedUDPsockets.oOiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'p ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.qOastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.r! O DescriptionSOsThisroutinewritesthe specifieddatatothesocketfortrans-JOmissiontotheremotesystem.*ForUDPsocketsthathaveFO$notbeen connectedtoaspecificremoteaddress,the$ socket-O| addressC|argument specifiestheremote address/porttowhich*Othedatagramistobesent.::< z ,OTableA-1:7NETLIBStatusCodes O OFSymbolicName3F Description Ob O SS$_ABORTG3 Catch-allcodeforerrorsnotcoveredbyothercodes.O$ SS$_INSFARG>3$Notenough arguments specifiedonNETLIBcall.O SS$_BADPARAMR3Invalidvalue specifiedforanargumenttoaNETLIBcall.(ThisR3codecanalsobereturnedbythe underlyingTCP/IPdriverwhenM3Oaninvalidvalueis specifiedforanetworkI/O operation.9OSS$_NOSUCHNODE Destinationaddress required.OB SS$_INSFMEM&3BMemory allocationfailure.O SS$_NOPRIV=3 Insufficient privilegefor requested operation.O6 SS$_ACCVIO.36Invalidmemoryaddress specified.O SS$_FILALRACC%3Socketalready connected.O)SS$_LINKDISCON13)Networklinkhasbeen disconnected.COSS$_TOOMUCHDATAResulttoolargeforuser'sbuffer.O SS$_SUSPENDED'3I/O operationwouldblock.O SS$_NOTNETDEVB3Network operation requestedfor non-networkdevice.O SS$_PROTOCOLQ3Protocoltypeoroption incorrect.,Protocolorsockettypenot83i supported.'Othergeneralprotocolfailure.AOSS$_ILLCNTRFUNC Operationnot supportedonsocket.O\  SS$_DUPLNAM)3\  Address/portalreadyinuse.O  SS$_IVADDR3 Invalidaddress.:OP SS$_UNREACHABLENetworkorhost unreachable.O  SS$_RESET03 Network connectionhasbeenreset.OC  SS$_LINKABORT53C  Connectionabortedbynetwork software.O SS$_CONNECFAIL=3  Connectionfailure,orresetbypeerprocess.O7  SS$_NOLINKS%37 Socketisnot connected.O SS$_SHUTG3 Socket,host,ornetworksoftwarehasbeenshutdown.O+  SS$_TIMEOUT 3+  Operationtimedout.O  SS$_REJECT3  Connectionrefused. O   : 9;rsHO]NETLIB_WRITELINE.OSenddatawithCR/LF termination*tu GONETLIB_WRITELINEwritesdatatoasocketfor transmis-NO(siontoaremotesystem, terminatingthedatawithaCR/LFOpair.vZOFormatJOs NETLIB_WRITELINEMsocket,buffer[,iosb] [,astadr] [,astprm]wOReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvaluexO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby reference7OpSockettowhichdatashouldbewritten.yObuffer"O( VMSUsage:! char_stringO type:* characterstringO access:readonly$O2 mechanism:Fby descriptorHOTheaddressofa descriptorforthedatatobesent.zOiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.'{ ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.|OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine.~}TO DescriptionGOsThisroutine functions identicallyto NETLIB_WRITE,butQOaddsacarriage-return/linefeedpairtothedatasenttotheKO$remotesystem.(Itisintendedfor TCP-basedprogramsthatKO|useaprotocolwhichdelimitscommandsand responseswithOCR/LFs.99;:~! eO A.!Status"CodesJONETLIB translatesallTCP/IPstatuscodesintothecodesNOusedbyDECTCP/IP Services.'Thestatuscodesare described OBinBTableA-1.8WBFor synchronousNETLIBcalls,thesecodesSOarereturnedinR0andalsointheIOSB,ifoneis specified;OOfor asynchronouscalls,youshouldalwaysspecifyanIOSBtoAOLreceivethestatusofthenetworkI/O operation.*~n?NHOSomeNETLIBroutinesmayalsoreturnstatuscodesfromLOother facilities,suchastheLIB$andSTR$routineswhenO5 pro  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#Lcessingstrings.d     !!!!!!!!!!!!!!"""""""""#"""$""""%%%%%%%%&&&&&&&&&&&&&'''''''''''''((((((((((((((()))))))*******+++++++++++,,,,,,,,,,,,,,,,-------.......///////////////000000000000001111111112222222232222222444444454444446666666766888888889999999999999:::::::::::;;<##PrefacePrefacePrefaceIntended AudienceDocument StructureRelated Documents1. Using NETLIB1.1 Overview1.1 Overview1.1.1 NETLIB Services1.1.1 NETLIB Services1.1.1 NETLIB Services1.2 Header files!1.3 NETLIB Data Structures 1.3.1 INADDRDEF Structure1.3.2 SINDEF Structure1.3.2 SINDEF Structure1.3.2 SINDEF Structure1.3.3 MXRRDEF Structure1.3.3 MXRRDEF Structure(1.3.4 NETLIB_DNS_HEADER Structure$1.4 Byte-Order Considerations11.5 Synchronous vs. Asynchronous Operation1.6 I/O Status Block"1.7 Linking NETLIB Programs"1.7 Linking NETLIB Programs 1.8 Contacting the Author 1.8 Contacting the Author 1.8 Contacting the Author 1.8 Contacting the Author 1.8 Contacting the Author"Part I Routine DescriptionsNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ACCEPTNETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRESS_TO_NAMENETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_ADDRTOSTRNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_BINDNETLIB_CLOSENETLIB_CLOSENETLIB_CLOSENETLIB_CLOSENETLIB_CLOSENETLIB_CLOSENETLIB_CLOSENETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECTNETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_CONNECT_BY_NAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_EXPANDNAMENETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_MX_LOOKUPNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERY4Table RTN- 1: Domain Name Service query typesNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERY5Table RTN- 2: Flag values for NETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_QUERYNETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_DNS_SKIPNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETPEERNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKNAMENETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_GETSOCKOPTNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_LONGNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_HTON_WORDNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_LISTENNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_T  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#O_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NAME_TO_ADDRESSNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_LONGNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_NTOH_WORDNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READNETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_READLINENETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SERVER_SETUPNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPT#Table RTN- 3: Socket optionsNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SETSOCKOPTNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWN#Table RTN- 4: Shutdown typesNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SOCKETNETLIB_SOCKETNETLIB_SOCKETNETLIB_SOCKETNETLIB_SOCKETNETLIB_SOCKETNETLIB_SOCKET!Table RTN- 5: Socket typesNETLIB_SOCKETNETLIB_SOCKETNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_STRTOADDRNETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINENETLIB_WRITELINEA. Status CodesA. Status Codes&Table A- 1: NETLIB Status CodesaN N netlib_doc_2 netlib_inst_3netlib_inst_4netlib_inst_5netlib_doc_3netlib_doc_4netlib_doc_5netlib_doc_6netlib_doc_7netlib_doc_8netlib_doc_9netlib_doc_10netlib_doc_11byte_ordering netlib_doc_12!netlib_doc_13"netlib_doc_14$netlib_doc_15)rtnpart*netlib_doc_168netlib_doc_17Hnetlib_doc_18Qnetlib_doc_19]netlib_doc_20dnetlib_doc_21pnetlib_doc_22|netlib_doc_23netlib_doc_24netlib_doc_25dns_typesquery_flagsnetlib_doc_26netlib_doc_27netlib_doc_28netlib_doc_29netlib_doc_30netlib_doc_31netlib_doc_32netlib_doc_33netlib_doc_34 netlib_doc_35netlib_doc_36netlib_doc_37-netlib_doc_386netlib_doc_39>option_tableFnetlib_doc_40Mshut_tableTnetlib_doc_41[socket_type_table^netlib_doc_42fnetlib_doc_43snetlib_doc_44~status_codesstatus_table& &B-ADOBE-Helvetica-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-180-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-100-*-*-P-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-100-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-I-Normal--*-140-*-*-P-*-ISO8859-1/-ADOBE-Symbol-*-R-*--*-140-*-*-P-*-*-*M -ADOBE-New Century Schoolbook-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1@ -ADOBE-Courier-Medium-R-Normal--*-120-*-*-M-*-ISO8859-1B -ADOBE-Helvetica-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1""(')c9O]NETLIB_GETSOCKOPTOGetsocketoptions*AVEONETLIB_GETSOCKOPTgetsthecurrentstateofasocketO(option.OFormatFOs NETLIB_GETSOCKOPTNsocket,level,option,value,valsize2 [,vallen][,iosb] [,astadr] [,astprm]OReturns!Os VMSUsage:! cond_valueO type:* longword (unsigned)O$ access:writeonlyO| mechanism:FbyvalueBO ArgumentsOssocket(O VMSUsage:!longword_unsignedO$ type:*$ longword (unsigned)O| access:readonly#O mechanism:Fby referenceOOpThesocketaboutwhichyouwishtoobtaintheoptioninfor-Omation.Olevel(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceSO ``Level''oftheoptionbeingset.)Theonlylevelgloballysup->O&portedisNETLIB_K_LEVEL_SOCKET(value X'FFFF').JO~Somepackagesalsosupportprotocol-leveloption settings.! Ooption(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceKOLongword representingtheoptionbeingset.+Notallpack-QO&agessupportalloptions,butmostsupporttheoneslistedinO~TableRTN-3.KOConsultyourpackage-specific documentationonotheravail-JOrableoptionsandonoptionvalueranges.)TheCMUTCP/IPUOpackageisnotbasedonsockets,sothiscallwillalwaysreturnJO#successstatuswith0returnedlengthonsystemsrunningO{thatpackage.*OA?> Ovalue"O( VMSUsage:! varying_argO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceTOValuetosetfortheoption.&Valuesvaryfromoptiontooption.Ovalsize(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:readonly#O2 mechanism:Fby referenceOSizeofthe value argument,inbytes.  NETLIB020.DA [NETLIB]NETLIB_DOC.DECW$BOOK;2#C Ovallen(O( VMSUsage:!longword_unsignedO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby reference&OActualreturnedlengthof value,inbytes.Oiosb&O( VMSUsage:!io_status_blockO type:* longword (unsigned)O access:writeonly#O2 mechanism:Fby referenceHOI/Ostatusblocktoreceivethestatusforthiscall.' ?Oastadr O( VMSUsage:! procedureO type:* longword (unsigned)O access:call#O2 mechanism:Fby referenceROAddressofanASTroutinetobeinvokedon completionofthisO& operation.OastprmO# VMSUsage:!user_argO| type:*| longword (unsigned)O access:readonlyO- mechanism:Fbyvalue;O ParametertobepassedtotheASTroutine. FO Description9OsThisroutineprovidesan interfacetothe s getsockoptsserviceJOprovidedbymostTCP/IPpackages(mostarebasedontheMO$BSDsocketcommunicationsmodel).'NotethatnotalloptionsJO|are availablewithall packages,andfortheCMUTCP/IPNOthiscallisano-operation-itwillalwaysreturnasuccessNO-status,with0asthereturnedlengthoftheoptionvalue.rr &#N& l[ SU@ 7Fl ( "6$$%,J&x;'*v**@2l<,?9 EqG M S [~ bZ Y|[2lfp.q u^ >"{~~I R"r 2b[  (\hf ( 9:rUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWN#Table RTN- 4: Shutdown typesNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_SHUTDOWNNETLIB_S  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZV*[NETLIB]NETLIB_DOC.PS;4+,/ ./ @ 4Z-A 0123KPWO56fNʘ7Rʘ889G @HJ%!PS-Adobe-3.0%%Title: NETLIB_DOC%%Creator: VAX DOCUMENT V2.2I%%Copyright: 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.%%+All Rights Reserved.(%%CreationDate: Tue Feb 28 1995 13:18:57%%For: MADISON %%BoundingBox: (atend)%%DocumentData: Clean7Bit%%LanguageLevel: 1%%Orientation: Portrait%%Pages: (atend)%%PageOrder: Ascend%%DocumentFonts: (atend) %%DocumentNeededFonts: (atend) &%%DocumentProcSets: Underlay Color5044.%%DocumentSuppliedProcSets: Underlay Color5044 %%DocumentProcessColors: (atend)%%DocumentCustomColors: (atend) %%EndComments%!%%BeginResource: procset Underlay%%CreationDate: (2/10/92)%C% In VAX DOCUMENT V2.1-1, simple EPSF files up to 65,000 bytes long@% may be an underlay. Define the EPSF as a PostScript proceedureD% called /UNDERLAY and prefix to DOCUMENT's PS output For example:.&% /UNDERLAY ( EPSF code here ) cvx def%C% To create a "Preliminary" underlay change /UNDERLAY* to /UNDERLAY /UNDERLAY* ( /Note (Preliminary) def /NoteSize 120 def6 /NoteFont /Helvetica findfont NoteSize scalefont def& /Note where { pop Note length 0 gt {8 /NoteWidth NoteFont setfont Note stringwidth pop def/ PaperWidth 36 mul PaperHeight 36 mul moveto& PaperHeight PaperWidth atan rotate6 NoteWidth -2 div NoteSize .729 mul -2 div rmoveto 2 Note true charpath .075 setseparationgray fill }if }if ) cvx def %%EndResource%"%%BeginResource: procset Color5044%%CreationDate: (1/21/91)%%Version:1.0 31%Implementation of Adobe 5044 color specification5%/ndf allows command override during color separation/Color5044Dict 100 dict defColor5044Dict begin/bdf {bind def} def/ndf {1 index where {pop pop pop } {dup xcheck {bind} if def } ifelse } bdf /setcmykcolor {1 exch sub 3 " {dup 5 -1 roll sub 0 2 copy lt {exch} if pop exch } repeat pop setrgbcolor }ndf/setcmykcoloroverprint {4 {dup -1 eq {pop 0} if 4 1 roll } repeat setcmykcolor } ndf/findcmykcustomcolor {5 /packedarray where {pop packedarray } {array astore readonly } ifelse } ndf/setcustomcolor {exch aload pop pop 4 {4 index mul 4 1 roll } repeat setcmykcolor pop } ndf/setseparationgray* {1 exch sub systemdict /setgray get exec } ndf/setoverprint {pop} ndf/currentoverprint false ndf%CMYK multi-proc colorimage /colorimage {4 neH {(\nUnsupported number of colors for colorimage.\n) print flush quit } if notJ {(\nSingle procedure form colorimage unsupported.\n) print flush quit } if' save 20 dict begin /&saveobj exch defE /&Kproc exch def /&Yproc exch def /&Mproc exch def /&Cproc exch def {&Cproc &Mproc &Yproc &Kproc7 /&K exch def /&Y exch def /&M exch def /&C exch def 0 1 &K length 1 sub {/&i exch def &K &i 255 &C &i get 30 mul &M &i get 59 mul add &Y &i get 11 mul add &K &i get 100 mul add 100 idiv dup 255 gt {pop 255} if sub put } for &K } image &saveobj end restore } ndf/customcolorimage! {pop systemdict /image get exec } ndf/separationimage {systemdict /image get exec } ndfend %%EndResourceColor5044Dict begin%/DEC_DVC$dict 300 dict defDEC_DVC$dict begin%/DVC$PSJob save def%,/DOCPSE ISOLatin1Encoding 256 array copy def"mark % CREATE DOCPSE ENCODING 8#055 /hyphenC 8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /daggerC 8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta? 8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe 8#215 /Ydieresis) counttomark -1 bitshift % DIVIDE BY 2: {DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK cleartomark%3/ReENCODE { % /basefont /newfont encoding ReENCODE7 /newencoding exch def %ARG: NAME OF ENCODING VECTORC /newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING findfont> /basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED? basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT= basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE 1 index /FID ne {5 def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS } { %else: pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING } ifelse } forall, /FontName newfontname def %DEFINE NEW NAME 6 /Encoding newencoding def %DEFINE NEW ENCODING VECTOR; newfontname currentdict definefont %TURN IT INTO A PS FONT3 pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT end}def%/cvsstr 64 string def/tempmatrix matrix def%2% Exit page (temporarily) to add fonts/characters. /XP { }def% % Resume page /RP { }def%% End Page: EP/EP {DVC$PSPage restore}def%% Purge fonts to reclaim VM/PF { currentoverprint currentrgbcolor EP %Does restore PageSetup %Does save setrgbcolor setoverprint}def%% ABBREVIATIONS /S /show load def/SV /save load def/RST /restore load def%/Yadjust {Ymax exch sub} def%$/XY { % (x,y) POSITION ABSOLUTE Yadjust moveto} def%#/X { % (x,0) POSITION ABSOLUTE currentpoint exch pop moveto} def%$/Y { % (0,y) POSITION ABSOLUTE & currentpoint pop exch Yadjust moveto} def%$/xy { % (x,y) POSITION RELATIVE neg rmoveto} def%#/x { % (x,0) POSITION RELATIVE 0 rmoveto} def%#/y { % (0,y) POSITION RELATIVE 0 exch neg rmoveto} def%/R { % Draw a rectangle$ /ht exch def /wd exch def gsave currentpoint newpath moveto 0 ht rlineto wd 0 rlineto$ 0 ht neg rlineto wd neg 0 rlineto& closepath fill grestore wd 0 rmoveto}def%3%Setup Page Media: PM/PM { /Xmax exch Resolution mul def /Ymax exch Resolution mul def /UNDERLAY where { pop3 /eps_save save def % save before EPSF underlay9 Resolution 72 div dup scale % Revert coords to points9 count array astore /DVCstack exch def % save op stack/ /dict_count countdictstack def % # of dicts" userdict begin % default dict' /showpage {}def % disable showpage 0 setgray? {UNDERLAY} stopped {(Error executing /UNDERLAY)== quit}ifD countdictstack dict_count sub {end} repeat % clean up dict stack/ clear DVCstack aload pop % restore op stack* eps_save restore % restore after EPSF }if PageSetup}def%%Setup page coordinates /PageSetup{ /DVC$PSPage save def9 PortraitMode not {PaperWidth 0 translate 90 rotate} if /Xpos 0 def /Ypos 0 def}def%)% Begin EPS file: SPB/SPB {8 Yadjust transform % convert from DVC to device coords EP % page-level restore( /eps_save save def % save before EPSF8 Resolution 72 div dup scale % Revert coords to points2 itransform % convert position back to points % translate % set position for EPSF3  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z PortraitMode not {90 rotate} if % rotate for EPSF7 count array astore /DVCstack exch def % save op stack- /dict_count countdictstack def % # of dicts userdict begin % default dict% /showpage {}def % disable showpage 0 setgray}def%% End EPS file/SPE {B countdictstack dict_count sub {end} repeat % clean up dict stack- clear DVCstack aload pop % restore op stack( eps_save restore % restore after EPSF" PageSetup % restore DVC coords}def%!% Print-Page Routine: PP/PP { gsave showpage grestore}def%&/DMF { % /font-name DMF& exch findfont exch scalefont setfont}def%3/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx /xxx exch def /namstr exch cvsstr cvs def1 /newnam namstr length xxx length add string def newnam 0 namstr putinterval& newnam namstr length xxx putinterval newnam cvn }def%%/strip { % /abcdef 2 strip ==> /cdef /num exch def /nam exch def /namstr nam cvsstr cvs def# /newlen namstr length num sub defI$ namstr num newlen getinterval cvn}def/% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERSP8/PackHW { % PackHW --> 0 /num exch def /pos exch def /target exch def: num 16#0000FFFF and 1 pos sub 16 mul bitshift target or}def</PackByte { % PackByte --> 0 /num exch def /pos exch def /target exch def: num 16#000000FF and 3 pos sub 8 mul bitshift target or}def4/UnpkHW { % UnpkHW -->  /num exch def /pos exch def0 num 1 pos sub -16 mul bitshift 16#0000FFFF and) dup 16#00007FFF gt {16#00010000 sub} ifn}def8/UnpkByte { % UnpkByte -->  /num exch def /pos exch def/ num 3 pos sub -8 mul bitshift 16#000000FF and ) dup 16#0000007F gt {16#00000100 sub} ifo}def%'/ps-scalefont {eJ % FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDERL % EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S H % A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE  % VERTICAL SCALING.hA % save requested size - as entered and as integers, dup /x-size exch def cvi /x-int exch def; % calc decimal remainder, mul x 1000, rounde; x-size x-int sub 1000 mul round cvi /remainder exch def % % see how we scale...a) remainder 50 lt remainder 450 gt or {c& % scale isomorphically /ystretch 0 def/ x-size scalefont } {t& % scale anamorphically /ystretch remainder defi+ x-int ystretch add /y-size exch def ' [x-int 0 0 y-size 0 0] makefontf } ifelse}def%x(/DPSF { % /procname size /fontname DPSF< findfont exch ps-scalefont [ exch /setfont cvx ] cvx def}def%t/PXLBuildCharDict 17 dict def /CMEncodingArray 256 array def90 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} fore)/RasterConvert {RasterScaleFactor div}def/TransformBBox { aload poppH /BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def. [ BB-llx RasterConvert BB-lly RasterConvert / BB-urx RasterConvert BB-ury RasterConvert ] }def/RunLengthToRasters {s % none yet}def7/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK" 1 rasters runlength 1 eq {RunLengthToRasters} ifi}def% )/int-dict-name {int (-dict) concatnam}def -/int-dict {int (-dict) concatnam cvx load}defr% /DefinePXLFont {E % ...b1 % ...[llx lly urx ury]DefinePXLFont C /newfont exch def /bb exch def /num exch def /psz exch def.C /dsz exch def /pxlmag exch def /ext exch def /int exch defe9 /fnam ext (-) concatnam pxlmag cvsstr cvs concatnam defC newfont not {  int-dict-name 13 dict def int-dict beginF /FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] defC /FontBBox bb TransformBBox def /Encoding CMEncodingArray defeI /CharDict 1 dict def CharDict begin /Char-Info num array def end  /BuildChar { PXLBuildCharDict begin, /char exch def /fontdict exch defB fontdict /CharDict get /Char-Info get char get aload pop2 /rasters exch def /PackedWord1 exch def+ 0 PackedWord1 UnpkHW 16#7FFF ne {8 /PackedWord2 exch def /wx 0 PackedWord1 UnpkHW defN /rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte defM /llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte defhM /urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def }{ %elsedG /PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def8J /wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW defI /cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW defNI /lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW defi) /ury 1 PackedWord4 UnpkHW defG } ifelse rows 0 lt {e( /rows rows neg def /runlength 1 def }{ %else  /runlength 0 defn } ifelsef wx 0. llx RasterConvert lly RasterConvert < urx RasterConvert ury RasterConvert setcachedevice rows 0 ne { gsave) cols rows true RasterScaleFactor TB 0 0 RasterScaleFactor neg llx .5 add neg ury .5 add : tempmatrix astore GenerateRasters imagemask grestore } if endE }def endg! fnam int-dict definefont pop N } if / int-dict-name fnam findfont psz scalefont def 3 currentdict int [ int-dict /setfont cvx ] cvx putD}def NA/PXLF { true DefinePXLFont}def % SIGNAL THAT FONT ALREADY LOADEDdF/PXLNF {false DefinePXLFont}def % SIGNAL THAT FONT NOT ALREADY LOADED%:/PXLC { % ...* % ...PXLCH /rasters exch def /runlength exch def /cols exch def /rows exch defG /ury exch def /urx exch def /lly exch def /llx exch def7 /wx exch def /code exch def /int exch def+ % SEE IF LONG OR SHORT FORMAT IS REQUIREDc? true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ o TackRunLengthToRows { / int-dict /CharDict get /Char-Info get code C [ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackBytenA 0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] putT }{ %else/ int-dict /CharDict get /Char-Info get code O? [ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHWIP 0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put } ifelse}def%h/CKSZ {abs 127 le and}deft@/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if}def% /PLOTC {K % PLOTC H /rasters exch def /runlength exch def /cols exch def /rows exch defG /ury exch def /urx exch def /lly exch def /llx exch defe6 /psz exch def /dsz exch def /wx exch def' % "PLOT" A CHARACTER'S RASTER PATTERNo rows 0 ne {o gsaves3 currentpoint translate psz dsz div dup scaleo> cols rows true RasterScaleFactor 0 0 RasterScaleFactor 6 neg llx .5 add neg ury .5 add tempmatrix astore GenerateRasters imagemaskp grestore } if wx x}def%i% set color routine: Color# SC6/SC {ColorPalette exch get 1.0 setcustomcolor}bind def%k %%EndPrologr %%BeginSetup/PxlResolution 300 def/Resolution 3600 def3/RasterScaleFact   NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zor PxlResolution Resolution div def/PortraitMode true def/PaperWidth 8.500 deft/PaperHeight 11.000 def072 Resolution div dup scale 7%> Postamble of file MG_SRC:[NETLIB]NETLIB_DOC.DVI_PS.x*% DefineFont:F154 Category:10 Pointsize:10P/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-BoldItalic@DOCPSE DOCPSE ReENCODE4/F154 500.0 /NewCenturySchlbk-BoldItalic@DOCPSE DPSF*% DefineFont:F153 Category:10 Pointsize:10D/NewCenturySchlbk-Bold /NewCenturySchlbk-Bold@DOCPSE DOCPSE ReENCODE./F153 500.0 /NewCenturySchlbk-Bold@DOCPSE DPSF*% DefineFont:F152 Category:10 Pointsize:10H/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE0/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF*% DefineFont:F151 Category:10 Pointsize:10F/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE//F151 500.0 /NewCenturySchlbk-Roman@DOCPSE DPSFa)% DefineFont:F102 Category:10 Pointsize:8e(/Courier /Courier@DOCPSE DOCPSE ReENCODE /F102 400.0 /Courier@DOCPSE DPSF(% DefineFont:F40 Category:10 Pointsize:96/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE&/F40 450.0 /Helvetica-Bold@DOCPSE DPSF(% DefineFont:F38 Category:10 Pointsize:9,/Helvetica /Helvetica@DOCPSE DOCPSE ReENCODE!/F38 450.0 /Helvetica@DOCPSE DPSF )% DefineFont:F36 Category:10 Pointsize:10t&/F36 500.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F34 Category:10 Pointsize:10h!/F34 500.0 /Helvetica@DOCPSE DPSFd)% DefineFont:F28 Category:10 Pointsize:12e&/F28 600.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F25 Category:10 Pointsize:14lD/Helvetica-BoldOblique /Helvetica-BoldOblique@DOCPSE DOCPSE ReENCODE-/F25 700.0 /Helvetica-BoldOblique@DOCPSE DPSFc)% DefineFont:F24 Category:10 Pointsize:14w&/F24 700.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F23 Category:10 Pointsize:14 </Helvetica-Oblique /Helvetica-Oblique@DOCPSE DOCPSE ReENCODE)/F23 700.0 /Helvetica-Oblique@DOCPSE DPSF )% DefineFont:F20 Category:10 Pointsize:18d&/F20 900.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F12 Category:10 Pointsize:30<'/F12 1500.0 /Helvetica-Bold@DOCPSE DPSF *%> Postamble of file NETLIB_DOC_CONTENTS.%Spot color array for this job/ColorPalette [F+0.0 0.0 0.0 1.0 (BLACK) findcmykcustomcolor ] def> %%EndSetup%- %%Page: (I) 1u%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)n PaperHeight PaperWidth PM 0 0 XYF0 SC 10773 10524 XY F20(NETLIB)S 200 x(Programmer)S 32 x(')S -33 x(s)SD10773 11520 XY(Guide)S 10773 14210 XY F36(November)S -27 x(,)S 166 xG(1994)S 10773 16302 XY F34(This)S 170 x(manual)S 168 x(contains)S 170 xEF(information)S 169 x(about)S 170 x(NETLIB,)S 171 x(a)S 169 x(library)SF168 x(for)S 170 x(TCP/IP)S 171 x(network)S 10773 X 598 y(programming)SF165 x(on)S 166 x(VMS)S 167 x(systems.)S 10773 20188 XY F36(Revision/)SD2 x(Update)S 166 x(Information)S 2 x(:)S 798 x F34(This)S 166 x(is)SC166 x(a)S 166 x(new)S 165 x(manual.)S 10773 X 896 y F36(Operating)SaH167 x(System)S 166 x(and)S 166 x(V)S -27 x(ersion:)S 300 x F34(V)S -37 xG(AX/V)S 2 x(MS)S 178 x(V5.2)S 180 x(or)S 179 x(later;)S 185 x(OpenVMS)SG179 x(AXP)S 18546 X 598 y(V1.0)S 167 x(or)S 165 x(later)S 10773 X 897 yCF36(Software)S 166 x(V)S -27 x(ersion:)S 18546 X F34(NETLIB)S 167 xzL(V2.0)S 10773 29160 XY F36(Matthew)S 166 x(Madison)S 10773 X 697 y(MadGoat)S166 x(Software)SEP PPs %%PageTrailerc%%%PageFonts: Helvetica-Bold HelveticaL%%PageProcessColors:%%PageCustomColors: (BLACK)r%d%%Page: (II) 2%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYF0 SC 10773 24123 XY 8364 48 R 10773 24671 XY F40(01)S 167 x(November)SF166 x(1994)S 10773 X 897 y F38(Permission)S 167 x(is)S 166 x(granted)SE167 x(to)S 166 x(copy)S 167 x(and)S 167 x(redistribute)S 166 x(this)SoH166 x(documen)S 2 x(t)S 165 x(for)S 166 x(no)S 167 x(comme)S 2 x(rcial)SF165 x(gain.)S 10773 X 896 y(The)S 172 x(information)S 173 x(in)S 171 xE(this)S 172 x(documen)S 2 x(t)S 171 x(is)S 172 x(subject)S 172 x(to)SaH172 x(change)S 173 x(without)S 171 x(notice)S 172 x(and)S 173 x(should)SE172 x(not)S 10773 X 548 y(be)S 172 x(construed)S 173 x(as)S 171 x(a)SXE172 x(commitmen)S 2 x(t)S 170 x(by)S 172 x(the)S 172 x(author)S -24 x G(.)S 259 x(The)S 172 x(author)S 172 x(assume)S 2 x(s)S 171 x(no)S 172 xeF(respons)S 2 x(ibil)S -2 x(ity)S 10773 X 548 y(for)S 166 x(any)S 167 xC(errors)S 168 x(that)S 165 x(may)S 167 x(appea)S 2 x(r)S 166 x(in)SnF166 x(this)S 165 x(docum)S 2 x(ent.)S 10773 X 897 y F40(DISCLAI)S -2 xK(MER:)S 185 x F38(The)S 185 x(author)S -23 x(,)S 188 x(the)S 185 x(author)S G17 x(')S -8 x(s)S 185 x(employer)S -24 x(,)S 189 x(and)S 185 x(MadGoa)SrG2 x(t)S 184 x(Software)S 184 x(make)S 10773 X 548 y(no)S 173 x(repres)SxE2 x(entations)S 172 x(or)S 173 x(warran)S 2 x(ties)S 172 x(wit)S -2 xpC(h)S 173 x(respec)S 2 x(t)S 172 x(to)S 172 x(the)S 173 x(contents)SaJ173 x(hereof)S 173 x(and)S 174 x(speci\211cally)S 10773 X 548 y(disclaim)SL158 x(any)S 159 x(implied)S 158 x(warranties)S 159 x(of)S 158 x(merchantab)SH2 x(ili)S -2 x(ty)S 158 x(or)S 159 x(\211tness)S 158 x(for)S 159 x(any)SD159 x(particular)S 158 x(purpos)S 2 x(e.)S 10773 X 896 y(AXP)S -58 xF(,)S 198 x(DEC,)S 197 x(V)S -33 x(AX,)S 197 x(VMS,)S 199 x(and)S 198 xK(OpenVMS)S 199 x(are)S 199 x(tradema)S 2 x(rks)S 198 x(of)S 198 x(Digital)S C197 x(Equipment)S 10773 X 548 y(Corporation.)S 10773 X 897 y(UNIX)SkE165 x(is)S 166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)S 166 x(Unix)SPF166 x(System)S 166 x(Labor)S 2 x(atories,)S 166 x(Inc.)S 10773 X 897 yD(MultiNet)S 165 x(is)S 166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)SE166 x(TGV)S -42 x(,)S 166 x(Inc.)S 10773 X 896 y(TCPware)S 166 x(is)StC166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)S 166 x(Process)S 167 xlG(Software)S 167 x(Corporation.)S 10773 X 897 y(PathW)S -16 x(ay)S 166 xeE(is)S 166 x(a)S 166 x(tradem)S 2 x(ark)S 166 x(of)S 166 x(The)S 167 xSI(W)S -8 x(ollongong)S 167 x(Group,)S 166 x(Inc.)S 10773 X 896 y 3588 24 R H10773 36028 XY(Copyright)S 166 x(\251199)S 2 x(4)S 166 x(MadGoat)S 167 x@(Software.)S 249 x(All)S 165 x(Rights)S 165 x(Reserved)S 2 x(.)SEP PPm %%PageTrailere%%%PageFonts: Helvetica-Bold Helvetican%%PageProcessColors:%%PageCustomColors: (BLACK) %-;% < Beginning of included file NETLIB_DOC_CONTENTS.DVI_PS >F%%Page: (III) 3T%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYE0 SC 5094 4546 XY 23160 48 R 5094 5520 XY F20(Contents)S 7187 6812 XYgG21072 72 R 7187 7410 XY F36(PREF)S -27 x(ACE)S 27981 X(v)S 5094 9203 XYfD23160 144 R 5094 9900 XY F28(CHAPTER)S 164 x(1)S 599 x(USING)S 165 xE(NETLIB)S 27260 X(1\2031)S 7187 11096 XY 21072 72 R 7187 11693 XY F36cG(1.1)S 9279 X(OVER)S -10 x(VIEW)S 27427 X(1\2031)S 9279 X 698 y(1.1.1)SwI11371 X(NETLIB)S 167 x(Services)S 498 x 9684 24 R 27427 12391 XY(1\2031)S J7187 13586 XY 21072 72 R 7187 14184 XY(1.2)S 9279 X(HEADER)S 165 x(FILES)SD27427 X(1\2032)S 7187 15380 XY 21072 72 R 7187 15977 XY(1.3)S 9279 XC(NETLIB)S 166 x(DA)S -37 x(T)S -37 x(A)S 166 x(STRUCTURES)S 27427 XiL(1\2032)S 9279 X 698 y(1.3.1)S 11371 X(INADDRD)S -2 x(EF)S 167 x(Structure)SD498 x 8388 24 R 27427 16675 XY(1\2032)S 9279 X 697 y(1.3.2)S 11371 XC(SINDEF)S 167 x(Structure)S 498 x 9492 24 R 27427 17372 XY(1\2032)S H9279 X 698 y(1.3.3)S 11371 X(MXRRDEF)S 166 x(Structure)S 498 x 8856 24 RH27427 18070 XY(1\2032)S 9279 X 697 y(1.3.4)S 11371 X(NETLIB_DNS_HEADER)SG165 x(Structure)S 499 x 5808 24 R 27427 18767 XY(1\2033)S 7187 19962 XYdD21072 72 R 7187 20560 XY(1.4)S 9279 X(BYTE-ORDER)S 165 x(CONSIDERA)SE-38 x(TIONS)S 27427 X(1\2033)S 7187 21756 XY 21072 72 R 7187 22354 XYx!  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zd<-D(1.5)S 9279 X(SYNCHRO)S -2 x(NOUS)S 165 x(VS.)S 168 x(ASYNCHR)S -2 xM(ONOUS)S 165 x(OPERA)S -38 x(TION)S 27427 X(1\2033)S 7187 23549 XY 21072 72 RrG7187 24147 XY(1.6)S 9279 X(I/O)S 166 x(ST)S -36 x(A)S -37 x(TUS)S 166 xyF(BLOCK)S 27427 X(1\2033)S 7187 25342 XY 21072 72 R 7187 25940 XY(1.7)SO9279 X(LINKING)S 166 x(NETLIB)S 166 x(PROGRAMS)S 27427 X(1\2033)S 7187 27136 XYxG21072 72 R 7187 27733 XY(1.8)S 9279 X(CONT)S -38 x(ACTING)S 165 x(THE)SPG167 x(AUTHOR)S 27427 X(1\2033)S 5094 29527 XY 23160 144 R 5094 30772 XYiHF20(Part)S 165 x(I)S 897 x(ROUTINE)S 167 x(DESCRI)S 2 x(PTIONS)S 11371 XN598 y F40(NETLIB_AC)S -2 x(CEPT)S 24148 X(RTN\2033)S 11371 X 597 y(NETLIB_AD)SI-2 x(DRESS_T)S -8 x(O_NAME)S 24148 X(RTN\2035)S 11371 X 598 y(NETLIB_AD)S0C-2 x(DRT)S -8 x(OSTR)S 24148 X(RTN\2038)S 11371 X 598 y(NETLIB_BI)SCI-2 x(ND)S 24148 X(RTN\2039)S 11371 X 598 y(NETLIB_CLO)S -2 x(SE)S 23923 XeD(RTN\2031)S -25 x(1)S 11371 X 598 y(NETLIB_CO)S -2 x(NNECT)S 23899 XC(RTN\20312)S 11371 X 597 y(NETLIB_CO)S -2 x(NNECT_BY_NAME)S 23899 XdE(RTN\20314)S 11371 X 598 y(NETLIB_DN)S -2 x(S_EXP)S -32 x(ANDN)S -2 xh3(AME)S 23899 X(RTN\20316)S 27842 36925 XY F36(iii)SNEP PPF %%PageTrailere%%PageFonts: Helvetica-BoldF%%PageProcessColors:%%PageCustomColors: (BLACK)e%r%%Page: (IV) 4%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)@ PaperHeight PaperWidth PM 0 0 XYC0 SC 5094 1807 XY F28(Contents)S 11371 4834 XY F40(NETLIB_DN)S -2 x0J(S_MX_LOOKUP)S 23899 X(RTN\20318)S 11371 X 598 y(NETLIB_DN)S -2 x(S_QUER)SI-17 x(Y)S 23899 X(RTN\20320)S 11371 X 598 y(NETLIB_DN)S -2 x(S_SKIPNAME)SoF23899 X(RTN\20323)S 11371 X 597 y(NETLIB_GETPEERN)S -2 x(AME)S 23899 XK(RTN\20324)S 11371 X 598 y(NETLIB_GETSOC)S -2 x(KNAME)S 23899 X(RTN\20326)SoE11371 X 598 y(NETLIB_GETSOC)S -2 x(KOPT)S 23899 X(RTN\20328)S 11371 XFN598 y(NETLIB_HT)S -9 x(ON_LONG)S 23899 X(RTN\20330)S 11371 X 598 y(NETLIB_HT)SH-9 x(ON_WORD)S 23899 X(RTN\20331)S 11371 X 597 y(NETLIB_LISTEN)S 23899 XC(RTN\20332)S 11371 X 598 y(NETLIB_NA)S -2 x(ME_T)S -7 x(O_ADDRESS)SlD23899 X(RTN\20334)S 11371 X 598 y(NETLIB_NT)S -9 x(OH_LONG)S 23899 XI(RTN\20337)S 11371 X 598 y(NETLIB_NT)S -9 x(OH_WORD)S 23899 X(RTN\20338)SwE11371 X 597 y(NETLIB_REA)S -2 x(D)S 23899 X(RTN\20339)S 11371 X 598 yPI(NETLIB_REA)S -2 x(DLINE)S 23899 X(RTN\20341)S 11371 X 598 y(NETLIB_SER)SG-9 x(VER_SETUP)S 23899 X(RTN\20343)S 11371 X 598 y(NETLIB_SETSOC)S -2 xPC(KOPT)S 23899 X(RTN\20345)S 11371 X 597 y(NETLIB_SHU)S -2 x(TDOWN)S2M23899 X(RTN\20348)S 11371 X 598 y(NETLIB_SOCK)S -2 x(ET)S 23899 X(RTN\20350)SmE11371 X 598 y(NETLIB_STRT)S -10 x(OADDR)S 23899 X(RTN\20352)S 11371 XlL598 y(NETLIB_WRIT)S -2 x(E)S 23899 X(RTN\20353)S 11371 X 597 y(NETLIB_WRIT)SH-2 x(ELINE)S 23899 X(RTN\20355)S 5094 18583 XY 23160 144 R 5094 19280 XYGF28(APPEND)S -2 x(IX)S 166 x(A)S 598 x(ST)S -45 x(A)S -44 x(TUS)S 165 x7E(CODES)S 27161 X(A\2031)S 5094 21073 XY 23160 144 R 5094 21671 XY(T)S1D-44 x(ABLES)S -255 x 697 y F36(RTN)S(\203)S(1)S 514 x(Domain)S 166 xC(Name)S 166 x(Service)S 166 x(query)S 167 x(types)S 498 x 7512 24 RfE26403 22368 XY(RTN\20321)S 7187 X 698 y(RTN)S(\203)S(2)S 514 x(Flag)S L167 x(values)S 167 x(for)S 166 x(NETLIB_DNS_QUER)S -19 x(Y)S 498 x 6900 24 RG26403 23066 XY(RTN\20321)S 7187 X 697 y(RTN)S(\203)S(3)S 514 x(Socket)SSI166 x(optio)S 2 x(ns)S 498 x 12192 24 R 26403 23763 XY(RTN\20346)S 7187 XeF698 y(RTN)S(\203)S(4)S 514 x(Shutdown)S 167 x(types)S 498 x 11916 24 RG26403 24461 XY(RTN\20348)S 7187 X 697 y(RTN)S(\203)S(5)S 514 x(Socket)S8F166 x(types)S 498 x 12696 24 R 26403 25158 XY(RTN\20350)S 7187 X 697 yM(A)S(\203)S(1)S 9279 X(NETLIB)S 166 x(Status)S 167 x(Codes)S 498 x 10620 24 RS*27344 25855 XY(A\2031)S 5094 36925 XY(iv)SEP PP) %%PageTrailerY%%PageFonts: Helvetica-BoldS%%PageProcessColors:%%PageCustomColors: (BLACK)%a5% < End of included file NETLIB_DOC_CONTENTS.DVI_PS >a %%Page: (V) 5:%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)r PaperHeight PaperWidth PM 0 0 XYM0 SC 5094 4546 XY 23160 48 R 5094 5443 XY F20(Prefac)S -2 x(e)S 10773 7236 XY HF151(There)S 187 x(are)S 186 x(several)S 186 x(TCP/IP)S 186 x(packages)SG186 x(available)S 186 x(for)S 186 x(VMS)S 185 x(systems)S 185 x(today)SnK-55 x(.)S 10773 X 598 y(Each)S 166 x(provides)S 167 x(a)S 166 x(VMS-style)S6F165 x(programming)S 168 x(interface,)S 166 x(using)S 167 x(the)S 167 xH($QIO)S 164 x(system)S 10773 X 598 y(service,)S 180 x(and)S 176 x(most)SF175 x(also)S 176 x(provide)S 176 x(a)S 176 x(`)S -9 x(`socket')S -10 xF(')S 176 x(programming)S 177 x(library)S -55 x(,)S 179 x(based)S 176 xD(on)S 10773 X 598 y(the)S 169 x(communications)S 170 x(model)S 168 xH(developed)S 170 x(for)S 169 x(BSD)S 168 x(UNIX.)S 168 x(Unfortunately)SF-54 x(,)S 170 x(there)S 10773 X 597 y(is)S 164 x(no)S 165 x(standard)SG165 x(among)S 165 x(all)S 164 x(of)S 165 x(the)S 165 x(packages)S 165 x1G(for)S 165 x(the)S 164 x($QIO-based)S 163 x(programming)S 10773 X 598 y0G(interface)S 164 x(\(most,)S 164 x(but)S 164 x(not)S 164 x(all,)S 164 x3E(emulate)S 164 x(Digital')S -20 x(s,)S 165 x(at)S 163 x(least)S 163 x-D(to)S 164 x(some)S 163 x(degree\),)S 165 x(and)S 10773 X 598 y(the)SH166 x($QIO-based)S 165 x(interface)S 166 x(is)S 166 x(not)S 166 x(very)SG167 x(easy)S 166 x(to)S 166 x(use.)S 10773 X 897 y(The)S 182 x(socket)S(C180 x(libraries)S 181 x(provided)S 181 x(with)S 181 x(these)S 180 xsD(packages)S 182 x(provide)S 181 x(a)S 181 x(somewhat)S 10773 X 597 yE(easier)S -9 x(-to-use)S 202 x(programming)S 203 x(interface,)S 212 x5E(but)S 202 x(don')S -9 x(t)S 202 x(permit)S 201 x(VMS-style)S 10773 X1E598 y(asynchron)S 2 x(ous)S 175 x(programming)S 177 x(\(using)S 176 x G(AST)S -31 x(s\),)S 178 x(and)S 175 x(generally)S 177 x(require)S 176 x1H(at)S 176 x(least)S 10773 X 598 y(a)S 178 x(re-LINK,)S 177 x(and)S 178 xG(sometimes)S 176 x(source)S 178 x(modi\211cations,)S 181 x(when)S 178 x6H(moving)S 179 x(from)S 177 x(one)S 10773 X 598 y(vendor)S 29 x(')S -19 xG(s)S 165 x(library)S 167 x(to)S 166 x(another)S -36 x(.)S 10773 X 896 yxE(NETLIB)S 167 x(was)S 166 x(originally)S 168 x(developed)S 168 x(to)SnK167 x(support)S 167 x(MadGoat)S 167 x(Software')S -20 x(s)S 167 x(Message)S1C10773 X 598 y(Exchang)S 2 x(e)S 171 x(mail)S 172 x(package,)S 174 x7E(which)S 172 x(needed)S 172 x(to)S 172 x(support)S 171 x(many)S 173 xxH(TCP/IP)S 172 x(packages)S 10773 X 598 y(doing)S 198 x(VMS-style)S 196 xK(asynchr)S 2 x(onous)S 197 x(programming.)S 313 x(NETLIB)S 197 x(provides)S1I197 x(a)S 10773 X 597 y(consistent,)S 195 x(VMS-style)S 188 x(interface)S J190 x(for)S 189 x(TCP/IP-based)S 189 x(network)S 189 x(programs,)S 10773 XG598 y(operating)S 179 x(with)S 178 x(all)S 179 x(of)S 178 x(the)S 179 x D(currently)S 180 x(available)S 178 x(TCP/IP)S 179 x(packages)S 179 xI(available)S 10773 X 598 y(today)S 178 x(for)S 177 x(VMS)S 178 x(\(with)SsK177 x(one)S 177 x(minor)S 178 x(exception\).)S 273 x(In)S 178 x(addition,)S9G181 x(NETLIB)S 177 x(allows)S 10773 X 598 y(for)S 183 x(\212exibility)SSF184 x(in)S 183 x(the)S 183 x(use)S 183 x(of)S 183 x(a)S 183 x(TCP/IP)SH183 x(package,)S 189 x(by)S 183 x(selecting)S 184 x(the)S 183 x(vendor)SE-8 x(-)S 10773 X 598 y(dependent)S 167 x(library)S 166 x(code)S 166 x7F(at)S 166 x(run-time,)S 167 x(rather)S 167 x(than)S 166 x(link-time.)SF5094 20138 XY 23160 96 R 5094 20835 XY F24(Intended)S 166 x(Audience)SC-533 x 897 y F151(This)S 178 x(manual)S 178 x(is)S 177 x(intended)S5D178 x(for)S 178 x(programmers)S 178 x(writing)S 178 x(applications)SI177 x(that)S 178 x(use)S 10773 X 598 y(NETLIB.)S 5094 23359 XY 23160 96 RSH5094 24057 XY F24(Document)S 166 x(S"  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z<tructure)S 10773 X 896 y F151(This)SL179 x(document)S 179 x(consists)S 177 x(of)S 179 x(an)S 179 x(introductory)SF179 x(chapter)S -36 x(,)S 182 x(a)S 178 x(section)S 179 x(containing)SD10773 X 598 y(routine)S 167 x(descriptions,)S 166 x(and)S 167 x(an)SD166 x(appendix)S 167 x(describing)S 167 x(the)S 166 x(status)S 166 xM(codes)S 166 x(returned)S 10773 X 598 y(by)S 167 x(NETLIB)S 165 x(routines.)S7F5094 27095 XY 23160 96 R 5094 27793 XY F24(Related)S 165 x(Documents)SF-804 x 896 y F151(The)S 167 x F152(NETLIB)S 165 x(Installation)S 167 xF(Guide)S 167 x F151(describes)S 165 x(how)S 166 x(to)S 166 x(install)S&165 x(NETLIB.)S 27981 36925 XY F36(v)SEP PP2 %%PageTrailer22%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%+ NewCenturySchlbk-Italic7%%PageProcessColors:%%PageCustomColors: (BLACK)N%G%%Page: (VI) 6%DEC_EDMS_BlankPage4PP %%PageTrailer2 %%PageFonts:%%PageProcessColors:%%PageCustomColors:8%A%%Page: (1-1) 7)%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight PaperWidth PM 0 0 XYJ0 SC 2404 5875 XY F12(1)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(Using)SJ166 x(NETLIB)S -215 x 8652 Y F151(This)S 166 x(chapter)S 167 x(discusses)SN165 x(the)S 166 x(NETLIB)S 166 x(programming)S 167 x(interface.)S 5094 9598 XYG23160 96 R 2404 10296 XY F24(1.1)S 5094 X(Overview)S 10773 X 896 y F151NG(NETLIB)S 175 x(provides)S 176 x(a)S 175 x(single)S 176 x(programming)SBH177 x(interface)S 175 x(that)S 176 x(can)S 176 x(be)S 175 x(used)S 175 xI(with)S 10773 X 598 y(almost)S 189 x(any)S 191 x(TCP/IP)S 191 x(package)S D191 x(for)S 191 x(VMS)S 190 x(systems.)S 297 x(While)S 190 x(every)SE191 x(package)S 10773 X 598 y(provides)S 186 x(a)S 186 x($QIO)S 184 xCH(interface)S 186 x(and)S 186 x(most)S 185 x(also)S 186 x(provide)S 186 xG(a)S 186 x(socket)S 186 x(library)S -55 x(,)S 191 x(the)S 10773 X 598 yiE(advantages)S 167 x(to)S 166 x(using)S 166 x(NETLIB)S 166 x(instead)SYE166 x(are:)S 10773 X 896 y(\201)S 595 x(NETLIB)S 199 x(allows)S 198 xyL(VMS-style)S 199 x(asynchron)S 2 x(ous)S 199 x(programming)S 201 x(\(using)SD11670 X 598 y(AST)S -31 x(s\))S 177 x(without)S 178 x(having)S 180 xM(to)S 178 x(use)S 178 x(the)S 179 x($QIO)S 177 x(interface)S 178 x(directly)SMD-55 x(.)S 274 x(The)S 179 x($QIO)S 11670 X 598 y(programming)S 167 xH(interface)S 166 x(varies)S 167 x(from)S 166 x(vendor)S 167 x(to)S 166 xG(vendor)S -36 x(.)S 10773 X 896 y(\201)S 595 x(NETLIB)S 171 x(selects)S1C170 x(its)S 171 x(vendor)S -8 x(-speci\211c)S 172 x(support)S 171 xAC(code)S 172 x(at)S 171 x(run-time,)S 174 x(allowing)S 11670 X 598 yEE(you)S 191 x(to)S 191 x(switch)S 190 x(between)S 191 x(TCP/IP)S 191 xSC(packages)S 191 x(without)S 191 x(re-linking)S 192 x(your)S 11670 X(D598 y(program.)S 256 x(Y)S -55 x(ou)S 169 x(can)S 170 x(even)S 170 xG(have)S 170 x(the)S 169 x(same)S 169 x(application,)S 170 x(installed)SNM169 x(just)S 169 x(once,)S 11670 X 598 y(run)S 185 x(over)S 186 x(different)S C185 x(TCP/IP)S 185 x(packages)S 186 x(at)S 184 x(the)S 185 x(same)S(E184 x(time)S 185 x(on)S 185 x(different)S 11670 X 597 y(nodes)S 166 x)G(in)S 166 x(a)S 166 x(VMScluster)S 166 x(system.)S 10773 X 897 y(\201)SSD595 x(NETLIB)S 186 x(provides)S 188 x(a)S 187 x(VMS)S 186 x(common)SE188 x(language)S 189 x(environment)S 188 x(style)S 187 x(of)S 11670 X(F598 y(programming)S 173 x(interface,)S 175 x(making)S 174 x(it)S 172 xK(easier)S 172 x(to)S 172 x(use)S 173 x(from)S 172 x(other)S 173 x(languag)S6H2 x(es)S 11670 X 598 y(than)S 166 x(a)S 166 x(UNIX-type)S 166 x(socket)SJ166 x(library)S 166 x(written)S 166 x(for)S 166 x(C)S 166 x(programmers.)SG5094 21653 XY 9564 48 R 2404 22350 XY F24(1.1.1)S 5094 X(NETLIB)S 166 xNG(Services)S 124 x 897 y F151(NETLIB)S 178 x(provides)S 178 x(services)S8F179 x(for)S 178 x(writing)S 178 x(TCP/IP-based)S 179 x(network)S 178 xK(programs,)S 10773 X 598 y(both)S 187 x(client)S 187 x(and)S 187 x(server)SSE-36 x(.)S 291 x(Servers)S 187 x(can)S 188 x(either)S 187 x(be)S 187 x8D(standalone,)S 192 x(AST)S -46 x(-driven)S 10773 X 598 y(programs,)SH194 x(or)S 188 x(can)S 188 x(be)S 188 x(single-threaded)S 189 x(server)SE188 x(processes)S 187 x(`)S -9 x(`forked')S -9 x(')S 187 x(by)S 188 x3F(the)S 10773 X 597 y(`)S -9 x(`master)S 165 x(server')S -9 x(')S 166 xE(provided)S 166 x(with)S 166 x(each)S 166 x(TCP/IP)S 167 x(package.)SfD10773 X 897 y(NETLIB)S 166 x(services)S 166 x(can)S 166 x(be)S 166 xI(grouped)S 167 x(into)S 167 x(four)S 166 x(basic)S 166 x(areas:)S 10773 XaD897 y(\201)S 595 x F153(Connection)S 172 x(services)S F151(.)S 259 xF(These)S 171 x(routines)S 171 x(provide)S 171 x(the)S 171 x(services)SG171 x(necessary)S 11670 X 597 y(for)S 166 x(performing)S 167 x(TCP/IP)S H166 x(network)S 167 x(I/O.)S 10773 X 897 y(\201)S 595 x F153(Line-mode)SH170 x(services)S F151(.)S 257 x(These)S 170 x(routines)S 171 x(provide)SE170 x(a)S 170 x(line-oriented)S 170 x(network)S 11670 X 598 y(reads)S7C166 x(and)S 166 x(writes,)S 165 x(for)S 167 x(line-oriented)S 166 xoD(protocols)S 166 x(that)S 166 x(run)S 167 x(over)S 166 x(TCP)S -64 xL(.)S 10773 X 896 y(\201)S 595 x F153(DNS)S 188 x(resolver)S 189 x(services)SDF151(.)S 295 x(These)S 188 x(routines)S 189 x(provide)S 189 x(host)SE189 x(name)S 188 x(and)S 11670 X 598 y(address)S 165 x(lookup)S 167 x E(services.)S 250 x(A)S 165 x(direct)S 166 x(DNS)S 166 x(query)S 167 x)I(routine)S 166 x(is)S 166 x(also)S 166 x(provided.)S 10773 X 897 y(\201)S$H595 x F153(Utility)S 168 x(routines)S F151(.)S 252 x(These)S 167 x(are)SC167 x(routines)S 167 x(for)S 167 x(doing)S 168 x(byte-order)S 167 xtH(conversions,)GS 11670 X 598 y(IP)S 166 x(address)S 165 x(parsing)S 167 xJ(and)S 166 x(formatting,)S 167 x(and)S 166 x(other)S 166 x(miscellaneous)S-166 x(services.)S -385 x 36925 Y F36(1\2031)S EP PPS %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%+ NewCenturySchlbk-BoldS%%PageProcessColors:%%PageCustomColors: (BLACK) %r%%Page: (1-2) 8 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)x PaperHeight PaperWidth PM 0 0 XYD0 SC 5094 1807 XY F28(Using)S 167 x(NETLIB)S 5094 4596 XY 23160 96 RD2404 5294 XY F24(1.2)S 5094 X(Header)S 166 x(\211les)S 10773 X 896 yCF151(NETLIB)S 171 x(includes)S 171 x(header)S 172 x(\211les)S 171 x)L(for)S 172 x(both)S 171 x(C)S 171 x(and)S 171 x(BLISS)S 171 x(programming,)SE174 x(called)S 10773 X 598 y(NETLIBDEF)S -56 x(.H)S 159 x(and)S 159 xnG(NETLIBDE)S -2 x(F)S -55 x(.R32,)S 161 x(respectively)S -55 x(.)S 250 x1G(The)S 159 x(header)S 159 x(\211les)S 159 x(reside)S 10773 X 598 y(in)SIC168 x(the)S 167 x(NETLIB_DIR)S -2 x(:)S 168 x(directory)S -55 x(.)S F252 x(These)S 168 x(\211les)S 167 x(de\211ne)S 168 x(constants)S 167 xG(and)S 167 x(structures)S 10773 X 598 y(that)S 166 x(are)S 166 x(used)SwL166 x(by)S 167 x(the)S 166 x(NETLIB)S 165 x(programming)S 168 x(interface.)SD5094 8930 XY 23160 96 R 2404 9627 XY F24(1.3)S 5094 X(NETLIB)S 166 xC(Data)S 165 x(Structures)S 10773 X 897 y F151(NETLIB)S 169 x(uses)S)F169 x(several)S 170 x(data)S 169 x(structures)S 169 x(in)S 170 x(its)SF169 x(programming)S 170 x(interface.)S 257 x(Some)S 10773 X 598 y(of)SI176 x(these)S 176 x(data)S 176 x(structures)S 176 x(\(INADD)S -2 x(RDEF)S)H176 x(and)S 176 x(SINDEF\))S 175 x(are)S 176 x(common)S 177 x(to)S 176 xF(all)S 10773 X 598 y(BSD)S 168 x(socket-oriented)S 169 x(programming)SE170 x(libraries,)S 170 x(one)S 170 x(\(MXRRD)S -2 x(EF\))S 169 x(is)S D168 x(special)S 169 x(to)S 10773 X 597 y(NETLIB.)S 169 x(The)S 169 xF(header)S 170 x(\211les)S 168 x(provided)S 170 x(with)S 168 x(NETLIB)SF168 x(de\211nes)S 169 x(these)S 169 x(structures#  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z]OK)S 10773 X 598 y(for)SF166 x(BLISS)S 166 x(and)S 166 x(C)S 166 x(programmers.)S 5094 14111 XYD9564 48 R 2404 14808 XY F24(1.3.1)S 5094 X(INADD)S -2 x(RDEF)S 166 xE(Structure)S 10773 X 897 y F151(The)S 192 x(INADD)S -2 x(RDEF)S 190 xnF(structure)S 192 x(is)S 190 x(used)S 191 x(for)S 191 x(passing)S 191 xF(an)S 191 x(IP)S 191 x(address.)S 298 x(The)S 10773 X 597 y(contents)SG173 x(is)S 172 x(\(currently\))S 174 x(a)S 172 x(longword,)S 176 x(in)S H172 x(network)S 173 x(byte)S 173 x(order)S 173 x(\(see)S 172 x(Section)SC173 x(1.4)S 10773 X 598 y(for)S 166 x(more)S 166 x(information\).)S9D250 x(Its)S 165 x(de\211nition)S 167 x(is)S 166 x(\(in)S 166 x(C\))SC165 x(is:)S 11730 X 897 y F102(struct)S 239 x(INADDRDEF)S 240 x({)StD11969 X 448 y(unsigned)S 240 x(long)S 239 x(inaddr_l_addr;)S 11730 XK448 y(})S 5094 19889 XY 9564 48 R 2404 20586 XY F24(1.3.2)S 5094 X(SINDEF)S1J166 x(Structure)S -144 x 897 y F151(The)S 176 x(SINDEF)S 174 x(structure)SH175 x(de\211nes)S 176 x(an)S 175 x(IP)S 175 x(`)S -9 x(`socket,')S -10 xF(')S 177 x(which)S 176 x(is)S 174 x(a)S 175 x(combination)S 175 x(of)SC10773 X 598 y(an)S 166 x(IP)S 166 x(address)S 166 x(and)S 166 x(a)SPD166 x(TCP)S 166 x(or)S 167 x(UDP)S 165 x(port)S 166 x(number)S -36 xD(.)S 250 x(Its)S 165 x(de\211nition)S 167 x(is:)S 11730 X 896 y F102I(struct)S 239 x(SINDEF)S 240 x({)S 11969 X 449 y(unsigned)S 240 x(short)S2P239 x(sin_w_family;)S 11969 X 448 y(unsigned)S 240 x(short)S 239 x(sin_w_port;)SD12686 X 448 y(struct)S 240 x(INADDRDEF)S 240 x(sin_x_addr;)S 12686 XH449 y(unsigned)S 240 x(char)S 239 x(sin_x_mbz[8)S 2 x(];)S 11730 X 448 yL(})S 10773 X 897 y F151(The)S 182 x F153(sin_w_family)S 182 x F151(\211eld)SE182 x(should)S 181 x(always)S 181 x(be)S 181 x(set)S 181 x(to)S 181 xSF(NETLIB_K_A)S -2 x(F_INET)S 10773 X 597 y(\(value)S 167 x(2\).)S 249 xG(The)S 167 x F153(sin_w_mbz)S 166 x F151(\211eld)S 167 x(should)S 166 xrD(always)S 166 x(be)S 166 x(zeroed.)S 10773 X 897 y(This)S 172 x(is)SF170 x(a)S 172 x(speci\211c)S 171 x(form)S 171 x(of)S 172 x(the)S 171 xM(more)S 172 x(general)S 172 x(SOCK)S -2 x(ADDRD)S -2 x(EF)S 172 x(structure)S C171 x(for)S 10773 X 598 y(use)S 176 x(with)S 176 x(IP-based)S 175 x J(sockets.)S 270 x(NETLIB)S 176 x(currently)S 177 x(only)S 177 x(supports)SH176 x(IP)S 176 x(network)S 10773 X 597 y(programming,)S 168 x(so)S 166 xH(other)S 166 x(types)S 166 x(of)S 166 x(addresses)S 165 x(should)S 166 xE(not)S 166 x(be)S 167 x(used.)S 5094 30001 XY 9564 48 R 2404 30698 XYXGF24(1.3.3)S 5094 X(MXRRDEF)S 165 x(Structure)S 10773 X 897 y F151(The)SyD206 x(MXRRDEF)S 205 x(structure)S 206 x(is)S 205 x(used)S 206 x(to)SG205 x(return)S 207 x(MX)S 206 x(resource)S 206 x(record)S 10773 X 598 y N(information)S 166 x(in)S 167 x(a)S 166 x(call)S 166 x(to)S 166 x(NETLIB_DNS)SD-2 x(_MX_LOOKUP:)S 11730 X 896 y F102(struct)S 239 x(MXRRDEF)S 240 xK({)S 12686 X 449 y(unsigned)S 240 x(int)S 239 x(mxrr_l_prefe)S 2 x(rence;)S0J12686 X 448 y(unsigned)S 240 x(int)S 239 x(mxrr_l_lengt)S 2 x(h;)S 12686 XI448 y(char)S 15794 X(mxrr_t_name[)S 2 x(128];)S 11730 X 449 y(})S 10773 XtI896 y F151(This)S 166 x(structure)S 167 x(is)S 165 x(NETLIB-speci\211c.)S05094 36925 XY F36(1\2032)SEP PP %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman!%%+ Courier NewCenturySchlbk-Boldo%%PageProcessColors:%%PageCustomColors: (BLACK)h% %%Page: (1-3) 9x%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)S PaperHeight PaperWidth PM 0 0 XYD0 SC 24272 1807 XY F28(Using)S 167 x(NETLIB)S 5094 4546 XY 9564 48 RM2404 5244 XY F24(1.3.4)S 5094 X(NETLIB_DN)S -2 x(S_HEADER)S 165 x(Structure)S6G10773 X 896 y F151(A)S 175 x(domain)S 175 x(name)S 175 x(server)S 175 xEF(accepts)S 175 x(queries)S 175 x(and)S 175 x(returns)S 176 x(replies)SD174 x(pre\211xed)S 176 x(with)S 10773 X 598 y(with)S 183 x(a)S 184 xC(standard)S 183 x(header)S -36 x(.)S 284 x(A)S 183 x(de\211nition)SeH185 x(of)S 183 x(this)S 183 x(header)S 184 x(is)S 183 x(provided)S 184 xN(in)S 184 x(the)S 10773 X 598 y(NETLIB_DNS_HEA)S -2 x(DER)S 170 x(structure.)SE259 x(Refer)S 171 x(to)S 170 x(the)S 171 x(NETLIBDEF)S 170 x(header)S4H171 x(\211le)S 10773 X 598 y(and)S 172 x(the)S 171 x(appropriate)S 171 xH(DNS)S 171 x(RFCs)S 170 x(\(such)S 172 x(as)S 171 x(RFC)S 171 x(1035\))SH171 x(for)S 171 x(more)S 171 x(information)S 10773 X 598 y(about)S 180 xL(this)S 180 x(header)S -36 x(.)S 278 x(Only)S 180 x(those)S 180 x(programs)SG181 x(which)S 180 x(use)S 181 x(the)S 180 x(NETLIB_DNS_)S 10773 X 597 ylH(QUER)S -20 x(Y)S 166 x(routine)S 167 x(will)S 165 x(need)S 167 x(this)SK165 x(header)S 167 x(de\211nition.)S 5094 10076 XY 23160 96 R 2404 10773 XY)GF24(1.4)S 5094 X(Byte-Order)S 166 x(Considerations)S 10773 X 897 y F1517D(In)S 178 x(NETLIB)S 177 x(routines,)S 181 x(addresses)S 177 x(and)SD178 x(port)S 177 x(numbers)S 178 x(are)S 178 x(expected)S 178 x(to)SG178 x(be)S 177 x(in)S 10773 X 597 y(`)S -9 x(`network)S 157 x(order;')SiM-8 x(')S 160 x(that)S 157 x(is,)S 159 x(with)S 157 x(the)S 158 x(high-order)S5F159 x(byte)S 157 x(\211rst.)S 250 x(This)S 158 x(is)S 157 x(opposite)SH156 x(the)S 10773 X 598 y(natural)S 172 x(byte-order)S 172 x(for)S 171 xD(V)S -56 x(AX)S 171 x(and)S 171 x(AXP)S 171 x(systems)S 170 x(runn)SG2 x(ing)S 172 x(VMS,)S 171 x(which)S 172 x(places)S 10773 X 598 y(the)S(D179 x(low-order)S 178 x(byte)S 179 x(\211rst.)S 275 x(NETLIB)S 178 xF(provides)S 179 x(routines)S 179 x(that)S 179 x(can)S 179 x(be)S 178 xE(used)S 179 x(to)S 10773 X 598 y(reverse)S 167 x(byte)S 166 x(order)StJ167 x(for)S 166 x(use)S 166 x(in)S 166 x(the)S 166 x(calls)S 1V66 x(which)SE166 x(expect)S 167 x(it.)S 5094 15007 XY 23160 96 R 2404 15705 XY F24eN(1.5)S 5094 X(Synchronous)S 167 x(vs.)S 248 x(Asynchronous)S 166 x(Operation)SE10773 X 896 y F151(Most)S 170 x(NETLIB)S 170 x(routines)S 170 x(can)SdH171 x(be)S 170 x(executed)S 171 x(synchronou)S 2 x(sly)S 170 x(\(where)SC170 x(the)S 171 x(routine)S 10773 X 598 y(uses)S 166 x($QIOW)S -2 xxC(\))S 166 x(or)S 167 x(asynchronou)S 2 x(sly)S 166 x(\($QIO)S 164 xxF(is)S 166 x(used)S 166 x(instead)S 166 x(of)S 166 x($QIOW)S -2 x(\).)SH167 x(T)S -46 x(o)S 166 x(have)S 10773 X 598 y(a)S 167 x(routine)S 168 xG(called)S 168 x(asynchronou)S 2 x(sly)S -56 x(,)S 168 x(specify)S 168 x5E(a)S 167 x(non-zero)S 168 x F153(astadr)S 168 x F151(argument)S 168 xaE(\(and,)S 10773 X 598 y(optionally)S -55 x(,)S 172 x(the)S 171 x F153CH(astprm)S 170 x F151(argument,)S 173 x(to)S 170 x(have)S 171 x(a)S 170 xF(parameter)S 171 x(passed)S 169 x(to)S 170 x(the)S 171 x(AST)S 10773 XC597 y(routine\).)S 5094 19939 XY 23160 96 R 2404 20636 XY F24(1.6)SLG5094 X(I/O)S 166 x(Status)S 166 x(Block)S 385 x 897 y F151(Most)S 181 xxF(NETLIB)S 182 x(routines)S 181 x(include)S 183 x(an)S 182 x(optional)SG181 x(parameter)S 182 x(for)S 181 x(a)S 182 x(VMS-style)S 10773 X 598 yLC(I/O)S 170 x(status)S 169 x(block)S 171 x(\(IOSB)S -2 x(\),)S 171 x-I(which)S 170 x(is)S 170 x(used)S 170 x(to)S 170 x(return)S 171 x(status)SeH169 x(information)S 170 x(to)S 170 x(the)S 10773 X 597 y(calling)S 178 xE(program.)S 272 x(The)S 177 x(\211rst)S 177 x(word)S 177 x(of)S 177 x H(the)S 177 x(IOSB)S 176 x(is)S 176 x(the)S 177 x(NETLIB)S 177 x(status)SF176 x(code)S 10773 X 598 y(for)S 169 x(the)S 169 x(call;)S 170 x(the)SG169 x(second)S 168 x(word,)S 170 x(for)S 169 x(read)S 168 x(and)S 169 xgJ(write)S 168 x(operations,)S 170 x(is)S 168 x(the)S 169 x(number)S 10773 XH598 y(of)S 184 x(bytes)S 184 x(transferred.)S 285 x(The)S 184 x(second)SE184 x(longword)S 185 x(of)S 183 x(the)S 184 x(IOSB)S 183 x(is)S 183 x D(not)S 184 x(used)S 184 x(by)S 10773 X 598 y(NETLIB.)S 5094 25$  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZC Z551 XYH23160 96 R 2404 26248 XY F24(1.7)S 5094 X(Linking)S 166 x(NETLIB)S 166 xF(Programs)S 10773 X 897 y F151(T)S -45 x(o)S 171 x(link)S 173 x(your)SH172 x(program)S 173 x(with)S 171 x(NETLIB,)S 172 x(include)S 172 x(the)SH172 x(following)S 172 x(line)S 172 x(in)S 172 x(a)S 171 x(LINK)S 10773 XH598 y(options)S 166 x(\211le:)S 11730 X 896 y F102(NETLIB_SHRXFR/SHARE)SC10773 X 897 y F151(Referencing)S 179 x(this)S 177 x(logical)S 179 xtD(name)S 177 x(will)S 177 x(link)S 179 x(your)S 178 x(program)S 179 xC(against)S 178 x(NETLIB')S -20 x(s)S 10773 X 598 y(transfer)S 179 xaC(vector)S -37 x(,)S 183 x(which)S 178 x(at)S 179 x(run-time)S 178 xAG(will)S 178 x(activate)S 179 x(the)S 178 x(appropriate)S 179 x(vendor)S)D-8 x(-)S 10773 X 598 y(speci\211c)S 166 x(version)S 167 x(of)S 166 xC(NETLIB)S 166 x(\(pointed)S 166 x(to)S 165 x(by)S 167 x(the)S 166 x F(NETLIB_SHR)S 165 x(logical)S 167 x(name\).)S 5094 31678 XY 23160 96 RF2404 32375 XY F24(1.8)S 5094 X(Contacting)S 166 x(the)S 166 x(Author)SE10773 X 897 y F151(There)S 170 x(is)S 169 x(no)S 170 x(formal)S 169 xeC(support)S 169 x(for)S 170 x(NETLIB.)S 169 x(If)S 169 x(you)S 170 x)F(have)S 171 x(Internet)S 169 x(connec)S 2 x(tivity)S -55 x(,)S 10773 XD598 y(however)S -36 x(,)S 198 x(you)S 192 x(may)S 192 x(wish)S 191 xF(to)S 191 x(subscribe)S 191 x(to)S 192 x(one)S 191 x(or)S 192 x(more)SF192 x(of)S 191 x(the)S 191 x(following)S 10773 X 598 y(MadGoat)S 166 xP(Software)S 165 x(mailing)S 166 x(lists:)S 11670 X 896 y F153(Info-MadGoat@wku)S42 x(vx1.wku.)S 2 x(edu)S 27427 36925 XY F36(1\2033)SEP PP %%PageTrailerb2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman!%%+ NewCenturySchlbk-Bold Courier)%%PageProcessColors:%%PageCustomColors: (BLACK) % %%Page: (1-4) 10%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)3 PaperHeight PaperWidth PM 0 0 XYL0 SC 5094 1807 XY F28(Using)S 167 x(NETLIB)S 11670 4866 XY F151(Discussion)SG186 x(of)S 186 x(MadGoat)S 186 x(Software)S 186 x(products)S 186 x(by)SSE187 x(users)S 187 x(and)S 187 x(MadGoat)S 11670 X 598 y(developers.)S_C331 x(T)S -46 x(o)S 207 x(subscribe,)S 217 x(send)S 207 x(a)S 206 x1U(message)S 206 x(to)S 207 x F152(Info-MadGoat-)S 11670 X 598 y(Request@wkuvx1.wku.e)SsC2 x(du)S 186 x F151(with)S 185 x(the)S 186 x(word)S 185 x(SUBSCRI)SaE-2 x(BE)S 185 x(in)S 186 x(the)S 186 x(\211rst)S 11670 X 597 y(line)SeK166 x(of)S 166 x(the)S 166 x(body)S 167 x(of)S 166 x(the)S 166 x(message.)SyJ11670 X 598 y F153(MadGoat-Anno)S 2 x(unce@wkuvx1.)S 2 x(wku.edu)S 11670 XH897 y F151(Announcements)S 221 x(of)S 220 x(new)S 219 x(releases)S 220 xI(and)S 220 x(new)S 220 x(products)S 220 x(from)S 11670 X 597 y(MadGoat.)S-C300 x(T)S -46 x(o)S 192 x(subscribe,)S 198 x(send)S 191 x(a)S 192 xlC(message)S 191 x(to)S 191 x F152(MadGoat-Announ)S 2 x(ce-)S 11670 XmC598 y(Request@wkuvx1.wku.e)S 2 x(du)S 186 x F151(with)S 185 x(the)SrC186 x(word)S 185 x(SUBSCRI)S -2 x(BE)S 185 x(in)S 186 x(the)S 186 x0C(\211rst)S 11670 X 598 y(line)S 166 x(of)S 166 x(the)S 166 x(body)SrN167 x(of)S 166` x(the)S 166 x(message.)S 11670 X 598 y F153(MadGoat-Bugs@wkuv)SK2 x(x1.wku.edu)S 11670 X 896 y F151(Address)S 182 x(for)S 183 x(reporting)ScJ184 x(bugs)S 183 x(in)S 183 x(MadGoat)S 182 x(Software)S 183 x(products.)SE283 x(Please)S 11670 X 598 y(include)S 181 x(the)S 182 x(name)S 181 xSC(of)S 181 x(the)S 181 x(package)S 182 x(and)S 181 x(version)S 182 x C(in)S 181 x(the)S 181 x(subject)S 182 x(header)S 11670 X 598 y(of)S2H191 x(the)S 191 x(message,)S 198 x(so)S 191 x(the)S 191 x(report)S 192 xD(can)S 191 x(be)S 192 x(more)S 191 x(easily)S 191 x(directed)S 191 xE(to)S 191 x(the)S 11670 X 598 y(appropriate)S 166 x(developer)S -37 xS(.)S 5094 36925 XY F36(1\2034)SoEP PPl %%PageTrailerC2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman1%%+ NewCenturySchlbk-Italic NewCenturySchlbk-BoldK%%PageProcessColors:%%PageCustomColors: (BLACK)a%r%%Page: (PART1-1) 11%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)Y PaperHeight PaperWidth PM 0 0 XYE0 SC 5094 4696 XY 23160 204 R 5094 6389 XY F20(Part)S 165 x(I)S 499 xAF(Routine)S 165 x(Description)S -2 x(s)S 10773 7485 XY F34(This)S 166 xC(part)S 166 x(describes)S 166 x(the)S 166 x(each)S 166 x(of)S 167 x5'(the)S 166 x(NETLIB)S 167 x(routines.)S1EP PP1 %%PageTrailer7%%%PageFonts: Helvetica-Bold Helveticad%%PageProcessColors:%%PageCustomColors: (BLACK)1%t%%Page: (PART1-2) 12%DEC_EDMS_BlankPagerPP %%PageTrailer( %%PageFonts:%%PageProcessColors:%%PageCustomColors:D%H%%Page: (PART1-3) 13%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)) PaperHeight PaperWidth PM 0 0 XYF0 SC 22485 1807 XY F24(NETLIB_A)S -2 x(CCEPT)S 5094 4546 XY 23160 48 RG5094 5543 XY F20(NETLIB_ACC)S 2 x(EPT\202)S(Acce)S -2 x(pt)S 358 x(an)S1M358 x(incoming)S 359 x(conne)S -2 x(ction)S 10773 7037 XY F34(NETLIB_ACCEPT)S2H169 x(waits)S 168 x(for)S 168 x(an)S 168 x(incoming)S 167 x(connection)SJ167 x(and)S 168 x(accepts)S 169 x(it,)S 168 x(creating)S 168 x(a)S 10773 XD598 y(new)S 166 x(socket)S 166 x(for)S 167 x(the)S 166 x(new)S 166 xF(connection.)S 5094 8830 XY 23160 204 R 5094 9848 XY F24(FORMA)S -53 xE(T)S 10773 X(NETLIB_AC)S -2 x(CEPT)S 697 x F23(socket)S 175 x(,news)SSH-2 x(ocket)S 175 x([,remaddr])S 17243 X 797 y([,remaddr)S -13 x(-size])SI174 x([,remaddr)S -13 x(-len])S 17243 X 797 y([,iosb])S 165 x([,astadr])S G165 x([,astprm])S 5094 12638 XY 23160 204 R 5094 13456 XY F24(RETURNS)SsF10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XM598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 16296 XY 23160 204 R1H5094 17115 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25(socket)S 10773 XC598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SsD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XxF598 y F151(Socket)S 166 x(that)S 166 x(was)S 165 x(established)S 166 xI(as)S 165 x(a)S 166 x(listener)S -37 x(.)S 10773 21178 XY F25(newsocket)S1K10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SuD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S7G10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XxO597 y F151(Socket)S 166 x(for)S 167 x(the)S 166 x(accepted)S 166 x(connection)S1F167 x(\(created)S 166 x(and)S 167 x(returned)S 166 x(by)S 167 x(this)SG166 x(routine\).)S 10773 25362 XY F25(remaddr)S 10773 X 698 y F34(VMS)S3F167 x(Usage:)S 299 x F36(structure)S 10773 X 597 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SE13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x6HF36(by)S 166 x(reference)S 10773 X 598 y F151(Address)S 170 x(of)S 171 xH(a)S 170 x(socket_address)S 171 x(structure)S 171 x(into)S 171 x(which)SK171 x(the)S 171 x(remote)S 171 x(address/port)S 10773 X 548 y(information)SeG166 x(for)S 167 x(the)S 166 x(new)S 166 x(connection)S 167 x(is)S 166 x8E(written.)S 10773 30094 XY F25(remaddr-size)S 10773 X 698 y F34(VMS)S E167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34)C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XxE597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F341H(mechanism:)S 438 x F36(by)S%  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z i 166 x(reference)S 10773 X 598 y F151(Size)SC166 x(of)S 165 x(the)S 167 x F153(remaddr)S 165 x F151(structure.)SS26680 36925 XY F36(RTN\2033)SxEP PP %%PageTrailer1%DEC_EDMS_Folio: RTN-3%%%PageFonts: Helvetica-Bold Helveticae+%%+ Helvetica-Oblique Helvetica-BoldOblique 0%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK) %o%%Page: (RTN-4) 14%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)X PaperHeight PaperWidth PM 0 0 XYL0 SC 5094 1807 XY F24(NETLIB_AC)S -2 x(CEPT)S -94 x 5000 Y F25(remaddr-len)SK10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SaD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S(G10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X K598 y F151(Longword)S 176 x(into)S 175 x(which)S 175 x(the)S 175 x(actual)S(E175 x(returned)S 176 x(lenght)S 176 x(of)S 175 x(the)S 175 x(socket)SxE175 x(address)S 174 x(is)S 10773 X 548 y(written.)S 10773 9732 XY F25)J(iosb)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)SD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)SnG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XaH598 y F151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)SP167 x(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 13917 XYIF25(astadr)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S9D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 597 y DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S7C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)SSC166 x(this)S 165 x(operation.)S 10773 18101 XY F25(astprm)S 10773 X7E697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34BC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XeE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34aI(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 597 y F151(Parameter)S3G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)SEJ165 x(routine.)S 5094 22385 XY 23160 204 R 5094 23204 XY F24(DESCRIPTION)SH10773 X -156 y F151(This)S 183 x(routine)S 184 x(is)S 183 x(used)S 183 xD(as)S 182 x(part)S 183 x(of)S 183 x(a)S 183 x(`)S -9 x(`passi)S -2 xF(ve')S -8 x(')S 182 x(open)S 184 x(sequence,)S 188 x(typically)S 184 xG(by)S 10773 X 598 y(servers)S 187 x(that)S 186 x(bind)S 186 x(a)S 187 xiD(socket)S 186 x(to)S 186 x(a)S 187 x(speci\211c)S 186 x(port)S 187 xD(number)S -36 x(,)S 192 x(then)S 186 x(establish)S 186 x(a)S 10773 XG597 y(listener)S 179 x(to)S 179 x(handle)S 179 x(the)S 180 x(incoming)S1F180 x(connections.)S 276 x(This)S 179 x(call)S 179 x(is)S 17o9 x(used)SC179 x(to)S 179 x(accept)S 10773 X 598 y(an)S 182 x(incoming)S 182 x2K(connec)S 2 x(tion,)S 186 x(creating)S 182 x(a)S 181 x(new)S 182 x(socket)S E181 x(for)S 182 x(the)S 182 x(new)S 181 x(connection.)S 10773 X 598 y1C(The)S 177 x(listener)S 176 x(socket)S 177 x(is)S 176 x(not)S 177 xsH(affected)S 176 x(by)S 176 x(this)S 177 x(call,)S 179 x(so)S 176 x(you)SE177 x(can)S 177 x(call)S 177 x(NETLIB_)S 10773 X 598 y(ACCEPT)S 170 xXM(again)S 172 x(to)S 172 x(wait)S 170 x(for)S 171 x(another)S 172 x(incoming)SxC173 x(connection)S 172 x(on)S 172 x(the)S 172 x(same)S 170 x(port)S1C10773 X 597 y(after)S 166 x(one)S 166 x(accept)S 167 x(completes.)SsC10773 X 897 y(If)S 179 x(you)S 180 x(want)S 178 x(to)S 179 x(know)S C180 x(the)S 179 x(address)S 178 x(and)S 180 x(port)S 179 x(number)SoD179 x(of)S 179 x(the)S 180 x(remote)S 179 x(end)S 179 x(of)S 10773 XH598 y(the)S 169 x(accepted)S 170 x(connection,)S 171 x(you)S 170 x(can)SD170 x(either)S 169 x(use)S 170 x(the)S 169 x F153(remaddr)S F151(,)SE170 x F153(remaddr)S -10 x(-size)S F151(,)S 10773 X 598 y(and)S 170 x)CF153(remaddr)S -9 x(-len)S 169 x F151(argumen)S 2 x(ts)S 169 x(on)S.G170 x(this)S 169 x(call,)S 171 x(or)S 170 x(follow)S 169 x(this)S 169 xeD(call)S 169 x(with)S 170 x(a)S 169 x(call)S 170 x(to)S 10773 X 597 y;(NETLIB_GETPEER)S -2 x(NAME.)S 5094 36925 XY F36(RTN\2034)SAEP PPr %%PageTrailer11%%PageFonts: Helvetica-Bold Helvetica-BoldOblique(:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK) %F%%Page: (RTN-5) 15%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)p PaperHeight PaperWidth PM 0 0 XYC0 SC 18157 1807 XY F24(NETLIB_AD)S -2 x(DRESS_T)S -13 x(O_NA)S -2 xsH(ME)S 5094 4546 XY 23160 48 R 5094 5543 XY F20(NETLIB_ADD)S 2 x(RESS_T)SF-16 x(O_NAME\202)S(Ge)S -2 x(t)S 358 x(the)S 358 x(host)S 357 x(name)SO18977 6539 XY(for)S 358 x(an)S 358 x(IP)S 359 x(addre)S -2 x(ss)S 10773 8033 XY%FF34(NETLIB_ADDRESS_T)S -8 x(O_NAME)S 170 x(performs)S 171 x(an)S 171 xC(inverse)S 170 x(host)S 171 x(lookup,)S 171 x(returning)S 170 x(a)SaE10773 X 598 y(name)S 166 x(associated)S 166 x(with)S 166 x(an)S 166 x I(IP)S 166 x(address.)S 5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)S(C-53 x(T)S 10773 X(NETLIB_AD)S -2 x(DRESS_T)S -13 x(O_NA)S -2 x(ME)S0L698 x F23(socke)S -2 x(t,)S 178 x([which])S -2 x(,)S 21571 X 797 y(address)SC-2 x(,)S 173 x(addrsiz)S -2 x(e,)S 21571 X 797 y(hostna)S -2 x(me)S(K172 x([,retlen)S -2 x(])S 21571 X 797 y([,iosb)S -2 x(])S 177 x([,astadr])SeE21571 X 797 y([,astprm])S 5094 15228 XY 23160 204 R 5094 16047 XY F24 I(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S)D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)SoI10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 18886 XY1C23160 204 R 5094 19705 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25 H(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S)L166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SC10773 X 597 y F151(The)S 167 x(socket)S 166 x(about)S 166 x(which)SnD166 x(you)S 167 x(wish)S 166 x(to)S 166 x(obtain)S 166 x(the)S 166 xG(option)S 166 x(information.)S 10773 23768 XY F25(which)S 10773 X 698 y6EF34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X D597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X1E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y2GF151(A)S 184 x(code)S 185 x(indicating)S 186 x(the)S 185 x(type)S 184 x3C(of)S 185 x(lookup)S 185 x(to)S 185 x(be)S 185 x(performed.)S 287 xSD(Possible)S 184 x(values)S 10773 X 548 y(are)S 186 x(NETLIB_K_LOOK)SH-2 x(UP_DNS)S 186 x(\(1\),)S 191 x(which)S 186 x(requests)S 185 x(that)SE186 x(the)S 186 x(name)S 186 x(be)S 10773 X 547 y(looked)S 178 x(up)S(E179 x(using)S 178 x(the)S 179 x(Domain)S 177 x(Name)S 178 x(System,)S3C181 x(and)S 178 x(NETLIB_K_LOOK)S -2 x(UP_)S 10773 X 548 y(HOST_T)SxG-27 x(ABLE)S 167 x(\(2\),)S 168 x(which)S 169 x(requests)S 167 x(that)S\C168 x(the)S 168 x(name)S 169 x(be)S 168 x(looked)S 168 x(up)S 168 x C(in)S 169 x(the)S 168 x(local)S 10773 X 548 y(host)S 172 x(table.)SfH261 x(If)S 172 x(omitted,)S 174 x(the)S 172 x(default)S 172 x(is)S 171 xE(NETLIB_&  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z0 xK_LOOK)S -2 x(UP_DNS.)S 173 x(See)S 172 x(the)S 10773 X 548 y D(Description)S 177 x(section)S 178 x(for)S 177 x(information)S 178 xJ(on)S 178 x(package-speci\211c)S 179 x(restrictions)S 177 x(with)S 10773 XE548 y(this)S 166 x(parameter)S -37 x(.)S 10773 31240 XY F25(address)SgD10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 XD597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 XaE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y HF151(An)S 166 x(INADDR)S -2 x(DEF)S 166 x(structure)S 166 x(containing)SF168 x(the)S 166 x(address)S 165 x(to)S 166 x(be)S 166 x(looked)S 167 x#(up.)S 281 x 36925 Y F36(RTN\2035)SeEP PPe %%PageTrailer %%%PageFonts: Helvetica-Bold Helveticac+%%+ Helvetica-Oblique Helvetica-BoldObliques%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)t%)%%Page: (RTN-6) 16%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)5 PaperHeight PaperWidth PM 0 0 XYC0 SC 5094 1807 XY F24(NETLIB_AD)S -2 x(DRESS_T)S -13 x(O_NAM)S -2 xsH(E)S 10773 5000 XY F25(addrsize)S 10773 X 698 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xFF36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 167 x(size)S 165 xG(of)S 166 x(the)S 166 x(address)S 166 x(passed)S 165 x(in)S 166 x(the)S(C166 x F153(address)S 167 x F151(parameter)S -37 x(.)S 10773 9184 XY MF25(hostname)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S)H10773 X 598 y F34(type:)S 13896 X F36(character)S 165 x(string)S 10773 XF597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34F(mechanism:)S 438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(A)SF166 x(buffer)S 166 x(into)S 166 x(which)S 167 x(the)S 166 x(returned)SQ167 x(host)S 166 x(name)S 166 x(will)S 165 x(be)S 166 x(written.)S 10773 13369 XYyMF25(retlen)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)S9C10773 X 598 y F34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 xcJ(\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y6GF151(The)S 167 x(returned)S 167 x(length)S 167 x(of)S 166 x(the)S 166 x)I(host)S 166 x(name,)S 167 x(in)S 166 x(bytes.)S 10773 17553 XY F25(iosb)S0J10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 y7HF151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 xK(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 21737 XY IF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)SxD10~773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 ySDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S2C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)SbC166 x(this)S 165 x(operation.)S 10773 25922 XY F25(astprm)S 10773 X1E697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34aC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X(E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F342I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S7J165 x(routine.)S 5094 30206 XY 23160 204 R 5094 31024 XY F24(DESCRIPTION)SF10773 X -156 y F151(This)S 198 x(routine)S 198 x(performs)S 198 x(an)SC198 x(address-to-name)S 197 x(lookup)S 198 x(on)S 198 x(the)S 198 xSE(speci\211ed)S 10773 X 598 y(IP)S 190 x(address.)S 297 x(Each)S 190 x(J(TCP/IP)S 191 x(package)S 191 x(implements)S 189 x(this)S 190 x(function)SG191 x(slightly)S 10773 X 598 y(differently)S -55 x(,)S 167 x(so)S 165 x7G(there)S 167 x(are)S 166 x(some)S 166 x(restrictions)S 165 x(on)S 167 xtC(the)S 166 x(use)S 166 x(of)S 166 x(this)S 166 x(routine.)S 10773 X J897 y(For)S 180 x(MultiNet,)S 184 x(TCPware,)S 184 x(and)S 180 x(Pathway)SD-55 x(,)S 183 x(the)S 180 x F153(which)S 181 x F151(argument)S 180 xG(is)S 180 x(used)S 179 x(to)S 10773 X 597 y(determine)S 169 x(whether)S E169 x(the)S 168 x(lookup)S 170 x(should)S 168 x(occur)S 170 x(using)SSD169 x(NETLIB')S -19 x(s)S 168 x(DNS)S 168 x(resolver)S 10773 X 598 yD(support)S 183 x(or)S 183 x(using)S 184 x(the)S 183 x(TCP/IP)S 184 xI(package')S -18 x(s)S 183 x(host-table)S 182 x(access)S 183 x(routines.)S)E284 x(For)S 10773 X 598 y(these)S 168 x(packages,)S 170 x(the)S 168 xbE(host-table)S 168 x(access)S 167 x(method)S 169 x(cannot)S 168 x(be)SaH169 x(used)S 168 x(at)S 168 x(AST)S 167 x(level.)S 10773 X 598 y(Also,)SL179 x(if)S 177 x(a)S 176 x(DNS)S 176 x(lookup)S 178 x(is)S 176 x(attempted)SC176 x(and)S 176 x(the)S 177 x(system)S 176 x(is)S 177 x(not)S 176 xSH(con\211g)S 2 x(ured)S 177 x(for)S 10773 X 597 y(DNS,)S 166 x(an)S 166 xJ(SS$_UNSUPPORTED)S 165 x(error)S 167 x(will)S 165 x(be)S 166 x(returned.)S5094 36925 XY F36(RTN\2036)SEP PP %%PageTrailer51%%PageFonts: Helvetica-Bold Helvetica-BoldOblique0:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)o%p%%Page: (RTN-7) 17%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYC0 SC 18157 1807 XY F24(NETLIB_AD)S -2 x(DRESS_T)S -13 x(O_NA)S -2 xBH(ME)S 10773 4871 XY F151(For)S 175 x(UCX)S 174 x(and)S 175 x(CMU)S 175 xH(TCP/IP)S -64 x(,)S 176 x(the)S 175 x F153(which)S 175 x F151(argument)SE176 x(is)S 174 x(ignored,)S 178 x(since)S 175 x(these)S 10773 X 598 y C(packages)S 168 x(do)S 168 x(not)S 168 x(provide)S 168 x(separate)SsE167 x(access)S 167 x(to)S 168 x(DNS)S 166 x(and)S 168 x(local)S 168 xXE(host)S 167 x(tables.)S 252 x(For)S 10773 X 598 y(UCX,)S 180 x(host)S H179 x(table)S 180 x(lookup)S 180 x(will)S 179 x(occur)S 181 x(\211rst,)SG184 x(followed)S 179 x(by)S 180 x(a)S 180 x(DNS)S 179 x(lookup.)S 278 xeG(For)S 10773 X 598 y(CMU,)S 166 x(this)S 166 x(order)S 167 x(is)S 165 x1*(reversed.)S 26680 36925 XY F36(RTN\2037)SEP PP %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%+ NewCenturySchlbk-Bold5%%PageProcessColors:%%PageCustomColors: (BLACK)u%g%%Page: (RTN-8) 18%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)i PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_AD)S -2 x(DRT)S -13 x(OSTR)S 5094 4546 XYK23160 48 R 5094 5543 XY F20(NETLIB_ADD)S 2 x(RT)S -16 x(OSTR\202)S(Format)StP357 x(an)S 358 x(IP)S 359 x(addre)S -2 x(ss)S 358 x(to)S 358 x(a)S 15339 6539 XYD(string)S 10773 8033 XY F34(NETLIB_ADDR)S -9 x(T)S -8 x(OSTR)S 178 xN(is)S 178 x(a)S 178 x(utility)S 178 x(routine)S 178 x(for)S 178 x(formatting)SH179 x(an)S 178 x(IP)S 179 x(address)S 178 x(as)S 179 x(a)S 10773 X 598 yC(character)S 166 x(string.)S 5094 9827 XY 23160 204 R 5094 10845 XY GF24(FORMA)S -53 x(T)S 10773 X(NETLIB_AD)S -2 x(DRT)S -13 x(OSTR)S 696 x1IF23(address,)S 165 x(string)S 165 x([,retlen])S 5094 12040 XY 23160 204 R1C5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)SSG299 x F36(cond_value)S 10773 X 597 y F34(t'  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z/ype:)S 13896 X F36(longword)S6C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36 C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SBE166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)S -2 x)K(MENTS)S 10773 X -22 y F25(address)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SxI299 x F36(INADDR)S -2 x(DEF)S 167 x(structure)S 10773 X 598 y F34(type:)S7D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 1 0773 X 597 y F34(mechanism:)S(G438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(An)S 166 x(INADDR)SrK-2 x(DEF)S 166 x(structure)S 166 x(containing)S 168 x(the)S 166 x(address)SiD165 x(to)S 166 x(be)S 166 x(formatted.)S 10773 20580 XY F25(string)SF10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S 10773 XF597 y F34(type:)S 13896 X F36(character)S 165 x(string)S 10773 X 598 yMF34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SoI438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(The)S 167 x(string)S7F166 x(to)S 166 x(hold)S 166 x(the)S 167 x(formatted)S 165 x(address.)SH10773 24764 XY F25(retlen)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 xFF36(word_unsigned)S 10773 X 598 y F34(type:)S 13896 X F36(word)S 166 xF(\(unsigned)S 2 x(\))S 10773 X 597 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SE10773 X 598 y F151(The)S 167 x(number)S 167 x(of)S 166 x(characters)SrE166 x(written)S 166 x(to)S 166 x F153(string)S F151(.)S 5094 29048 XYdF23160 204 R 5094 29867 XY F24(DESCRIPTION)S 10773 X -156 y F151(This)SH167 x(is)S 166 x(a)S 167 x(utility)S 167 x(routine)S 168 x(which)S 167 xE(formats)S 166 x(an)S 167 x(IP)S 167 x(address)S 166 x(to)S 167 x(a)S:C167 x(character)S 167 x(string,)S 10773 X 598 y(using)S 167 x(the)SFC166 x(dotted-decimal)S 165 x(format.)S 5094 36925 XY F36(RTN\2038)SnEP PP4 %%PageTrailer1%%%PageFonts: Helvetica-Bold Helvetica)+%%+ Helvetica-Oblique Helvetica-BoldOblique(0%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK))%0%%Page: (RTN-9) 19%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYD0 SC 23647 1807 XY F24(NETLIB_BIN)S -2 x(D)S 5094 4546 XY 23160 48 RG5094 5543 XY F20(NETLIB_BIN)S 2 x(D\202)S(Bind)S 359 x(a)S 358 x(sock)SrJ-2 x(et)S 358 x(to)S 358 x(an)S 358 x(addres)S -2 x(s/port)S 10773 7037 XYGF34(NETLIB_BI)S 2 x(ND)S 165 x(sets)S 167 x(the)S 166 x(address)S 166 xbK(and/or)S 166 x(port)S 167 x(number)S 165 x(for)S 167 x(a)S 166 x(socket.)S7C5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)S -53 x(T)S 10773 X9E-21 y(NETLIB_BI)S -2 x(ND)S 697 x F23(socke)S -2 x(t,)S 171 x(socke)S)G-2 x(t-address,)S 169 x(sockaddr)S -14 x(-len)S 16081 X 797 y([,iosb])SFE165 x([,asta)S -2 x(dr])S 166 x([,astprm])S 5094 11222 XY 23160 204 R6C5094 12041 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S G299 x F36(cond_value)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36 C(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S(E166 x(value)S 5094 14881 XY 23160 204 R 5094 15699 XY F24(ARGU)S -2 x:J(MENTS)S 10773 X -21 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xGF36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)S 166 x(to)S 166 x3F(be)S 166 x(bound.)S 10773 19763 XY F25(socket-address)S 10773 X 697 yHF34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 X 598 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)SoD438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket_address)SG177 x(structure)S 178 x(describing)S 177 x(the)S 178 x(addreses)S 176 xlF(and)S 178 x(port)S 177 x(to)S 177 x(which)S 178 x(the)S 10773 X 548 yH(socket)S 166 x(is)S 166 x(to)S 166 x(be)S 166 x(bound.)S 10773 24495 XYCF25(sockaddr-len)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36)L(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F365H(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 xC(reference)S 10773 X 598 y F151(Size)S 166 x(of)S 165 x(the)S 167 x3F(socket)S 166 x(address)S 165 x(structure.)S 10773 28679 XY F25(iosb)SJ10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y8HF151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 xK(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 32863 XY1IF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)SkD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 y DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S =166 x(this)S 165 x(operation.)S 26680 36925 XY F36(RTN\2039)SdEP PPx %%PageTrailer)%%%PageFonts: Helvetica-Bold Helvetica+%%+ Helvetica-Oblique Helvetica-BoldOblique)%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK))%7%%Page: (RTN-10) 20n%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)O PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_BIN)S -2 x(D)S 10773 4977 XY F25(astprm)SC10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 XeD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 XtF598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151H(Parameter)S 166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)SC167 x(AST)S 165 x(routine.)S 5094 9261 XY 23160 204 R 5094 10080 XYXGF24(DESCRIPTION)S 10773 X -156 y F151(This)S 179 x(routine)S 179 x(is)S1I178 x(used)S 178 x(primarily)S 178 x(by)S 179 x(server)S 179 x(programs)S E179 x(to)S 178 x(bind)S 178 x(a)S 179 x(socket)S 178 x(to)S 178 x(a)SpE10773 X 598 y(particular)S 172 x(port,)S 174 x(and)S 172 x(is)S 171 x(E(typically)S 172 x(followed)S 172 x(by)S 172 x(a)S 171 x(call)S 172 x E(to)S 172 x(NETLIB_LISTEN)S 171 x(to)S 10773 X 598 y(open)S 167 x(a)S7H166 x(passive)S 165 x(connection)S 168 x(on)S 166 x(that)S 166 x(port.)SE10773 X 896 y(If)S 185 x(a)S 186 x(program)S 186 x(does)S 186 x(not)S1M186 x(bind)S 185 x(a)S 186 x(socket)S 186 x(to)S 185 x(a)S 186 x(particular)SPE186 x(local)S 186 x(address/port)S 10773 X 598 y(combination,)S 170 xF(the)S 169 x(underlying)S 170 x(TCP/IP)S 169 x(software)S 168 x(will)SG168 x(automatically)S 168 x(assign)S 169 x(an)S 10773 X 598 y(address)S::165 x(and/or)S 167 x(port.)S 5094 36925 XY F36(RTN\20310)SEP PP %%PageTrailer 1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique4$%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)5%(%%Page: (RTN-11) 21(%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight Pa(  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z)perWidth PM 0 0 XYE0 SC 22949 1807 XY F24(NETLIB_CLO)S -2 x(SE)S 5094 4546 XY 23160 48 R H5094 5543 XY F20(NETLIB_CLOSE\202)S(Close)S 358 x(down)S 358 x(a)S 358 xG(socke)S -2 x(t)S 10773 7037 XY F34(NETLIB_CLOSE)S 167 x(closes)S 165 x4F(a)S 166 x(socket.)S 5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)SI-53 x(T)S 10773 X(NETLIB_CLO)S -2 x(SE)S 698 x F23(socket)S 5094 10446 XY F23160 204 R 5094 11265 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xF(Usage:)S 299 x F36(cond_value)S 10773 X 597 y F34(t ype:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S E13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 xxIF36(by)S 166 x(value)S 5094 14104 XY 23160 204 R 5094 14923 XY F24(ARGU)SSE-2 x(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x7H(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S4G438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)S 166 x(to)S1F166 x(be)S 166 x(closed.)S 5094 19086 XY 23160 204 R 5094 19904 XY F24I(DESCRIPTION)S 10773 X -155 y F151(This)S 177 x(routine)S 178 x(deletes)SXE176 x(the)S 178 x(speci\211ed)S 177 x(socket,)S 180 x(closing)S 178 xtH(the)S 177 x(associated)S 176 x(network)S 10773 X 597 y(communications)SF179 x(channel,)S 183 x(if)S 178 x(one)S 179 x(is)S 178 x(open.)S 274 xD(Once)S 179 x(closed,)S 181 x(the)S 179 x(socket)S 178 x(can)S 179 xG(no)S 10773 X 598 y(longer)S 167 x(be)S 166 x(used;)S 167 x(you)S 167 xmC(must)S 165 x(open)S 167 x(a)S 166 x(new)S 166 x(one)S 166 x(with)S3F166 x(the)S 166 x(NETLIB_SOCK)S -2 x(ET)S 166 x(call.)S 26430 36925 XYF36(RTN\2031)S -27 x(1)SEP PPu %%PageTrailer)%%%PageFonts: Helvetica-Bold HelveticaF+%%+ Helvetica-Oblique Helvetica-BoldObliquec%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)e% %%Page: (RTN-12) 22a%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_CO)S -2 x(NNECT)S 5094 4546 XY 23160 48 RD5094 5543 XY F20(NETLIB_CONNEC)S 2 x(T\202)S(Connec)S -2 x(t)S 358 xM(a)S 359 x(sock)S -2 x(et)S 358 x(to)S 358 x(a)S 358 x(remote)S 14160 6539 XY7K(addres)S -2 x(s/port)S 10773 8033 XY F34(NETLIB_CONNECT)S 166 x(connects)S6R166 x(a)S 166 x(socket)S 167 x(to)S 166 x(a)S 166 x(remote)S 167 x(address/port.)SD5094 9229 XY 23160 204 R 5094 10247 XY F24(FORMA)S -53 x(T)S 10773 XD(NETLIB_CO)S -2 x(NNECT)S 696 x F23(socket,)S 184 x(socket-ad)S -2 xG(dress,)S 17824 X 797 y(sockadd)S -2 x(r)S -12 x(-len)S 174 x([,iosb])SlM174 x([,asta)S -2 x(dr])S 17824 X 797 y([,astprm])S 5094 13036 XY 23160 204 R C5094 13855 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S0G299 x F36(cond_value)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S2C167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36 C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S E166 x(value)S 5094 16695 XY 23160 204 R 5094 17513 XY F24(ARGU)S -2 x J(MENTS)S 10773 X -21 y F25(socket)S 10773 X 597 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xGF36(by)S 166 x(reference)S 10773 X 597 y F151(Socket)S 166 x(to)S 166 xaC(be)S 166 x(connec)S 2 x(ted.)S 10773 21576 XY F25(socket-address)SlD10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X(E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y)FF151(Socket_address)S 177 x(structure)S 178 x(describing)S 177 x(the)SH178 x(addreses)S 176 x(and)S 178 x(port)S 177 x(to)S 177 x(which)S 178 xD(the)S 10773 X 548 y(socket)S 166 x(is)S 166 x(to)S 166 x(be)S 166 xG(connected.)S 10773 26309 XY F25(sockaddr-len)S 10773 X 697 y F34(VMS)S6E167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34SC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XXE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F341H(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Size)SH166 x(of)S 165 x(the)S 167 x(socket)S 166 x(address)S 165 x(structure.)SF10773 30493 XY F25(iosb)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 xFF36(io_status_block)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36uC(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SxG166 x(reference)S 10773 X 597 y F151(I/O)S 166 x(status)S 165 x(block)S)G167 x(to)S 165 x(receive)S 167 x(the)S 167 x(status)S 165 x(for)S 166 xc3(this)S 166 x(call.)S 5094 36925 XY F36(RTN\20312)S7EP PPm %%PageTrailer %%%PageFonts: Helvetica-Bold Helvetica5+%%+ Helvetica-Oblique Helvetica-BoldOblique3%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK) %9%%Page: (RTN-13) 23s%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)d PaperHeight PaperWidth PM 0 0 XYE0 SC 21904 1807 XY F24(NETLIB_C)S -2 x(ONNEC)S -2 x(T)S 10773 5000 XY IF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)SOD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 598 y1DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S2C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S9H166 x(this)S 165 x(operation.)S 10773 9184 XY F25(astprm)S 10773 X 698 yGF34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34(type:)S D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S%F438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S 166 x(to)SM166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S%H5094 13468 XY 23160 204 R 5094 14287 XY F24(DESCRIPTION)S 10773 X -156 yEF151(This)S 180 x(routine)S 180 x(is)S 179 x(used)S 179 x(primarily)ShL180 x(with)S 179 x(TCP-based)S 179 x(programs)S 179 x(to)S 179 x(establish)SH179 x(a)S 10773 X 598 y(connection)S 178 x(to)S 177 x(a)S 176 x(remote)SH177 x(system.)S 270 x(When)S 178 x(used)S 176 x(with)S 177 x(UDP)S -65 xE(,)S 177 x(this)S 177 x(routine)S 177 x(\211xes)S 10773 X 598 y(the)S0G166 x(address)S 166 x(to)S 166 x(which)S 166 x(subsequent)S 166 x(UDP)S F166 x(datagrams)S 166 x(will)S 165 x(be)S 166 x(sent.)S 26403 36925 XYF36(RTN\20313)S)EP PP( %%PageTrailer 1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique)$%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)1%x%%Page: (RTN-14) 241%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYK0 SC 5094 1807 XY F24(NETLIB_CO)S -2 x(NNECT_BY_)S -2 x(NAME)S 5094 4546 XY7F23160 48 R 5094 5543 XY F20(NETLIB_CONNEC)S 2 x(T_BY_NAME\202)S(Esta)SE-2 x(blish)S 359 x(a)S 358 x(TCP)S 19042 6539 XY(connect)S -2 x(ion)SnO359 x(to)S 358 x(a)S 358 x(host)S 19042 7535 XY(by)S 359 x(name)S 10773 9030 XYrFF34(NETLIB_CONNECT_BY_NAME)S 167 x(establishes)S 166 x(a)S 166 x(TCP)SJ166 x(connection)S 167 x(to)S 166 x(a)S 166 x(host)S 167 x(using)S 10773 XE597 y(the)S 167 )  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zx(host')S -9 x(s)S 166 x(name,)S 166 x(rather)S 166 x/I(than)S 167 x(its)S 166 x(IP)S 167 x(address.)S 5094 10823 XY 23160 204 R9F5094 11841 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_CO)S -2 x(NNECT_B)SC-2 x(Y_NAME)S 697 x F23(sock)S -2 x(et,)S 172 x(hostname)S -2 x(,)SBD21622 X 797 y(port)S 169 x([,iosb])S 168 x([,astadr])S 21622 X 797 yJ([,astp)S -2 x(rm])S 5094 14630 XY 23160 204 R 5094 15449 XY F24(RETURNS)SF10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XM598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 18289 XY 23160 204 R H5094 19107 XY F24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 XC597 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SSD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XiC598 y F151(A)S 166 x(STREAM-type)S 165 x(socket)S 166 x(allocated)S C166 x(with)S 166 x(NETLIB_SOC)S -2 x(KET)S -46 x(.)S 10773 23170 XYSMF25(hostname)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)SyH10773 X 598 y F34(type:)S 13896 X F36(character)S 165 x(string)S 10773 XE597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F347F(mechanism:)S 438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(A)SH185 x(character)S 187 x(string)S 186 x(containing)S 186 x(either)S 186 xE(a)S 186 x(host)S 185 x(name)S 186 x(or)S 186 x(an)S 186 x(IP)S 185 x.D(address)S 185 x(in)S 10773 X 548 y(dotted-decimal)S 165 x(format.)SF10773 27903 XY F25(port)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 xFF36(word_unsigned)S 10773 X 598 y F34(type:)S 13896 X F36(word)S 166 xE(\(unsigned)S 2 x(\))S 10773 X 598 y F34(access:)S 13896 X F36(read)SSL166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SE10773 X 598 y F151(The)S 176 x(port)S 174 x(number)S 176 x(to)S 174 xgG(conne)S 2 x(ct)S 174 x(to)S 175 x(on)S 175 x(the)S 175 x(destination)S7C175 x(host.)S 267 x(Unlike)S 175 x(the)S 175 x(SIN_)S 10773 X 548 yBC(W_PORT)S 181 x(\211eld)S 182 x(of)S 181 x(a)S 181 x(SINDEF)S 181 x1C(\(socket)S 181 x(address\))S 181 x(structure,)S 186 x(this)S 181 x%F(number)S 183 x(is)S 10773 X 548 y(speci\211ed)S 187 x(in)S 188 x F152H(host)S 188 x(order)S F151(,)S 194 x(not)S 188 x(network)S 188 x(order)SG-37 x(.)S 292 x(NETLIB_CONNEC)S -2 x(T_BY_)S 10773 X 548 y(NAME)S 177 xsF(will)S 176 x(automatically)S 178 x(convert)S 178 x(the)S 178 x(port)SC177 x(number)S 178 x(to)S 177 x(network)S 178 x(order)S 178 x(for)S_210773 X 548 y(you.)S 5094 36925 XY F36(RTN\20314)SEP PPc %%PageTrailer5%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldObliqueX2%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Italic%%PageProcessColors:%%PageCustomColors: (BLACK)1%x%%Page: (RTN-15) 254%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYM0 SC 18106 1807 XY F24(NETLIB_CO)S -2 x(NNECT_BY_)S -2 x(NAME)S 10773 5000 XY MF25(iosb)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)SFG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X3H598 y F151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)SO167 x(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 9184 XYMIF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S9D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 yDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)SC166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)SC166 x(this)S 165 x(operation.)S 10773 13369 XY F25(astprm)S 10773 XE697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F340C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X9E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F341I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S(G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)SSJ165 x(routine.)S 5094 17653 XY 23160 204 R 5094 18471 XY F24(DESCRIPTION)SG10773 X -155 y F151(This)S 173 x(routine)S 174 x(converts)S 174 x(the)S:H173 x(speci\211ed)S 173 x(name)S 174 x(or)S 173 x(dotted-decimal)S 172 xC(address)S 173 x(to)S 172 x(an)S 10773 X 597 y(IP)S 172 x(address)SeJ172 x(and)S 173 x(uses)S 171 x(NETLIB_CONNECT)S 171 x(to)S 172 x(connect)SE173 x(to)S 173 x(the)S 172 x(speci\211ed)S 172 x(host)S 10773 X 598 yxH(and)S 181 x(port.)S 278 x(If)S 181 x(multiple)S 180 x(addresses)S 179 xH(are)S 181 x(returned)S 182 x(by)S 181 x(the)S 180 x(host)S 181 x(name)SG181 x(lookup,)S 10773 X 598 y(each)S 167 x(address)S 165 x(will)S 165 x(D(be)S 167 x(tried)S 165 x(until)S 167 x(a)S 166 x(connection)S 167 xJ(is)S 166 x(established)S 165 x(or)S 166 x(all)S 166 x(addresses)S 10773 XG598 y(have)S 167 x(been)S 166 x(tried.)S 26403 36925 XY F36(RTN\20315)SSEP PPt %%PageTraileru1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique3$%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)% %%Page: (RTN-16) 26v%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)m PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_DN)S -2 x(S_EXP)S -51 x(ANDN)S -2 x(AME)SG5094 4546 XY 23160 48 R 5094 5543 XY F20(NETLIB_DNS_EXP)S -65 x(ANDNA)SFE2 x(ME\202)S(Expa)S -2 x(nd)S 359 x(a)S 358 x(name)S 357 x(in)S 359 xXC(a)S 18428 6539 XY(DNS)S 360 x(resp)S -2 x(onse)S 10773 8033 XY F34 F(NETLIB_DNS_EXP)S -36 x(ANDNAME)S 169 x(is)S 168 x(a)S 168 x(utility)SE168 x(routine)S 168 x(used)S 169 x(for)S 168 x(extracting)S 169 x(a)SSF169 x(domain)S 10773 X 598 y(name)S 166 x(from)S 166 x(a)S 166 x(DNS)SD166 x(response.)S 5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)SH-53 x(T)S 10773 X(NETLIB_DN)S -2 x(S_EXP)S -51 x(AND)S -2 x(NAME)S 697 xHF23(bufstart,)S 179 x(bu\212en,)S 21144 X 797 y(bufptr)S -39 x(,)S 170 xL(name)S 169 x([,retlen])S 21144 X 797 y([,skipc)S -2 x(ount])S 5094 13634 XYF23160 204 R 5094 14453 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xF(Usage:)S 299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SpE13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x8IF36(by)S 166 x(value)S 5094 17292 XY 23160 204 R 5094 18111 XY F24(ARGU)S G-2 x(MENTS)S 10773 X -22 y F25(bufstart)S 10773 X 598 y F34(VMS)S 167 x1C(Usage:)S 299 x F36(pointer)S 10773 X 598 y F34(type:)S 13896 X F36(C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S7D13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 xCF36(by)S 166 x(value)S 10773 X 598 y F151(A)S 166 x(pointer)S 166 x)H(to)S 166 x(the)S 166 x(start)S 166 x(of)S 165 x(the)S 167 x(DNS)S 165 xJ(response)S 166 x(buffer)S -37 x(.)S 10773 22174 XY F25(bu\212en)S 10773 XF698 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)S 10773 X 597 yHF34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 x(\))S 10773 X 598 yLF34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)SF438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(The)*  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z'Z S 167 x(size)SI165 x(of)S 166 x(the)S 166 x(buffer)S -36 x(,)S 166 x(in)S 166 x(bytes.)SBH10773 26358 XY F25(bufptr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 xDF36(pointer)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 xE(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S H166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)SC10773 X 598 y F151(A)S 185 x(pointer)S 186 x(to)S 185 x(the)S 185 x F(area)S 186 x(of)S 185 x(the)S 185 x(buffer)S 186 x(containing)S 187 xF(the)S 185 x(domain)S 185 x(name)S 186 x(to)S 185 x(be)S 10773 X 548 yD(expanded.)S 10773 31091 XY F25(name)S 10773 X 697 y F34(VMS)S 167 xC(Usage:)S 299 x F36(char_string)S 10773 X 598 y F34(type:)S 13896 X FF36(character)S 165 x(string)S 10773 X 598 y F34(access:)S 13896 X F36C(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)SSH166 x(descriptor)S 10773 X 598 y F151(A)S 175 x(descriptor)S 174 x(for)SF175 x(a)S 175 x(character)S 175 x(string)S 176 x(buffer)S 175 x(into)SE175 x(which)S 175 x(the)S 175 x(expanded)S 175 x(name)S 10773 X 548 ycA(will)S 165 x(be)S 166 x(written.)S 5094 36925 XY F36(RTN\20316)SsEP PP8 %%PageTrailer %%%PageFonts: Helvetica-Bold Helvetica0+%%+ Helvetica-Oblique Helvetica-BoldOblique2%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)S%x%%Page: (RTN-17) 279%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)y PaperHeight PaperWidth PM 0 0 XYG0 SC 18584 1807 XY F24(NETLIB_DN)S -2 x(S_EXP)S -51 x(AND)S -2 x(NAME)ScG10773 5000 XY F25(retlen)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 xoFF36(word_unsigned)S 10773 X 597 y F34(type:)S 13896 X F36(word)S 166 xF(\(unsigned)S 2 x(\))S 10773 X 598 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SC10773 X 598 y F151(The)S 167 x(returned)S 167 x(length)S 167 x(of)S D166 x(the)S 166 x(expanded)S 167 x(name,)S 166 x(in)S 167 x(bytes.)SD10773 9184 XY F25(skipcount)S 10773 X 698 y F34(VMS)S 167 x(Usage:)SF299 x F36(word_unsigned)S 10773 X 598 y F34(type:)S 13896 X F36(word)SC166 x(\(unsigned)S 2 x(\))S 10773 X 597 y F34(access:)S 13896 X F36lC(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S D166 x(reference)S 10773 X 598 y F151(The)S 167 x(number)S 167 x(of)SF166 x(bytes)S 166 x(in)S 166 x(the)S 166 x(buffer)S 166 x(that)S 166 xI(were)S 166 x(used)S 166 x(for)S 166 x(the)S 167 x(domain)S 166 x(name.)S3H5094 13468 XY 23160 204 R 5094 14287 XY F24(DESCRIPTION)S 10773 X -156 yFF151(This)S 173 x(is)S 173 x(a)S 173 x(utility)S 173 x(routine)S 174 xE(used)S 173 x(when)S 173 x(parsing)S 174 x(a)S 173 x(response)S 172 xxF(returned)S 174 x(by)S 174 x(a)S 173 x(call)S 10773 X 598 y(to)S 180 xG(NETLIB_DNS_QUER)S -20 x(Y)S -56 x(.)S 181 x(It)S 180 x(expands)S 181 x6D(a)S 181 x(domain)S 180 x(name)S 181 x(stored)S 180 x(in)S 181 x(a)SG181 x(DNS)S 10773 X 598 y(response)S 166 x(out)S 166 x(to)S 166 x(the)SoD166 x(typical,)S 167 x(human-readable,)S 167 x(dotted-domain)S 166 xI(format.)S 10773 X 896 y(This)S 171 x(routine)S 171 x(is)S 171 x(needed)S(G171 x(because)S 171 x(of)S 171 x(the)S 171 x(way)S 170 x(domain)S 171 x)G(names)S 171 x(are)S 171 x(represented)S 10773 X 598 y(in)S 187 x(DNS)ScD185 x(responses.)S 290 x(Refer)S 186 x(to)S 186 x(RFC)S 185 x(1035)SF186 x(for)S 187 x(further)S 187 x(information)S 186 x(on)S 187 x(the)SC10773 X 598 y(format)S 166 x(of)S 166 x(DNS)S 165 x(queries)S 166 x8(and)S 167 x(responses.)S 26403 36925 XY F36(RTN\20317)SEP PP( %%PageTraileru1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique $%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)o%S%%Page: (RTN-18) 28S%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYI0 SC 5094 1807 XY F24(NETLIB_DN)S -2 x(S_MX_LOOKU)S -2 x(P)S 5094 4546 XY0C23160 48 R 5094 5543 XY F20(NETLIB_DNS_MX_LOOKUP\202)S(Look)S 358 x3F(up)S 358 x(MX)S 359 x(rec)S -2 x(ords)S 17798 6539 XY(for)S 358 x(a)SD358 x(domain)S 358 x(name)S 10773 8033 XY F34(NETLIB_DNS_MX_LOOKUP)SC155 x(looks)S 155 x(up)S 156 x(a)S 155 x(host)S 156 x(name,)S 157 x9M(returning)S 155 x(any)S 156 x(MX)S 155 x(records.)S 5094 9229 XY 23160 204 RuI5094 10247 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_DN)S -2 x(S_MX_LOOKU)S F-2 x(P)S 698 x F23(sock)S -2 x(et,)S 178 x(hostname)S -2 x(,)S 20654 XJ797 y(mxrrlist,)S 173 x(mxrrlist-siz)S -2 x(e)S 20654 X 797 y([,mxrrcoun)SC-2 x(t])S 176 x([,iosb)S -2 x(])S 20654 X 797 y([,asta)S -2 x(dr])S)G166 x([,astprm])S 5094 13833 XY 23160 204 R 5094 14652 XY F24(RETURNS)SF10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XM598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 17492 XY 23160 204 R6H5094 18310 XY F24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 XC597 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SND10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XrD598 y F151(Any)S 167 x(socket)S 166 x(allocated)S 166 x(with)S 165 xH(NETLIB_SOCK)S -2 x(ET)S -46 x(.)S 10773 22373 XY F25(hostname)S 10773 XD698 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S 10773 X 598 yDF34(type:)S 13896 X F36(character)S 165 x(string)S 10773 X 597 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S5G438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(The)S 167 x(host)ScL166 x(name)S 166 x(to)S 166 x(be)S 166 x(looked)S 166 x(up.)S 10773 26558 XYGF25(mxrrlist)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(array)STC165 x(of)S 166 x(structures)S 10773 X 598 y F34(type:)S 13896 X F36tC(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SCE13896 X F36(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)S 438 xoFF36(by)S 166 x(reference)S 10773 X 598 y F151(An)S 186 x(array)S 187 xC(of)S 186 x(MXRRDE)S -2 x(F)S 186 x(structures)S 186 x(into)S 187 x G(which)S 186 x(the)S 186 x(MX)S 186 x(records)S 186 x(will)S 185 x(be)SYC10773 X 548 y(written.)S 10773 31290 XY F25(mxrrlist-size)S 10773 X5C697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SxD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XnF597 y F151(The)S 167 x(number)S 167 x(of)S 166 x(elements)S 165 x(in)SL167 x(the)S 166 x F153(mxrrlist)S 166 x F151(array)S -55 x(.)S 5094 36925 XYF36(RTN\20318)S-EP PPE %%PageTraileru%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldObliquee0%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)0% %%Page: (RTN-19) 297%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)w PaperHeight PaperWidth PM 0 0 XYK0 SC 19074 1807 XY F24(NETLIB_DN)S -2 x(S_MX_LOOKU)S -2 x(P)S 10773 4977 XYFNF25(mxrrcount)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x F(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SG10773 X 598 y F151(The)S 167 x(actual)S 166 x(number)S 167 x(of)S 166 +  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zx:F(MX)S 166 x(records)S 166 x(written)S 166 x(to)S 165 x F153(mxrrlist)SHF151(.)S 10773 9162 XY F25(iosb)S 10773 X 697 y F34(VMS)S 167 x(Usage:)SL299 x F36(io_status_block)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36XC(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S7G166 x(reference)S 10773 X 598 y F151(I/O)S 166 x(status)S 165 x(block)S3G167 x(to)S 165 x(receive)S 167 x(the)S 167 x(status)S 165 x(for)S 166 x C(this)S 166 x(call.)S 10773 13346 XY F25(astadr)S 10773 X 697 y F34nE(VMS)S 167 x(Usage:)S 299 x F36(procedure)S 10773 X 598 y F34(type:)S D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34F(access:)S 13896 X F36(call)S 10773 X 598 y F34(mechanism:)S 438 x F36E(by)S 166 x(reference)S 10773 X 598 y F151(Address)S 165 x(of)S 166 x G(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S 166 x(be)S 166 x(invoked)S H167 x(on)S 167 x(completion)S 166 x(of)S 166 x(this)S 165 x(operation.)SH10773 17530 XY F25(astprm)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 xEF36(user_arg)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x4E(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S)H166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)SC10773 X 598 y F151(Parameter)S 166 x(to)S 166 x(be)S 166 x(passed)SFM165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S 5094 21814 XY 23160 204 RrJ5094 22633 XY F24(DESCRIPTION)S 10773 X -156 y F151(This)S 169 x(routine)SF170 x(performs)S 168 x(a)S 169 x(DNS)S 168 x(lookup)S 170 x(on)S 169 xF(the)S 169 x(speci\211ed)S 169 x(name,)S 170 x(returning)S 170 x(any)SL10773 X 598 y(Mail)S 166 x(Exchang)S 2 x(er)S 166 x(\(MX\))S 166 x(records)SL166 x(for)S 166 x(that)S 166 x(name.)S 10773 X 897 y(For)S 176 x(MultiNet,)SH177 x(TCPware,)S 178 x(and)S 175 x(Pathway)S -54 x(,)S 177 x(and)S 176 xH(UCX,)S 174 x(this)S 175 x(routine)S 176 x(is)S 175 x(a)S 175 x(front-)SG10773 X 597 y(end)S 179 x(that)S 179 x(uses)S 178 x(NETLIB_DNS_Q)S -2 x5C(UER)S -19 x(Y)S 178 x(to)S 179 x(perform)S 179 x(the)S 178 x(DNS)SVE178 x(queries.)S 275 x(For)S 10773 X 598 y(CMU)S 166 x(TCP/IP)S -64 x)I(,)S 167 x(the)S 166 x(MX)S 166 x(lookups)S 166 x(are)S 167 x(performed)S:I166 x(using)S 167 x(NAMRES)S 165 x(calls.)S -43 x 36925 Y F36(RTN\20319)S3EP PP1 %%PageTrailerS1%%PageFonts: Helvetica-Bold Helvetica-BoldObliquee:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)p%n%%Page: (RTN-20) 30(%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_DN)S -2 x(S_QUER)S -27 x(Y)S 5094 4546 XYE23160 48 R 5094 5543 XY F20(NETLIB_DNS_QUER)S -32 x(Y\202)S(Perform)S G357 x(a)S 358 x(DNS)S 360 x(query)S 10773 7037 XY F34(NETLIB_DNS_QUER)SxD-9 x(Y)S 168 x(formats)S 170 x(a)S 168 x(domain)S 168 x(name)S 168 xH(service)S 168 x(query)S 168 x(and)S 168 x(returns)S 169 x(the)S 10773 XH598 y(response)S 166 x(from)S 166 x(a)S 166 x(DNS)S 166 x(server)S -28 xH(.)S 5094 8830 XY 23160 204 R 5094 9848 XY F24(FORMA)S -53 x(T)S 10773 XF(NETLIB_DN)S -2 x(S_QUER)S -27 x(Y)S 698 x F23(sock)S -2 x(et,)S 173 xF(name,)S 173 x([class],)S 172 x(type,)S 18691 X 797 y(buffe)S -2 x(r)SD-38 x(,)S 172 x(bufsize)S 170 x([,\212ags)S -2 x(])S 171 x([,iosb])SM18691 X 797 y([,asta)S -2 x(dr])S 166 x([,astprm])S 5094 12638 XY 23160 204 ReC5094 13456 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)SrG299 x F36(cond_value)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S7C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F361C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S1E166 x(value)S 5094 16296 XY 23160 204 R 5094 17115 XY F24(ARGU)S -2 x0J(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xFF36(by)S 166 x(reference)S 10773 X 598 y F151(A)S 166 x(socket)S 166 xG(allocated)S 166 x(with)S 165 x(NETLIB_SOCK)S -2 x(ET)S -45 x(.)S 166 x2I(Any)S 167 x(socket)S 166 x(can)S 166 x(be)S 166 x(used.)S 10773 21178 XY IF25(name)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S)H10773 X 598 y F34(type:)S 13896 X F36(character)S 165 x(string)S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34 H(mechanism:)S 438 x F36(by)S 166 x(descriptor)S 10773 X 597 y F151(The)SF167 x(domain)S 166 x(name)S 166 x(to)S 166 x(be)S 166 x(looked)S 167 xH(up.)S 10773 25362 XY F25(class)S 10773 X 698 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xGF36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 194 x(class)S 193 xSF(of)S 194 x(the)S 193 x(query)S -54 x(.)S 305 x(For)S 194 x(Internet)SD193 x(domain)S 194 x(names,)S 201 x(this)S 193 x(should)S 194 x(be)SG10773 X 548 y(NETLIB_K_DNS_C)S -2 x(LASS_IN,)S 182 x(which)S 183 x(is)S E181 x(the)S 183 x(default)S 182 x(if)S 181 x(this)S 182 x(parameter)S)E182 x(is)S 10773 X 547 y(omitted.)S 10773 30642 XY F25(type)S 10773 XxC698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S(D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X5F598 y F151(The)S 171 x(type)S 171 x(of)S 171 x(query)S -54 x(.)S 259 xL(V)S -46 x(alid)S 170 x(type)S 171 x(codes)S 170 x(are)S 171 x(speci\211ed)SG171 x(by)S 171 x(Internet)S 171 x(RFCs)S 170 x(on)S 171 x(the)S 10773 X6H548 y(DNS,)S 166 x(the)S 166 x(codes)S 166 x(provided)S 167 x(by)S 166 xF(NETLIB)S 166 x(are)S 166 x(listed)S 165 x(in)S 166 x(T)S -30 x(able)S5166 x(RTN)S(\203)S(1.)S 5094 36925 XY F36(RTN\20320)S6EP PPr %%PageTrailery%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique1%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)(%)%%Page: (RTN-21) 31(%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)1 PaperHeight PaperWidth PM 0 0 XYH0 SC 21038 1807 XY F24(NETLIB_D)S -2 x(NS_QUER)S -28 x(Y)S 10773 5094 XYGF36(T)S -36 x(able)S 166 x(RTN)S(\203)S(1)S 498 x(Domain)S 167 x(Name)ScD165 x(Service)S 167 x(query)S 166 x(types)S 10773 X 399 y 17484 48 RJ10773 5991 XY F40(Symbolic)S 149 x(name)S 18843 X(V)S -25 x(alue)S 20935 XO(Description)S 10773 X 299 y 17484 48 R 10773 6888 XY F38(NETLIB_K_DNS_TYPE_A)SbJ18843 X(1)S 20935 X(Address)S 151 x(\(A\))S 150 x(record)S 2 x(s)S 10773 XF747 y(NETLIB_K_DNS_TYPE_NS)S 18843 X(2)S 20935 X(Name)S 150 x(Server)SF151 x(\(NS\))S 150 x(records)S 10773 X 747 y(NETLIB_K_DNS_TYPE_CNAME)SD18843 X(5)S 20935 X(Canonical)S 150 x(Name)S 150 x(\(CNAME\))S 150 xD(records)S 10773 X 747 y(NETLIB_K_DNS_TYPE_SOA)S 18843 X(6)S 20935 XC(Start-of-Authority)S 150 x(\(SOA\))S 150 x(records)S 10773 X 747 ySP(NETLIB_K_DNS_TYPE_WKS)S 18843 X(1)S -33 x(1)S 20935 X(W)S -8 x(ell-known-serv)SN2 x(er)S 150 x(\(WKS\))S 150 x(records)S 10773 X 748 y(NETLIB_K_DNS_TYPE_PTR)SE18843 X(12)S 20935 X(Pointer)S 150 x(\(PTR\))S 149 x(recor)S 2 x(ds)SnC10773 X 747 y(NETLIB_K_DNS_TYPE_HINFO)S 18843 X(13)S 20935 X(Host)SAC149 x(information)S 150 x(\(HINFO\))S 149 x(records)S 10773 X 747 ylC(NETLIB_K_DN,  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZlS_TYPE_MX)S 18843 X(15)S 20935 X(Mail)S 149 x(Exchang)S T2 x(er)S 150 x(\(MX\))S 150 x(record)S 2 x(s)S 10773 X 747 y(NETLIB_K_DNS_TYPE_TXT)SD18843 X(16)S 20935 X(T)S -50 x(ext)S 150 x(\(TXT\))S 150 x(records)SH10773 X 747 y(NETLIB_K_DNS_QTYPE_ALL)S 18843 X(255)S 20935 X(Any)S 150 xH(available)S 149 x(information)S 10773 X 399 y 17484 48 R 10773 15356 XYFF25(buf)S -12 x(fer)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36E(varying_arg)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 xoF(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SF10773 X 597 y F151(A)S 166 x(buffer)S 166 x(into)S 166 x(which)S 167 xK(the)S 166 x(DNS)S 165 x(response)S 166 x(will)S 165 x(be)S 167 x(copied.)S C10773 19540 XY F25(bufsize)S 10773 X 698 y F34(VMS)S 167 x(Usage:)SbF299 x F36(word_unsigned)S 10773 X 597 y F34(type:)S 13896 X F36(word)SC166 x(\(unsigned)S 2 x(\))S 10773 X 598 y F34(access:)S 13896 X F36oH(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 xC(reference)S 10773 X 598 y F151(The)S 167 x(size)S 165 x(of)S 166 x(CF153(buffer)S F151(,)S 166 x(in)S 166 x(bytes.)S 10773 23725 XY F255K(\212ags)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_mask)SFD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XrL598 y F151(A)S 173 x(bitmask)S 172 x(of)S 172 x(\212ags)S 174 x(specifying)SF173 x(options)S 173 x(for)S 173 x(this)S 172 x(query)S -54 x(.)S 263 xD(V)S -46 x(alid)S 172 x(\212ags)S 173 x(are)S 173 x(listed)S 10773 XD548 y(in)S 166 x(T)S -30 x(able)S 166 x(RTN)S(\203)S(2.)S 249 x(If)SF166 x(omitted,)S 166 x(the)S 166 x(default)S 166 x(value)S 166 x(for)SC167 x(this)S 165 x(parameter)S 166 x(is)S 166 x(1.)S 10773 28606 XY8GF36(T)S -36 x(able)S 166 x(RTN)S(\203)S(2)S 498 x(Flag)S 167 x(values)ShF167 x(for)S 166 x(NETLIB_DNS_QUER)S -19 x(Y)S 10773 X 399 y 17484 48 RC10773 29503 XY F40(Symbolic)S 149 x(name)S 18843 X(V)S -25 x(alue)SrZ20935 X(Description)S 10773 X 299 y 17484 48 R 10773 30400 XY F38(NETLIB_M_DOMAIN_SEARCH)SE18843 X(1)S 20935 X(Perform)S 162 x(a)S 161 x(domain)S 161 x(search)S6E162 x(on)S 161 x(the)S 20935 X 547 y(default)S 149 x(doma)S 2 x(in.)S1C10773 X 748 y(NETLIB_M_NO_RECURSION)S 18843 X(2)S 20935 X(Specify)S F150 x(a)S 149 x(non-r)S 2 x(ecursive)S 150 x(query)S -32 x(.)S 10773 XH398 y 17484 48 R 10773 33438 XY F25(iosb)S 10773 X 697 y F34(VMS)S 167 xG(Usage:)S 299 x F36(io_status_block)S 10773 X 598 y F34(type:)S 13896 XxFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SE13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x 4F36(by)S 166 x(reference)S 26403 X 871 y(RTN\20321)SEP PP: %%PageTrailer %%%PageFonts: Helvetica-Bold Helveticae0%%+ Helvetica-BoldOblique NewCenturySchlbk-Roman%%+ NewCenturySchlbk-Boldm%%PageProcessColors:%%PageCustomColors: (BLACK)o%:%%Page: (RTN-22) 32s%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_DN)S -2 x(S_QUER)S -27 x(Y)S 10773 4866 XYDHF151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 xJ(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 5962 XYIF25(astadr)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)StD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 598 y DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S)C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S2C166 x(this)S 165 x(operation.)S 10773 10146 XY F25(astprm)S 10773 X6E698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 597 y F34 C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X3E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34)I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S9G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S0J165 x(routine.)S 5094 14430 XY 23160 204 R 5094 15249 XY F24(DESCRIPTION)SD10773 X -156 y F151(This)S 183 x(routine)S 183 x(formats)S 182 x(a)SG183 x(DNS)S 182 x(query)S 184 x(and)S 183 x(returns)S 183 x(the)S 183 xnD(response)S 183 x(from)S 182 x(any)S 10773 X 598 y(answering)S 167 xE(name)S 166 x(server)S -36 x(.)S 249 x(If)S 166 x(the)S 166 x(query)S5G167 x(fails,)S 166 x(an)S 166 x(error)S 167 x(status)S 165 x(is)S 166 xBC(returned.)S 10773 X 896 y(For)S 176 x(MultiNet,)S 179 x(TCPware,)S D178 x(and)S 176 x(Pathway)S -55 x(,)S 179 x(and)S 176 x(UCX,)S 175 xD(the)S 176 x(name)S 176 x(servers)S 176 x(that)S 10773 X 598 y(are)SC183 x(queried)S 182 x(are)S 183 x(those)S 182 x(speci\211ed)S 182 x)N(for)S 183 x(those)S 182 x(packages.)S 282 x(W)S -18 x(ith)S 182 x(MultiNet,)SC187 x(for)S 10773 X 598 y(example,)S 175 x(the)S 172 x(ones)S 172 xnC(listed)S 172 x(in)S 172 x(the)S 173 x(translation)S 172 x(string)SXH172 x(for)S 173 x(the)S 172 x(logical)S 173 x(name)S 172 x(for)S 10773 XH598 y(MUL)S -27 x(TINET_NAMESER)S -20 x(VERS)S 176 x(are)S 177 x(used.)SC270 x(For)S 178 x(the)S 176 x(CMU)S 177 x(TCP/IP)S 177 x(package,)S1C10773 X 597 y(the)S 187 x(name)S 186 x(servers)S 187 x(used)S 186 xrD(by)S 187 x(NAMRES)S 185 x(are)S 187 x(not)S 186 x(available)S 187 xG(to)S 186 x(NETLIB,)S 186 x(so)S 10773 X 598 y(you)S 175 x(must)S 173 x4K(de\211ne)S 175 x(the)S 173 x(logical)S 175 x(name)S 173 x(NETLIB_NAMESER)SSN-20 x(VERS)S 173 x(with)S 173 x(the)S 174 x(IP)S 10773 X 598 y(address\(es\))SC176 x(of)S 178 x(the)S 178 x(name)S 178 x(server\(s\))S 177 x(you)StD179 x(want)S 177 x(NETLIB)S 177 x(to)S 177 x(use.)S 273 x(If)S 177 xG(no)S 178 x(name)S 10773 X 598 y(servers)S 166 x(can)S 167 x(be)S 166 x L(found,)S 167 x(SS$_UNSUPPORTED)S 165 x(is)S 165 x(returned.)S 5094 36925 XYF36(RTN\20322)S6EP PPy %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman#%%+ Helvetica-BoldOblique Helvetica)%%PageProcessColors:%%PageCustomColors: (BLACK)6%a%%Page: (RTN-23) 331%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)s PaperHeight PaperWidth PM 0 0 XYI0 SC 19811 1807 XY F24(NETLIB_D)S -2 x(NS_SKIPNA)S -2 x(ME)S 5094 4546 XYC23160 48 R 5094 5543 XY F20(NETLIB_DNS_SKI)S 2 x(PNAME\202)S(Skip)SSE358 x(a)S 359 x(name)S 357 x(in)S 359 x(a)S 358 x(DNS)S 16851 6539 XYeH(respon)S -2 x(se)S 10773 8033 XY F34(NETLIB_DNS_SKI)S 2 x(PNAME)S 168 xH(is)S 167 x(a)S 168 x(utility)S 168 x(routine)S 167 x(used)S 168 x(for)SC168 x(parsing)S 168 x(DNS)S 167 x(responses)S 10773 X 598 y(which)StN165 x(skips)S 166 x(over)S 166 x(a)S 166 x(domain)S 165 x(name.)S 5094 9827 XYC23160 204 R 5094 10845 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_DN)S-M-2 x(S_SKIPNAME)S 696 x F23(bufptr)S -39 x(,)S 166 x(bu\212en)S 5094 12040 XYnF23160 204 R 5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xF(Usage:)S 299 x F36(longword_si)S 2 x(gned)S 10773 X 597 y F34(type:)SL13896 X F36(longword)S 167 x(\(signed)S 2 x(\))S 10773 X 598 y F34(access:)SE13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x IF36(by)S 166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)SXE-2 x(MENTS)S 10773 X -22 y F25(bufptr)S 10773 X 598 y F34(VMS)S 167 xTC(Usage:)S 299 x F36(pointer)S 10773 X 598 y F34(type:)S 13896 X F361C(longword)S 167 x(\(unsig)S 2 x(ned\-  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZV ))S 10773 X 598 y F34(access:)SAD13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 xCF36(by)S 166 x(value)S 10773 X 598 y F151(A)S 170 x(pointer)S 171 xSG(to)S 171 x(the)S 170 x(area)S 171 x(of)S 171 x(the)S 170 x(DNS)S 170 xsH(response)S 171 x(buffer)S 171 x(that)S 170 x(begins)S 171 x(the)S 171 xE(name)S 171 x(to)S 10773 X 548 y(be)S 166 x(skipped.)S 10773 21128 XY_OF25(bu\212en)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)S(C10773 X 598 y F34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 xXI(\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X7E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 ySGF151(A)S 166 x(count)S 167 x(of)S 166 x(the)S 166 x(number)S 167 x(of)S1C165 x(bytes)S 166 x(in)S 167 x(the)S 166 x(buffer)S -37 x(,)S 167 x7C(starting)S 166 x(from)S 166 x F153(bufptr)S F151(.)S 5094 25412 XY9F23160 204 R 5094 26231 XY F24(DESCRIPTION)S 10773 X -156 y F151(This)SG159 x(is)S 159 x(a)S 159 x(utility)S 159 x(routine)S 160 x(used)S 159 x8C(when)S 159 x(parsing)S 159 x(a)S 159 x(response)S 159 x(returned)SmK160 x(by)S 160 x(a)S 159 x(call)S 159 x(to)S 10773 X 598 y(NETLIB_DNS_QUE)SfG-2 x(R)S -18 x(Y)S -56 x(.)S 173 x(It)S 172 x(returns)S 173 x(a)S 172 x)G(count)S 173 x(of)S 173 x(the)S 172 x(number)S 174 x(of)S 172 x(bytes)S1H172 x(to)S 173 x(skip)S 10773 X 597 y(allocated)S 171 x(to)S 171 x(the)SE172 x(domain)S 171 x(name)S 172 x(positioned)S 171 x(in)S 172 x(the)S C171 x(buffer)S 172 x(at)S 171 x(location)S 172 x F153(bufptr)S F151yD(.)S 10773 X 598 y(If)S 166 x(the)S 166 x(operation)S 166 x(fails,)SH166 x(-1)S 166 x(is)S 166 x(returned)S 166 x(to)S 166 x(indicate)S 166 xH(an)S 167 x(error)S -36 x(.)S 10773 X 897 y(This)S 171 x(routine)S 171 xG(is)S 171 x(needed)S 171 x(because)S 171 x(of)S 171 x(the)S 171 x(way)S D170 x(domain)S 171 x(names)S 171 x(are)S 171 x(represented)S 10773 XH598 y(in)S 187 x(DNS)S 185 x(responses.)S 290 x(Refer)S 186 x(to)S 186 xC(RFC)S 185 x(1035)S 186 x(for)S 187 x(further)S 187 x(information)S2D186 x(on)S 187 x(the)S 10773 X 597 y(format)S 166 x(of)S 166 x(DNS)SM165 x(queries)S 166 x(and)S 167 x(responses.)S 26403 36925 XY F36(RTN\20323)S EP PPr %%PageTrailerd%%%PageFonts: Helvetica-Bold Helveticaa+%%+ Helvetica-Oblique Helvetica-BoldOblique 0%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)6%i%%Page: (RTN-24) 342%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)h PaperHeight PaperWidth PM 0 0 XYJ0 SC 5094 1807 XY F24(NETLIB_GETPEERNA)S -2 x(ME)S 5094 4546 XY 23160 48 RD5094 5543 XY F20(NETLIB_GETPEERNAME\202)S(Get)S 358 x(remote)S 357 xC(socke)S -2 x(t)S 16652 6539 XY(addres)S -2 x(s)S 10773 8033 XY F340F(NETLIB_GETSOCKNAME)S 162 x(returns)S 162 x(the)S 161 x(remote)S 162 xC(address)S 161 x(and)S 161 x(port)S 161 x(information)S 161 x(for)S L10773 X 598 y(a)S 166 x(connected)S 166 x(socket.)S 5094 9827 XY 23160 204 RH5094 10845 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_GETPEERN)S -2 x(AME)SK697 x F23(socket,)S 172 x(socket-ad)S -2 x(dress,)S 19762 X 797 y(sockadd)SaH-2 x(r)S -12 x(-size,)S 19762 X 797 y(sockadd)S -2 x(r)S -12 x(-retlen)SI174 x([,iosb])S 19762 X 797 y([,astadr])S 165 x([,astprm])S 5094 14431 XYyF23160 204 R 5094 15250 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xF(Usage:)S 299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S E13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 xKIF36(by)S 166 x(value)S 5094 18089 XY 23160 204 R 5094 18908 XY F24(ARGU)StE-2 x(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x H(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34I(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)SYH438 x F36(by)S 166 x(reference)S 10773 X 597 y F151(Socket)S 166 x(for)SC167 x(which)S 166 x(the)S 166 x(information)S 166 x(is)S 166 x(to)S2H166 x(be)S 166 x(returned.)S 10773 22971 XY F25(socket-address)S 10773 XF698 y F34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 X 597 y F34C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X)F598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34R(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket_address)SE192 x(structure)S 193 x(which)S 192 x(will)S 192 x(hold)S 192 x(the)S8Q193 x(returned)S 193 x(address/port)S 10773 X 548 y(information.)S 10773 27703 XY DF25(sockaddr-size)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36L(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36 H(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 xC(reference)S 10773 X 598 y F151(Size)S 166 x(of)S 165 x(the)S 167 xuQ(socket)S 166 x(address)S 165 x(structure.)S 10773 31888 XY F25(sockaddr-retlen)SxK10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SxD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S1G10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X D598 y F151(Returned)S 166 x(actual)S 167 x(length)S 167 x(of)S 166 xD(the)S 166 x(socket)S 166 x(address.)S 5094 36925 XY F36(RTN\20324)SEP PP %%PageTrailer %%%PageFonts: Helvetica-Bold Helveticaa+%%+ Helvetica-Oblique Helvetica-BoldObliqueS%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK))%7%%Page: (RTN-25) 351%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight PaperWidth PM 0 0 XYE0 SC 19966 1807 XY F24(NETLIB_G)S -2 x(ETPEERNAME)S 10773 5000 XY F25 J(iosb)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)SD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S(G10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X H598 y F151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)SO167 x(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 9184 XYSIF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S7D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 y DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)SyC166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)SrC166 x(this)S 165 x(operation.)S 10773 13369 XY F25(astprm)S 10773 XtE697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X2E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F34LI(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)SEJ165 x(routine.)S 5094 17653 XY 23160 204 R 5094 18471 XY F24(DESCRIPTION)SH10773 X -155 y F151(This)S 168 x(routine)S 167 x(is)S 167 x(used)S 167 xE(to)S 168 x(return)S 168 x(the)S 167 x(remote)S 167 x(address)S 167 xdE(and)S 167 x(port)S 168 x(information)S 167 x(for)S 10773 X 597 y(a)S)C166 x(socket)S 166 x(that)S 166 x(is)S 166 x(connected)S 167 x(to)SSG166 x(a)S 166 x(remote)S 166 x(system.)S 26403 36925 XY F36(RTN\20325)S(EP P.  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZUP) %%PageTrailery1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique $%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)7%X%%Page: (RTN-26) 36%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)1 PaperHeight PaperWidth PM 0 0 XYJ0 SC 5094 1807 XY F24(NETLIB_GETSOC)S -2 x(KNAME)S 5094 4546 XY 23160 48 RC5094 5543 XY F20(NETLIB_GETSOCKNAME\202)S(Get)S 358 x(local)S 358 x P(socke)S -2 x(t)S 359 x(addre)S -2 x(ss)S 10773 7037 XY F34(NETLIB_GETSOCKNAME)SE168 x(returns)S 167 x(the)S 167 x(local)S 165 x(address)S 167 x(and)SnD167 x(port)S 166 x(information)S 167 x(for)S 167 x(a)S 10773 X 598 yF(socket.)S 5094 8830 XY 23160 204 R 5094 9848 XY F24(FORMA)S -53 x(T)SJ10773 X(NETLIB_GETSOC)S -2 x(KNAME)S 696 x F23(socket,)S 171 x(socket-ad)SE-2 x(dress,)S 19878 X 797 y(sockad)S -2 x(dr)S -12 x(-size,)S 19878 X7F797 y(sockad)S -2 x(dr)S -12 x(-retlen)S 173 x([,iosb])S 19878 X 797 yF([,astadr])S 165 x([,astprm])S 5094 13435 XY 23160 204 R 5094 14253 XYLF24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)SD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S I10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 17093 XY C23160 204 R 5094 17912 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25)H(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x1E(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S1L166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SG10773 X 598 y F151(Socket)S 166 x(for)S 167 x(which)S 166 x(the)S 166 x P(information)S 166 x(is)S 166 x(to)S 166 x(be)S 166 x(returned.)S 10773 21975 XYEF25(socket-address)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F361C(structure)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x F(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SC10773 X 597 y F151(Socket_address)S 192 x(structure)S 193 x(which)SSK192 x(will)S 192 x(hold)S 192 x(the)S 193 x(returned)S 193 x(address/port)S1G10773 X 548 y(information.)S 10773 26707 XY F25(sockaddr-size)S 10773 X)C698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S3D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XSG598 y F151(Size)S 166 x(of)S 165 x(the)S 167 x(socket)S 166 x(address)S\E165 x(structure.)S 10773 30891 XY F25(sockaddr-retlen)S 10773 X 698 yaEF34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 XmD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y DF151(Returned)S 166 x(actual)S 167 x(length)S 167 x(of)S 166 x(the)S=166 x(socket)S 166 x(address.)S 5094 36925 XY F36(RTN\20326)S5EP PPo %%PageTrailerc%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique)%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)x%r%%Page: (RTN-27) 37)%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)2 PaperHeight PaperWidth PM 0 0 XYI0 SC 19850 1807 XY F24(NETLIB_G)S -2 x(ETSOCKNA)S -2 x(ME)S 10773 5000 XY MF25(iosb)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S9D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S1G10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X(H598 y F151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)SO167 x(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 9184 XY1IF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S2D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 y)DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S6C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)SrC166 x(this)S 165 x(operation.)S 10773 13369 XY F25(astprm)S 10773 XhE697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34eC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F346I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)SSJ165 x(routine.)S 5094 17653 XY 23160 204 R 5094 18471 XY F24(DESCRIPTION)SH10773 X -155 y F151(This)S 169 x(routine)S 169 x(is)S 168 x(used)S 169 xD(to)S 168 x(return)S 170 x(the)S 169 x(local)S 168 x(address)S 168 xE(and)S 169 x(port)S 169 x(information)S 169 x(for)S 168 x(a)S 10773 X_H597 y(socket)S 166 x(that)S 166 x(has)S 166 x(been)S 167 x(bound)S 166 x7(or)S 167 x(connected.)S 26403 36925 XY F36(RTN\20327)S EP PPr %%PageTrailery1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique6$%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)(%r%%Page: (RTN-28) 38.%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)2 PaperHeight PaperWidth PM 0 0 XYI0 SC 5094 1807 XY F24(NETLIB_GETSOC)S -2 x(KOPT)S 5094 4546 XY 23160 48 RnE5094 5543 XY F20(NETLIB_GETSOCKOPT\202)S(Get)S 357 x(sock)S -2 x(et)S0H358 x(options)S 10773 7037 XY F34(NETLIB_GETSOCKOPT)S 167 x(gets)S 167 xH(the)S 166 x(current)S 166 x(state)S 167 x(of)S 167 x(a)S 166 x(socket)SG166 x(option.)S 5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)S -53 x%D(T)S 10773 X(NETLIB_GETSOC)S -2 x(KOPT)S 697 x F23(socke)S -2 x(t,)SE171 x(level)S -2 x(,)S 171 x(option)S -2 x(,)S 171 x(value)S -2 x(,)SCI19259 X 797 y(valsiz)S -2 x(e)S 177 x([,vallen])S 176 x([,iosb])S 19259 X:M797 y([,astad)S -2 x(r])S 167 x([,astp)S -2 x(rm])S 5094 12040 XY 23160 204 RhC5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)SNG299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S2C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36gC(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S6E166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)S -2 xbJ(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 xHF36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 167 x(socket)S 166 xI(about)S 166 x(which)S 166 x(you)S 167 x(wish)S 166 x(to)S 166 x(obtain)S6J166 x(the)S 166 x(option)S 166 x(information.)S 10773 20580 XY F25(level)SK10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S(D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X)C598 y F151(`)S -9 x(`Level')S -9 x(')S 191 x(of)S 191 x(the)S 191 xoC(option)S 192 x(being)S 192 x(set.)S 299 x(The)S 192 x(only)S 193 x1D(level)S 191 x(globally)S 192 x(su/  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z% pported)S 191 x(is)S 10773 X 547 yC(NETLIB_K_LEVEL_SO)S -2 x(CKET)S 192 x(\(value)S 194 x(X'FFFF'\).)S1H194 x(Some)S 193 x(packages)S 193 x(also)S 10773 X 548 y(support)S 166 xE(protocol-level)S 166 x(option)S 167 x(settings.)S 10773 25860 XY F25eH(option)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x6E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)SsL166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SD10773 X 598 y F151(Longword)S 172 x(representing)S 172 x(the)S 171 xM(option)S 171 x(being)S 172 x(set.)S 259 x(Not)S 171 x(all)S 171 x(packages)S)F171 x(support)S 171 x(all)S 10773 X 548 y(options,)S 166 x(but)S 166 xE(most)S 166 x(support)S 166 x(the)S 166 x(ones)S 166 x(listed)S 165 x(L(in)S 167 x(T)S -31 x(able)S 166 x(RTN)S(\203)S(3.)S 10773 X 896 y(Consult)SC178 x(your)S 179 x(package-speci\211c)S 179 x(documentation)S 179 x(C(on)S 178 x(other)S 179 x(available)S 178 x(options)S 10773 X 548 ynE(and)S 179 x(on)S 179 x(option)S 178 x(value)S 179 x(range)S 2 x(s.)SSG274 x(The)S 179 x(CMU)S 178 x(TCP/IP)S 179 x(package)S 179 x(is)S 178 x C(not)S 179 x(based)S 178 x(on)S 10773 X 548 y(sockets,)S 188 x(so)SBD184 x(this)S 183 x(call)S 184 x(will)S 183 x(always)S 183 x(return)SF185 x(success)S 183 x(status)S 183 x(with)S 183 x(0)S 184 x(returned)SG10773 X 548 y(length)S 167 x(on)S 167 x(systems)S 165 x(running)S 168 x]E(that)S 166 x(package.)S 10773 33133 XY F25(value)S 10773 X 697 y F34NG(VMS)S 167 x(Usage:)S 299 x F36(varying_arg)S 10773 X 598 y F34(type:)S D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S:438 x F36(by)S 166 x(reference)S 5094 36800 XY(RTN\20328)SEP PP3 %%PageTrailer1%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique %%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)1%6%%Page: (RTN-29) 39 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight PaperWidth PM 0 0 XYE0 SC 20469 1807 XY F24(NETLIB_GETSOC)S -2 x(KOPT)S 10773 4866 XY F151(F(V)S -46 x(alue)S 166 x(to)S 166 x(set)S 166 x(for)S 166 x(the)S 166 xK(option.)S 250 x(V)S -47 x(alues)S 166 x(vary)S 168 x(from)S 166 x(option)SXD166 x(to)S 166 x(option.)S 10773 5962 XY F25(valsize)S 10773 X 697 yEF34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X3D598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X1E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 yhLF151(Size)S 166 x(of)S 165 x(the)S 167 x F153(value)S 167 x F151(argument,)SC167 x(in)S 167 x(bytes.)S 10773 10146 XY F25(vallen)S 10773 X 698 y EF34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X(D597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y)CF151(Actual)S 166 x(returned)S 167 x(length)S 167 x(of)S 166 x F153tE(value)S F151(,)S 168 x(in)S 166 x(bytes.)S 10773 14331 XY F25(iosb)S6J10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y HF151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 xK(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 18515 XYtIF25(astadr)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)SD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 597 yCDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S7C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S3C166 x(this)S 165 x(operation.)S 10773 22699 XY F25(astprm)S 10773 XSE698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 597 y F34wC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X6E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34 I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)SiG166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S7J165 x(routine.)S 5094 26983 XY 23160 204 R 5094 27802 XY F24(DESCRIPTION)SF10773 X -151 y F151(This)S 172 x(routine)S 173 x(provides)S 172 x(an)SG172 x(interface)S 172 x(to)S 172 x(the)S 172 x F153(getsocko)S 2 x(pt)SeE172 x F151(service)S 172 x(provided)S 173 x(by)S 10773 X 598 y(most)S1H165 x(TCP/IP)S 167 x(packages)S 167 x(\(most)S 165 x(are)S 166 x(based)SH166 x(on)S 166 x(the)S 167 x(BSD)S 165 x(socket)S 166 x(communications)SD10773 X 598 y(model\).)S 283 x(Note)S 183 x(that)S 183 x(not)S 183 xG(all)S 183 x(options)S 183 x(are)S 183 x(available)S 183 x(with)S 183 x(D(all)S 183 x(packages,)S 188 x(and)S 10773 X 598 y(for)S 178 x(the)SE178 x(CMU)S 177 x(TCP/IP)S 178 x(this)S 178 x(call)S 177 x(is)S 177 x5J(a)S 178 x(no-operation\202it)S 178 x(will)S 177 x(always)S 177 x(return)SD178 x(a)S 10773 X 597 y(success)S 166 x(status,)S 165 x(with)S 166 xF(0)S 166 x(as)S 166 x(the)S 166 x(returned)S 167 x(length)S 167 x(of)SG166 x(the)S 166 x(option)S 166 x(value.)S 475 x 36925 Y F36(RTN\20329)SlEP PPx %%PageTrailerx2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman9%%+ Helvetica-BoldOblique Helvetica NewCenturySchlbk-Bold)%%PageProcessColors:%%PageCustomColors: (BLACK)n%e%%Page: (RTN-30) 403%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)d PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_HT)S -14 x(ON_LON)S -2 x(G)S 5094 4546 XYJ23160 48 R 5094 5543 XY F20(NETLIB_HT)S -15 x(ON_LONG\202)S -2 x(Convert)SD357 x(host-or)S -2 x(der)S 358 x(longword)S 15340 6539 XY(to)S 358 xD(network)S 357 x(order)S 10773 8033 XY F34(NETLIB_HT)S -8 x(ON_LON)SC-2 x(G)S 163 x(is)S 163 x(a)S 164 x(utility)S 163 x(routine)S 163 x5E(for)S 164 x(converting)S 163 x(a)S 163 x(longword)S 163 x(in)S 163 xF(the)S 163 x(local)S 10773 X 598 y(host')S -9 x(s)S 166 x(byte)S 167 xE(order)S 165 x(to)S 167 x(a)S 166 x(network-order)S 165 x(longword.)S D5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)S -53 x(T)S 10773 XD(NETLIB_HT)S -14 x(ON_LON)S -2 x(G)S 697 x F23(value)S 5094 12040 XYF23160 204 R 5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xH(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SD438 x F36(by)S 166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XYCF24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25(value)S 10773 X 598 y F348H(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 598 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F34tG(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(The)SFN167 x(longword)S 166 x(to)S 166 x(be)S 166 x(conver)S 2 x(ted.)S 5094 20680 XYF23160 204 R 5094 21498 XY F24(DESCRIPTION)S 10773 X -155 y F151(This)SH180 x(is)S 180 x(a)S 180 x(utility)S 180 x(routine)S 181 x(which)S 180 xC(reverses)S 180 x(the)S 180 x(byte)S0  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z4 181 x(order)S 180 x(of)S 180 xYC(a)S 180 x(longword)S 180 x(to)S 10773 X 597 y(convert)S 168 x(it)SrH166 x(from)S 166 x(the)S 166 x(native)S 167 x(format)S 166 x(for)S 167 xF(the)S 166 x(local)S 167 x(host)S 166 x(\(which)S 166 x(is)S 166 x(`)SD-9 x(`little-endian')S -10 x(')S 10773 X 598 y(for)S 189 x(V)S -56 xD(AX)S 188 x(and)S 188 x(AXP)S 188 x(systems)S 187 x(runn)S 2 x(ing)SF189 x(VMS\))S 188 x(to)S 188 x(network)S 188 x(order)S 189 x(\(which)SH189 x(is)S 10773 X 598 y(`)S -9 x(`big-endian')S - 9 x('\).)S 249 x(The)SK167 x(returned)S 167 x(value)S 166 x(is)S 166 x(the)S 166 x(network-order)S)/167 x(longword.)S 5094 36925 XY F36(RTN\20330)S1EP PP5 %%PageTrailer1%%%PageFonts: Helvetica-Bold Helvetica1+%%+ Helvetica-Oblique Helvetica-BoldOblique)%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)1%3%%Page: (RTN-31) 411%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)1 PaperHeight PaperWidth PM 0 0 XYO0 SC 20793 1807 XY F24(NETLIB_H)S -2 x(T)S -12 x(ON_WOR)S -2 x(D)S 5094 4546 XY1E23160 48 R 5094 5543 XY F20(NETLIB_HT)S -15 x(ON_WORD\202)S(Convert)SnG357 x(host-)S -2 x(order)S 358 x(word)S 357 x(to)S 15589 6539 XY(netw)S)E-2 x(ork)S 358 x(order)S 10773 8033 XY F34(NETLIB_HT)S -8 x(ON_WORD)S(F175 x(is)S 176 x(a)S 177 x(utility)S 176 x(routine)S 176 x(for)S 177 xI(converting)S 176 x(a)S 177 x(word)S 176 x(in)S 176 x(the)S 177 x(local)SSD10773 X 598 y(host')S -9 x(s)S 166 x(byte)S 167 x(order)S 165 x(to)SF167 x(a)S 166 x(network-order)S 165 x(word.)S 5094 9827 XY 23160 204 RF5094 10845 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_HT)S -14 x(ON_WOR)SF-2 x(D)S 697 x F23(value)S 5094 12040 XY 23160 204 R 5094 12859 XY F24L(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)SC10773 X 597 y F34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 x J(\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XM598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 15698 XY 23160 204 R3G5094 16517 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25(value)S 10773 X(F598 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)S 10773 X 598 yHF34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 x(\))S 10773 X 598 yLF34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)SF438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 167 x(word)SI166 x(to)S 165 x(be)S 166 x(conv)S 2 x(erted.)S 5094 20680 XY 23160 204 RyE5094 21498 XY F24(DESCRIPTION)S 10773 X -155 y F151(This)S 168 x(is)S%H167 x(a)S 168 x(utility)S 168 x(routine)S 168 x(which)S 168 x(reverses)SH168 x(the)S 168 x(byte)S 168 x(order)S 168 x(of)S 168 x(a)S 168 x(word)SF167 x(to)S 168 x(convert)S 10773 X 597 y(it)S 159 x(from)S 159 x(the)SC159 x(native)S 160 x(format)S 159 x(for)S 159 x(the)S 160 x(local)SSH159 x(host)S 159 x(\(which)S 159 x(is)S 159 x(`)S -9 x(`little-endian')SD-10 x(')S 159 x(for)S 159 x(V)S -56 x(AX)S 10773 X 598 y(and)S 170 xF(AXP)S 169 x(systems)S 169 x(runn)S 2 x(ing)S 170 x(VMS\))S 169 x(to)SH170 x(network)S 170 x(order)S 170 x(\(which)S 170 x(is)S 170 x(`)S -10 xD(`big-endian')S -9 x('\).)S 10773 X 598 y(The)S 167 x(return)S 167 xC(value)S 167 x(is)S 165 x(the)S 166 x(network-order)S 167 x(word.)Sz26403 36925 XY F36(RTN\20331)SEP PPa %%PageTrailer1%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique3%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)(%e%%Page: (RTN-32) 42o%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYJ0 SC 5094 1807 XY F24(NETLIB_LISTEN)S 5094 4546 XY 23160 48 R 5094 5543 XYCF20(NETLIB_LISTEN\202)S(Listen)S 358 x(for)S 358 x(incoming)S 358 x)E(connec)S -2 x(tions)S 10773 7037 XY F34(NETLIB_LIS)S 2 x(TEN)S 166 x3E(sets)S 167 x(a)S 166 x(socket)S 166 x(up)S 166 x(to)S 167 x(listen)SyJ165 x(for)S 167 x(incoming)S 165 x(connections.)S 5094 8233 XY 23160 204 RD5094 9251 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_LISTEN)S 696 x F23L(socket)S 172 x([,backlog)S -2 x(])S 174 x([,iosb)S -2 x(])S 174 x([,astad)SK-2 x(r])S 16856 X 797 y([,astprm])S 5094 11243 XY 23160 204 R 5094 12062 XY(LF24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)SD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)SFI10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 14901 XYbC23160 204 R 5094 15720 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25(H(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 xnE(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)SSL166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SC10773 X 598 y F151(Socket)S 166 x(to)S 166 x(be)S 166 x(set)S 166 xdD(up)S 166 x(as)S 166 x(a)S 166 x(listener)S -37 x(.)S 10773 19783 XYIF25(backlog)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(unsigned)SdL168 x(int)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)SG2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SuG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XeC598 y F151(The)S 167 x(number)S 167 x(of)S 166 x(backlogged)S 167 xeE(connections)S 167 x(to)S 166 x(allow)S 165 x(on)S 167 x(this)S 165 x6G(listener)S -37 x(.)S 10773 23967 XY F25(iosb)S 10773 X 698 y F34(VMS)SSD167 x(Usage:)S 299 x F36(io_status_block)S 10773 X 598 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SH438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(I/O)S 166 x(status)SC165 x(block)S 167 x(to)S 165 x(receive)S 167 x(the)S 167 x(status)S7J165 x(for)S 166 x(this)S 166 x(call.)S 10773 28152 XY F25(astadr)S 10773 XF697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S 10773 X 598 y F34C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XvE598 y F34(access:)S 13896 X F36(call)S 10773 X 597 y F34(mechanism:)SoC438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Address)S 165 x H(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S 166 x(be)S 166 xF(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S 166 x(this)S 165 xG(operation.)S 10773 32336 XY F25(astprm)S 10773 X 697 y F34(VMS)S 167 x D(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S D13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xFF36(by)S 166 x(value)S 10773 X 597 y F151(Parameter)S 166 x(to)S 166 xH(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S5094 36925 XY F36(RTN\20332)SnEP PP %%PageTrailerg%%%PageFonts: Helvetica-Bold Helvetical+%%+ Helvetica-Oblique Helvetica-BoldObliquey%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK))%%%Page: (RTN-33) 434%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)G PaperHeight PaperWidth PM 0 0 XYL0 SC 22872 1807 XY F24(NETLIB_LISTEN)S 5094 4696 XY 23160 204 R 5094 5515 XYD(DESCRIPTION)S 10773 X -156 y F151(This)S 183 x(routine)S 184 x(is)SC183 x(used)S 183 x(as)S 182 x(part)S 183 x(of)S 183 x(a)S 183 x(`)SF-9 x(`passi)S -2 x(ve')S -8 x(')S 182 x(open)S 184 x(sequence,)S 188 xI(typically)S 184 x(by)S 10773 X 598 y(servers)S 187 x(that)S 186 x(bind)S2F186 x(a)S 187 x(socket)S 186 x(to)S 186 x(a)S 187 x(speci\211c)S 186 xE(port)S 187 x(number)S -36 x(,)S 1921  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Ze x(then)S 186 x(establish)S 186 x3C(a)S 10773 X 597 y(listener)S 173 x(to)S 172 x(handle)S 173 x(the)SE173 x(incoming)S 174 x(connections.)S 263 x(This)S 173 x(call)S 172 xE(is)S 172 x(usually)S 174 x(followed)S 10773 X 598 y(by)S 177 x(one)SFC177 x(or)S 177 x(more)S 176 x(invocation)S 2 x(s)S 176 x(of)S 176 x9D(NETLIB_ACCE)S -2 x(PT)S 177 x(to)S 177 x(accept)S 176 x(the)S 177 xG(incoming)S 10773 X 598 y(connections.)S 26403 36925 XY F36(RTN\20333)SwEP PP1 %%PageTrailer)2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)7%c%%Page: (RTN-34) 44%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)1 PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_NA)S -2 x(ME_T)S -12 x(O_AD)S -2 x(DRESS)S8N5094 4546 XY 23160 48 R 5094 5543 XY F20(NETLIB_NAME_T)S -15 x(O_ADDRESS\202)SF(Get)S 357 x(the)S 358 x(IP)S 18977 6539 XY(addres)S -2 x(s\(es)S -2 xK(\))S 359 x(for)S 357 x(a)S 18977 7535 XY(host)S 357 x(name)S 10773 9030 XY2CF34(NETLIB_NAME_T)S -8 x(O_ADDRESS)S 192 x(looks)S 192 x(up)S 193 x C(a)S 192 x(host)S 193 x(name,)S 199 x(returning)S 192 x(its)S 193 xL(IP)S 10773 X 597 y(address\(es\).)S 5094 10823 XY 23160 204 R 5094 11841 XYCF24(FORMA)S -53 x(T)S 10773 X(NETLIB_NA)S -2 x(ME_T)S -13 x(O_ADD)ScH-2 x(RESS)S 698 x F23(socke)S -2 x(t,)S 178 x([which])S -2 x(,)S 21571 XD797 y(hostna)S -2 x(me,)S 171 x(addrlist,)S 21571 X 797 y(addrlist)SI-2 x(-size)S 21571 X 797 y([,addrco)S -2 x(unt])S 170 x([,iosb])S 21571 X2E797 y([,astad)S -2 x(r])S 166 x([,astprm])S 5094 16224 XY 23160 204 R2C5094 17043 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)SrG299 x F36(cond_value)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SSC167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F361C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S(E166 x(value)S 5094 19883 XY 23160 204 R 5094 20701 XY F24(ARGU)S -2 xoJ(MENTS)S 10773 X -21 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xHF36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 167 x(socket)S 166 xI(about)S 166 x(which)S 166 x(you)S 167 x(wish)S 166 x(to)S 166 x(obtain)S3J166 x(the)S 166 x(option)S 166 x(information.)S 10773 24764 XY F25(which)SK10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SRD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X G598 y F151(A)S 184 x(code)S 185 x(indicating)S 186 x(the)S 185 x(type)S(H184 x(of)S 185 x(lookup)S 185 x(to)S 185 x(be)S 185 x(performed.)S 287 xD(Possible)S 184 x(values)S 10773 X 548 y(are)S 186 x(NETLIB_K_LOOK)SH-2 x(UP_DNS)S 186 x(\(1\),)S 191 x(which)S 186 x(requests)S 185 x(that)SE186 x(the)S 186 x(name)S 186 x(be)S 10773 X 548 y(looked)S 178 x(up)S(E179 x(using)S 178 x(the)S 179 x(Domain)S 177 x(Name)S 178 x(System,)S C181 x(and)S 178 x(NETLIB_K_LOOK)S -2 x(UP_)S 10773 X 548 y(HOST_T)S5G-27 x(ABLE)S 167 x(\(2\),)S 168 x(which)S 169 x(requests)S 167 x(that)S(C168 x(the)S 168 x(name)S 169 x(be)S 168 x(looked)S 168 x(up)S 168 x1C(in)S 169 x(the)S 168 x(local)S 10773 X 548 y(host)S 172 x(table.)SAH261 x(If)S 172 x(omitted,)S 174 x(the)S 172 x(default)S 172 x(is)S 171 xE(NETLIB_K_LOOK)S -2 x(UP_DNS.)S 173 x(See)S 172 x(the)S 10773 X 548 y`D(Description)S 177 x(section)S 178 x(for)S 177 x(information)S 178 xJ(on)S 178 x(package-speci\211c)S 179 x(restrictions)S 177 x(with)S 10773 XF548 y(this)S 166 x(parameter)S -37 x(.)S 10773 32236 XY F25(hostname)SF10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S 10773 XF598 y F34(type:)S 13896 X F36(character)S 165 x(string)S 10773 X 597 yLF34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)SG438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(The)S 167 x(host)S8K166 x(name)S 166 x(to)S 166 x(be)S 166 x(looked)S 166 x(up.)S 5094 36925 XYSF36(RTN\20334)SSEP PPf %%PageTrailerm%%%PageFonts: Helvetica-Bold Helvetica7+%%+ Helvetica-Oblique Helvetica-BoldOblique%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)o% %%Page: (RTN-35) 45x%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)3 PaperHeight PaperWidth PM 0 0 XYH0 SC 18157 1807 XY F24(NETLIB_NA)S -2 x(ME_T)S -12 x(O_AD)S -2 x(DRESS)SC10773 5000 XY F25(addrlist)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S0I299 x F36(array)S 165 x(of)S 166 x(structures)S 10773 X 597 y F34(type:)SdD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SF438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(An)S 184 x(array)SD185 x(of)S 184 x(INADD)S -2 x(RDEF)S 183 x(structures)S 185 x(into)SC184 x(which)S 184 x(the)S 184 x(addresses)S 183 x(will)S 184 x(be)SlH10773 X 548 y(written.)S 10773 9732 XY F25(addrlist-size)S 10773 X 698 yEF34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X6D598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X6E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y FF151(The)S 167 x(number)S 167 x(of)S 166 x(elements)S 165 x(in)S 167 xH(the)S 166 x F153(addrlist)S 167 x F151(array)S -54 x(.)S 10773 13917 XYNF25(addrcount)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(F(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SG10773 X 598 y F151(The)S 167 x(actual)S 166 x(number)S 167 x(of)S 166 x F(addresses)S 165 x(written)S 165 x(to)S 166 x F153(addrlist)S 2 x F151E(.)S 10773 18101 XY F25(iosb)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S5L299 x F36(io_status_block)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36 C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SxG166 x(reference)S 10773 X 597 y F151(I/O)S 166 x(status)S 165 x(block)SaG167 x(to)S 165 x(receive)S 167 x(the)S 167 x(status)S 165 x(for)S 166 xXC(this)S 166 x(call.)S 10773 22285 XY F25(astadr)S 10773 X 698 y F34)E(VMS)S 167 x(Usage:)S 299 x F36(procedure)S 10773 X 597 y F34(type:)ScD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34F(access:)S 13896 X F36(call)S 10773 X 598 y F34(mechanism:)S 438 x F36E(by)S 166 x(reference)S 10773 X 598 y F151(Address)S 165 x(of)S 166 x(G(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S 166 x(be)S 166 x(invoked)S(H167 x(on)S 167 x(completion)S 166 x(of)S 166 x(this)S 165 x(operation.)SH10773 26470 XY F25(astprm)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 xEF36(user_arg)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x8E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S6H166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(value)SC10773 X 598 y F151(Parameter)S 166 x(to)S 166 x(be)S 166 x(passed)StM165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S 5094 30754 XY 23160 204 R J5094 31572 XY F24(DESCRIPTION)S 10773 X -156 y F151(This)S 185 x(routine)SG186 x(performs)S 185 x(a)S 185 x(name-to-address)S 184 x(lookup)S 186 xnH(on)S 185 x(the)S 186 x(spec2  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z ,i\211ed)S 185 x(host)S 10773 X 598 y(name.)SD256 x(Each)S 169 x(TCP/IP)S 169 x(package)S 170 x(implements)S 168 xC(this)S 169 x(function)S 169 x(slightly)S 170 x(differently)S -55 xSD(,)S 10773 X 598 y(so)S 166 x(there)S 166 x(are)S 167 x(some)S 165 xC(restrictions)S 166 x(on)S 166 x(the)S 166 x(use)S 167 x(of)S 166 x8D(this)S 165 x(routine.)S 10773 X 897 y(For)S 180 x(MultiNet,)S 184 xC(TCPware,)S 184 x(and)S 180 x(Pathway)S -55 x(,)S 183 x(the)S 180 x1EF153(which)S 181 x F151(argument)S 180 x(is)S -180 x(used)S 179 x(to)SsD10773 X 597 y(determine)S 169 x(whether)S 169 x(the)S 168 x(lookup)SD170 x(should)S 168 x(occur)S 170 x(using)S 169 x(NETLIB')S -19 x(s)SE168 x(DNS)S 168 x(resolver)S 10773 X 598 y(support)S 183 x(or)S 183 x D(using)S 184 x(the)S 183 x(TCP/IP)S 184 x(package')S -18 x(s)S 183 xH(host-table)S 182 x(access)S 183 x(routines.)S 284 x(For)S 10773 X 598 yH(these)S 168 x(packages,)S 170 x(the)S 168 x(host-table)S 168 x(access)SF167 x(method)S 169 x(cannot)S 168 x(be)S 169 x(used)S 168 x(at)S 168 x4(AST)S 167 x(level.)S 26403 36925 XY F36(RTN\20335)SEP PPK %%PageTrailer 1%%PageFonts: Helvetica-Bold Helvetica-BoldObliquel:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK) %x%%Page: (RTN-36) 46-%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)D PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_NA)S -2 x(ME_T)S -12 x(O_AD)S -2 x(DRESS)S(J10773 4866 XY F151(Also,)S 179 x(if)S 177 x(a)S 176 x(DNS)S 176 x(lookup)SC178 x(is)S 176 x(attempted)S 176 x(and)S 176 x(the)S 177 x(system)S F176 x(is)S 177 x(not)S 176 x(con\211g)S 2 x(ured)S 177 x(for)S 10773 XC598 y(DNS,)S 166 x(an)S 166 x(SS$_UNSUPPORTED)S 165 x(error)S 167 x D(will)S 165 x(be)S 166 x(returned.)S 10773 X 896 y(For)S 175 x(UCX)SG174 x(and)S 175 x(CMU)S 175 x(TCP/IP)S -64 x(,)S 176 x(the)S 175 x F153-H(which)S 175 x F151(argument)S 176 x(is)S 174 x(ignored,)S 178 x(since)SC175 x(these)S 10773 X 598 y(packages)S 168 x(do)S 168 x(not)S 168 x)G(provide)S 168 x(separate)S 167 x(access)S 167 x(to)S 168 x(DNS)S 166 x2E(and)S 168 x(local)S 168 x(host)S 167 x(tables.)S 252 x(For)S 10773 XlC598 y(UCX,)S 180 x(host)S 179 x(table)S 180 x(lookup)S 180 x(will)S)D179 x(occur)S 181 x(\211rst,)S 184 x(followed)S 179 x(by)S 180 x(a)SI180 x(DNS)S 179 x(lookup.)S 278 x(For)S 10773 X 598 y(CMU,)S 166 x(this)S1H166 x(order)S 167 x(is)S 165 x(reversed.)S 5094 36925 XY F36(RTN\20336)SEP PPc %%PageTrailer92%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%+ NewCenturySchlbk-Boldy%%PageProcessColors:%%PageCustomColors: (BLACK)S%x%%Page: (RTN-37) 47y%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)8 PaperHeight PaperWidth PM 0 0 XYO0 SC 20986 1807 XY F24(NETLIB_N)S -2 x(T)S -12 x(OH_LO)S -2 x(NG)S 5094 4546 XY7J23160 48 R 5094 5543 XY F20(NETLIB_NT)S -15 x(OH_LONG\202)S -2 x(Convert)SG357 x(network)S -2 x(-order)S 15340 6539 XY(longword)S 358 x(to)S 358 x:F(host)S 357 x(order)S 10773 8033 XY F34(NETLIB_NT)S -8 x(OH_LON)S -2 xE(G)S 183 x(is)S 182 x(a)S 182 x(utility)S 183 x(routine)S 182 x(for)SsD183 x(converting)S 183 x(a)S 182 x(longword)S 182 x(in)S 182 x(the)SC10773 X 598 y(network)S 166 x(byte)S 167 x(order)S 165 x(to)S 167 x P(a)S 166 x(host-order)S 166 x(longword.)S 5094 9827 XY 23160 204 R 5094 10845 XYGF24(FORMA)S -53 x(T)S 10773 X(NETLIB_NT)S -14 x(OH_LON)S -2 x(G)S 697 x5IF23(value)S 5094 12040 XY 23160 204 R 5094 12859 XY F24(RETURNS)S 10773 XSD-149 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S2I10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 15698 XY C23160 204 R 5094 16517 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F256G(value)S 10773 X 598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S4C2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x7E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)SeL166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SE10773 X 598 y F151(The)S 167 x(longword)S 166 x(to)S 166 x(be)S 166 xiN(conver)S 2 x(ted.)S 5094 20680 XY 23160 204 R 5094 21498 XY F24(DESCRIPTION)SE10773 X -155 y F151(This)S 180 x(is)S 180 x(a)S 180 x(utility)S 180 xaH(routine)S 181 x(which)S 180 x(reverses)S 180 x(the)S 180 x(byte)S 181 xG(order)S 180 x(of)S 180 x(a)S 180 x(longword)S 180 x(to)S 10773 X 597 y9F(convert)S 190 x(it)S 188 x(from)S 188 x(network)S 189 x(order)S 188 xE(to)S 188 x(host)S 189 x(order)S -37 x(.)S 294 x(The)S 189 x(return)S)E190 x(value)S 189 x(is)S 188 x(the)S 10773 X 598 y(host-order)S 166 x+(longword.)S 26403 36925 XY F36(RTN\20337)SeEP PP- %%PageTrailerc%%%PageFonts: Helvetica-Bold Helveticam+%%+ Helvetica-Oblique Helvetica-BoldOblique %%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)(%n%%Page: (RTN-38) 48s%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)- PaperHeight PaperWidth PM 0 0 XYI0 SC 5094 1807 XY F24(NETLIB_NT)S -14 x(OH_WORD)S 5094 4546 XY 23160 48 R9G5094 5543 XY F20(NETLIB_NT)S -15 x(OH_WORD\202)S(Convert)S 357 x(netw)SE-2 x(ork-orde)S -2 x(r)S 359 x(word)S 15589 6539 XY(to)S 358 x(host)SaE357 x(order)S 10773 8033 XY F34(NETLIB_NT)S -8 x(OH_WORD)S 165 x(is)SSH166 x(a)S 166 x(utility)S 166 x(routine)S 167 x(for)S 166 x(converting)SE167 x(a)S 166 x(word)S 166 x(in)S 166 x(the)S 167 x(network)S 10773 X8H598 y(byte)S 167 x(order)S 165 x(to)S 167 x(a)S 166 x(host-order)S 166 xE(word.)S 5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)S -53 x(T)S(K10773 X(NETLIB_NT)S -14 x(OH_WOR)S -2 x(D)S 697 x F23(value)S 5094 12040 XY(F23160 204 R 5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xE(Usage:)S 299 x F36(word_unsigned)S 10773 X 597 y F34(type:)S 13896 XhJF36(word)S 166 x(\(unsigned)S 2 x(\))S 10773 X 598 y F34(access:)S 13896 XFF36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SE166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)S -2 x I(MENTS)S 10773 X -22 y F25(value)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SSF299 x F36(word_unsigned)S 10773 X 598 y F34(type:)S 13896 X F36(word)SC166 x(\(unsigned)S 2 x(\))S 10773 X 598 y F34(access:)S 13896 X F36SH(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 xC(reference)S 10773 X 598 y F151(The)S 167 x(word)S 166 x(to)S 165 xdG(be)S 166 x(conv)S 2 x(erted.)S 5094 20680 XY 23160 204 R 5094 21498 XY1GF24(DESCRIPTION)S 10773 X -155 y F151(This)S 168 x(is)S 167 x(a)S 168 x3E(utility)S 168 x(routine)S 168 x(which)S 168 x(reverses)S 168 x(the)S6G168 x(byte)S 168 x(order)S 168 x(of)S 168 x(a)S 168 x(word)S 167 x(to)SeE168 x(convert)S 10773 X 597 y(it)S 179 x(from)S 179 x(network)S 180 xeD(order)S 179 x(to)S 180 x(host)S 179 x(order)S -37 x(.)S 276 x(The)SF180 x(return)S 180 x(value)S 180 x(is)S 179 x(the)S 179 x(host-order)S310773 X 598 y(word.)S 5094 36925 XY F36(RTN\20338)S EP PP %%PageTrailer7%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique1%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)7% %%Page: (RTN-39) 49S%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight PaperWidth PM 0 0 XYD0 SC 23376 1807 XY F24(NETLIB_R)S -2 x(EAD)S 5094 4546 XY 23160 48 RH5094 5543 XY F20(NETLIB_READ)S 2 x(\202)S(Rece)S -2 x(ive)S 358 x(data)SH358 x(from)S 358 x(remot)S -2 x(e)S 359 x(sys)S -2 x(tem)S 10773 7037 XYDF34(3  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z;NETLIB_READ)S 167 x(reads)S 166 x(data)S 166 x(sent)S 167 x(by)SD166 x(a)S 166 x(remote)S 166 x(system)S 166 x(from)S 167 x(a)S 166 xF(socket.)S 5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)S -53 x(T)SF10773 X -21 y(NETLIB_REA)S -2 x(D)S 697 x F23(socket,)S 179 x(buffer)SD176 x([,socke)S -2 x(t-address])S 16352 X 797 y([,socka)S -2 x(ddr)SE-12 x(-size])S 176 x([,sockad)S -2 x(dr)S -12 x(-len])S 16352 X 797 yfI([,timeout])S 165 x([,iosb)S -2 x(])S 166 x([,astadr])S 165 x([,astprm])S(D5094 12019 XY <23160 204 R 5094 12838 XY F24(RETURNS)S 10773 X -149 yIF34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 X 598 y F34(type:)S(D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)SD438 x F36(by)S 166 x(value)S 5094 15678 XY 23160 204 R 5094 16496 XYDF24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 X 598 y F34H(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34rJ(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)SE166 x(to)S 166 x(which)S 167 x(data)S 165 x(should)S 167 x(be)S 166 xIH(written.)S 10773 20560 XY F25(buf)S -12 x(fer)S 10773 X 697 y F34(VMS)SJ167 x(Usage:)S 299 x F36(unspeci\211ed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)SE13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 xYEF36(by)S 166 x(descriptor)S 167 x(\(\211xed-length)S 2 x(\))S 10773 XeH598 y F151(The)S 167 x(address)S 165 x(of)S 166 x(a)S 166 x(descriptor)SE166 x(for)S 166 x(a)S 166 x(buffer)S 166 x(to)S 166 x(receive)S 167 x F(the)S 166 x(data.)S 10773 24744 XY F25(socket-address)S 10773 X 697 yHF34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 X 598 y F34(type:)SD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SD438 x F36(by)S 166 x(reference)S 10773 X 597 y F151(Socket_address)SI170 x(structure)S 170 x(to)S 170 x(receive)S 171 x(the)S 171 x(addreses)S6G169 x(and)S 170 x(port)S 170 x(from)S 170 x(which)S 171 x(the)S 10773 X1E548 y(data)S 166 x(is)S 165 x(to)S 166 x(be)S 166 x(sent.)S 250 x(T)S)E-26 x(ypically)S 167 x(used)S 166 x(only)S 167 x(with)S 165 x(uncon)S(N2 x(nected)S 166 x(UDP)S 166 x(sockets\).)S 10773 29476 XY F25(sockaddr-size)SK10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S(D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X1G598 y F151(Size)S 166 x(of)S 167 x(the)S 167 x(socket)S 167 x(address)SoG166 x(structure.)S 251 x(T)S -26 x(ypically)S 168 x(used)S 167 x(only)SvL167 x(with)S 166 x(uncon)S 2 x(nected)S 10773 X 547 y(UDP)S 166 x(sockets.)S26403 36925 XY F36(RTN\20339)SEP PP% %%PageTrailerl%%%PageFonts: Helvetica-Bold Helveticau+%%+ Helvetica-Oblique Helvetica-BoldObliquey%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)d%%%Page: (RTN-40) 50h%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)9 PaperHeight PaperWidth PM 0 0 XYC0 SC 5094 1807 XY F24(NETLIB_READ)S 795 x 5000 Y F25(sockaddr-len)S K10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S)D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XrJ598 y F151(Returned)S 170 x(length)S 171 x(of)S 169 x(the)S 170 x(socket)SC170 x(address)S 168 x(structure.)S 258 x(T)S -26 x(ypically)S 170 x5D(used)S 170 x(only)S 170 x(with)S 10773 X 548 y(unconn)S 2 x(ected)SF166 x(UDP)S 166 x(sockets.)S 10773 9732 XY F25(timeout)S 10773 X 698 yIF34(VMS)S 167 x(Usage:)S 299 x F36(delta_time)S 10773 X 598 y F34(type:)S E13896 X F36(quadword)S 167 x(\(signed\))S 10773 X 597 y F34(access:)S3D13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xGF36(by)S 166 x(reference)S 10773 X 598 y F151(Amount)S 167 x(of)S 167 x D(time)S 167 x(that)S 167 x(NETLIB_READ)S 165 x(should)S 168 x(wait)SI166 x(for)S 167 x(the)S 167 x(read)S 168 x(to)S 167 x(complete.)S 10773 XSG548 y(If)S 166 x(omitted,)S 166 x(no)S 166 x(timeout)S 166 x(is)S 165 xnI(used.)S 10773 14465 XY F25(iosb)S 10773 X 697 y F34(VMS)S 167 x(Usage:)SXL299 x F36(io_status_block)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36.C(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S G166 x(reference)S 10773 X 598 y F151(I/O)S 166 x(status)S 165 x(block)SSG167 x(to)S 165 x(receive)S 167 x(the)S 167 x(status)S 165 x(for)S 166 x1C(this)S 166 x(call.)S 10773 18649 XY F25(astadr)S 10773 X 697 y F34eE(VMS)S 167 x(Usage:)S 299 x F36(procedure)S 10773 X 598 y F34(type:)S D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34F(access:)S 13896 X F36(call)S 10773 X 598 y F34(mechanism:)S 438 x F36E(by)S 166 x(reference)S 10773 X 597 y F151(Address)S 165 x(of)S 166 xeG(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S 166 x(be)S 166 x(invoked)SiH167 x(on)S 167 x(completion)S 166 x(of)S 166 x(this)S 165 x(operation.)SH10773 22833 XY F25(astprm)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 xEF36(user_arg)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S2H166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)SC10773 X 598 y F151(Parameter)S 166 x(to)S 166 x(be)S 166 x(passed)S3M165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S 5094 27117 XY 23160 204 RiJ5094 27936 XY F24(DESCRIPTION)S 10773 X -156 y F151(This)S 168 x(routine)SH168 x(reads)S 167 x(data)S 167 x(from)S 168 x(the)S 167 x(socket)S 168 xF(into)S 167 x(the)S 168 x(speci\211ed)S 168 x(buffer)S -37 x(.)S 253 xF(The)S 168 x(read)S 10773 X 598 y(will)S 172 x(complete)S 172 x(when)SD172 x(the)S 173 x(buffer)S 173 x(is)S 171 x(full,)S 175 x(or)S 172 xE(if)S 172 x(the)S 173 x(read)S 172 x(times)S 172 x(out)S 172 x(\(if)SVC172 x F153(timeout)S 10773 X 598 y F151(is)S 177 x(speci\211ed\).)SeI274 x(A)S 177 x(\211xed-leng)S 2 x(th)S 178 x(descriptor)S 177 x(should)SsD178 x(be)S 178 x(used)S 178 x(for)S 178 x(the)S 178 x(buffer)S -36 xJ(.)S 273 x(T)S -46 x(o)S 10773 X 597 y(obtain)S 159 x(the)S 159 x(actual)SE159 x(number)S 159 x(of)S 159 x(bytes)S 159 x(read)S 159 x(in)S 159 x1G(this)S 158 x(call,)S 161 x(use)S 159 x(an)S 159 x(I/O)S 159 x(status)S ,158 x(block.)S 5094 36925 XY F36(RTN\20340)SEP PP %%PageTrailer 1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique4:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK) % %%Page: (RTN-41) 51 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)h PaperHeight PaperWidth PM 0 0 XYH0 SC 21787 1807 XY F24(NETLIB_REA)S -2 x(DLINE)S 5094 4546 XY 23160 48 RD5094 5543 XY F20(NETLIB_READ)S 2 x(LINE\202)S(Read)S 358 x(a)S 358 xC(`)S -33 x(`line')S -33 x(')S 359 x(of)S 358 x(data)S 10773 7037 XY GF34(NETLIB_READLINE)S 167 x(reads)S 166 x(a)S 166 x(`)S -9 x(`li)S -2 xF(ne')S -9 x(')S 166 x(of)S 166 x(data)S 166 x(from)S 167 x(the)S 166 xF(socket.)S 5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)S -53 x(T)SC10773 X -21 y(NETLIB_R4  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZF JEA)S -2 x(DLINE)S 697 x F23(socke)S -2 x(t,)SeL175 x(buffer)S 172 x([,retlen])S 172 x([,\212ags])S 17941 X 797 y([,timeou)SC-2 x(t])S 180 x([,iosb)S -2 x(])S 180 x([,astad)S -2 x(r])S 17941 X)G797 y([,astprm])S 5094 12019 XY 23160 204 R 5094 12838 XY F24(RETURNS)S F10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XM597 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 15678 XY 23160 204 RsH5094 16496 XY F24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 XC598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SRD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X J598 y F151(Socket)S 166 x(from)S 166 x(which)S 167 x(data)S 165 x(should)SE167 x(be)S 166 x(read.)S 10773 20560 XY F25(buf)S -12 x(fer)S 10773 X0D697 y F34(VMS)S 167 x(Usage:)S 299 x F36(char_string)S 10773 X 598 yDF34(type:)S 13896 X F36(character)S 165 x(string)S 10773 X 597 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)SJ438 x F36(by)S 166 x(descriptor)S 10773 X 598 y F151(The)S 167 x(address)SE165 x(of)S 166 x(a)S 166 x(descriptor)S 166 x(for)S 166 x(the)S 166 xXJ(buffer)S 167 x(to)S 166 x(hold)S 166 x(the)S 166 x(line.)S 10773 24744 XYMF25(retlen)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(word_unsigned)SXC10773 X 598 y F34(type:)S 13896 X F36(word)S 166 x(\(unsigned)S 2 x3J(\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 y JF151(The)S 158 x(address)S 156 x(of)S 157 x(a)S 158 x(word)S 156 x(which)SE158 x(receives)S 158 x(the)S 157 x(actual)S 157 x(length)S 158 x(of)S8G157 x(the)S 158 x(received)S 158 x(line.)S 10773 28928 XY F25(\212ags)S:H10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(bitmask)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34rG(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(The)S G175 x(address)S 174 x(of)S 174 x(a)S 174 x(bitmask)S 174 x(containing)SD175 x(\212ags)S 175 x(controlling)S 176 x(this)S 174 x(call.)S 265 xD(Only)S 175 x(one)S 10773 X 548 y(\212ag)S 171 x(is)S 170 x(curren)SF2 x(tly)S 170 x(de\211ned,)S 173 x(NETLIB_M_ALLOW_LF)S 170 x(\(value)SE171 x(1\),)S 172 x(which)S 171 x(causes)S 10773 X 547 y(NETLIB_READ)SeF-2 x(LINE)S 177 x(to)S 177 x(consider)S 177 x(either)S 177 x(a)S 177 xH(CR/LF)S 177 x(pair)S 177 x(or)S 177 x(a)S 177 x(bare)S 177 x(LF)S 178 xG(as)S 176 x(a)S 10773 X 548 y(line)S 155 x(terminator)S -36 x(.)S 249 x E(If)S 155 x(this)S 155 x(argument)S 156 x(is)S 155 x(omitted,)S 157 xnM(this)S 155 x(\212ag)S 156 x(is)S 154 x(enabled)S 156 x(by)S 155 x(default.)S-E10773 X 548 y(Otherwis Pe,)S 166 x(only)S 167 x(a)S 166 x(CR/LF)S 166 x2I(pair)S 166 x(will)S 165 x(be)S 166 x(considered)S 167 x(a)S 166 x(line)Sg:166 x(terminator)S -37 x(.)S 141 x 36925 Y F36(RTN\20341)SEP PP %%PageTrailer %%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique %%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)x%S%%Page: (RTN-42) 52 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)) PaperHeight PaperWidth PM 0 0 XYK0 SC 5094 1807 XY F24(NETLIB_READ)S -2 x(LINE)S -792 x 5000 Y F25(timeout)ScE10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(delta_time)S 10773 XRC597 y F34(type:)S 13896 X F36(quadword)S 167 x(\(signed\))S 10773 X E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34eG(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(The)SXD183 x(address)S 182 x(of)S 182 x(a)S 182 x(VMS)S 182 x(delta)S 182 xD(time)S 181 x(value)S 183 x(specifying)S 184 x(the)S 182 x(timeout)SG182 x(for)S 182 x(this)S 10773 X 548 y(read.)S 10773 9732 XY F25(iosb)S7J10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SD10773 X 597 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 XE598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y7HF151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 xK(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 13917 XYgIF25(astadr)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)SdD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 597 yrDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)ShC166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S6C166 x(this)S 165 x(operation.)S 10773 18101 XY F25(astprm)S 10773 X1E697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34 C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XSE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 597 y F151(Parameter)S(G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S(J165 x(routine.)S 5094 22385 XY 23160 204 R 5094 23204 XY F24(DESCRIPTION)SF10773 X -156 y F151(This)S 188 x(routine)S 188 x(is)S 187 x(intended)SG188 x(foUr)S 188 x(TCP-based)S 187 x(programs)S 188 x(that)S 187 x(use)S(G188 x(a)S 187 x(protocol)S 10773 X 598 y(which)S 172 x(delimits)S 170 x6M(commands)S 171 x(and)S 171 x(replies)S 171 x(with)S 171 x(carriage-return/)S H2 x(linefeed)S 171 x(pairs.)S 10773 X 597 y(It)S 188 x(completes)S 189 xC(only)S 189 x(when)S 189 x(the)S 189 x(speci\211ed)S 189 x(buffer)SlI189 x(is)S 189 x(full;)S 200 x(when)S 190 x(a)S 188 x(complete,)S 10773 XrK598 y(terminated,)S 199 x(line)S 191 x(has)S 192 x(been)S 192 x(received;)SyE206 x(or)S 192 x(if)S 192 x(a)S 191 x(timeout)S 192 x(occurs.)S 301 x3J(The)S 192 x(line)S 10773 X 598 y(terminator)S 166 x(is)S 166 x(stripped)SE165 x(from)S 166 x(the)S 166 x(returned)S 167 x(data.)S 5094 36925 XYSF36(RTN\20342)S(EP PP6 %%PageTrailer61%%PageFonts: Helvetica-Bold Helvetica-BoldOblique0$%%+ Helvetica NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)x%u%%Page: (RTN-43) 53 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)6 PaperHeight PaperWidth PM 0 0 XYM0 SC 19784 1807 XY F24(NETLIB_SER)S -14 x(VER_SETUP)S 5094 4546 XY 23160 48 R(H5094 5543 XY F20(NETLIB_SER)S -15 x(VER_SETUP\202)S(Socket)S 357 x(set)SP-2 x(up)S 359 x(for)S 358 x(`)S -33 x(`forke)S -2 x(d')S -33 x(')S 16886 6539 XYJ(serv)S -2 x(ers)S 10773 8033 XY F34(NETLIB_SE)S 2 x(R)S -10 x(VER_SETUP)SE174 x(creates)S 174 x(and)S 173 x(sets)S 173 x(up)S 173 x(the)S 174 xeH(socket)S 174 x(used)S 173 x(by)S 173 x(a)S 173 x(server)S 10773 X 598 yE(process)S 166 x(`)S -9 x(`forked')S -10 x(')S 166 x(from)S 166 x(a)SuH166 x(TCP/IP)S 168 x(package')S -10 x(s)S 166 x(`)S -9 x(`master)S 166 xH(server')S -10 x('.)S 5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)SD-53 x(T)S 10773 X(NETLIB_SER)S -14 x(VER_SETUP)S 697 x F23(socket,)SF171 x(socket)S -2 x(-address,)S 19944 X 797 y(sockadd)S -2 x(r)S -12 xF(-size)S 5094 12837 XY 23160 204 R 5094 13656 XY F24(RETURNS)S 10773 XD-149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 X 597 yFF34(type:)S 13896 X F35  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZۃY6(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XF598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34D(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 16495 XY 23160 204 RH5094 17314 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25(socket)S 10773 XC598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S`D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)SAG10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X2E598 y F151(Returned)S 166 x(socket)S 167 x(handle)S 166 x(for)S 166 x9Q(use)S 166 x(in)S 167 x(subsequent)S 166 x(NETLIB)S 166 x(calls.)S 10773 21377 XY)EF25(socket-address)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36)E(special_structure)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S3C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36)H(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 xK(reference)S 10773 X 598 y F151(Socket)S 187 x(address)S 186 x(describing)SsC187 x(port)S 187 x(being)S 187 x(opened.)S 291 x(See)S 187 x(note)S7F187 x(in)S 187 x(description)S 10773 X 547 y(section.)S 10773 26109 XYDF25(sockaddr-size)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36L(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)SC167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S 13896 X F36H(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 xC(reference)S 10773 X 598 y F151(Size)S 166 x(of)S 165 x(the)S 167 x H(structure)S 166 x(passed)S 165 x(in)S 167 x F153(socket-address)S 167 xJF151(argument.)S 5094 30393 XY 23160 204 R 5094 31212 XY F24(DESCRIPTION)SD10773 X -156 y F151(This)S 181 x(routine)S 180 x(creates)S 181 x(a)SL180 x(NETLIB)S 180 x(socket)S 180 x(for)S 180 x(the)S 181 x(communications)SH180 x(chann)S 2 x(el)S 10773 X 598 y(in)S 190 x(a)S 189 x(server)S 190 xD(program)S 190 x(invoked)S 190 x(by)S 190 x(a)S 189 x(TCP/IP)S 190 xE(package')S -18 x(s)S 189 x(`)S -9 x(`mast)S -2 x(er)S 190 x(server)SsC-36 x(.')S -9 x(')S 10773 X 598 y(The)S 180 x F153(socket-address)SeF180 x F151(and)S 179 x F153(sockadd)S 2 x(r)S -10 x(-size)S 180 x F151D(arguments)S 180 x(must)S 178 x(be)S 179 x(provided,)S 10773 X 597 yC(although)S 168 x(for)S 166 x(all)S 167 x(packages)S 167 x(except)S(C167 x(CMU)S 166 x(TCP/IP)S 167 x(they)S 167 x(are)S 167 x(ignored)S F167 x(\(the)S 167 x(actual)S 10773 X 598 y(address)S 165 x(and)S 167 xJ(port)S 166 x(number)S 166 x(are)S 167 x(pre-determined\).)S 9118 34443 XYDF153(Note:)S 300 x(For)S 175 x(at)S 175 x(least)S 176 x(some)S 175 xE(TCP/IP)S 175 x(packag)S 2 x(es,)S 177 x(this)S 176 x(routine)S 176 xoE(should)S 177 x(be)S 174 x(called)S 10773 X 598 y F154(before)S 174 xSJF153(any)S 175 x(lang)S 2 x(uage-speci\211c)S 176 x(I/O)S 175 x(routines)SH176 x(\(for)S 174 x(example,)S 179 x(the)S 175 x(printf)S 26403 36925 XYF36(RTN\20343)S5EP PPl %%PageTrailer %%%PageFonts: Helvetica-Bold Helvetica(+%%+ Helvetica-Oblique Helvetica-BoldObliqueN0%%+ NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%+ NewCenturySchlbk-BoldItalic %%PageProcessColors:%%PageCustomColors: (BLACK)x%n%%Page: (RTN-44) 54S%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)F PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_SER)S -13 x(VER_SETUP)S 10773 4871 XY F153xN(routine)S 177 x(in)S 176 x(the)S 176 x(C)S 175 x(run-time)S 176 x(library\))SH175 x(are)S 176 x(called,)S 179 x(to)S 177 x(prevent)S 176 x(the)S 176 xL(run-)S 10773 X 598 y(time)S 166 x(system)S 167 x(from)S 165 x(interfering)SG166 x(with)S 167 x(the)S 166 x(network)S 167 x(channel.)S 5094 36925 XY1F36(RTN\20344)SREP PP1 %%PageTrailera1%%PageFonts: Helvetica-Bold NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)e%n%%Page: (RTN-45) 55a%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)o PaperHeight PaperWidth PM 0 0 XYJ0 SC 20547 1807 XY F24(NETLIB_SETSOC)S -2 x(KOPT)S 5094 4546 XY 23160 48 RE5094 5543 XY F20(NETLIB_SETSOCKOPT\202)S(Set)S 358 x(sock)S -2 x(et)S)O358 x(options)S 10773 7037 XY F34(NETLIB_SE)S 2 x(TSOCKOPT)S 166 x(modi\211es)S N165 x(attributes)S 167 x(of)S 167 x(a)S 166 x(a)S 166 x(socket.)S 5094 8233 XYG23160 204 R 5094 9251 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_SETSOCK)S E-2 x(OPT)S 697 x F23(socket,)S 170 x(level)S -2 x(,)S 171 x(option,)S E170 x(value)S -2 x(,)S 19181 X 797 y(vallen)S 178 x([,iosb)S -2 x(])SuM179 x([,astad)S -2 x(r])S 19181 X 797 y([,astprm])S 5094 12040 XY 23160 204 R7C5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S G299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S9C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36eC(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SSE166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)S -2 xuJ(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 xHF36(by)S 166 x(reference)S 10773 X 598 y F151(The)S 167 x(socket)S 166 xF(you)S 167 x(wish)S 165 x(to)S 166 x(modify)S -55 x(.)S 10773 20580 XYJF25(level)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 xoE(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S(L166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SE10773 X 598 y F151(`)S -9 x(`Level')S -9 x(')S 191 x(of)S 191 x(the)S3H191 x(option)S 192 x(being)S 192 x(set.)S 299 x(The)S 192 x(only)S 193 xD(level)S 191 x(globally)S 192 x(supported)S 191 x(is)S 10773 X 547 yC(NETLIB_K_LEVEL_SO)S -2 x(CKET)S 192 x(\(value)S 194 x(X'FFFF'\).)S H194 x(Some)S 193 x(packages)S 193 x(also)S 10773 X 548 y(support)S 166 xE(protocol-level)S 166 x(option)S 167 x(settings.)S 10773 25860 XY F25CH(option)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x E(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)SeL166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SD10773 X 598 y F151(Longword)S 172 x(representing)S 172 x(the)S 171 xM(option)S 171 x(being)S 172 x(set.)S 259 x(Not)S 171 x(all)S 171 x(packages)SdF171 x(support)S 171 x(all)S 10773 X 548 y(options,)S 166 x(but)S 166 xE(most)S 166 x(support)S 166 x(the)S 166 x(ones)S 166 x(listed)S 165 x2C(in)S 167 x(T)S -31 x(able)S 166 x(RTN)S(\203)S(3.)S 26403 36925 XY F36(RTN\20345)SeEP PPx %%PageTrailer %%%PageFonts: Helvetica-Bold Helvetica)+%%+ Helvetica-Oblique Helvetica-BoldObliquee%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)r%s%%Page: (RTN-46) 56m%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)l PaperHeight PaperWidth PM 0 0 XYC0 SC 5094 1807 XY F24(NETLIB_SETSOCKO)S -2 x(PT)S 10773 5094 XY F36TG(T)S -36 x(able)S 166 x(RTN)S(\203)S(3)S 498 x(Socket)S 167 x(options)STJ10773 X 399 y 17484 48 R 10773 5991 XY F40(Symbolic)S 149 x(name)S 18843 XN(V)S -25 x(alue)S 20935 X(Description)S 10773 X 299 y 17484 48 R 10773 6888 XYDF38(NETLIB_K_OPTION_REUSEADD)S -2 x(R)S 18843 X(4)S 20935 X(Allows)SH152 x(a)S 152 x(port)S 153 x(numb)S 2 x(er)S 153 x(to)S 152 x(be)S 153 xE(reused)S 2 x(.)S 20935 X 548 y(V)S -33 x(alue)S 151 x(is)S 150 x(a)S66  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zi hD151 x(longword,)S 151 x(either)S 151 x(1)S 151 x(\(on\))S 151 x(or)SF20935 X 548 y(0)S 150 x(\(of)S -8 x(f\).)S 225 x(Default)S 149 x(for)SG150 x(most)S 150 x(packag)S 2 x(es)S 150 x(is)S 20935 X 548 y(of)S -8 x J(f,)S 152 x(but)S 152 x(NETLIB)S 152 x(turns)S 153 x(this)S 152 x(option)SC152 x(on)S 20935 X 547 y(automatically)S 157 x(unless)S 158 x(you)S G158 x(explicitly)S 20935 X 548 y(call)S 154 x(NETLIB_SETSOCKOPT)S 153 xSK(to)S 155 x(set)S 20935 X 548 y(it.)S 10773 X 748 y(NETLIB_K_OPTION_SNDBU)S(F-2 x(F)S 18843 X(4097)S 20935 X(Sets)S 158 x(socket)S 158 x(buf)S -7 xF(fer)S 158 x(size)S 158 x(for)S 158 x(sends.)S 20935 X 547 y(V)S -33 xF(alue)S 152 x(is)S 151 x(a)S 152 x(longword,)S 152 x(typically)S 151 xH(with)S 151 x(a)S 20935 X 548 y(maximum)S 151 x(value)S 150 x(of)S 149 xG(32768)S 2 x(.)S 10773 X 748 y(NETLIB_K_OPTION_RCVBU)S -2 x(F)S 18843 X9I(4098)S 20935 X(Sets)S 151 x(socket)S 152 x(buf)S -8 x(fer)S 152 x(size)SSG151 x(for)S 152 x(receives.)S 20935 X 548 y(V)S -33 x(alue)S 152 x(is)SFD151 x(a)S 152 x(longword,)S 152 x(typically)S 151 x(with)S 151 x(a)SF20935 X 548 y(maximum)S 151 x(value)S 150 x(of)S 149 x(32768)S 2 x(.)SC10773 X 398 y 17484 48 R 10773 15356 XY F151(Consult)S 178 x(your)SSI179 x(package-speci\211c)S 179 x(documentation)S 179 x(on)S 178 x(other)S7F179 x(available)S 178 x(options)S 10773 X 548 y(and)S 179 x(on)S 179 xF(option)S 178 x(value)S 179 x(range)S 2 x(s.)S 274 x(The)S 179 x(CMU)SC178 x(TCP/IP)S 179 x(package)S 179 x(is)S 178 x(not)S 179 x(based)S5H178 x(on)S 10773 X 548 y(sockets,)S 166 x(so)S 166 x(this)S 166 x(call)SF166 x(has)S 166 x(no)S 166 x(effect)S 166 x(on)S 166 x(systems)S 166 xC(running)S 168 x(that)S 166 x(package.)S 10773 17548 XY F25(value)S)F10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(varying_arg)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X E597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 yeDF151(V)S -46 x(alue)S 166 x(to)S 166 x(set)S 166 x(for)S 166 x(the)SG166 x(option.)S 250 x(V)S -47 x(alues)S 166 x(vary)S 168 x(from)S 166 xmH(option)S 166 x(to)S 166 x(option.)S 10773 21732 XY F25(vallen)S 10773 XC697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)SED10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 XF597 y F151(Size)S 166 x(of)S 165 x(the)S 167 x F153(value)S 167 x F151H(argument,)S 167 x(in)S 167 x(bytes.)S 10773 25916 XY F25(iosb)S 10773 XH698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XF598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34G(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(I/O)S C166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 x(the)S D167 x(status)S 165 x(for)S 166n x(this)S 166 x(call.)S 10773 30101 XYIF25(astadr)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S7D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 597 ySDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S(C166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)Sv=166 x(this)S 165 x(operation.)S 5094 36925 XY F36(RTN\20346)SnEP PPl %%PageTrailert%%%PageFonts: Helvetica-Bold Helvetical0%%+ NewCenturySchlbk-Roman Helvetica-BoldOblique%%+ NewCenturySchlbk-BoldN%%PageProcessColors:%%PageCustomColors: (BLACK):%t%%Page: (RTN-47) 57o%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)S PaperHeight PaperWidth PM 0 0 XYD0 SC 20547 1807 XY F24(NETLIB_SETSOC)S -2 x(KOPT)S 10773 4977 XY F25E(astprm)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S1D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(read)S 166 x(only)SC10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 XaF598 y F151(Parameter)S 166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)SO166 x(the)S 167 x(AST)S 165 x(routine.)S 5094 9261 XY 23160 204 R 5094 10080 XYMF24(DESCRIPTION)S 10773 X -150 y F151(This)S 173 x(routine)S 173 x(provides)SdK173 x(an)S 173 x(interface)S 173 x(to)S 173 x(the)S 173 x F153(setsockopt)S E174 x F151(service)S 173 x(provided)S 173 x(by)S 10773 X 598 y(most)S H165 x(TCP/IP)S 167 x(packages)S 167 x(\(most)S 165 x(are)S 166 x(based)SH166 x(on)S 166 x(the)S 167 x(BSD)S 165 x(socket)S 166 x(communications)SD10773 X 597 y(model\).)S 261 x(Note)S 172 x(that)S 171 x(not)S 172 xG(all)S 172 x(options)S 172 x(are)S 172 x(available)S 172 x(with)S 171 xSD(all)S 172 x(packages,)S 174 x(and)S 172 x(for)S 10773 X 598 y(the)SE166 x(CMU)S 166 x(TCP/IP)S 167 x(this)S 166 x(call)S 166 x(is)S 165 x,9(a)S 166 x(no-operation.)S 26403 36925 XY F36(RTN\20347)SUEP PP0 %%PageTrailer41%%PageFonts: Helvetica-Bold Helvetica-BoldOblique3:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)3%%%Page: (RTN-48) 58 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_SHUTD)S -2 x(OWN)S 5094 4546 XY 23160 48 RgG5094 5543 XY F20(NETLIB_SHUTD)S 2 x(OWN\202)S(Shut)S 358 x(down)S 357 x6C(a)S 359 x(conne)S -2 x(ction)S 10773 7037 XY F34(NETLIB_SHUTDOWN)SsG166 x(shuts)S 167 x(down)S 165 x(a)S 166 x(connection)S 166 x(without)SxE166 x(deleting)S 166 x(the)S 166 x(socket.)S 5094 8233 XY 23160 204 R6D5094 9251 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_SHU)S -2 x(TDOWN)SF697 x F23(socke)S -2 x(t)S 178 x([,shutt)S -2 x(ype])S 177 x([,iosb])SM18483 X 797 y([,asta)S -2 x(dr])S 166 x([,astprm])S 5094 11243 XY 23160 204 RC5094 12062 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S(G299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36(longword)SnC167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(C(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)SnE166 x(value)S 5094 14901 XY 23160 204 R 5094 15720 XY F24(ARGU)S -2 x3J(MENTS)S 10773 X -22 y F25(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)SF299 x F36(longword_un)S 2 x(signed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 xGF36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)S 166 x(to)S 166 x6H(be)S 166 x(set)S 166 x(up)S 166 x(as)S 166 x(a)S 166 x(listener)S -37 xI(.)S 10773 19783 XY F25(shuttype)S 10773 X 697 y F34(VMS)S 167 x(Usage:)SnF299 x F36(unsigned)S 168 x(int)S 10773 X 598 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)SxD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xCF36(by)S 166 x(reference)S 10773 X 598 y F151(T)S -26 x(ype)S 204 xxE(of)S 203 x(shutdown)S 203 x(to)S 203 x(be)S 203 x(performed.)S 324 x2H(Possible)S 202 x(values)S 204 x(are)S 203 x(listed)S 202 x(in)S 10773 XJ547 y(T)S -31 x(able)S 194 x(RTN)S(\203)S(4.)S 304 x(If)S 193 x(omitted,)SC201 x(the)S 193 x(default)S 194 x(is)S 193 x(NETLIB_K_SHUTDO)S -2 xKE(WN_)S 10773 X 548 y(RECEI)S -2 x(VER.)S 10773 25213 XY F36(T)S -36 x:D(able)S 166 x(RTN)S(\203)S(4)S 498 x(Shutdo)S 2 x(wn)S 166 x(types)SC10777  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zw3 X 398 y 17484 48 R 10773 26109 XY F40(Symbolic)S 149 x(name)S3G18843 X(V)S -25 x(alue)S 20935 X(Description)S 10773 X 299 y 17484 48 R)H10773 27006 XY F38(NETLIB_K_SHUTDOWN_)S 10773 X 548 y(RECEIVER)S 18843 XJ-548 y(0)S 20935 X(Prevent)S 150 x(any)S 151 x(further)S 150 x(receives.)SG10773 28301 XY(NETLIB_K_SHUTDOWN_SENDER)S 18843 X(1)S 20935 X(Prevent)SoQ150 x(any)S 151 x(further)S 150 x(sends.)S 10773 X 747 y(NETLIB_K_SHUTDOWN_BOTH)SuQ18843 X(2)S 20935 X(Prevent)S 150 x(any)S 151 x(further)S 150 x(sends/receives.)S)E10773 X 399 y 17484 48 R 10773 30543 XY F151(This)S 166 x(parameter)S G166 x(has)S 166 x(no)S 167 x(meaning)S 167 x(when)S 166 x(using)S 167 xpE(the)S 166 x(CMU)S 166 x(TCP/IP)S 167 x(package.)S 10773 31639 XY F25 J(iosb)S 10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)SD10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)S)G10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X8H598 y F151(I/O)S 166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)SO167 x(the)S 167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 5094 36925 XYxF36(RTN\20348)SrEP PP2 %%PageTrailer1%%%PageFonts: Helvetica-Bold Helveticaa+%%+ Helvetica-Oblique Helvetica-BoldOblique8%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)3%(%%Page: (RTN-49) 59 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)( PaperHeight PaperWidth PM 0 0 XYK0 SC 21245 1807 XY F24(NETLIB_SHUTD)S -2 x(OWN)S 10773 5000 XY F25(astadr)S D10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S 10773 XD597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SM10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 598 y F34(mechanism:)SlC438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Address)S 165 x7H(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)S 166 x(be)S 166 xF(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S 166 x(this)S 165 xF(operation.)S 10773 9184 XY F25(astprm)S 10773 X 698 y F34(VMS)S 167 xD(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)S D13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xFF36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S 166 x(to)S 166 xH(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)SH5094 13468 XY 23160 204 R 5094 14287 XY F24(DESCRIPTION)S 10773 X -156 yFF151(This)S 169 x(routine)S 169 x(closes)S 168 x(the)S 169 x(network)SC168 x(connec)S 2 x(tion)S 168 x(currently)S 170 x(open)S 169 x(on)S(G169 x(the)S 169 x(speci\211ed)S 10773 X 598 y(socket,)S 160 x(without)S E158 x(deleting)S 158 x(the)S 158 x(socket.)S 249 x(Any)S 159 x(data)S(D157 x(still)S 157 x(waiting)S 157 x(to)S 158 x(be)S 158 x(received)SH158 x(or)S 10773 X 598 y(sent)S 173 x(can)S 174 x(be)S 173 x(discarded)SD173 x(or)S 173 x(retained)S 174 x(by)S 173 x(specifying)S 175 x(an)SD173 x(appropriate)S 173 x(shutdown)S 10773 X 598 y(type)S 166 x(in)SD167 x F153(shuttype)S F151(.)S 10773 X 896 y(For)S 176 x(the)S 175 xC(CMU)S 175 x(TCP/IP)S 176 x(package,)S 179 x(the)S 175 x(shutdown)SeC176 x(type)S 175 x(is)S 175 x(not)S 175 x(used;)S 181 x(the)S 175 x G(CMU)S 10773 X 598 y(close)S 166 x(operation)S 166 x(does)S 166 x(not)SiK166 x(provide)S 167 x(this)S 166 x(option.)S 26403 36925 XY F36(RTN\20349)SsEP PPx %%PageTrailert1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique5:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)3%r%%Page: (RTN-50) 609%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)y PaperHeight PaperWidth PM 0 0 XYE0 SC 5094 1807 XY F24(NETLIB_SOCK)S -2 x(ET)S 5094 4546 XY 23160 48 R F5094 5543 XY F20(NETLIB_SOCKET\202)S(Create)S 358 x(a)S 358 x(NETLIB)SD359 x(communicat)S -2 x(ion)S 13464 6539 XY(endpoint)S 10773 8033 XYHF34(NETLIB_SOCKET)S 181 x(creates)S 179 x(a)S 180 x(`)S -10 x(`socket')SE-9 x('\202that)S 180 x(is,)S 183 x(a)S 179 x(local)S 179 x(endpoint)S%M179 x(for)S 179 x(TCP/I)S 2 x(P)S 10773 X 598 y(communication.)S 5094 9827 XYaD23160 204 R 5094 10845 XY F24(FORMA)S -53 x(T)S 10773 X(NETLIB_SOC)SD-2 x(KET)S 697 x F23(socket)S 188 x([,socke)S -2 x(t-type])S 17282 XH797 y([,socket-fam)S -2 x(ily])S 5094 12837 XY 23160 204 R 5094 13656 XYLF24(RETURNS)S 10773 X -149 y F34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)SD10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)S 165 x(only)SsI10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(value)S 5094 16495 XYFC23160 204 R 5094 17314 XY F24(ARGU)S -2 x(MENTS)S 10773 X -22 y F25 H(socket)S 10773 X 598 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)SC2 x(signed)S 10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x1F(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(write)SL165 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)SI10773 X 598 y F151(The)S 167 x(returned)S 167 x(socket)S 166 x(context,)ScD167 x(for)S 166 x(use)S 166 x(in)S 167 x(subsequent)S 166 x(NETLIB)SG165 x(calls.)S 10773 21377 XY F25(socket-type)S 10773 X 698 y F34(VMS)S\E167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 597 y F34SC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XaE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34CF(mechanism:)S 438 x F36(by)S 166 x(referencee)S 10773 X 598 y F151(T)SL-26 x(ype)S 163 x(of)S 162 x(socket)S 162 x(to)S 162 x(be)S 163 x(created.)SC249 x(Allowed)S 162 x(values)S 162 x(are)S 163 x(shown)S 162 x(in)SRG162 x(T)S -31 x(able)S 163 x(RTN)S(\203)S(5.)S 249 x(If)S 10773 X 547 yAM(omitted,)S 166 x(the)S 166 x(default)S 166 x(is)S 166 x(NETLIB_K_TYPE_STRE)SnE-2 x(AM.)S 10773 26259 XY F36(T)S -36 x(able)S 166 x(RTN)S(\203)S(5)SCD498 x(Socket)S 167 x(types)S 10773 X 398 y 17484 48 R 10773 27155 XYJF40(Symbolic)S 149 x(name)S 18843 X(V)S -25 x(alue)S 20935 X(Description)SJ10773 X 299 y 17484 48 R 10773 28052 XY F38(NETLIB_K_TYPE_STREAM)S 18843 XF(1)S 20935 X(Connection-or)S 2 x(iented)S 164 x(socket)S 165 x(\(for)SF20935 X 548 y(TCP\).)S 10773 X 747 y(NETLIB_K_TYPE_DGRAM)S 18843 X(2)SD20935 X(Connectionless)S 150 x(socket)S 150 x(\(for)S 150 x(UDP\).)SC10773 X 399 y 17484 48 R 10773 31091 XY F25(socket-family)S 10773 X8C697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S0D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X C598 y F151(Address/protocol)S 159 x(family)S -56 x(.)S 250 x(Only)SbE159 x(NETLIB_K_AF_INET)S 158 x(\(value)S 159 x(2\))S 159 x(is)S 159 x-G(permitted,)S 10773 X 548 y(and)S 166 x(is)S 166 x(assumed)S 165 x(by)SsI167 x(default)S 166 x(if)S 166 x(omitted.)S 5094 36925 XY F36(RTN\20350)S6EP PP( %%PageTrailerx%%%PageFonts: Helvetica-Bold Helvetica4+%%+ Helvetica-Oblique Helvetica-BoldOblique0%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)5%o%%Page: (RTN-51) 61 %%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)S PaperHeight PaperWidth PM 0 0 XYG0 SC 22446 1807 XY F24(NETLIB_SO)S -2 x(CKET)S 5094 4696 XY 23160 204 R7E5094 5515 XY(DESCRIPTION)S 10773 X -156 y F151(This)S 172 x(routine)S\C173 x(creates)S 171 x(a)S 172 x(`)S -9 x(`socket')S -10 x(')S 172 x7M(\(an)S 172 x(endpoint)S 1728  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Zp x(for)S 172 x(network)S 172 x(communication\).)S(D10773 X 598 y(One)S 171 x(socket)S 172 x(is)S 171 x(required)S 172 xD(for)S 171 x(each)S 172 x(network)S 172 x(connection.)S 262 x(This)SH171 x(will)S 171 x(be)S 171 x(the)S 172 x(\211rst)S 10773 X 597 y(call)SD176 x(in)S 175 x(most)S 175 x(NETLIB-based)S 175 x(programs.)S 269 xC(The)S 176 x(only)S 176 x(exception)S 177 x(to)S 175 x(this)S 175 x.G(rule)S 176 x(is)S 10773 X 598 y(a)S 174 x(program)S 175 x(that)S 174 xuC(is)S 174 x(intended)S 174 x(to)S 174 x(be)S 175 x(run)S 175 x(as)S H173 x(a)S 174 x(`)S -9 x(`forked')S -9 x(')S 174 x(server)S 174 x(from)SE175 x(a)S 174 x(TCP/IP)S 10773 X 598 y(package')S -18 x(s)S 173 x(`)S0D-10 x(`master)S 172 x(server')S -8 x(',)S 174 x(which)S 174 x(will)SD172 x(use)S 173 x(the)S 173 x(NETLIB_SER)S -20 x(VER_SETUP)S 10773 X?598 y(routine)S 167 x(instead.)S 26403 36925 XY F36(RTN\20351)SeEP PP %%PageTrailer32%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)d%e%%Page: (RTN-52) 629%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)o PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F24(NETLIB_STRT)S -13 x(OAD)S -2 x(DR)S 5094 4546 XYE23160 48 R 5094 5543 XY F20(NETLIB_STRT)S -15 x(OADDR\202)S(Convert)SxI358 x(a)S 358 x(dotte)S -2 x(d-addre)S -2 x(ss)S 358 x(to)S 15339 6539 XY7F(binary)S 358 x(form)S 10773 8033 XY F34(NETLIB_ST)S 2 x(R)S -10 x(T)SG-8 x(OADDR)S 181 x(is)S 182 x(a)S 183 x(utility)S 182 x(routine)S 183 xeD(for)S 183 x(converting)S 182 x(a)S 183 x(character)S 182 x(string)SC10773 X 598 y(holding)S 165 x(a)S 166 x(dotted-decimal)S 166 x(IP)SiL167 x(addreses)S 165 x(into)S 166 x(its)S 167 x(binary)S 165 x(equivalent.)SD5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)S -53 x(T)S 10773 XN(NETLIB_STRT)S -14 x(OADDR)S 695 x F23(string,)S 165 x(address)S 5094 12040 XYF23160 204 R 5094 12859 XY F24(RETURNS)S 10773 X -149 y F34(VMS)S 167 xF(Usage:)S 299 x F36(cond_value)S 10773 X 597 y F34(type:)S 13896 X F36C(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S0E13896 X F36(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 xoIF36(by)S 166 x(value)S 5094 15698 XY 23160 204 R 5094 16517 XY F24(ARGU)S2E-2 x(MENTS)S 10773 X -22 y F25(string)S 10773 X 598 y F34(VMS)S 167 xyC(Usage:)S 299 x F36(char_string)S 10773 X 598 y F34(type:)S 13896 X5FF36(character)S 165 x(string)S 10773 X 598 y F34(access:)S 13896 X F36H(read)S 166 x(only)S 10773 X 597 y F34(mechanism:)S 438 x F36(by)S 166 xH(descriptor)S 10773 X 598 y F151(The)S 167 x(string)S 166 x(containing)SF168 x(the)S 166 x(dotted-decimal)S 165 x(address.)S 10773 20580 XY F25D(address)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(INADDR)SM-2 x(DEF)S 167 x(structure)S 10773 X 597 y F34(type:)S 13896 X F36(longword)S4C167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34(access:)S 13896 X F36SC(write)S 165 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S(C166 x(reference)S 10773 X 598 y F151(An)S 166 x(INADDR)S -2 x(DEF)S F166 x(structure)S 166 x(to)S 166 x(hold)S 166 x(the)S 167 x(returned)SJ167 x(address.)S 5094 24864 XY 23160 204 R 5094 25683 XY F24(DESCRIPTION)SE10773 X -156 y F151(This)S 172 x(is)S 172 x(a)S 172 x(utility)S 172 x(C(routine)S 173 x(which)S 173 x(parses)S 171 x(a)S 172 x(character)S1E173 x(string)S 172 x(containing)S 174 x(an)S 172 x(IP)S 10773 X 598 y(N(address)S 173 x(in)S 175 x(dotted-decimal)S 173 x(format,)S 176 x(returning)SD175 x(the)S 174 x(binary)S 175 x(representation)S 174 x(of)S 10773 XE597 y(that)S 171 x(address)S 171 x(in)S 171 x(network)S 172 x(order)SnF171 x(\(suitable)S 171 x(for)S 171 x(a)S 172 x(call)S 171 x(to)S 171 xJ(NETLIB_CON)S -2 x(NECT)S -46 x(,)S 10773 X 598 y(for)S 166 x(example\).)S5094 36925 XY F36(RTN\20352)S EP PPs %%PageTrailer)%%%PageFonts: Helvetica-Bold Helvetica1+%%+ Helvetica-Oblique Helvetica-BoldOblique6%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)P%%%Page: (RTN-53) 63e%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)n PaperHeight PaperWidth PM 0 0 XYE0 SC 23105 1807 XY F24(NETLIB_WR)S -2 x(ITE)S 5094 4546 XY 23160 48 RaD5094 5543 XY F20(NETLIB_WRI)S 2 x(TE\202)S(Send)S 357 x(data)S 357 xK(to)S 358 x(remote)S 357 x(syste)S -2 x(m)S 10773 7037 XY F34(NETLIB_WRIT)S G2 x(E)S 166 x(writes)S 166 x(data)S 166 x(to)S 167 x(a)S 166 x(socket)SCD166 x(for)S 166 x(transmission)S 166 x(to)S 167 x(a)S 165 x(remote)SG167 x(system.)S 5094 8233 XY 23160 204 R 5094 9251 XY F24(FORMA)S -53 x D(T)S 10773 X -21 y(NETLIB_WRITE)S 696 x F23(socket,)S 177 x(buffer)SD175 x([,socket)S -2 x(-address])S 16623 X 797 y([,sockadd)S -2 x(r)SI-12 x(-len])S 177 x([,iosb])S 176 x([,astadr])S 16623 X 797 y([,astprm])S(D5094 12019 XY 23160 204 R 5094 12838 XY F24(RETURNS)S 10773 X -149 yIF34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 X 598 y F34(type:)S9D13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)SD438 x F36(by)S 166 x(value)S 5094 15678 XY 23160 204 R 5094 16496 XYDF24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 X 598 y F34H(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F34yJ(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)SE166 x(to)S 166 x(which)S 167 x(data)S 165 x(should)S 167 x(be)S 166 xmH(written.)S 10773 20560 XY F25(buf)S -12 x(fer)S 10773 X 697 y F34(VMS)SJ167 x(Usage:)S 299 x F36(unspeci\211ed)S 10773 X 598 y F34(type:)S 13896 XFF36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 597 y F34(access:)SD13896 X F36(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 xDF36(by)S 166 x(descriptor)S 10773 X 598 y F151(The)S 167 x(address)SE165 x(of)S 166 x(a)S 166 x(descriptor)S 166 x(for)S 166 x(the)S 166 x O(data)S 166 x(to)S 166 x(be)S 166 x(sent.)S 10773 24744 XY F25(socket-address)SrD10773 X 697 y F34(VMS)S 167 x(Usage:)S 299 x F36(structure)S 10773 XD598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))SC10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X3E598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 y FF151(Socket_address)S 177 x(structure)S 178 x(describing)S 177 x(the)SH178 x(addreses)S 176 x(and)S 178 x(port)S 177 x(to)S 177 x(which)S 178 xJ(the)S 10773 X 548 y(data)S 166 x(is)S 165 x(to)S 166 x(be)S 166 x(sent.)SG250 x(Used)S 165 x(only)S 167 x(with)S 166 x(unconnec)S 2 x(ted)S 165 x8C(UDP)S 166 x(sockets\).)S 10773 29476 XY F25(sockaddr-len)S 10773 XnC697 y F34(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S(D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xD(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(read)S 166 x(only)SG10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X G598 y F151(Size)S 178 x(of)S 179 x(the)S 180 x(socket)S 179 x(address)SyM178 x(structure.)S 276 x(Used)S 178 x(only)S 180 x(with)S 179 x(unconnected)ScC180 x(UDP)S 10773 X 547 y(sockets.)S 26403 36925 XY F36(RTN\20353)SSEP PPF %%PageTrailere%%%PageFonts: Helvetica-Bold Helveticap+%%+ Helvetica-Oblique Helvetica-BoldOblique)%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)r%t%%Page: (RTN-54) 64n%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)t PaperHeight PaperWidth PM 0 0 XYD0 SC 5094 1807 XY F24(NETLIB_WRITE)S 525 x 5000 Y F25(iosb)S 107739  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4ZN  XH698 y F34(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XF598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34G(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(I/O)STC166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 x(the)SIC167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 9184 XY IF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S1D10773 X 598 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 597 y F34(access:)S 13896 X F36(call)S 10773 X 598 y)DF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)SmC166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S)C166 x(this)S 165 x(operation.)S 10773 13369 XY F25(astprm)S 10773 XSE697 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F34eC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X(E598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 597 y F34 I(mechanism:)S 438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S7G166 x(to)S 166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S)J165 x(routine.)S 5094 17653 XY 23160 204 R 5094 18471 XY F24(DESCRIPTION)SE10773 X -155 y F151(This)S 181 x(routine)S 181 x(writes)S 180 x(the)StF181 x(speci\211ed)S 181 x(data)S 180 x(to)S 181 x(the)S 181 x(socket)SE181 x(for)S 181 x(transmission)S 180 x(to)S 10773 X 597 y(the)S 184 x%G(remote)S 183 x(system.)S 284 x(For)S 184 x(UDP)S 183 x(sockets)S 184 xeE(that)S 183 x(have)S 184 x(not)S 184 x(been)S 184 x(connected)S 185 xDJ(to)S 10773 X 598 y(a)S 183 x(speci\211c)S 184 x(remote)S 183 x(address,)SC187 x(the)S 183 x F153(socket-add)S 2 x(ress)S 182 x F151(argumen)StD2 x(t)S 182 x(speci\211es)S 183 x(the)S 10773 X 598 y(remote)S 166 xE(address/port)S 166 x(to)S 166 x(which)S 166 x(the)S 166 x(datagram)S L166 x(is)S 166 x(to)S 166 x(be)S 166 x(sent.)S 5094 36925 XY F36(RTN\20354)SEP PPt %%PageTrailer 1%%PageFonts: Helvetica-Bold Helvetica-BoldOblique6:%%+ Helvetica NewCenturySchlbk-Roman NewCenturySchlbk-Bold%%PageProcessColors:%%PageCustomColors: (BLACK)R%9%%Page: (RTN-55) 65S%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)s PaperHeight PaperWidth PM 0 0 XYI0 SC 21516 1807 XY F24(NETLIB_WRITELIN)S -2 x(E)S 5094 4546 XY 23160 48 R(H5094 5543 XY F20(NETLIB_WRI)S 2 x(TELINE\202)S(Send)S 358 x(data)S 357 xG(with)S 358 x(CR/LF)S 14659 6539 XY(termina)S -2 x(tion)S 10773 8033 XY(DF34(NETLIB_WRIT)S 2 x(ELINE)S 182 x(writes)S 181 x(data)S 181 x(to)SD182 x(a)S 181 x(socket)S 182 x(for)S 182 x(transmission)S 181 x(to)SD181 x(a)S 182 x(remote)S 10773 X 598 y(system,)S 167 x(terminating)SC166 x(the)S 166 x(data)S 167 x(with)S 166 x(a)S 165 x(CR/LF)S 167 x D(pair)S -28 x(.)S 5094 9827 XY 23160 204 R 5094 10845 XY F24(FORMA)SD-53 x(T)S 10773 X -21 y(NETLIB_WRITELINE)S 696 x F23(socket,)S 172 xM(buffer)S 171 x([,iosb)S -2 x(])S 172 x([,astadr])S 18212 X 797 y([,astprm])S D5094 12816 XY 23160 204 R 5094 13635 XY F24(RETURNS)S 10773 X -149 yIF34(VMS)S 167 x(Usage:)S 299 x F36(cond_value)S 10773 X 598 y F34(type:)SrD13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X 598 y F34J(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 597 y F34(mechanism:)SD438 x F36(by)S 166 x(value)S 5094 16475 XY 23160 204 R 5094 17293 XYDF24(ARGU)S -2 x(MENTS)S 10773 X -21 y F25(socket)S 10773 X 598 y F34H(VMS)S 167 x(Usage:)S 299 x F36(longword_un)S 2 x(signed)S 10773 X 597 yFF34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 XE598 y F34(access:)S 13896 X F36(read)S 166 x(only)S 10773 X 598 y F343J(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151(Socket)SE166 x(to)S 166 x(which)S 167 x(data)S 165 x(should)S 167 x(be)S 166 x)H(written.)S 10773 21357 XY F25(buf)S -12 x(fer)S 10773 X 697 y F34(VMS)SH167 x(Usage:)S 299 x F36(char_string)S 10773 X 598 y F34(type:)S 13896 XFF36(character)S 165 x(string)S 10773 X 597 y F34(access:)S 13896 X F36H(read)S 166 x(only)S 10773 X 598 y F34(mechanism:)S 438 x F36(by)S 166 xG(descriptor)S 10773 X 598 y F151(The)S 167 x(address)S 165 x(of)S 166 x(G(a)S 166 x(descriptor)S 166 x(for)S 166 x(the)S 166 x(data)S 166 x(to)ScD166 x(be)S 166 x(sent.)S 10773 25541 XY F25(iosb)S 10773 X 697 y F34C(VMS)S 167 x(Usage:)S 299 x F36(io_status_block)S 10773 X 598 y F34eC(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X%F598 y F34(access:)S 13896 X F36(write)S 165 x(only)S 10773 X 598 y F34G(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 597 y F151(I/O)SYC166 x(status)S 165 x(block)S 167 x(to)S 165 x(receive)S 167 x(the)S(D167 x(status)S 165 x(for)S 166 x(this)S 166 x(call.)S 10773 29725 XYIF25(astadr)S 10773 X 698 y F34(VMS)S 167 x(Usage:)S 299 x F36(procedure)S(D10773 X 597 y F34(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 xE(ned\))S 10773 X 598 y F34(access:)S 13896 X F36(call)S 10773 X 598 ySDF34(mechanism:)S 438 x F36(by)S 166 x(reference)S 10773 X 598 y F151G(Address)S 165 x(of)S 166 x(an)S 166 x(AST)S 166 x(routine)S 167 x(to)SlC166 x(be)S 166 x(invoked)S 167 x(on)S 167 x(completion)S 166 x(of)S0C166 x(this)S 165 x(operation.)S 10773 33909 XY F25(astprm)S 10773 X3E698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F349C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X4N597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 26403 36925 XY(RTN\20355)SEP PP( %%PageTrailere%%%PageFonts: Helvetica-Bold Helvetica +%%+ Helvetica-Oblique Helvetica-BoldOblique(%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)i%d%%Page: (RTN-56) 66(%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)e PaperHeight PaperWidth PM 0 0 XYG0 SC 5094 1807 XY F24(NETLIB_WRITELINE)S 10773 4857 XY F34(mechanism:)S7F438 x F36(by)S 166 x(value)S 10773 X 598 y F151(Parameter)S 166 x(to)SM166 x(be)S 166 x(passed)S 165 x(to)S 166 x(the)S 167 x(AST)S 165 x(routine.)S3F5094 6650 XY 23160 204 R 5094 7469 XY F24(DESCRIPTION)S 10773 X -156 yGF151(This)S 164 x(routine)S 164 x(functions)S 164 x(identically)S 163 xXF(to)S 164 x(NETLIB_WRI)S -2 x(TE,)S 164 x(but)S 164 x(adds)S 162 x(a)SG164 x(carriage-)S 10773 X 598 y(return/)S 171 x(linefeed)S 171 x(pair)S1G169 x(to)S 170 x(the)S 170 x(data)S 170 x(sent)S 170 x(to)S 169 x(the)S(E171 x(remote)S 170 x(system.)S 256 x(It)S 170 x(is)S 169 x(intended)SYC10773 X 598 y(for)S 167 x(TCP-based)S 167 x(programs)S 167 x(that)SFE166 x(use)S 167 x(a)S 167 x(protocol)S 167 x(which)S 167 x(delimits)S\C166 x(commands)S 167 x(and)S 10773 X 597 y(responses)S 166 x(with)S1-165 x(CR/LFs.)S 5094 36925 XY F36(RTN\20356)S8EP PPb %%PageTrailere%DEC_EDMS_Folio: PART1-56S%%%PageFonts: Helvetica-Bold Helvetica(%%+ NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK)1%x%%Page: (A-1) 67%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)s PaperHeight PaperWidth PM 0 0 XYK0 SC 2404 5875 XY F12(A)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(Status)SsF165 x(Codes)S 31 x 8652 Y F151(NETLIB)S 176 x(translates)S 177 x(all)SD176 x(TCP/IP)S 178 x(status)S 176 x(codes)S 176 x(into)S 177 x(the)SH177 x(codes)S 177 x(used)S 177 x(by)S 177 x(DEC)S 10773 X 598 y(TCP/IP)SF193 x(Services.)S 301 x(The)S 193 x(status)S 191 x(codes)S 191 x(are)SD192 x(described)S 192 x(in)S 192 x(T)S -30 x(able)S 191 x(A)S(\203)SC(1.)S 301 x(For)S 10773 X 597 y(synchron)S 2 x(ous)S 180 x:  NETLIB020.D/ A [NETLIB]NETLIB_DOC.PS;4Z(NETLIB)S1G180 x(calls,)S 184 x(these)S 180 x(codes)S 180 x(are)S 181 x(returned)S4G181 x(in)S 181 x(R0)S 180 x(and)S 180 x(also)S 180 x(in)S 10773 X 598 yiK(the)S 179 x(IOSB,)S 179 x(if)S 179 x(one)S 180 x(is)S 178 x(speci\211ed;)SuH187 x(for)S 179 x(asynchron)S 2 x(ous)S 179 x(calls,)S 182 x(you)S 180 xH(should)S 180 x(always)S 10773 X 598 y(specify)S 166 x(an)S 167 x(IOSB)SF164 x(to)S 166 x(receive)S 167 x(the)S 166 x(status)S 166 x(of)S 166 xC(the)S 166 x(network)S 166 x(I/O)S 166 x(operation.)S 10773 X 896 y(F(Some)S 169 x(NETLIB)S 168 x(routines)S 170 x(may)S 169 x(also)S 169 xG(return)S 169 x(status)S 169 x(codes)S 168 x(from)S 169 x(other)S 170 x(G(facilities,)S 10773 X 598 y(such)S 167 x(as)S 165 x(the)S 166 x(LIB$)S)I166 x(and)S 166 x(STR$)S 166 x(routines)S 166 x(when)S 167 x(processing)SSE166 x(strings.)S 10773 13783 XY F36(T)S -36 x(able)S 166 x(A)S(\203)S1I(1)S 498 x(NETLIB)S 167 x(Status)S 166 x(Codes)S 10773 X 398 y 17484 48 R6H10773 14679 XY F40(Symbolic)S 149 x(Name)S 17349 X(Description)S 10773 XK299 y 17484 48 R 10773 15576 XY F38(SS$_ABOR)S -8 x(T)S 17349 X(Catch-all)SaF149 x(code)S 150 x(for)S 150 x(errors)S 151 x(not)S 149 x(covere)S 2 xE(d)S 149 x(by)S 150 x(other)S 150 x(codes.)S 10773 X 747 y(SS$_INSF)SnG-25 x(ARG)S 17349 X(Not)S 149 x(enough)S 151 x(argumen)S 2 x(ts)S 149 x7D(speci\211ed)S 150 x(on)S 150 x(NETLIB)S 149 x(call.)S 10773 X 747 yL(SS$_BADP)S -33 x(ARAM)S 17349 X(Invalid)S 155 x(value)S 156 x(speci\211ed)SC157 x(for)S 156 x(an)S 156 x(argume)S 2 x(nt)S 155 x(to)S 156 x(a)S D156 x(NETLIB)S 17349 X 548 y(call.)S 223 x(This)S 149 x(code)S 149 xF(can)S 150 x(also)S 149 x(be)S 150 x(returned)S 150 x(by)S 149 x(the)SG149 x(unde)S 2 x(rlying)S 17349 X 548 y(TCP/I)S -2 x(P)S 153 x(driver)SdF153 x(when)S 153 x(an)S 153 x(invalid)S 152 x(value)S 152 x(is)S 152 xH(speci\211ed)S 154 x(for)S 152 x(a)S 17349 X 548 y(network)S 149 x(I/O)SM149 x(operation.)S 10773 X 747 y(SS$_NOSUCHNOD)S -2 x(E)S 17349 X(Destinati)SxN-2 x(on)S 150 x(addr)S 2 x(ess)S 150 x(required.)S 10773 X 747 y(SS$_INSFMEM)SO17349 X(Memory)S 151 x(allocation)S 149 x(failure.)S 10773 X 748 y(SS$_NOPRIV)S(D17349 X(Insuf)S -9 x(\211cient)S 150 x(privilege)S 149 x(for)S 150 xL(requested)S 151 x(operation.)S 10773 X 747 y(SS$_ACCVIO)S 17349 X(Invalid)SQ149 x(memory)S 151 x(address)S 151 x(speci\211ed.)S 10773 X 747 y(SS$_FILALRACC)S)R17349 X(Socket)S 149 x(already)S 151 x(connected.)S 10773 X 747 y(SS$_LINKDISCON)SH17349 X(Network)S 149 x(link)S 149 x(has)S 150 x(been)S 150 x(disconne)SC2 x(cted.)S 10773 X 747 y(SS$_T)S -7 x(OOMUCHD)S -2 x(A)S -33 x(T)SPF-33 x(A)S 17349 X(Result)S 148 x(too)S 150 x(large)S 150 x(for)S 150 xH(user)S 17 x(')S -8 x(s)S 149 x(buf)S -8 x(fer)S -24 x(.)S 10773 X 748 yD(SS$_SUSPENDED)S 17349 X(I/O)S 148 x(operation)S 150 x(would)S 150 xK(block.)S 10773 X 747 y(SS$_NOTNETDEV)S 17349 X(Network)S 149 x(operation)SaE150 x(reque)S 2 x(sted)S 149 x(for)S 150 x(non-ne)S 2 x(twork)S 149 xSH(device.)S 10773 X 747 y(SS$_PROT)S -8 x(OCOL)S 17349 X(Protocol)S 156 xE(type)S 156 x(or)S 157 x(option)S 156 x(incorrect.)S 238 x(Protocol)S(L157 x(or)S 156 x(socket)S 17349 X 548 y(type)S 149 x(not)S 150 x(supported)SC2 x(.)S 223 x(Other)S 150 x(genera)S 2 x(l)S 149 x(protocol)S 150 x2E(failure.)S 10773 X 747 y(SS$_ILLCNTRFUNC)S 17349 X(Operation)S 149 xsH(not)S 150 x(suppor)S 2 x(ted)S 149 x(on)S 150 x(socket.)S 10773 X 747 yF(SS$_DUPLNAM)S 17349 X(Address/port)S 150 x(already)S 151 x(in)S 149 xC(use.)S 10773 X 748 y(SS$_IV)S -33 x(ADDR)S 17349 X(Invalid)S 149 xxC(address.)S 10773 X 747 y(SS$_UNREACHABLE)S 17349 X(Network)S 149 xrH(or)S 150 x(host)S 150 x(unreacha)S 2 x(ble.)S 10773 X 747 y(SS$_RESET)SC17349 X(Network)S 149 x(connection)S 150 x(has)S 151 x(been)S 150 xaD(reset.)S 10773 X 747 y(SS$_LINKABOR)S -8 x(T)S 17349 X(Connection)SD150 x(aborted)S 150 x(by)S 150 x(network)S 150 x(software.)S 10773 XF747 y(SS$_CONNECF)S -25 x(AIL)S 17349 X(Connection)S 150 x(fail)S -2 xI(ure,)S 150 x(or)S 150 x(reset)S 150 x(by)S 150 x(peer)S 151 x(process.)S C10773 X 748 y(SS$_NOLINKS)S 17349 X(Socket)S 149 x(is)S 150 x(not)SoD149 x(connec)S 2 x(ted.)S 10773 X 747 y(SS$_SHUT)S 17349 X(Socket,)SE169 x(host,)S 169 x(or)S 165 x(network)S 166 x(software)S 166 x(has)SeK165 x(been)S 167 x(shut)S 17349 X 548 y(down.)S 10773 X 747 y(SS$_TIMEOUT)SrJ17349 X(Operation)S 149 x(timed)S 150 x(out.)S 27344 36925 XY F36(A\2031)SEP PPu %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica7%%PageProcessColors:%%PageCustomColors: (BLACK)S%7%%Page: (A-2) 68%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)F PaperHeight PaperWidth PM 0 0 XYH0 SC 5094 1807 XY F28(Status)S 167 x(Codes)S 10773 5094 XY F36(T)S -36 xC(able)S 166 x(A)S(\203)S(1)S 166 x(\(Cont.\))S 499 x(NETLIB)S 166 x6M(Status)S 167 x(Codes)S 10773 X 399 y 17484 48 R 10773 5991 XY F40(Symbolic)S2I149 x(Name)S 17349 X(Description)S 10773 X 299 y 17484 48 R 10773 7037 XYaDF38(SS$_REJECT)S 17349 X(Connection)S 150 x(refused.)S 10773 X 399 y%17484 48 R 5094 36925 XY F36(A\2032)S3EP PPs %%PageTrailer(%%%PageFonts: Helvetica-Bold Helvetica%%PageProcessColors:%%PageCustomColors: (BLACK)3%5 %%Trailer/ %%Pages: 68t%%BoundingBox: 0 0 612 792,%%DocumentFonts: NewCenturySchlbk-BoldItalic1%%+ NewCenturySchlbk-Bold NewCenturySchlbk-Italic21%%+ NewCenturySchlbk-Roman Courier Helvetica-Bolda5%%+ Helvetica Helvetica-BoldOblique Helvetica-Oblique 2%%DocumentNeededFonts: NewCenturySchlbk-BoldItalic1%%+ NewCenturySchlbk-Bold NewCenturySchlbk-Italic71%%+ NewCenturySchlbk-Roman Courier Helvetica-Bolde5%%+ Helvetica Helvetica-BoldOblique Helvetica-Oblique %%DocumentProcessColors:%%DocumentCustomColors: (BLACK)1*%%CMYKCustomColor: 0.0 0.0 0.0 1.0 (BLACK)%6DVC$PSJob restoresend %DEC_DVC$dict)end %Color5044Dict%t%%EOF03 X3E698 y F34(VMS)S 167 x(Usage:)S 299 x F36(user_arg)S 10773 X 598 y F349C(type:)S 13896 X F36(longword)S 167 x(\(unsig)S 2 x(ned\))S 10773 X4N597 y F34(access:)S 13896 X F36(read)S 166 x(only)S 26403 36925 XY(RTN\20355)SEP PP( %%Pa;  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?s*[NETLIB]NETLIB_DOC.TXT;2+,f./ @ 4L ?-A 0123KPWO56Wkʘ7nʘ8Ѡ89G @HJ # NETLIB Programmer's Guide November, 1994: This manual contains information about NETLIB, a@ library for TCP/IP network programming on VMS systems.= Revision/Update Information: This is a new manual.> Operating System and Version: VAX/VMS V5.2 or later;A OpenVMS AXP V1.0 or later3 Software Version: NETLIB V2.0 Matthew Madison MadGoat Software  " ________________________ 01 November 1994= Permission is granted to copy and redistribute this* document for no commercial gain.? The information in this document is subject to change9 without notice and should not be construed as a9 commitment by the author. The author assumes no? responsibility for any errors that may appear in this document.< DISCLAIMER: The author, the author's employer, and@ MadGoat Software make no representations or warranties> with respect to the contents hereof and specifically? disclaim any implied warranties of merchantability or- fitness for any particular purpose.; AXP, DEC, VAX, VMS, and OpenVMS are trademarks of( Digital Equipment Corporation.? UNIX is a trademark of Unix System Laboratories, Inc.. MultiNet is a trademark of TGV, Inc.4 TCPware is a trademark of Process Software Corporation.> PathWay is a trademark of The Wollongong Group, Inc. __________@ Copyright 1994 MadGoat Software. All Rights Reserved.  A _______________________________________________________ ContentsA _________________________________________________A PREFACE vA _______________________________________________________A CHAPTER 1 USING NETLIB 1-1A _________________________________________________A 1.1 OVERVIEW 1-1A 1.1.1 NETLIB Services _______________ 1-2A _________________________________________________A 1.2 HEADER FILES 1-2A _________________________________________________A 1.3 NETLIB DATA STRUCTURES 1-3A 1.3.1 INADDRDEF Structure ___________ 1-3A 1.3.2 SINDEF Structure ______________ 1-3A 1.3.3 MXRRDEF Structure _____________ 1-4A 1.3.4 NETLIB_DNS_HEADER Structure ___ 1-4A _________________________________________________A 1.4 BYTE-ORDER CONSIDERATIONS 1-4A _________________________________________________2 1.5 SYNCHRONOUS VS. ASYNCHRONOUSA OPERATION 1-5A _________________________________________________A 1.6 I/O STATUS BLOCK 1-5A _________________________________________________A 1.7 LINKING NETLIB PROGRAMS 1-5A iii   ContentsA _________________________________________________A 1.8 CONTACTING THE AUTHOR 1-5A _______________________________________________________& Part I ROUTINE DESCRIPTIONS: NETLIB_ACCEPT RTN-3: NETLIB_ADDRESS_TO_NAME RTN-6: NETLIB_ADDRTOSTR RTN-10: NETLIB_BIND RTN-12: NETLIB_CLOSE RTN-14: NETLIB_CONNECT RTN-15: NETLIB_CONNECT_BY_NAME RTN-17: NETLIB_DNS_EXPANDNAME RTN-20: NETLIB_DNS_MX_LOOKUP RTN-23: NETLIB_DNS_QUERY RTN-26: NETLIB_DNS_SKIPNAME RTN-30: NETLIB_GETPEERNAME RTN-32: NETLIB_GETSOCKNAME RTN-35: NETLIB_GETSOCKOPT RTN-38: NETLIB_HTON_LONG RTN-41: NETLIB_HTON_WORD RTN-42: NETLIB_LISTEN RTN-43: NETLIB_NAME_TO_ADDRESS RTN-45: NETLIB_NTOH_LONG RTN-49: NETLIB_NTOH_WORD RTN-50: NETLIB_READ RTN-51: NETLIB_READLINE RTN-54: NETLIB_SERVER_SETUP RTN-57: NETLIB_SETSOCKOPT RTN-59: NETLIB_SHUTDOWN RTN-63: NETLIB_SOCKET RTN-66: NETLIB_STRTOADDR RTN-68: NETLIB_WRITE RTN-70: NETLIB_WRITELINE RTN-73 iv  A ContentsA _______________________________________________________A APPENDIX A STATUS CODES A-1A _______________________________________________________ TABLES3 RTN-1 Domain Name Service queryA types _________________________ RTN-27) RTN-2 Flag values forA NETLIB_DNS_QUERY ______________ RTN-28A RTN-3 Socket options ________________ RTN-60A RTN-4 Shutdown types ________________ RTN-64A RTN-5 Socket types __________________ RTN-67A A-1 NETLIB Status Codes ___________ A-1A v  A _______________________________________________________ Preface= There are several TCP/IP packages available for VMS> systems today. Each provides a VMS-style programming< interface, using the $QIO system service, and most< also provide a "socket" programming library, based= on the communications model developed for BSD UNIX.> Unfortunately, there is no standard among all of the; pack<  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?ages for the $QIO-based programming interface< (most, but not all, emulate Digital's, at least to@ some degree), and the $QIO-based interface is not very easy to use.; The socket libraries provided with these packages6 provide a somewhat easier-to-use programming< interface, but don't permit VMS-style asynchronous< programming (using ASTs), and generally require at> least a re-LINK, and sometimes source modifications,;  when moving from one vendor's library to another.< NETLIB was originally developed to support MadGoat9 Software's Message Exchange mail package, which; needed to support many TCP/IP packages doing VMS-; style asynchronous programming. NETLIB provides a: consistent, VMS-style interface for TCP/IP-based? network programs, operating with all of the currently; available TCP/IP packages available today for VMS@ (with one minor exception). In addition, NETLIB allows< for flexibility in the use of a TCP/IP package, by= selecting the vendor-dependent library code at run-& time, rather than link-time.L __________________________________________________________________ Intended Audience9 This manual is intended for programmers writing' applications that use NETLIB.A v   PrefaceL __________________________________________________________________ Document Structure< This document consists of an introductory chapter,; a section containing routine descriptions, and an: appendix describing the status codes returned by NETLIB routines.L __________________________________________________________________ Related Documents@ The NETLIB Installation Guide describes how to install NETLIB. vi  A _______________________________________________________ 1 Using NETLIB7 This chapter discusses the NETLIB programming interface.L __________________________________________________________________ 1.1 Overview= NETLIB provides a single programming interface that< can be used with almost any TCP/IP package for VMS@ systems. While every package provides a $QIO interface@ and most also provide a socket library, the advantages& to using NETLIB instead are:= o NETLIB allows VMS-style asynchronous programming8 (using ASTs) without having to use the $QIO? interface directly. The $QIO programming interface* varies from vendor to vendor.< o NETLIB selects its vendor-specific support code? at run-time, allowing you to switch between TCP/IP> packages without re-linking your program. You canA even have the same application, installed just once,@ run over different TCP/IP packages at the same time7 on different nodes in a VMScluster system.> o NETLIB provides a VMS common language environment= style of programming interface, making it easier@ to use from other languages than a UNIX-type socket/ library written for C programmers.A 1-1   Using NETLIB% ___________________________ 1.1.1 NETLIB Services; NETLIB provides services for writing TCP/IP-based; network programs, both client and server. Servers? can either be standalone, AST-driven programs, or can= be single-threaded server processes "forked" by the< "master server" provided with each TCP/IP package.? NETLIB services can be grouped into four basic areas:< o Connection services. These routines provide the= services necessary for performing TCP/IP network I/O.? o Line-mode services. These routines provide a line-A oriented network reads and writes, for line-oriented) protocols that run over TCP.? o DNS resolver services. These routines provide hostA name and address lookup services. A direct DNS query& routine is also provided.; o Utility routines. These are routines for doing; byte-order conversions, IP address parsing and: formatting, and other miscellaneous services.L __________________________________________________________________ 1.2 Header files; NETLIB includes header files for both C and BLISS< programming, called NETLIBDEF.H and NETLIBDEF.R32,> respectively. The header files reside in the NETLIB_: DIR: directory. These files define constants and< structures that are used by the NETLIB programming interface. 1-2  A Using NETLIBL __________________________________________________________________ 1.3 NETLIB Data Structures@ NETLIB uses several data structures in its programming= interface. Some of these data structures (INADDRDEF; and SINDEF) are common to all BSD socket-oriented< programming libraries, one (MXRRDEF) is special to? NETLIB. The header files provided with NETLIB defines7 these structures for BLISS and C programmers.% ___________________________ 1.3.1 INADDRDEF Structure; The INADDRDEF structure is used for passing an IP: address. The contents is (currently) a longword,9 in network byte order (see Section 1.4 for more4 information). Its definition is (in C) is:1 struct INADDRDEF {< unsigned long inaddr_l_addr; }% ___________________________ 1.3.2 SINDEF Structure? The SINDEF structure defines an IP "socket," which is> a combination of an IP address and a TCP or UDP port$ number. Its definition is:. struct SINDEF {< unsigned short sin_w_family;: unsigned short sin_w_port;? struct INADDRDEF sin_x_addr;> unsigned char sin_x_mbz[8]; }@ The sin_w_family field should always be set to NETLIB_@ K_AF_INET (value 2). The sin_w_mbz field should always be zeroed.5 This is a specific form of the more general> SOCKADDRDEF structure for use with IP-based sockets.A 1-3   Using NETLIB@ NETLIB currently only supports IP network programming,9 so other types of addresses should not be used.% ___________________________ 1.3.3 MXRRDEF Structure= The MXRRDEF structure is used to return MX resource? record information in a call t=  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?8 o NETLIB_DNS_MX_LOOKUP:/ struct MXRRDEF {B unsigned int mxrr_l_preference;> unsigned int mxrr_l_length;A char mxrr_t_name[128]; }, This structure is NETLIB-specific.% ___________________________% 1.3.4 NETLIB_DNS_HEADER Structure: A domain name server accepts queries and returns9 replies prefixed with with a standard header. A> definition of this header is provided in the NETLIB_= DNS_HEADER structure. Refer to the NETLIBDEF header> file and the appropriate DNS RFCs (such as RFC 1035)< for more information about this header. Only those> programs which use the NETLIB_DNS_QUERY routine will& need this header definition.L __________________________________________________________________# 1.4 Byte-Order Considerations< In NETLIB routines, addresses and port numbers are> expected to be in "network order;" that is, with the= high-order byte first. This is opposite the natural? byte-order for VAX and AXP systems running VMS, which: places the low-order byte first. NETLIB provides= routines that can be used to reverse byte order for+ use in the calls which expect it. 1-4  A Using NETLIBL __________________________________________________________________0 1.5 Synchronous vs. Asynchronous Operation< Most NETLIB routines can be executed synchronously@ (where the routine uses $QIOW) or asynchronously ($QIO= is used instead of $QIOW). To have a routine calledM< asynchronously, specify a non-zero astadr argument: (and, optionally, the astprm argument, to have a/ parameter passed to the AST routine).oL __________________________________________________________________ 1.6 I/O Status Block< Most NETLIB routines include an optional parameter@ for a VMS-style I/O status block (IOSB), which is used> to return status information to the calling program.> The first word of the IOSB is the NETLIB status code; for the call; the second word, for read and writea= operations, is the number of bytes transferred. Thep< second longword of the IOSB is not used by NETLIB.L __________________________________________________________________! 1.7 Linking NETLIB Programsh7 To link your program with NETLIB, include the 0 following line in a LINK options file:2 NETLIB_SHRXFR/SHARE> Referencing this logical name will link your program= against NETLIB's transfer vector, which at run-timer? will activate the ap$propriate vendor-specific versioni@ of NETLIB (pointed to by the NETLIB_SHR logical name).L __________________________________________________________________ 1.8 Contacting the Author < There is no formal support for NETLIB. If you have9 Internet connectivity, however, you may wish to_; subscribe to one or more of the following MadGoat ! Software mailing lists:_( Info-MadGoat@wkuvx1.wku.eduA 1-5   Using NETLIB= Discussion of MadGoat Software products by users A and MadGoat developers. To subscribe, send a message_< to Info-MadGoat-Request@wkuvx1.wku.edu with the@ word SUBSCRIBE in the first line of the body of the message._, MadGoat-Announce@wkuvx1.wku.edu; Announcements of new releases and new productsE: from MadGoat. To subscribe, send a message to= MadGoat-Announce-Request@wkuvx1.wku.edu with the @ word SUBSCRIBE in the first line of the body of the message.D( MadGoat-Bugs@wkuvx1.wku.edu; Address for reporting bugs in MadGoat Software= products. Please include the name of the package > and version in the subject header of the message,= so the report can be more easily directed to the_# appropriate developer.. 1-6   A _______________________________________________________R& Part I Routine Descriptions> This part describes the each of the NETLIB routines. _ _A NETLIB_ACCEPT A ________________________________________________________5 NETLIB_ACCEPT-Accept an incoming connectionI8 NETLIB_ACCEPT waits for an incoming connection; and accepts it, creating a new socket for the new connection.A ________________________________________________________ FORMAT5 NETLIB_ACCEPT socket ,newsocket [,remaddr]? [,remaddr-size] [,remaddr-len] [,iosb], [,astadr] [,astprm]A _______________________________________________________  RETURNSA VMS Usage: cond_value ( type: longword (unsigned) access: write onlyN mechanism: by value2A _______________________________________________________  ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceB4 Socket that was established as a listener. newsocket & VMS Usage: longword_unsigned( type: longword (unsigned) access: write only ! mechanism: by reference 9 Socket for the accepted connection (created and $ returned by this routine).A RTN-3    NETLIB_ACCEPT  remaddr  VMS Usage: structure( type: longword (unsigned) access: write only! mechanism: by reference > Address of a socket_address structure into which the@ remote address/port information for the new connection is written.  remaddr-size& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference ( Size of the remaddr structure. remaddr-len & VMS Usage: longword_unsigned( type: longword (unsigned) access: write only ! mechanism: by reference ? Longword into which the actual returned lenght of the-$ socket address is written. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only_! mechanism: by referenceT? I/O status block to receive the status for this call._ astadr VMS Usage: procedure( type: longword (unsigned) access: call! mechanism: by reference_? Addres>  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?-s of an AST routine to be invoked on completionv of this operation. RTN-4Q Y _A NETLIB_ACCEPT_ astprm VMS Usage: user_args( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________  DESCRIPTION : This routine is used as part of a "passive" open> sequence, typically by servers that bind a socket to> a specific port number, then establish a listener to? handle the incoming connections. This call is used tor> accept an incoming connection, creating a new socket< for the new connection. The listener socket is not> affected by this call, so you can call NETLIB_ACCEPT> again to wait for another incoming connection on the/ same port after one accept completes.a< If you want to know the address and port number of< the remote end of the accepted connection, you can? either use the remaddr, remaddr-size, and remaddr-lent< arguments on this call, or follow this call with a% call to NETLIB_GETPEERNAME. A RTN-5n e a NETLIB_ADDRESS_TO_NAMEA _______________________________________________________o< NETLIB_ADDRESS_TO_NAME-Get the host name for an IP( address9 NETLIB_ADDRESS_TO_NAME performs an inverse hostt8 lookup, returning a name associated with an IP address.A _______________________________________________________  FORMAT; NETLIB_ADDRESS_TO_NAME socket, [which], address,> addrsize, hostname [,retlen]= [,iosb] [,astadr] [,astprm] A _______________________________________________________e RETURNSp VMS Usage: cond_value ( type: longword (unsigned) access: write only_ mechanism: by value_A _______________________________________________________t ARGUMENTSr socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference > The socket about which you wish to obtain the option information. which & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference  RTN-6e y A NETLIB_ADDRESS_TO_NAME_? A code indicating the type of lookup to be performed. < Possible values are NETLIB_K_LOOKUP_DNS (1), which> requests that the name be looked up using the Domain@ Name System, and NETLIB_K_LOOKUP_HOST_TABLE (2), which? requests that the name be looked up in the local hostL< table. If omitted, the default is NETLIB_K_LOOKUP_= DNS. See the Description section for information on_< package-specific restrictions with this parameter. addressB VMS Usage: structure( type: longword (unsigned) access: read only! mechanism: by referencec= An INADDRDEF structure containing the address to be  looked up. addrsize& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceO7 The size of the address passed in the addressn parameter. hostname VMS Usage: char_string% type: character string  access: write onlyy" mechanism: by descriptor< A buffer into which the returned host name will be written. retlen" VMS Usage: word_unsigned$ type: word (unsigned) access: write onlyf! mechanism: by reference9 The returned length of the host name, in bytes.rA RTN-7  NETLIB_ADDRESS_TO_NAME iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only ! mechanism: by reference ? I/O status block to receive the status for this call.1 astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by reference ? Address of an AST routine to be invoked on completions of this operation. astprm VMS Usage: user_argd( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________  DESCRIPTION @ This routine performs an address-to-name lookup on the> specified IP address. Each TCP/IP package implements? this function slightly differently, so there are some 2 restrictions on the use of this routine.@ For MultiNet, TCPware, and Pathway, the which argument> is used to determine whether the lookup should occur: using NETLIB's DNS resolver support or using the: TCP/IP package's host-table access routines. For@ these packages, the host-table access method cannot be? used at AST level. Also, if a DNS lookup is attemptedl; and the system is not configured for DNS, an SS$_L- UNSUPPORTED error will be returned.  RTN-8  A NETLIB_ADDRESS_TO_NAMEd@ For UCX and CMU TCP/IP, the which argument is ignored,@ since these packages do not provide separate access to? DNS and local host tables. For UCX, host table lookup > will occur first, followed by a DNS lookup. For CMU,! this order is reversed._A RTN-9  t e NETLIB_ADDRTOSTRA _______________________________________________________m; NETLIB_ADDRTOSTR-Format an IP address to a stringh> NETLIB_ADDRTOSTR is a utility routine for formatting. an IP address as a character string.A _______________________________________________________  FORMAT5 NETLIB_ADDRTOSTR address, string [,retlen].A _______________________________________________________r RETURNSf VMS Usage: cond_value ( type: longword (unsigned) access: write onlyR mechanism: by value A _______________________________________________________} ARGUMENTS_ address( VMS Usage: INADDRDEF structure( type: longword (unsigned) access: read only! mechanism: by referenceD= An INADDRDEF structure containing the address ?  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?`<to be  formatted. string VMS Usage: char_string% type: character string  access: write only;" mechanism: by descriptor3 The string to hold the formatted address.  RTN-10 h sA NETLIB_ADDRTOSTRa retlen" VMS Usage: word_unsigned$ type: word (unsigned) access: write only ! mechanism: by referencee5 The number of characters written to string. A _______________________________________________________  DESCRIPTION? This is a utility routine which formats an IP addresse9 to a character string, using the dotted-decimalh format.eA RTN-11E t t NETLIB_BINDsA _______________________________________________________ 6 NETLIB_BIND-Bind a socket to an address/port? NETLIB_BIND sets the address and/or port number for a  socket. A _______________________________________________________c FORMAT; NETLIB_BIND socket, socket-address, sockaddr-lens2 [,iosb] [,astadr] [,astprm]A _______________________________________________________  RETURNSr VMS Usage: cond_value ( type: longword (unsigned) access: write onlyn mechanism: by valuetA _______________________________________________________a ARGUMENTSd socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencel Socket to be bound.f socket-address VMS Usage: structure( type: longword (unsigned) access: read only! mechanism: by reference > Socket_address structure describing the addreses and2 port to which the socket is to be bound. RTN-12  uA NETLIB_BIND sockaddr-len& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference/ Size of the socket address structure.  iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyc! mechanism: by reference? I/O status block to receive the status for this call.  astadr VMS Usage: procedure( type: longword (unsigned) access: calle! mechanism: by referencef? Address of an AST routine to be invoked on completionp of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________ DESCRIPTIONs> This routine is used primarily by server programs to> bind a socket to a particular port, and is typically? followed by a call to NETLIB_LISTEN to open a passiven" connection on that port.= If a program does not bind a socket to a particular ? local address/port combination, the underlying TCP/IP_> software will automatically assign an address and/or port.tA RTN-13l   NETLIB_CLOSEA _______________________________________________________r* NETLIB_CLOSE-Close down a socket' NETLIB_CLOSE closes a socket.aA _______________________________________________________  FORMAT NETLIB_CLOSE socketA ________________________________________________________ RETURNSi VMS Usage: cond_value ( type: longword (unsigned) access: write onlyt mechanism: by value A _______________________________________________________  ARGUMENTS_ socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference  Socket to be closed.A _______________________________________________________r DESCRIPTION @ This routine deletes the specified socket, closing the> associated network communications channel, if one is> open. Once closed, the socket can no longer be used;> you must open a new one with the NETLIB_SOCKET call. RTN-14 . A NETLIB_CONNECTvA _______________________________________________________dB NETLIB_CONNECT-Connect a socket to a remote address/port6 NETLIB_CONNECT connects a socket to a remote address/port.pA _______________________________________________________r FORMAT> NETLIB_CONNECT socket, socket-address, sockaddr-len5 [,iosb] [,astadr] [,astprm].A _______________________________________________________ RETURNS  VMS Usage: cond_value_( type: longword (unsigned) access: write only  mechanism: by valueoA _______________________________________________________  ARGUMENTSB socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceP! Socket to be connected. socket-address VMS Usage: structure( type: longword (unsigned) access: read only! mechanism: by referenceM> Socket_address structure describing the addreses and6 port to which the socket is to be connected.A RTN-15  _ _ NETLIB_CONNECT sockaddr-len& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference/ Size of the socket address structure._ iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyu! mechanism: by reference ? I/O status block to receive the status for this call.a astadr VMS Usage: procedure( type: longword (unsigned) access: callr! mechanism: by referencew? Address of an AST routine to be invoked on completionf of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value4 Parameter to be passed to the AST routine.A _______________________________________________________  DESCRIPTIONe@ This routine is used primarily with TCP-based programs< @  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?P- K to establish a connection to a remote system. When@ used with UDP, this routine fixes the address to which0 subsequent UDP datagrams will be sent. RTN-16 l wA NETLIB_CONNECT_BY_NAME A _______________________________________________________ @ NETLIB_CONNECT_BY_NAME-Establish a TCP connection to a- host by namel= NETLIB_CONNECT_BY_NAME establishes a TCP connectionh= to a host using the host's name, rather than its IPs address.A _______________________________________________________  FORMAT@ NETLIB_CONNECT_BY_NAME socket, hostname, port [,iosb]5 [,astadr] [,astprm]rA _______________________________________________________  RETURNSn VMS Usage: cond_values( type: longword (unsigned) access: write only  mechanism: by valuetA _______________________________________________________  ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencea< A STREAM-type socket allocated with NETLIB_SOCKET. hostname VMS Usage: char_string% type: character string_ access: read only" mechanism: by descriptor@ A character string containing either a host name or an. IP address in dotted-decimal format.A RTN-17n i . NETLIB_CONNECT_BY_NAME port" VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by referenceC: The port number to connect to on the destination? host. Unlike the SIN_W_PORT field of a SINDEF (socket > address) structure, this number is specified in host? order, not network order. NETLIB_CONNECT_BY_NAME will @ automatically convert the port number to network order for you. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only ! mechanism: by referencee? I/O status block to receive the status for this call._ astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by references? Address of an AST routine to be invoked on completion  of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by valueE4 Parameter to be passed to the AST routine. RTN-18 i A Q NETLIB_CONNECT_BY_NAMErA ________________________________________________________ DESCRIPTIONN= This routine converts the specified name or dotted-w; decimal address to an IP address and uses NETLIB_e< CONNECT to connect to the specified host and port.= If multiple addresses are returned by the host nameo? lookup, each address will be tried until a connection : is established or all addresses have been tried.A RTN-19  c  NETLIB_DNS_EXPANDNAMEnA _______________________________________________________? NETLIB_DNS_EXPANDNAME-Expand a name in a DNS response= NETLIB_DNS_EXPANDNAME is a utility routine used for_7 extracting a domain name from a DNS response.pA _______________________________________________________  FORMAT? NETLIB_DNS_EXPANDNAME bufstart, buflen, bufptr, namea7 [,retlen] [,skipcount] A _______________________________________________________  RETURNSe VMS Usage: cond_value ( type: longword (unsigned) access: write onlyg mechanism: by valueiA _______________________________________________________ ARGUMENTSn bufstart VMS Usage: pointer( type: longword (unsigned) access: read only mechanism: by value < A pointer to the start of the DNS response buffer. buflen" VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by references+ The size of the buffer, in bytes.  RTN-20  A NETLIB_DNS_EXPANDNAME  bufptr VMS Usage: pointer( type: longword (unsigned) access: read only mechanism: by value< A pointer to the area of the buffer containing the% domain name to be expanded.e name VMS Usage: char_string% type: character stringn access: write only " mechanism: by descriptor? A descriptor for a character string buffer into which, the exVpanded name will be written. retlen" VMS Usage: word_unsigned$ type: word (unsigned) access: write only ! mechanism: by referencet= The returned length of the expanded name, in bytes.: skipcounty" VMS Usage: word_unsigned$ type: word (unsigned) access: write onlys! mechanism: by referencen> The number of bytes in the buffer that were used for the domain name.A _______________________________________________________r DESCRIPTIONn@ This is a utility routine used when parsing a response< returned by a call to NETLIB_DNS_QUERY. It expands; a domain name stored in a DNS response out to thep8 typical, human-readable, dotted-domain format.A RTN-21o l t NETLIB_DNS_EXPANDNAME @ This routine is needed because of the way domain names= are represented in DNS responses. Refer to RFC 1035d> for further information on the format of DNS queries and responses. RTN-22 g A NETLIB_DNS_MX_LOOKUPsA _______________________________________________________f> NETLIB_DNS_MX_LOOKUP-Look up MX records for a domain# name > NETLIB_DNS_MX_LOOKUP looks up a host name, returning any MX records. A _______________________________________________________k FORMAT; NETLIB_DNS_MX_LOOKUP socket, hostname, mxrrlist,X: mxrrlist-size [,mxrrcount]; [,iosb] [,astadr] [,astprm]A _______________________________________________________  RETURNS  VMS UsagA  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?ʹ Ze: cond_value ( type: longword (unsigned) access: write only_ mechanism: by value_A _______________________________________________________o ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference 2 Any socket allocated with NETLIB_SOCKET. hostname VMS Usage: char_string% type: character string access: read only" mechanism: by descriptor( The host name to be looked up.A RTN-23_ _ _ NETLIB_DNS_MX_LOOKUP mxrrlist( VMS Usage: array of structures( type: longword (unsigned) access: write only ! mechanism: by referenceh: An array of MXRRDEF structures into which the MX" records will be written. mxrrlist-sizei& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference 7 The number of elements in the mxrrlist array.  mxrrcount& VMS Usage: longword_unsigned( type: longword (unsigned) access: write onlyg! mechanism: by reference > The actual number of MX records written to mxrrlist. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only_! mechanism: by referenceI? I/O status block to receive the status for this call.d astadr VMS Usage: procedure( type: longword (unsigned) access: call! mechanism: by reference ? Address of an AST routine to be invoked on completion  of this operation. RTN-24 _ _A NETLIB_DNS_MX_LOOKUPc astprm VMS Usage: user_arge( type: longword (unsigned) access: read only mechanism: by value_4 Parameter to be passed to the AST routine.A _______________________________________________________[ DESCRIPTION]= This routine performs a DNS lookup on the specified_= name, returning any Mail Exchanger (MX) records for that name.; For MultiNet, TCPware, and Pathway, and UCX, this ; routine is a front-end that uses NETLIB_DNS_QUERY_< to perform the DNS queries. For CMU TCP/IP, the MX3 lookups are performed using NAMRES calls. A RTN-25    NETLIB_DNS_QUERYA _______________________________________________________w. NETLIB `_DNS_QUERY-Perform a DNS query> NETLIB_DNS_QUERY formats a domain name service query5 and returns the response from a DNS server. A _______________________________________________________  FORMAT@ NETLIB_DNS_QUERY socket, name, [class], type, buffer,> bufsize [,flags] [,iosb] [,astadr]% [,astprm] A _______________________________________________________  RETURNSu VMS Usage: cond_value ( type: longword (unsigned) access: write only  mechanism: by value A _______________________________________________________v ARGUMENTSa socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference ? A socket allocated with NETLIB_SOCKET. Any socket can  be used. name VMS Usage: char_string% type: character strings access: read only" mechanism: by descriptor* The domain name to be looked up. RTN-26  _A NETLIB_DNS_QUERYC classu& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceS< The class of the query. For Internet domain names,< this should be NETLIB_K_DNS_CLASS_IN, which is the/ default if this parameter is omitted.n type& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference> The type of query. Valid type codes are specified by@ Internet RFCs on the DNS, the codes provided by NETLIB$ are listed in Table RTN-1.A Table_RTN-1__Domain_Name_Service_query_types____________A Symbolic_name___________Value_Description______________E; NETLIB_K_DNS_TYPE_A 1 Address (A) records_@ NETLIB_K_DNS_TYPE_NS 2 Name Server (NS) records> NETLIB_K_DNS_TYPE_ 5 Canonical Name (CNAME)/ CNAME recordsa@ NETLIB_K_DNS_TYPE_SOA 6 Start-of-Authority (SOA)/ records? NETLIB_K_DNS_TYPE_WKS 11 Well-knowne-server (WKS)w/ records = NETLIB_K_DNS_TYPE_PTR 12 Pointer (PTR) records@ NETLIB_K_DNS_TYPE_ 13 Host information (HINFO)/ HINFO recordse; NETLIB_K_DNS_TYPE_MX 15 Mail Exchanger (MX)d/ records : NETLIB_K_DNS_TYPE_TXT 16 Text (TXT) recordsA RTN-27   - NETLIB_DNS_QUERYA Table_RTN-1_(Cont.)__Domain_Name_Service_query_types____A Symbolic_name___________Value_Description______________BA NETLIB_K_DNS_QTYPE_ 255 Any available informationBA ALL____________________________________________________ buffer VMS Usage: varying_arg( type: longword (unsigned) access: write onlya! mechanism: by reference > A buffer into which the DNS response will be copied. bufsize_" VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by reference ' The size of buffer, in bytes.a flags_" VMS Usage: longword_mask( type: longword (unsigned) access: read only! mechanism: by reference ? A bitmask of flags specifying options for this query.@ Valid flags are listed in Table RTN-2. If omitted, the0 default value for this parameter is 1.A Table_RTN-2__Flag_values_for_NETLIB_DNS_QUERY__________ A Symbolic_name___________Value_Description______________o? NETLIB_M_DOMAIN_ 1 Perform a domain searcht> SEARCH on the default domain.? NETLIB_M_NO_RECURSION 2 Specify a non-recursive A ______________________________query.___________________s iosb B  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?i^i RTN-28  lA NETLIB_DNS_QUERY:$ VMS Usage: io_status_block( type: longword (unsigned) access: write only! mechanism: by referenceg? I/O status block to receive the status for this call.e astadr VMS Usage: procedure( type: longword (unsigned) access: calle! mechanism: by reference ? Address of an AST routine jto be invoked on completione of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________t DESCRIPTION_: This routine formats a DNS query and returns the? response from any answering name server. If the query-- fails, an error status is returned.t? For MultiNet, TCPware, and Pathway, and UCX, the name @ servers that are queried are those specified for those? packages. With MultiNet, for example, the ones listed < in the translation string for the logical name for; MULTINET_NAMESERVERS are used. For the CMU TCP/IP: package, the name servers used by NAMRES are not= available to NETLIB, so you must define the logical < name NETLIB_NAMESERVERS with the IP address(es) of? the name server(s) you want NETLIB to use. If no name < servers can be found, SS$_UNSUPPORTED is returned.A RTN-29B A  NETLIB_DNS_SKIPNAME A ________________________________________________________; NETLIB_DNS_SKIPNAME-Skip a name in a DNS responseN; NETLIB_DNS_SKIPNAME is a utility routine used forw? parsing DNS responses which skips over a domain name.nA ________________________________________________________ FORMAT- NETLIB_DNS_SKIPNAME bufptr, buflen A _______________________________________________________) RETURNS $ VMS Usage: longword_signed& type: longword (signed) access: write only mechanism: by value A _______________________________________________________  ARGUMENTSy bufptr VMS Usage: pointer( type: longword (unsigned) access: read only mechanism: by value ? A pointer to the area of the DNS response buffer that( begins the name to be skipped. buflen" VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by referencee@ A count of the number of bytes in the buffer, starting from bufptr. RTN-30  aA NETLIB_DNS_SKIPNAMEdA _______________________________________________________ DESCRIPTIONo@ This is a utility routine used when parsing a response< returned by a call to NETLIB_DNS_QUERY. It returns= a count of the number of bytes to skip allocated to > the domain name positioned in the buffer at location; bufptr. If the operation fails, -1 is returned to indicate an error.@ This routine is needed because of the way domain names= are represented in DNS responses. Refer to RFC 1035 > for further information on the format of DNS queries and responses.A RTN-31e n : NETLIB_GETPEERNAMEA _______________________________________________________ 6 NETLIB_GETPEERNAME-Get remote socket address@ NETLIB_GETSOCKNAME returns the remote address and port- information for a connected socket.sA _______________________________________________________d FORMAT5 NETLIB_GETPEERNAME socket, socket-address, < sockaddr-size, sockaddr-retlen9 [,iosb] [,astadr] [,astprm] A _______________________________________________________e RETURNS VMS Usage: cond_value( type: longword (unsigned) access: write only  mechanism: by valueA ________________________________________________________ ARGUMENTS_ socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencei= Socket for which the information is to be returned._ socket-address VMS Usage: structure( type: longword (unsigned) access: write only ! mechanism: by referencet? Socket_address structure which will hold the returned_# address/port information.E RTN-32 s :A NETLIB_GETPEERNAMEs sockaddr-sizes& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencep/ Size of the socket address structure. sockaddr-retleny& VMS Usage: longword_unsigned( type: longword (unsigned) access: write only! mechanism: by reference7 Returned actual length of the socket address.  iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only ! mechanism: by reference ? I/O status block to receive the status for this call.M astadr VMS Usage: procedure( type: longword (unsigned) access: call! mechanism: by referencet? Address of an AST routine to be invoked on completion of this operation. astprm VMS Usage: user_argr( type: longword (unsigned) access: read only mechanism: by valuer4 Parameter to be passed to the AST routine.A RTN-33s : r NETLIB_GETPEERNAMEA _______________________________________________________e DESCRIPTIONe? This routine is used to return the remote address ando> port information for a socket that is connected to a remote system. RTN-34  tA NETLIB_GETSOCKNAME_A _______________________________________________________O5 NETLIB_GETSOCKNAME-Get local socket address ? NETLIB_GETSOCKNAME returns the local address and portp# information for a socket.iA _______________________________________________________e FORMAT5 NETLIB_GETSOCKNAME socket, socket-address, < sockaddr-size, sockaddr-retlen9 C  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?x[,iosb] [,astadr] [,astprm]nA _______________________________________________________ RETURNS  VMS Usage: cond_valueq( type: longword (unsigned) access: write only mechanism: by value A _______________________________________________________  ARGUMENTSs socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: y by reference = Socket for which the information is to be returned.n socket-address VMS Usage: structure( type: longword (unsigned) access: write only ! mechanism: by referencet? Socket_address structure which will hold the returnedt# address/port information. A RTN-35_ _ _ NETLIB_GETSOCKNAME sockaddr-size & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference_/ Size of the socket address structure. sockaddr-retlen & VMS Usage: longword_unsigned( type: longword (unsigned) access: write onlyr! mechanism: by referencee7 Returned actual length of the socket address.E iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only! mechanism: by reference? I/O status block to receive the status for this call.  astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by referencer? Address of an AST routine to be invoked on completion  of this operation. astprm VMS Usage: user_argu( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine. RTN-36  eA NETLIB_GETSOCKNAMEbA _______________________________________________________  DESCRIPTIONn> This routine is used to return the local address and> port information for a socket that has been bound or connected.A RTN-37  c s NETLIB_GETSOCKOPTnA _______________________________________________________ . NETLIB_GETSOCKOPT-Get socket options> NETLIB_GETSOCKOPT gets the current state of a socket option. A _______________________________________________________o FORMAT: NETLIB_GETSOCKOPT socket, level, option, value,@ ~ valsize [,vallen] [,iosb] [,astadr]& [,astprm]A _______________________________________________________ RETURNSr VMS Usage: cond_value ( type: longword (unsigned) access: write only_ mechanism: by value_A _______________________________________________________i ARGUMENTSp socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference> The socket about which you wish to obtain the option information. level & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference 9 "Level" of the option being set. The only levelS< globally supported is NETLIB_K_LEVEL_SOCKET (value RTN-38  A NETLIB_GETSOCKOPTE= X'FFFF'). Some packages also support protocol-levele option settings. option& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference = Longword representing the option being set. Not all < packages support all options, but most support the% ones listed in Table RTN-3. > Consult your package-specific documentation on other? available options and on option value ranges. The CMU > TCP/IP package is not based on sockets, so this call; will always return success status with 0 returned 1 length on systems running that package. value VMS Usage: varying_arg( type: longword (unsigned) access: write onlyl! mechanism: by referencee> Value to set for the option. Values vary from option to option. valsizea& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference_/ Size of the value argument, in bytes.  vallen& VMS Usage: longword_unsigned( type: longword (unsigned) access: write only ! mechanism: by reference 4 Actual returned length of value, in bytes.A RTN-39_ N L NETLIB_GETSOCKOPTe iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only ! mechanism: by reference ? I/O status block to receive the status for this call.t astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by referencem? Address of an AST routine to be invoked on completionm of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________K DESCRIPTIONr> This routine provides an interface to the getsockopt< service provided by most TCP/IP packages (most are= based on the BSD socket communications model). Note? that not all options are available with all packages,= and for the CMU TCP/IP this call is a no-operation-F? it will always return a success status, with 0 as the . returned length of the option value. RTN-40  A NETLIB_HTON_LONGrA _______________________________________________________A NETLIB_HTON_LONG-Convert host-order longword to network- order@ NETLIB_HTON_LONG is a utility routine for converting a? longword in the local host's byte order to a network-i order longword. A _______________________________________________________  FORMAT! NETLIB_HTON_LONG valueyA _______________________________________________________  RETURNSe& VMS Usage: longword_unsigned(D  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?" type: longword (unsigned) access: write only: mechanism: by value A _______________________________________________________n ARGUMENTS  value & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference' The longword to be converted. A _______________________________________________________  DESCRIPTION ;  This is a utility routine which reverses the bytes; order of a longword to convert it from the nativeT= format for the local host (which is "little-endian"a? for VAX and AXP systems running VMS) to network order < (which is "big-endian"). The returned value is the! network-order longword.A RTN-41    NETLIB_HTON_WORDA _______________________________________________________ = NETLIB_HTON_WORD-Convert host-order word to network order@ NETLIB_HTON_WORD is a utility routine for converting a@ word in the local host's byte order to a network-order word.kA _______________________________________________________  FORMAT! NETLIB_HTON_WORD valuesA _______________________________________________________  RETURNSf" VMS Usage: word_unsigned$ type: word (unsigned) access: write only  mechanism: by value A _______________________________________________________  ARGUMENTS  valuee" VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by reference # The word to be converted.rA _______________________________________________________  DESCRIPTIONa; This is a utility routine which reverses the byter> order of a word to convert it from the native format> for the local host (which is "little-endian" for VAX> and AXP systems running VMS) to network order (which< is "big-endian"). The return value is the network- order word.e RTN-42  kA NETLIB_LISTENTA _______________________________________________________t7 NETLIB_LISTEN-Listen for incoming connections ? NETLIB_LISTEN sets a socket up to listen for incomingU connections.A _______________________________________________________A FORMAT< NETLIB_LISTEN socket [,backlog] [,iosb] [,astadr]" [,astprm]A _______________________________________________________  RETURNSM VMS Usage: cond_value( type: longword (u nsigned) access: write only  mechanism: by value_A _______________________________________________________S ARGUMENTSe socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencee, Socket to be set up as a listener. backlog ! VMS Usage: unsigned int_( type: longword (unsigned) access: read only! mechanism: by reference ? The number of backlogged connections to allow on this  listener.nA RTN-43u r a NETLIB_LISTEN  iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyy! mechanism: by referencee? I/O status block to receive the status for this call.g astadr VMS Usage: procedure( type: longword (unsigned) access: calld! mechanism: by reference_? Address of an AST routine to be invoked on completiono of this operation. astprm VMS Usage: user_argn( type: longword (unsigned) access: read only mechanism: by valuet4 Parameter to be passed to the AST routine.A _______________________________________________________d DESCRIPTIONa: This routine is used as part of a "passive" open> sequence, typically by servers that bind a socket to> a specific port number, then establish a listener to? handle the incoming connections. This call is usually> followed by one or more invocations of NETLIB_ACCEPT- to accept the incoming connections. RTN-44  A NETLIB_NAME_TO_ADDRESSA _______________________________________________________TB NETLIB_NAME_TO_ADDRESS-Get the IP address(es) for a host% name_@ NETLIB_NAME_TO_ADDRESS looks up a host name, returning its IP address(es).RA _______________________________________________________d FORMAT< NETLIB_NAME_TO_ADDRESS socket, [which], hostname,9 addrlist, addrlist-size_@  [,addrcount] [,iosb] [,astadr]+ [,astprm] A _______________________________________________________  RETURNS_ VMS Usage: cond_value_( type: longword (unsigned) access: write onlyr mechanism: by value A _______________________________________________________n ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference > The socket about which you wish to obtain the option information. whichl& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceEA RTN-45n r n NETLIB_NAME_TO_ADDRESS? A code indicating the type of lookup to be performed.c< Possible values are NETLIB_K_LOOKUP_DNS (1), which> requests that the name be looked up using the Domain@ Name System, and NETLIB_K_LOOKUP_HOST_TABLE (2), which? requests that the name be looked up in the local hosta< table. If omitted, the default is NETLIB_K_LOOKUP_= DNS. See the Description section for information on < package-specific restrictions with this parameter. hostname VMS Usage: char_string% type: character string  access: read only" mechanism: by descriptor( The host name to be looked up. addrlist( VMS Usage: array of structures( type: longword (unsigned) access: write only ! mechanism: by referenceu9 An array of INADDRDEF structures into which the $ addresses will be written. addrlist-size & VMS Usage: longword_unsigned(E  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?R  type: longword (unsigned) access: read only! mechanism: by referenceA7 The number of elements in the addrlist array._ addrcount& VMS Usage: longword_unsigned( type: longword (unsigned) access: write onlyf! mechanism: by reference= The actual number of addresses written to addrlist. RTN-46  A NETLIB_NAME_TO_ADDRESS  iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyt! mechanism: by reference ? I/O status block to receive the status for this call.  astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by referenceo? Address of an AST routine to be invoked on completionc of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by valuec4 Parameter to be passed to the AST routine.A _______________________________________________________  DESCRIPTION_? This routine performs a name-to-address lookup on the = specified host name. Each TCP/IP package implements ? this function slightly differently, so there are somey2 restrictions on the use of this routine.@ For MultiNet, TCPware, and Pathway, the which argument> is used to determine whether the lookup should occur: using NETLIB's DNS resolver support or using the: TCP/IP package's host-table access routines. For@ these packages, the host-table access method cannot be? used at AST level. Also, if a DNS lookup is attempted ; and the system is not configured for DNS, an SS$_- UNSUPPORTED error will be returned.sA RTN-47   c NETLIB_NAME_TO_ADDRESS@ For UCX and CMU TCP/IP, the which argument is ignored,@ since these packages do not provide separate access to? DNS and local host tables. For UCX, host table lookupe> will occur first, followed by a DNS lookup. For CMU,! this order is reversed.E RTN-48 u gA NETLIB_NTOH_LONGcA _______________________________________________________ A NETLIB_NTOH_LONG-Convert network-order longword to hostn order> NETLIB_NTOH_LONG is a utility routine for converting> a longword in the network byte order to a host-order longword. A _______________________________________________________n FORMAT! NETLIB_NTOH_LONG value A _______________________________________________________o RETURNST& VMS Usage: longword_unsigned( type: longword (unsigned) access: write only_ mechanism: by value_A _______________________________________________________d ARGUMENTSd value & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference ' The longword to be converted. A _______________________________________________________ DESCRIPTION_; This is a utility routine which reverses the byteL> order of a longword to convert it from network order; to host order. The return value is the host-order  longword._A RTN-49   L NETLIB_NTOH_WORDA _______________________________________________________d= NETLIB_NTOH_WORD-Convert network-order word to host_ order@ NETLIB_NTOH_WORD is a utility routine for converting a> word in the network byte order to a host-order word.A ________________________________________________________ FORMAT! NETLIB_NTOH_WORD value A _______________________________________________________n RETURNS " VMS Usage: word_unsigned$ type: word (unsigned) access: write onlyo mechanism: by valuetA _______________________________________________________  ARGUMENTSn value " VMS Usage: word_unsigned$ type: word (unsigned) access: read only! mechanism: by referenceT# The word to be converted.pA _______________________________________________________ DESCRIPTION ; This is a utility routine which reverses the byte = order of a word to convert it from network order to > host order. The return value is the host-order word. RTN-50  A NETLIB_READ A _______________________________________________________s5 NETLIB_READ-Receive data from remote system ? NETLIB_READ reads data sent by a remote system from a  socket.aA _______________________________________________________n FORMAT7 NETLIB_READ socket, buffer [,socket-address]s7 [,sockaddr-size] [,sockaddr-len] = [,timeout] [,iosb] [,astadr] [,astprm]eA _______________________________________________________  RETURNSu VMS Usage: cond_valuei( type: longword (unsigned) access: write onlye mechanism: by valuenA _______________________________________________________l ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencel1 Socket to which data should be written.  buffer VMS Usage: unspecified( type: longword (unsigned) access: write only 1 mechanism: by descriptor (fixed-length) = The address of a descriptor for a buffer to receive  the data.eA RTN-51    NETLIB_READe socket-address VMS Usage: structure( type: longword (unsigned) access: write only ! mechanism: by reference:> Socket_address structure to receive the addreses and@ port from which the data is to be sent. Typically used- only with unconnected UDP sockets).t sockaddr-sizer& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencen> Size of the socket address structure. Typically used, only with unconnected UDP sockets. sockaddr-len& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceaF  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?: Returned length of the socket address structure.; Typically used only with unconnected UDP sockets.  timeout  VMS Usage: delta_time & type: quadword (signed) access: read only! mechanism: by referencet= Amount of time that NETLIB_READ should wait for the; read to complete. If omitted, no timeout is used.L iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyo! mechanism: by reference ? I/O status block to receive the status for this call.n RTN-52  A NETLIB_READe astadr VMS Usage: procedure( type: longword (unsigned) access: callG! mechanism: by reference_? Address of an AST routine to be invoked on completion of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value_4 Parameter to be passed to the AST routine.A _______________________________________________________y DESCRIPTIONe: This routine reads data from the socket into the; specified buffer. The read will complete when the > buffer is full, or if the read times out (if timeout< is specified). A fixed-length descriptor should be= used for the buffer. To obtain the actual number oft; bytes read in this call, use an I/O status block.iA RTN-53   i NETLIB_READLINEeA _______________________________________________________ / NETLIB_READLINE-Read a "line" of data9 NETLIB_READLINE reads a "line" of data from the_ socket._A _______________________________________________________- FORMAT< NETLIB_READLINE socket, buffer [,retlen] [,flags]7 [,timeout] [,iosb] [,astadr] $ [,astprm]A ________________________________________________________ RETURNS_ VMS Usage: cond_value ( type: longword (unsigned) access: write only_ mechanism: by value A _______________________________________________________w ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference0 Socket from which data should be read. buffer VMS Usage: char_string% type: character string  access: write onlyr" mechanism: by descriptor@ The address of a descriptor for the buffer to hold the line.t RTN-54 e sA NETLIB_READLINEm retlen" VMS Usage: word_unsigned$ type: word (unsigned) access: write only ! mechanism: by referencel@ The address of a word which receives the actual length of the received line.  flags  VMS Usage: bitmask( type: longword (unsigned) access: read only! mechanism: by referencec? The address of a bitmask containing flags controlling @ this call. Only one flag is currently defined, NETLIB_? M_ALLOW_LF (value 1), which causes NETLIB_READLINE toM= consider either a CR/LF pair or a bare LF as a lined? terminator. If this argument is omitted, this flag is_? enabled by default. Otherwise, only a CR/LF pair willM* be considered a line terminator. timeout  VMS Usage: delta_timei& type: quadword (signed) access: read only! mechanism: by reference_> The address of a VMS delta time value specifying the timeout for this read. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlya! mechanism: by reference? I/O status block to receive the status for this call.  astadr VMS Usage: procedure( type: longword (unsigned) access: calloA RTN-55    NETLIB_READLINE4! mechanism: by reference? Address of an AST routine to be invoked on completion  of this operation. astprm VMS Usage: user_arge( type: longword (unsigned) access: read only mechanism: by valuea4 Parameter to be passed to the AST routine.A _______________________________________________________n DESCRIPTION > This routine is intended for TCP-based programs that< use a protocol which delimits commands and replies@ with carriage-return/linefeed pairs. It completes only= when the specified buffer is full; when a complete, = terminated, line has been received; or if a timeout_: occurs. The line terminator is stripped from the returned data. RTN-56  A NETLIB_SERVER_SETUPcA _______________________________________________________ ? NETLIB_SERVER_SETUP-Socket setup for "forked" serversr< NETLIB_SERVER_SETUP creates and sets up the socket9 used by a server process "forked" from a TCP/IP $ package's "master server".A ________________________________________________________ FORMAT6 NETLIB_SERVER_SETUP socket, socket-address,, sockaddr-sizeA _______________________________________________________t RETURNS  VMS Usage: cond_value ( type: longword (unsigned) access: write only  mechanism: by value_A _______________________________________________________  ARGUMENTSt socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: write only ! mechanism: by reference_= Returned socket handle for use in subsequent NETLIB: calls. socket-address& VMS Usage: special_structure( type: longword (unsigned) access: read only! mechanism: by reference ? Socket address describing port being opened. See noter! in description section.nA RTN-57:  e NETLIB_SERVER_SETUPw sockaddr-size& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencea8 Size of the structure passed in socket-address argument. A _______________________________________________________O DESCRIPTION 6 This routine creates a NG  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?!ETLIB socket for the< communications channel in a server program invoked< by a TCP/IP package's "master server." The socket-? address and sockaddr-size arguments must be provided,w> although for all packages except CMU TCP/IP they are> ignored (the actual address and port number are pre- determined).? Note: For at least some TCP/IP packages, this routinec; should be called before any language-specific I/O< routines (for example, the printf routine in the C? run-time library) are called, to prevent the run-time:; system from interfering with the network channel.  RTN-58 t tA NETLIB_SETSOCKOPTiA _______________________________________________________ . NETLIB_SETSOCKOPT-Set socket options> NETLIB_SETSOCKOPT modifies attributes of a a socket.A _______________________________________________________  FORMAT: NETLIB_SETSOCKOPT socket, level, option, value,? vallen [,iosb] [,astadr] [,astprm] A _______________________________________________________g RETURNSs VMS Usage: cond_valuen( type: longword (unsigned) access: write onlyr mechanism: by valueA _______________________________________________________R ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference ( The socket you wish to modify. level & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceo9 "Level" of the option being set. The only levell< globally supported is NETLIB_K_LEVEL_SOCKET (value= X'FFFF'). Some packages also support protocol-levels option settings.A RTN-59  s t NETLIB_SETSOCKOPT_ option& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referenceE= Longword representing the option being set. Not ally< packages support all options, but most support the% ones listed in Table RTN-3. A Table_RTN-3__Socket_options____________________________ A Symbolic_name___________Value_Description______________s? NETLIB_K_OPTION_ 4 Allows a port number to-= REUSEADDR be reused. Value is at? longword, either 1 (on)i? or 0 (off). Default forf= most packages is off,e= but NETLIB turns this ? option on automatically= unless you explicitlygA call NETLIB_SETSOCKOPT tos/ set it.X? NETLIB_K_OPTION_ 4097 Sets socket buffer size = SNDBUF for sends. Value is a@ longword, typically withA a maximum value of 32768. ? NETLIB_K_OPTION_ 4098 Sets socket buffer size_@ RCVBUF for receives. Value is a@ longword, typically withA ______________________________a_maximum_value_of_32768.i> Consult your package-specific documentation on other? available options and on option value ranges. The CMU_> TCP/IP package is not based on sockets, so this call8 has no effect on systems running that package. RTN-60 _ _A NETLIB_SETSOCKOPT  valueu VMS Usage: varying_arg( type: longword (unsigned) access: read only! mechanism: by reference> Value to set for the option. Values vary from option to option. vallen& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference_/ Size of the value argument, in bytes. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlym! mechanism: by referencer? I/O status block to receive the status for this call. astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by reference_? Address of an AST routine to be invoked on completiont of this operation. astprm VMS Usage: user_arg_( type: longword (unsigned) access: read only mechanism: by value.4 Parameter to be passed to the AST routine.A RTN-61a   NETLIB_SETSOCKOPT_A _______________________________________________________: DESCRIPTION > This routine provides an interface to the setsockopt< service provided by most TCP/IP packages (most are= based on the BSD socket communications model). Note ? that not all options are available with all packages,y= and for the CMU TCP/IP this call is a no-operation.  RTN-62 _ _A NETLIB_SHUTDOWNA _______________________________________________________ 0 NETLIB_SHUTDOWN-Shut down a connection9 NETLIB_SHUTDOWN shuts down a connection without deleting the socket.A _______________________________________________________ FORMAT? NETLIB_SHUTDOWN socket [,shuttype] [,iosb] [,astadr]E$ [,astprm]A _______________________________________________________  RETURNS VMS Usage: cond_value_( type: longword (unsigned) access: write onlyR mechanism: by valuedA _______________________________________________________ ARGUMENTS[ socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference , Socket to be set up as a listener. shuttype! VMS Usage: unsigned int( type: longword (unsigned) access: read only! mechanism: by reference; Type of shutdown to be performed. Possible values ? are listed in Table RTN-4. If omitted, the default ise% NETLIB_K_SHUTDOWN_RECEIVER.tA RTN-63M s : NETLIB_SHUTDOWN A Table_RTN-4__Shutdown_types____________________________:A Symbolic_namH  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?e___________Value_Description______________ ; NETLIB_K_SHUTDOWN_ 0 Prevent any further 1 RECEIVER receives. ; NETLIB_K_SHUTDOWN_ 1 Prevent any furthert. SENDER sends.; NETLIB_K_SHUTDOWN_ 2 Prevent any furthereA BOTH__________________________sends/receives.__________s: This parameter has no meaning when using the CMU TCP/IP package.  iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only! mechanism: by referenceg? I/O status block to receive the status for this call.e astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by reference ? Address of an AST routine to be invoked on completion) of this operation. astprm VMS Usage: user_argu( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine. RTN-64  qA NETLIB_SHUTDOWNbA _______________________________________________________ DESCRIPTIONe> This routine closes the network connection currently< open on the specified socket, without deleting the: socket. Any data still waiting to be received or< sent can be discarded or retained by specifying an0 appropriate shutdown type in shuttype.> For the CMU TCP/IP package, the shutdown type is not= used; the CMU close operation does not provide thiso option.yA RTN-65t  b NETLIB_SOCKET A _______________________________________________________ > NETLIB_SOCKET-Create a NETLIB communication endpoint; NETLIB_SOCKET creates a "socket"-that is, a localo, endpoint for TCP/IP communication.A _______________________________________________________E FORMAT? NETLIB_SOCKET socket [,socket-type] [,socket-family]fA _______________________________________________________l RETURNSs VMS Usage: cond_valuee( type: longword (unsigned) access: write only. mechanism: by valuetA _______________________________________________________ ARGUMENTS  socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: write only_! mechanism: by reference_< The returned socket context, for use in subsequent NETLIB calls.L socket-typea& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only" mechanism: by referencee@ Type of socket to be created. Allowed values are shown> in Table RTN-5. If omitted, the default is NETLIB_K_ TYPE_STREAM. RTN-66 _ _A NETLIB_SOCKETaA Table_RTN-5__Socket_types______________________________lA Symbolic_name___________Value_Description_______________; NETLIB_K_TYPE_STREAM 1 Connection-oriented 9 socket (for TCP). = NETLIB_K_TYPE_DGRAM 2 Connectionless socketnA ______________________________(for_UDP)._______________  socket-family & VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by referencec? Address/protocol family. Only NETLIB_K_AF_INET (valueo@ 2) is permitted, and is assumed by default if omitted.A _______________________________________________________ DESCRIPTION : This routine creates a "socket" (an endpoint for< network communication). One socket is required for> each network connection. This will be the first call; in most NETLIB-based programs. The only exception : to this rule is a program that is intended to be: run as a "forked" server from a TCP/IP package's< "master server", which will use the NETLIB_SERVER_ SETUP routine instead.A RTN-67F a  NETLIB_STRTOADDRA _______________________________________________________ = NETLIB_STRTOADDR-Convert a dotted-address to binary  formo@ NETLIB_STRTOADDR is a utility routine for converting a? character string holding a dotted-decimal IP addreses % into its binary equivalent. A _______________________________________________________  FORMAT+ NETLIB_STRTOADDR string, addresseA _______________________________________________________s RETURNSe VMS Usage: cond_value ( type: longword (unsigned) access: write only/ mechanism: by valuetA _______________________________________________________e ARGUMENTS  string VMS Usage: char_string% type: character string  access: read only" mechanism: by descriptor; The string containing the dotted-decimal address.s addresso( VMS Usage: INADDRDEF structure( type: longword (unsigned) access: write only ! mechanism: by reference > An INADDRDEF structure to hold the returned address. RTN-68  sA NETLIB_STRTOADDR_A _______________________________________________________n DESCRIPTIONr< This is a utility routine which parses a character; string containing an IP address in dotted-decimalo= format, returning the binary representation of that : address in network order (suitable for a call to' NETLIB_CONNECT, for example).iA RTN-69    NETLIB_WRITEA ________________________________________________________1 NETLIB_WRITE-Send data to remote systemE? NETLIB_WRITE writes data to a socket for transmissionE to a remote system.kA _______________________________________________________  FORMAT8 NETLIB_WRITE socket, buffer [,socket-address]9 [,sockaddr-len] [,iosb] [,astadr]S! [,astprm]A ________________________________________________________ RETURNS_ VMS Usage: cond_value ( type: longword (unsigned) access: write onlyr mechanism: by value A ________________________________________________________ ARGUMENTS_ socket& VMS Usage: longword_unsigned( I  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?*8type: longword (unsigned) access: read only! mechanism: by reference 1 Socket to which data should be written.  buffer VMS Usage: unspecified( type: longword (unsigned) access: read only" mechanism: by descriptor> The address of a descriptor for the data to be sent. RTN-70 e A NETLIB_WRITE  socket-address VMS Usage: structure( type: longword (unsigned) access: read only! mechanism: by reference> Socket_address structure describing the addreses and> port to which the data is to be sent. Used only with# unconnected UDP sockets).i sockaddr-len& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by references> Size of the socket address structure. Used only with" unconnected UDP sockets. iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write only ! mechanism: by referencex? I/O status block to receive the status for this call.n astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by referencea? Address of an AST routine to be invoked on completiont of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value4 Parameter to be passed to the AST routine.A RTN-71_ _ _ NETLIB_WRITEA _______________________________________________________P DESCRIPTIONa> This routine writes the specified data to the socket@ for transmission to the remote system. For UDP sockets; that have not been connected to a specific remote < address, the socket-address argument specifies the< remote address/port to which the datagram is to be sent.  RTN-72  iA NETLIB_WRITELINE_A _______________________________________________________k; NETLIB_WRITELINE-Send data with CR/LF termination 6 NETLIB_WRITELINE writes data to a socket for? transmission to a remote system, terminating the datao with a CR/LF pair.A _______________________________________________________r FORMAT< NETLIB_WRITELINE socket, buffer [,iosb] [,astadr]% [,astprm]TA _______________________________________________________  RETURNSF VMS Usage: cond_valuep( type: longword (unsigned) access: write only  mechanism: by valueNA _______________________________________________________p ARGUMENTSs socket& VMS Usage: longword_unsigned( type: longword (unsigned) access: read only! mechanism: by reference 1 Socket to which data should be written.o buffer VMS Usage: char_string% type: character string_ access: read only" mechanism: by descriptor> The address of a descriptor for the data to be sent.A RTN-73E A  NETLIB_WRITELINE iosb$ VMS Usage: io_status_block( type: longword (unsigned) access: write onlyf! mechanism: by reference ? I/O status block to receive the status for this call.  astadr VMS Usage: procedure( type: longword (unsigned) access: call ! mechanism: by reference ? Address of an AST routine to be invoked on completion of this operation. astprm VMS Usage: user_arg ( type: longword (unsigned) access: read only mechanism: by value 4 Parameter to be passed to the AST routine.A _______________________________________________________  DESCRIPTIONT= This routine functions identically to NETLIB_WRITE, ? but adds a carriage-return/ linefeed pair to the data < sent to the remote system. It is intended for TCP-; based programs that use a protocol which delimits - commands and responses with CR/LFs.n RTN-74  A _______________________________________________________  A Status Codes< NETLIB translates all TCP/IP status codes into the= codes used by DEC TCP/IP Services. The status codesB< are described in Table A-1. For synchronous NETLIB? calls, these codes are returned in R0 and also in the @ IOSB, if one is specified; for asynchronous calls, you@ should always specify an IOSB to receive the status of$ the network I/O operation.@ Some NETLIB routines may also return status codes from> other facilities, such as the LIB$ and STR$ routines" when processing strings.A Table_A-1__NETLIB_Status_Codes_________________________:A Symbolic_Name______Description_________________________ : SS$_ABORT Catch-all code for errors not4 covered by other codes.> SS$_INSFARG Not enough arguments specified on) NETLIB call. ; SS$_BADPARAM Invalid value specified for an < argument to a NETLIB call. This= code can also be returned by theM= underlying TCP/IP driver when an = invalid value is specified for a 3 network I/O operation.: SS$_NOSUCHNODE Destination address required.7 SS$_INSFMEM Memory allocation failure. 7 SS$_NOPRIV Insufficient privilege for_1 requested operation.e> SS$_ACCVIO Invalid memory address specified.A A-1e o n Status CodesA Table_A-1_(Cont.)__NETLIB_Status_Codes_________________oA Symbolic_Name______Description_________________________6 SS$_FILALRACC Socket already connected.@ SS$_LINKDISCON Network link has been disconnected.@ SS$_TOOMUCHDATA Result too large for user's buffer.7 SS$_SUSPENDED I/O operation would block.d< SS$_NOTNETDEV Network operation requested for0 non-network device.? SS$_PROTOCOL Protocol type or option incorrect.8 Protocol or socket type not> supported. Other general protocol% failure._? SS$_ILLCNTRFUNC OpeJ  NETLIB020.DfA [NETLIB]NETLIB_DOC.TXT;2L?ration not supported on socket. 9 SS$_DUPLNAM Address/port already in use.e- SS$_IVADDR Invalid address.e9 SS$_UNREACHABLE Network or host unreachable._? SS$_RESET Network connection has been reset.t: SS$_LINKABORT Connection aborted by network& software.< SS$_CONNECFAIL Connection failure, or reset by* peer process.5 SS$_NOLINKS  Socket is not connected. > SS$_SHUT Socket, host, or network software0 has been shut down.1 SS$_TIMEOUT Operation timed out. A SS$_REJECT_________Connection_refused._________________ A-2_CEIVER.tA RTN-63M s : NETLIB_SHUTDOWN A Table_RTN-4__Shutdown_types____________________________:A Symbolic_namK  NETLIB020.DA [NETLIB]NETLIB_INST.DECW$BOOK;37*[NETLIB]NETLIB_INST.DECW$BOOK;3+,.7/ @ 475X-A 0123KPWO856x){7{@){8{,9G @HJ`5 4<NETLIB Installation Guiden!){NETLIB_INST  Contents  Tables*B*VAX DOCUMENT V2.2pJXJ,t,|-\0^1$] \ux zYf(&2D=zr!$X$~%rG&'K)4<uu/ gCONTENTSCONTENTS8 E\TitlePageTitle Page@E\ CopyrightPageCopyright Page1xE\PrefacePreface aw++$K1 PreparingtoInstallNETLIB1 Preparing to Install NETLIB_w- $K1.1 &K PrerequisiteSoftware1.1 Prerequisite SoftwareYw* $K1.2&K VMSclusterSupport1.2 VMScluster Supportgw1 $L1.3$&L Installation Requirements1.3 Installation RequirementsOg% $L1.4&LReleaseNotes1.4 Release Notesdw ,,$K2 InstallingNETLIB System-wide2 Installing NETLIB System-wide}w(= $K2.10&KInvokingthe Installation Procedure2.1 Invoking the Installation Procedurecw/ $K2.2"&KPost-InstallationSteps2.2 Post-Installation Steps!Ol!!$A2.2.1StartingNETLIB2.2.1 Starting NETLIB$pw%33$K3 InstallingNETLIBforPersonalUse3 Installing NETLIB for Personal Use&lg 4 $K3.1'&KPersonalNETLIB Restriction3.1 Personal NETLIB Restriction-Sg##$K4On-Line Documentation4 On-Line Documentation.dx0 $\A%\CMUTCP/IPConsiderationsA CMU TCP/IP Considerations/Mg$ $KA.1&KDNSResolverA.1 DNS Resolver0Uw( $KA.2&K BypassingNAMRESA.2 Bypassing NAMRES2+gTABLESTABLESPl!!=@2-1 NETLIB_SHRValues2- 1 NETLIB_SHR Values#]]fF<* Copyright1994MadGoat Software.&AllRights Reserved. ~AllRights Reserved.O%%ONETLIB InstallationGuideCO November,1994[O{Thismanual describesthe installationofNETLIB,alibraryforwriting.O TCP/IP-basednetwork applications.tJ'ORevision/Update Information:#^Thisisanewmanual.,t*O OperatingSystemandVersion:,^VAX/VMSV5.2orlater;OpenVMS^AXPV1.0orlater\2OSoftwareVersion:^NETLIBV2.0 ! : O OO 17November1994jO Permissionisgrantedtocopyand redistributethisdocumentforno commercialgain.jOVThe informationinthisdocumentissubjecttochangewithoutnoticeandshouldnotfObe construedasa commitmentbytheauthor.(TheauthorassumesnoresponsibilityBOforanyerrorsthatmayappearinthis document.Ou DISCLAIMER:RuTheauthor,theauthor's employer,andMadGoatSoftwaremakenofOrepresentationsor warrantieswithrespecttothecontentshereofand specificallynOdisclaimanyimplied warrantiesofmerchantabilityorfitnessforany particularpurpose.WOAXP,DEC,VAX,VMS,andOpenVMSare trademarksofDigital EquipmentO Corporation.GOsUNIXisa trademarkofUnixSystem Laboratories,Inc.4OMultiNetisa trademarkofTGV,Inc.HOTCPwareisa trademarkofProcessSoftware Corporation.FODPathWayisa trademarkofThe WollongongGroup,Inc. OFO! Copyright1994MadGoat Software.'AllRights Reserved.* YY    OPrefaceDOThereareseveralTCP/IPpackages availableforVMSDOsystemstoday.,Eachprovidesa VMS-style programmingCOX interface,!usingthe $QIO system service,!and mostHOalsoprovidea ``socket'' programminglibrary,basedon@O thecommunicationsmodel developedforBSDUNIX.FObUnfortunately, thereisnostandardamongalloftheHOpackagesforthe $QIO-based programming interface(most,VObutnotall,emulate Digital's,atleasttosomedegree),andthe>Ol $QIO-based interfaceisnotveryeasytouse.  WMOThesocket librariesprovidedwiththesepackagesprovideaFOsomewhat easier-to-use programming interface,butdon'tFO5permit VMS-style asynchronous programming(usingASTs),IOand generallyrequireatleastare-LINK,and sometimesLOsourcemodifications,whenmovingfromonevendor'slibraryO>toanother. L  NETLIB020.DA [NETLIB]NETLIB_INST.DECW$BOOK;37k BONETLIBwas originally developedtosupportMadGoatFO Software'sMessageExchangemailpackage,whichneeded?O5tosupportmanyTCP/IPpackagesdoing VMS-styleFO asynchronous programming.(NETLIBprovidesa consistent,EO VMS-style interfacefor TCP/IP-basednetwork programs,OO> operatingwithallofthe currently availableTCP/IPpackagesHO availabletodayforVMS(withoneminor exception).-InNO addition,NETLIBallowsfor flexibilityinintheuseofaIOHTCP/IPpackage,by selectingthevendor-dependentlibrary7Ocodeat run-time,ratherthan link-time.   OIntendedAudienceFOUThismanualisintendedforsystemmanagersorusersAO responsiblefor installingandsettingupNETLIB.ff  Lw"ODocument StructureMOUThisdocumentconsistsoftwo chapters.)Chapter1 describesJOthe installationofNETLIB,thenetwork interfacelibraryJOusedbyNETLIB.Chapter2 describesthe installationand$O^ configurationofNETLIB. ORelated Documents OUThe%UNETLIB Programmer'sGuide!SU describeshowtouseIONETLIBandprovides descriptionsoftheNETLIB routines. ,O 1.2 Preparing!to!Install"NETLIBROThischapter describesthestepsthatshouldbetakenpriortoO installingNETLIB.%O1.1B PrerequisiteSoftwareGOUNETLIBrequiresVAX/VMSV5.2orlater,oranyversionJOofOpenVMSAXP.Itsupportsanyofthe followingTCP/IPOpackagesforVMS:f0<OCMUTCP/IP(VAXonly)V6.5or0later)ODECTCP/IPServicesforVMSV2.0orlater/O$PathWayfromThe WollongongGroup$anyversionEOTCPwarefromProcessSoftware CorporationBanyversionOTGVMultiNetanyversion;! ROThetargetpackagesdonothavetobe installedorrunningonPOthesysteminorderforNETLIBtobe installed;however,youGO5mustberunningthetargetpackagebeforeanyNETLIB-(Obased applicationsarerun.==n_)O1.3B Installation Requirements6OUNETLIBrequiresthe following resources:! p `m Cm Approximately3,000(VAX)or4,000(AXP)freediskFblocksonthe installationworkingdevice(thesystemFdisk,orthedevice specifiedintheAWDoptionforw VMSINSTAL). ` J Approximately1,000diskblocksafter installationontheKOdiskwhereNETLIBis installedforcommonfiles,plusanJ additional50(VAX)or(100)AXPdiskblocksperTCP/IPpackage selected. ` EIfNETLIBis installed system-wide,youwillneed3Iglobalsectionsand14(VAX)or112(AXP)globalpagesG0forthecommonNETLIBtransfervectorlibrary,plus3Iglobalsectionsand approximately50(VAX)or210(AXP)=globalpagesforeachTCP/IP-specificlibrary. `a Ea Approximately5to20mintuesfor installationtime,@ dependingonsystemtypeand installationmedia. `9 :9Ifyouare runningCMUTCP/IP,theSYSGEN@ parameterMAXBUFmustbesettoatleast2300.UO1.4BReleaseNotesGOUNETLIBisprovidedina distributionkitsuitableforFO installationwith VMSINSTAL.ThereleasenotesintheJOAsavesetofthe distributionkitdescribe installationFO^ requirementsforNETLIB.Youcanretrievetherelease6OnotesbyusingOPTIONSNon VMSINSTAL: O< $C< @SYS$UPDATE:VMSINSTAL% NETLIB020% load-device%OPTIONS%NtOwhereK load-device4 representsthelocationoftheNETLIBO installationkit.-O 2.2 Installing!NETLIB" System-wideNOThischapter describestheNETLIB installationprocessfora,O system-wideNETLIB installation.#X )OTable2-1:7 NETLIB_SHRValues O OF TranslationString#FTCP/IPPackageSelected Ob #ONETLIB_DIR:NETLIB_CMU_SHRCMUTCP/IP7O$NETLIB_DIR:NETLIB_MULTINET_SHRTGVMultiNet5ONETLIB_DIR:NETLIB_PATHWAY_SHRTWGPathWay5ONETLIB_DIR:NETLIB_TCPWARE_SHRPSCTCPware#ONETLIB_DIR:NETLIB_UCX_SHRDECTCP/IPServices O 5O2.1BInvokingthe Installation ProcedureAOUNETLIBis installledusingthe VMSINSTALutility: O $7 @SYS$UPDATE:VMSINSTAL% NETLIB020% load-devicetOwhereK load-device4 representsthelocationoftheNETLIBO installationkit. !O Installation QuestionsNO4TheNETLIB installation procedurewillaskyouforadeviceJOand directory specificationforthelocationwhereNETLIBNOshouldbe installed,andwillaskyoutoselecttheTCP/IPMO>packagesupportyouwanttoinstall.'The procedureattemptsKOtoselect automaticallythe appropriateTCP/IPsupportforOyoursystem.8! QOYouwillnextbeaskedtospecifya directoryintowhichtheOONETLIB librarieswillbe installed.(IfNETLIBisalreadyin-RO5stalledandstarted,the installation procedurewillprovidetheIOcurrentNETLIB directorylocationasthedefaultanswer;KO otherwise,itwilluseSYS$COMMON:[SYSLIB]asthedefault.TO>Ifthe directoryyouspecifydoesnotalreadyexist,itwillbe4Ocreatedbythe installation procedure. pSOAfter selectinga directory,youwillbeaskedifyouwanttheFONETLIB programmingsupportfilesand documentationin-VO5stalled.(Ifso,youwillbeaskedfora directoryintowhichtheLO documentationwillbeplaced(the programmingsupportfiles5OgointotheNETLIBlibrary directory). ! KOOnceall questions,the appropriatebinaries(VAXorAXP)POareloaded,andthe requested librariesarecreatedandmovedWO5tothe directoryyou specified.&Ifyouelectedtoinstallthepro-KOgrammingsupportM  NETLIB020.DA [NETLIB]NETLIB_INST.DECW$BOOK;37.and/ordocumentation,thosefileswillbeBOloadedandmovedintothe appropriate directories.M"! 'O2.2BPost-InstallationStepsHOUIfyouhave installedNETLIBwithsupportformultipleGOTCP/IP packages,youshouldreviewthestartupcommandPO procedurecreatedbythe installationtoensurethatthecor-FO^rectTCP/IPsupporthasbeen selected.-For VMSclusterLO environments,youshould customizethestartup proceduretoNOselectthe appropriateTCP/IPsupportforeachnodeinyourOhcluster.^"v 4IOThenameofthestartup procedureisSYS$STARTUP:NETLIB_CO STARTUP.COM.TCP/IPsupportisselectedthroughtheFO5 definitionofthe NETLIB_SHRlogicalname.+Thetrans-MOlationstringsfor selectingaTCP/IPpackageareshowninOTable2-1.*"Oa?#$!O2.2.1BStartingNETLIBJOOnceNETLIBhasbeen installed,itshouldbestartedby5O_invokingitsstartupcommand procedure: O $% @SYS$STARTUP:NETLIB_STARTUP%OOThisshouldbedonefromasuitably privilegedaccount.(ThisEO invocationofNETLIB_STARTUPshouldalsobeaddedto4Oiyoursystemstartupcommand procedure.XX&4O 3.2 Installing!NETLIB"for"Personal!UseJOIfyouarenotasystemmanagerbutstillwanttouseIONETLIB,youcaninstallacopyofNETLIBforyourownNOBpersonaluse.(Todothis,createa temporaryworkingdirec-*OtoryandSETDEFAULTtoit: O  $#  CREATE/DIRECTORY%[.TEMP] Og $g SET%DEFAULT&[.TEMP]'zNONext,unloadthecontentsoftheNETLIBsavesetsintotheNOworking directory.&All installationsrequiretheAsaveset: Oa $0a BACKUP%disk:[dir]NETLIB020.A/SAVE%[](!|AOForVAXsystems,youwillneedtheBsaveset: O $0 BACKUP%disk:[dir]NETLIB020.B/SAVE%[])!|AOForAXPsystems,youwillneedtheCsaveset: O $0 BACKUP%disk:[dir]NETLIB020.C/SAVE%[]*!h?ONext,invokethe user-installcommand procedure: O $ @NETLIB_USER_INSTALL+KOAnswerthe questionsfromthe installationscriptandtheLONETLIBfileswillbecreated.+Oncethe installationproce-NO5dureis complete,youcandeletethefilesandtheworkingO directory: O $ SET%DEFAULT&[-] OZ $Z DELETE% [.TEMP]*.*;* O $* SET%PROTECTION=O:RWED%TEMP.DIR O $ DELETE% TEMP.DIR;,NLOIfyouwanttousethe programmingsupportfilesordoc-EO umentation,useBACKUPtoretrievethemfromsavesetO5 NETLIB020.D.-,O3.1BPersonalNETLIB RestrictionCOUYoucannotuseapersonalNETLIBwith NETLIB-based?O applicationsthatare installedwith privileges.GG-.! $O 4.2On-Line! DocumentationKOTheNETLIB documentationsetisprovidedinaformsuit-IOableforusewiththeVMS DECwindows BookreaderprogramHOB(VMSV5.3andlater).)TomaketheNETLIBon-linedoc-DO umentation available automaticallythrough Bookreader,MOyoushouldadda referencetothe directory containingtheOOL documentation(ifyouelectedtoinstallthosefiles)tothe#O DECW$BOOKlogicalname.o/! )O A.!CMU"TCP/IP!ConsiderationsLOAlloftheTCP/IPpackagesthatNETLIB supports,withtheMO exceptionofCMUTCP/IP,arealreadybasedontheBerkeleyJOBsocketmodelfornetwork programming,andallexceptCMUFOusetheBIND (BerkeleyInternetNameDaemon)software4Ofor performingdomainname resolution.KKh0 >OA.1CDNSResolverIOU EmulatingsocketsoverCMUTCP/IPisnot difficult,butHOduetothewaytheCMUname resolver,NAMRES,isim-EO plemented, performing BIND-stylequeriesrequiressomeOO^ additionalsetupovertheotherTCP/IP packages.)ThelistofKODNSserversthatNAMRESusesisnot availabletoNETLIB,MOsoyoumustdefinean additionallogicalnameforNETLIB's+Oh DNS_QUERYroutinetobeused: O $/ DEFINE%NETLIB_NAMESERVERS% "x.x.x.x"1! WQOWhere ``x.x.x.x''isthedotted-decimalIPaddressofthenameHOserverthat DNS_QUERYshoulduse.(YoumayspecifymoreBO5thanone nameserver,bydefiningNETLIB_NAMESERVERSQOasa search-listlogicalname.&Thelogicalnameshouldbede-ROfinedinthesystemlogicalnametabletobe availabletoall!O>usersonthesystem.D:2  OA.2C BypassingNAMRES@OUBydefault, NETLIB'ssupportfortheCMUTCP/IPFOpackageusesthenativeNAMRESforallnameandad- NAMESERVERS referencesonlynameserversthatareonOyourlocalnetwork. 5NJOIn addition, bypassingNAMRESwillcausenamelookupstoOberesolvedonly4throughtheDomainNameSystem.*Local=O5hosttable definitionswillnotbe available.  N  NETLIB020.DA [NETLIB]NETLIB_INST.DECW$BOOK;37R-PrefacePrefacePrefaceIntended AudienceDocument StructureRelated Documents%1. Preparing to Install NETLIB 1.1 Prerequisite Software 1.1 Prerequisite Software 1.1 Prerequisite Software1.2 VMScluster Support1.2 VMScluster Support$1.3 Installation Requirements$1.3 Installation Requirements1.4 Release Notes1.4 Release Notes'2. Installing NETLIB System-wide.2.1 Invoking the Installation Procedure.2.1 Invoking the Installation Procedure.2.1 Invoking the Installation Procedure.2.1 Invoking the Installation Procedure.2.1 Invoking the Installation Procedure.2.1 Invoking the Installation Procedure"2.2 Post-Installation Steps"2.2 Post-Installation Steps$Table 2- 1: NETLIB_SHR Values2.2.1 Starting NETLIB2.2.1 Starting NETLIB,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use,3. Installing NETLIB for Personal Use&3.1 Personal NETLIB Restriction4. On-Line Documentation#A. CMU TCP/IP ConsiderationsA.1 DNS ResolverA.1 DNS ResolverA.2 Bypassing NAMRESA.2 Bypassing NAMRESA.2 Bypassing NAMRESA.2 Bypassing NAMRES  netlib_inst_2 netlib_inst_3netlib_inst_4netlib_inst_5netlib_inst_6netlib_inst_11netlib_inst_12netlib_inst_13netlib_inst_14netlib_inst_8netlib_inst_15netlib_inst_16!postinstall#trstr_table$netlib_inst_18&personal_install-netlib_inst_10.online_doc/ cmuip0cmudns2bypass$ $B-ADOBE-Helvetica-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-180-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-100-*-*-P-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-100-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-I-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1/ -ADOBE-Symbol-*-R-*--*-140-*-*-P-*-*-*@ -ADOBE-Courier-Medium-R-Normal--*-120-*-*-M-*-ISO8859-1> -ADOBE-Courier-Bold-R-Normal--*-120-*-*-M-*-ISO8859-1]w3"O1.2B VMSclusterSupportHOUNETLIBsupportsall VMSclusterconfigurations.(FormixedEOVAXandAXPclusterconfigurations,youmustinstallIONETLIBtwice,onceforVAXandonceforAXP. Different;O^ directoriesmustbeusedforeach platform.3 KOIfyouarerunning differentTCP/IPpackageson differentKOnodesinyourcluster,youcanstillinstallNETLIBjustDO5once(onceperplatformformixedVAX/AXP clusters)NOandselectalloftheTCP/IPpackagesyouusefortheone:O installation./Followthesteps describedin6Section2.2 toFO>modifytheNETLIBstartup procedurefor selectingthe?O appropriateTCP/IPsupportonaper-nodebasis.*6?!<<,t,|-\0^1$] \ux zYf(&2D=zr!$X$~%rG&'K)<stalledwith privileges.GG-.! $O 4.2On-Line! DocumentationKOTheNETLIB documentationsetisprovidedinaformsuit-IOableforusewiththeVMS DECwindows BookreaderprogramHOB(VMSV5.3andlater).)TomaketheNETLIBon-linedoc-DO umentation available automaticallythrough Bookreader,MO O  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qn*[NETLIB]NETLIB_INST.PS;3+,y.n/ @ 4Qnn-A 0123KPWOo56t){7^M){8dN&9G @HJ%!PS-Adobe-3.0%%Title: NETLIB_INST%%Creator: VAX DOCUMENT V2.2I%%Copyright: 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION.%%+All Rights Reserved.(%%CreationDate: Sat Nov 19 1994 11:33:09%%For: MADISON %%BoundingBox: (atend)%%DocumentData: Clean7Bit%%LanguageLevel: 1%%Orientation: Portrait%%Pages: (atend)%%PageOrder: Ascend%%DocumentFonts: (atend) %%DocumentNeededFonts: (atend) &%%DocumentProcSets: Underlay Color5044.%%DocumentSuppliedProcSets: Underlay Color5044 %%DocumentProcessColors: (atend)%%DocumentCustomColors: (atend) %%EndComments%!%%BeginResource: procset Underlay%%CreationDate: (2/10/92)%C% In VAX DOCUMENT V2.1-1, simple EPSF files up to 65,000 bytes long@% may be an underlay. Define the EPSF as a PostScript proceedureD% called /UNDERLAY and prefix to DOCUMENT's PS output For example:.&% /UNDERLAY ( EPSF code here ) cvx def%C% To create a "Preliminary" underlay change /UNDERLAY* to /UNDERLAY /UNDERLAY* ( /Note (Preliminary) def /NoteSize 120 def6 /NoteFont /Helvetica findfont NoteSize scalefont def& /Note where { pop Note length 0 gt {8 /NoteWidth NoteFont setfont Note stringwidth pop def/ PaperWidth 36 mul PaperHeight 36 mul moveto& PaperHeight PaperWidth atan rotate6 NoteWidth -2 div NoteSize .729 mul -2 div rmoveto 2 Note true charpath .075 setseparationgray fill }if }if ) cvx def %%EndResource%"%%BeginResource: procset Color5044%%CreationDate: (1/21/91)%%Version:1.0 31%Implementation of Adobe 5044 color specification5%/ndf allows command override during color separation/Color5044Dict 100 dict defColor5044Dict begin/bdf {bind def} def/ndf {1 index where {pop pop pop } {dup xcheck {bind} if def } ifelse } bdf /setcmykcolor {1 exch sub 3 " {dup 5 -1 roll sub 0 2 copy lt {exch} if pop exch } repeat pop setrgbcolor }ndf/setcmykcoloroverprint {4 {dup -1 eq {pop 0} if 4 1 roll } repeat setcmykcolor } ndf/findcmykcustomcolor {5 /packedarray where {pop packedarray } {array astore readonly } ifelse } ndf/setcustomcolor {exch aload pop pop 4 {4 index mul 4 1 roll } repeat setcmykcolor pop } ndf/setseparationgray* {1 exch sub systemdict /setgray get exec } ndf/setoverprint {pop} ndf/currentoverprint false ndf%CMYK multi-proc colorimage /colorimage {4 neH {(\nUnsupported number of colors for colorimage.\n) print flush quit } if notJ {(\nSingle procedure form colorimage unsupported.\n) print flush quit } if' save 20 dict begin /&saveobj exch defE /&Kproc exch def /&Yproc exch def /&Mproc exch def /&Cproc exch def {&Cproc &Mproc &Yproc &Kproc7 /&K exch def /&Y exch def /&M exch def /&C exch def 0 1 &K length 1 sub {/&i exch def &K &i 255 &C &i get 30 mul &M &i get 59 mul add &Y &i get 11 mul add &K &i get 100 mul add 100 idiv dup 255 gt {pop 255} if sub put } for &K } image &saveobj end restore } ndf/customcolorimage! {pop systemdict /image get exec } ndf/separationimage {systemdict /image get exec } ndfend %%EndResourceColor5044Dict begin%/DEC_DVC$dict 300 dict defDEC_DVC$dict begin%/DVC$PSJob save def%,/DOCPSE ISOLatin1Encoding 256 array copy def"mark % CREATE DOCPSE ENCODING 8#055 /hyphenC 8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /daggerC 8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta? 8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe 8#215 /Ydieresis) counttomark -1 bitshift % DIVIDE BY 2: {DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK cleartomark%3/ReENCODE { % /basefont /newfont encoding ReENCODE7 /newencoding exch def %ARG: NAME OF ENCODING VECTORC /newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING findfont> /basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED? basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT= basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE 1 index /FID ne {5 def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS } { %else: pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING } ifelse } forall, /FontName newfontname def %DEFINE NEW NAME 6 /Encoding newencoding def %DEFINE NEW ENCODING VECTOR; newfontname currentdict definefont %TURN IT INTO A PS FONT3 pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT end}def%/cvsstr 64 string def/tempmatrix matrix def%2% Exit page (temporarily) to add fonts/characters. /XP { }def% % Resume page /RP { }def%% End Page: EP/EP {DVC$PSPage restore}def%% Purge fonts to reclaim VM/PF { currentoverprint currentrgbcolor EP %Does restore PageSetup %Does save setrgbcolor setoverprint}def%% ABBREVIATIONS /S /show load def/SV /save load def/RST /restore load def%/Yadjust {Ymax exch sub} def%$/XY { % (x,y) POSITION ABSOLUTE Yadjust moveto} def%#/X { % (x,0) POSITION ABSOLUTE currentpoint exch pop moveto} def%$/Y { % (0,y) POSITION ABSOLUTE & currentpoint pop exch Yadjust moveto} def%$/xy { % (x,y) POSITION RELATIVE neg rmoveto} def%#/x { % (x,0) POSITION RELATIVE 0 rmoveto} def%#/y { % (0,y) POSITION RELATIVE 0 exch neg rmoveto} def%/R { % Draw a rectangle$ /ht exch def /wd exch def gsave currentpoint newpath moveto 0 ht rlineto wd 0 rlineto$ 0 ht neg rlineto wd neg 0 rlineto& closepath fill grestore wd 0 rmoveto}def%3%Setup Page Media: PM/PM { /Xmax exch Resolution mul def /Ymax exch Resolution mul def /UNDERLAY where { pop3 /eps_save save def % save before EPSF underlay9 Resolution 72 div dup scale % Revert coords to points9 count array astore /DVCstack exch def % save op stack/ /dict_count countdictstack def % # of dicts" userdict begin % default dict' /showpage {}def % disable showpage 0 setgray? {UNDERLAY} stopped {(Error executing /UNDERLAY)== quit}ifD countdictstack dict_count sub {end} repeat % clean up dict stack/ clear DVCstack aload pop % restore op stack* eps_save restore % restore after EPSF }if PageSetup}def%%Setup page coordinates /PageSetup{ /DVC$PSPage save def9 PortraitMode not {PaperWidth 0 translate 90 rotate} if /Xpos 0 def /Ypos 0 def}def%)% Begin EPS file: SPB/SPB {8 Yadjust transform % convert from DVC to device coords EP % page-level restore( /eps_save save def % save before EPSF8 Resolution 72 div dup scale % Revert coords to points2 itransform % convert position back to points % translate % set position for EPSF3P  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qng PortraitMode not {90 rotate} if % rotate for EPSF7 count array astore /DVCstack exch def % save op stack- /dict_count countdictstack def % # of dicts userdict begin % default dict% /showpage {}def % disable showpage 0 setgray}def%% End EPS file/SPE {B countdictstack dict_count sub {end} repeat % clean up dict stack- clear DVCstack aload pop % restore op stack( eps_save restore % restore after EPSF" PageSetup % restore DVC coords}def%!% Print-Page Routine: PP/PP { gsave showpage grestore}def%&/DMF { % /font-name DMF& exch findfont exch scalefont setfont}def%3/concatnam { % /abcd (xxx) concatnam ==> /abcdxxx /xxx exch def /namstr exch cvsstr cvs def1 /newnam namstr length xxx length add string def newnam 0 namstr putinterval& newnam namstr length xxx putinterval newnam cvn }def%%/strip { % /abcdef 2 strip ==> /cdef /num exch def /nam exch def /namstr nam cvsstr cvs def# /newlen namstr length num sub defI$ namstr num newlen getinterval cvn}def/% ROUTINES TO HANDLE PACKING/UNPACKING NUMBERSP8/PackHW { % PackHW --> 0 /num exch def /pos exch def /target exch def: num 16#0000FFFF and 1 pos sub 16 mul bitshift target or}def</PackByte { % PackByte --> 0 /num exch def /pos exch def /target exch def: num 16#000000FF and 3 pos sub 8 mul bitshift target or}def4/UnpkHW { % UnpkHW -->  /num exch def /pos exch def0 num 1 pos sub -16 mul bitshift 16#0000FFFF and) dup 16#00007FFF gt {16#00010000 sub} ifn}def8/UnpkByte { % UnpkByte -->  /num exch def /pos exch def/ num 3 pos sub -8 mul bitshift 16#000000FF and ) dup 16#0000007F gt {16#00000100 sub} ifo}def%'/ps-scalefont {eJ % FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDERL % EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S H % A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE  % VERTICAL SCALING.hA % save requested size - as entered and as integers, dup /x-size exch def cvi /x-int exch def; % calc decimal remainder, mul x 1000, rounde; x-size x-int sub 1000 mul round cvi /remainder exch def % % see how we scale...a) remainder 50 lt remainder 450 gt or {c& % scale isomorphically /ystretch 0 def/ x-size scalefont } {t& % scale anamorphically /ystretch remainder defi+ x-int ystretch add /y-size exch def ' [x-int 0 0 y-size 0 0] makefontf } ifelse}def%x(/DPSF { % /procname size /fontname DPSF< findfont exch ps-scalefont [ exch /setfont cvx ] cvx def}def%t/PXLBuildCharDict 17 dict def /CMEncodingArray 256 array def90 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} fore)/RasterConvert {RasterScaleFactor div}def/TransformBBox { aload poppH /BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def. [ BB-llx RasterConvert BB-lly RasterConvert / BB-urx RasterConvert BB-ury RasterConvert ] }def/RunLengthToRasters {s % none yet}def7/GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK" 1 rasters runlength 1 eq {RunLengthToRasters} ifi}def% )/int-dict-name {int (-dict) concatnam}def -/int-dict {int (-dict) concatnam cvx load}defr% /DefinePXLFont {E % ...b1 % ...[llx lly urx ury]DefinePXLFont C /newfont exch def /bb exch def /num exch def /psz exch def.C /dsz exch def /pxlmag exch def /ext exch def /int exch defe9 /fnam ext (-) concatnam pxlmag cvsstr cvs concatnam defC newfont not {  int-dict-name 13 dict def int-dict beginF /FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] defC /FontBBox bb TransformBBox def /Encoding CMEncodingArray defeI /CharDict 1 dict def CharDict begin /Char-Info num array def end  /BuildChar { PXLBuildCharDict begin, /char exch def /fontdict exch defB fontdict /CharDict get /Char-Info get char get aload pop2 /rasters exch def /PackedWord1 exch def+ 0 PackedWord1 UnpkHW 16#7FFF ne {8 /PackedWord2 exch def /wx 0 PackedWord1 UnpkHW defN /rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte defM /llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte defhM /urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def }{ %elsedG /PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def8J /wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW defI /cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW defNI /lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW defi) /ury 1 PackedWord4 UnpkHW defG } ifelse rows 0 lt {e( /rows rows neg def /runlength 1 def }{ %else  /runlength 0 defn } ifelsef wx 0. llx RasterConvert lly RasterConvert < urx RasterConvert ury RasterConvert setcachedevice rows 0 ne { gsave) cols rows true RasterScaleFactor TB 0 0 RasterScaleFactor neg llx .5 add neg ury .5 add : tempmatrix astore GenerateRasters imagemask grestore } if endE }def endg! fnam int-dict definefont pop N } if / int-dict-name fnam findfont psz scalefont def 3 currentdict int [ int-dict /setfont cvx ] cvx putD}def NA/PXLF { true DefinePXLFont}def % SIGNAL THAT FONT ALREADY LOADEDdF/PXLNF {false DefinePXLFont}def % SIGNAL THAT FONT NOT ALREADY LOADED%:/PXLC { % ...* % ...PXLCH /rasters exch def /runlength exch def /cols exch def /rows exch defG /ury exch def /urx exch def /lly exch def /llx exch def7 /wx exch def /code exch def /int exch def+ % SEE IF LONG OR SHORT FORMAT IS REQUIREDc? true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ o TackRunLengthToRows { / int-dict /CharDict get /Char-Info get code C [ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackBytenA 0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] putT }{ %else/ int-dict /CharDict get /Char-Info get code O? [ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHWIP 0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put } ifelse}def%h/CKSZ {abs 127 le and}deft@/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if}def% /PLOTC {K % PLOTC H /rasters exch def /runlength exch def /cols exch def /rows exch defG /ury exch def /urx exch def /lly exch def /llx exch defe6 /psz exch def /dsz exch def /wx exch def' % "PLOT" A CHARACTER'S RASTER PATTERNo rows 0 ne {o gsaves3 currentpoint translate psz dsz div dup scaleo> cols rows true RasterScaleFactor 0 0 RasterScaleFactor 6 neg llx .5 add neg ury .5 add tempmatrix astore GenerateRasters imagemaskp grestore } if wx x}def%i% set color routine: Color# SC6/SC {ColorPalette exch get 1.0 setcustomcolor}bind def%k %%EndPrologr %%BeginSetup/PxlResolution 300 def/Resolution 3600 def3/RasterScaleFactQ  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3QnGor PxlResolution Resolution div def/PortraitMode true def/PaperWidth 8.500 deft/PaperHeight 11.000 def072 Resolution div dup scale 8%> Postamble of file MG_SRC:[NETLIB]NETLIB_INST.DVI_PS.*% DefineFont:F152 Category:10 Pointsize:10H/NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE0/F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF*% DefineFont:F151 Category:10 Pointsize:10F/NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE//F151 500.0 /NewCenturySchlbk-Roman@DOCPSE DPSF0)% DefineFont:F102 Category:10 Pointsize:8a(/Courier /Courier@DOCPSE DOCPSE ReENCODE /F102 400.0 /Courier@DOCPSE DPSF(% DefineFont:F40 Category:10 Pointsize:96/Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE&/F40 450.0 /Helvetica-Bold@DOCPSE DPSF(% DefineFont:F38 Category:10 Pointsize:9,/Helvetica /Helvetica@DOCPSE DOCPSE ReENCODE!/F38 450.0 /Helvetica@DOCPSE DPSF_)% DefineFont:F36 Category:10 Pointsize:10e&/F36 500.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F34 Category:10 Pointsize:10 !/F34 500.0 /Helvetica@DOCPSE DPSFf)% DefineFont:F28 Category:10 Pointsize:12F&/F28 600.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F24 Category:10 Pointsize:14c&/F24 700.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F20 Category:10 Pointsize:18a&/F20 900.0 /Helvetica-Bold@DOCPSE DPSF)% DefineFont:F12 Category:10 Pointsize:30m'/F12 1500.0 /Helvetica-Bold@DOCPSE DPSF+%> Postamble of file NETLIB_INST_CONTENTS.c%Spot color array for this job/ColorPalette [ +0.0 0.0 0.0 1.0 (BLACK) findcmykcustomcoloru20.0 0.0 0.0 1.0 (USERTAGCOLOR) findcmykcustomcolor] defI %%EndSetup%K %%Page: (I) 1U%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYC0 SC 10773 10524 XY F20(NETLIB)S 167 x(Installat)S -2 x(ion)S 166 xcL(Guide)S 10773 13214 XY F36(November)S -27 x(,)S 166 x(1994)S 10773 15306 XYLF34(This)S 169 x(manual)S 168 x(describes)S 168 x(the)S 169 x(installation)SF168 x(of)S 169 x(NETLIB,)S 170 x(a)S 168 x(library)S 168 x(for)S 169 xF(writing)S 168 x(TCP/IP-)S 10773 X 598 y(based)S 166 x(network)S 166 xP(applications.)S 10773 19192 XY F36(Revision/)S 2 x(Update)S 166 x(Information)SI2 x(:)S 798 x F34(This)S 166 x(is)S 166 x(a)S 166 x(new)S 165 x(manual.)S H10773 X 896 y F36(Operating)S 167 x(System)S 166 x(and)S 166 x(V)S -27 xF(ersion:)S 300 x F34(V)S -37 x(AX/V)S 2 x(MS)S 178 x(V5.2)S 180 x(or)SE179 x(later;)S 185 x(OpenVMS)S 179 x(AXP)S 18546 X 598 y(V1.0)S 167 x0J(or)S 165 x(later)S 10773 X 897 y F36(Software)S 166 x(V)S -27 x(ersion:)SD18546 X F34(NETLIB)S 167 x(V2.0)S 10773 28662 XY F36(Matthew)S 166 x3(Madison)S 10773 X 697 y(MadGoat)S 166 x(Software)SdEP PP %%PageTraileru%%%PageFonts: Helvetica-Bold Helvetica%%PageProcessColors:%%PageCustomColors: (BLACK)0%o%%Page: (II) 2%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)s PaperHeight PaperWidth PM 0 0 XYF0 SC 10773 24123 XY 8364 48 R 10773 24671 XY F40(17)S 167 x(November)SF166 x(1994)S 10773 X 897 y F38(Permission)S 167 x(is)S 166 x(granted)SE167 x(to)S 166 x(copy)S 167 x(and)S 167 x(redistribute)S 166 x(this)StH166 x(documen)S 2 x(t)S 165 x(for)S 166 x(no)S 167 x(comme)S 2 x(rcial)SF165 x(gain.)S 10773 X 896 y(The)S 172 x(information)S 173 x(in)S 171 xE(this)S 172 x(documen)S 2 x(t)S 171 x(is)S 172 x(subject)S 172 x(to)SaH172 x(change)S 173 x(without)S 171 x(notice)S 172 x(and)S 173 x(should)SE172 x(not)S 10773 X 548 y(be)S 172 x(construed)S 173 x(as)S 171 x(a)S E172 x(commitmen)S 2 x(t)S 170 x(by)S 172 x(the)S 172 x(author)S -24 xxG(.)S 259 x(The)S 172 x(author)S 172 x(assume)S 2 x(s)S 171 x(no)S 172 xlF(respons)S 2 x(ibil)S -2 x(ity)S 10773 X 548 y(for)S 166 x(any)S 167 xC(errors)S 168 x(that)S 165 x(may)S 167 x(appea)S 2 x(r)S 166 x(in)SGF166 x(this)S 165 x(docum)S 2 x(ent.)S 10773 X 897 y F40(DISCLAI)S -2 xK(MER:)S 185 x F38(The)S 185 x(author)S -23 x(,)S 188 x(the)S 185 x(author)S G17 x(')S -8 x(s)S 185 x(employer)S -24 x(,)S 189 x(and)S 185 x(MadGoa)S-G2 x(t)S 184 x(Software)S 184 x(make)S 10773 X 548 y(no)S 173 x(repres)S E2 x(entations)S 172 x(or)S 173 x(warran)S 2 x(ties)S 172 x(wit)S -2 x C(h)S 173 x(respec)S 2 x(t)S 172 x(to)S 172 x(the)S 173 x(contents)SeJ173 x(hereof)S 173 x(and)S 174 x(speci\211cally)S 10773 X 548 y(disclaim)SL158 x(any)S 159 x(implied)S 158 x(warranties)S 159 x(of)S 158 x(merchantab)SH2 x(ili)S -2 x(ty)S 158 x(or)S 159 x(\211tness)S 158 x(for)S 159 x(any)SD159 x(particular)S 158 x(purpos)S 2 x(e.)S 10773 X 896 y(AXP)S -58 xF(,)S 198 x(DEC,)S 197 x(V)S -33 x(AX,)S 197 x(VMS,)S 199 x(and)S 198 xK(OpenVMS)S 199 x(are)S 199 x(tradema)S 2 x(rks)S 198 x(of)S 198 x(Digital)SaC197 x(Equipment)S 10773 X 548 y(Corporation.)S 10773 X 897 y(UNIX)SrE165 x(is)S 166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)S 166 x(Unix)S F166 x(System)S 166 x(Labor)S 2 x(atories,)S 166 x(Inc.)S 10773 X 897 yD(MultiNet)S 165 x(is)S 166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)SE166 x(TGV)S -42 x(,)S 166 x(Inc.)S 10773 X 896 y(TCPware)S 166 x(is)SPC166 x(a)S 166 x(tradema)S 2 x(rk)S 166 x(of)S 166 x(Process)S 167 x G(Software)S 167 x(Corporation.)S 10773 X 897 y(PathW)S -16 x(ay)S 166 x}E(is)S 166 x(a)S 166 x(tradem)S 2 x(ark)S 166 x(of)S 166 x(The)S 167 x4I(W)S -8 x(ollongong)S 167 x(Group,)S 166 x(Inc.)S 10773 X 896 y 3588 24 R H10773 36028 XY(Copyright)S 166 x(\251199)S 2 x(4)S 166 x(MadGoat)S 167 x@(Software.)S 249 x(All)S 165 x(Rights)S 165 x(Reserved)S 2 x(.)SEP PPr %%PageTrailer%%%PageFonts: Helvetica-Bold Helveticae%%PageProcessColors:%%PageCustomColors: (BLACK) %o<% < Beginning of included file NETLIB_INST_CONTENTS.DVI_PS >%%Page: (III) 3e%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)r PaperHeight PaperWidth PM 0 0 XYE0 SC 5094 4546 XY 23160 48 R 5094 5520 XY F20(Contents)S 7187 6812 XYuG21072 72 R 7187 7410 XY F36(PREF)S -27 x(ACE)S 27981 X(v)S 5094 9203 XYdE23160 144 R 5094 9900 XY F28(CHAPTER)S 164 x(1)S 599 x(PRE)S -2 x(P)SeI-44 x(ARING)S 165 x(T)S -11 x(O)S 167 x(INST)S -45 x(ALL)S 166 x(NETLIB)SnH27260 X(1\2031)S 7187 11096 XY 21072 72 R 7187 11693 XY F36(1.1)S 9279 XH(PREREQUISITE)S 167 x(SOFTW)S -27 x(ARE)S 27427 X(1\2031)S 7187 12889 XYJ21072 72 R 7187 13487 XY(1.2)S 9279 X(VMSCLUSTER)S 166 x(SUPPORT)S 27427 XD(1\2031)S 7187 14682 XY 21072 72 R 7187 15280 XY(1.3)S 9279 X(INST)SM-36 x(ALLA)S -37 x(TION)S 166 x(REQUIREMENTS)S 27427 X(1\2031)S 7187 16476 XYrE21072 72 R 7187 17073 XY(1.4)S 9279 X(RELEASE)S 166 x(NOTES)S 27427 XhE(1\2032)S 5094 18867 XY 23160 144 R 5094 19564 XY F28(CHAPTER)S 164 xfC(2)S 599 x(INST)S -45 x(ALLING)S 166 x(NETLIB)S 165 x(SYSTEM-WIDE)ScH27260 X(2\2031)S 7187 20760 XY 21072 72 R 7187 21357 XY F36(2.1)S 9279 XD(INVOKING)S 165 x(THE)S 166 x(INST)S -36 x(ALLA)S -37 x(TION)S 166 xD(PROCEDURE)S 27427 X(2\2031)S 7187 22553 XY 21072 72 R 7187 23151 XYJ(2.2)S 9279 X(POST)S -27 x(-INST)S -37 x(ALLA)S -36 x(TION)S 166 x(STEPS)SG27427 X(2\2031)S 9279 X 697 y(2.2.1)S 11371 X(Starting)S 167 x(NETLIB)SeO499 x 9852 24 R 27427 23848 XY(2\2032)S 5094 25641 XY 23160 144 R 5094 26339 XYcHF28(CHAPTER)S 164 x(3)S 599 x(INST)S -45 x(ALLING)S 166 x(NETLIB)S 165 xJ(FOR)S 166 x(PERSONA)S -2 x(L)S 166 x(USE)S 27260 X(3\2031)S 7187 27534 XYC21072 72 R 7187 28132 XY F36(3.1)S 9279 X(PERSONAL)S 165 x(NETLIB)SgL167 x(RESTRICTION)S 27427 X(3\2031)S 5094 29925 XY 23160 144 R 5094 30623 XYFF28(CHAPTER)S 164 x(4)S 599 x(ON-LINE)S 165 x(DOCUME)S -2 x(NT)S -44 xJ(A)S -45 x(TION)S 27260 X(4\2031)S 5094 32416 XY 23160 144 R 5094 33113 XYI(APPEND)S -2 x(IX)S 166 x(A)S 598 x(CMU)S 165 x(TCP/IP)S 165 x(CONSIDER)SxR  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qn^-N-2 x(A)S -44 x(TIONS)S 27161 X(A\2031)S 7187 34309 XY 21072 72 R 7187 34906 XYHF36(A.1)S 9279 X(DNS)S 165 x(RESOL)S -37 x(VER)S 27344 X(A\2031)S -416 x 36925 Y(iii)SoEP PPa %%PageTrailer %%PageFonts: Helvetica-Boldy%%PageProcessColors:%%PageCustomColors: (BLACK)m%m%%Page: (IV) 4%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)x PaperHeight PaperWidth PM 0 0 XYF0 SC 5094 1807 XY F28(Contents)S -496 x 4571 Y 21072 72 R 7187 5169 XYEF36(A.2)S 9279 X(BYP)S -37 x(ASSING)S 166 x(NAMRES)S 27344 X(A\2031)SrH5094 6962 XY 23160 144 R 5094 7560 XY F28(T)S -44 x(ABLES)S -255 x 698 yDF36(2)S(\203)S(1)S 9279 X(NETLIB_SHR)S 166 x(V)S -27 x(alues)S 499 x410920 24 R 27427 8258 XY(2\2032)S 5094 36925 XY(iv)SEP PPw %%PageTrailert%%PageFonts: Helvetica-Bold@%%PageProcessColors:%%PageCustomColors: (BLACK)b%t6% < End of included file NETLIB_INST_CONTENTS.DVI_PS > %%Page: (V) 5r%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)t PaperHeight PaperWidth PM 0 0 XYM0 SC 5094 4546 XY 23160 48 R 5094 5443 XY F20(Prefac)S -2 x(e)S 10773 7236 XYEHF151(There)S 187 x(are)S 186 x(several)S 186 x(TCP/IP)S 186 x(packages)SG186 x(available)S 186 x(for)S 186 x(VMS)S 185 x(systems)S 185 x(today)SeK-55 x(.)S 10773 X 598 y(Each)S 166 x(provides)S 167 x(a)S 166 x(VMS-style)SaF165 x(programming)S 168 x(interface,)S 166 x(using)S 167 x(the)S 167 xH($QIO)S 164 x(system)S 10773 X 598 y(service,)S 180 x(and)S 176 x(most)SF175 x(also)S 176 x(provide)S 176 x(a)S 176 x(`)S -9 x(`socket')S -10 xF(')S 176 x(programming)S 177 x(library)S -55 x(,)S 179 x(based)S 176 xD(on)S 10773 X 598 y(the)S 169 x(communications)S 170 x(model)S 168 xH(developed)S 170 x(for)S 169 x(BSD)S 168 x(UNIX.)S 168 x(Unfortunately)SF-54 x(,)S 170 x(there)S 10773 X 597 y(is)S 164 x(no)S 165 x(standard)SG165 x(among)S 165 x(all)S 164 x(of)S 165 x(the)S 165 x(packages)S 165 xoG(for)S 165 x(the)S 164 x($QIO-based)S 163 x(programming)S 10773 X 598 yG(interface)S 164 x(\(most,)S 164 x(but)S 164 x(not)S 164 x(all,)S 164 x.E(emulate)S 164 x(Digital')S -20 x(s,)S 165 x(at)S 163 x(least)S 163 xaD(to)S 164 x(some)S 163 x(degree\),)S 165 x(and)S 10773 X 598 y(the)SH166 x($QIO-based)S 165 x(interface)S 166 x(is)S 166 x(not)S 166 x(very)SG167 x(easy)S 166 x(to)S 166 x(use.)S 10773 X 897 y(The)S 182 x(socket)S4C180 x(libraries)S 181 x(provided)S 181 x(with)S 181 x(these)S 180 x1D(packages)S 182 x(provide)S 181 x(a)S 181 x(somewhat)S 10773 X 597 yE(easier)S -9 x(-to-use)S 202 x(programming)S 203 x(interface,)S 212 xiE(but)S 202 x(don')S -9 x(t)S 202 x(permit)S 201 x(VMS-style)S 10773 XpE598 y(asynchron)S 2 x(ous)S 175 x(programming)S 177 x(\(using)S 176 xiG(AST)S -31 x(s\),)S 178 x(and)S 175 x(generally)S 177 x(require)S 176 xuH(at)S 176 x(least)S 10773 X 598 y(a)S 178 x(re-LINK,)S 177 x(and)S 178 xG(sometimes)S 176 x(source)S 178 x(modi\211cations,)S 181 x(when)S 178 x(H(moving)S 179 x(from)S 177 x(one)S 10773 X 598 y(vendor)S 29 x(')S -19 xG(s)S 165 x(library)S 167 x(to)S 166 x(another)S -36 x(.)S 10773 X 896 yoE(NETLIB)S 167 x(was)S 166 x(originally)S 168 x(developed)S 168 x(to)S6K167 x(support)S 167 x(MadGoat)S 167 x(Software')S -20 x(s)S 167 x(Message)SeC10773 X 598 y(Exchang)S 2 x(e)S 171 x(mail)S 172 x(package,)S 174 xaE(which)S 172 x(needed)S 172 x(to)S 172 x(support)S 171 x(many)S 173 xaH(TCP/IP)S 172 x(packages)S 10773 X 598 y(doing)S 198 x(VMS-style)S 196 xK(asynchr)S 2 x(onous)S 197 x(programming.)S 313 x(NETLIB)S 197 x(provides)SoI197 x(a)S 10773 X 597 y(consistent,)S 195 x(VMS-style)S 188 x(interface)StJ190 x(for)S 189 x(TCP/IP-based)S 189 x(network)S 189 x(programs,)S 10773 XG598 y(operating)S 179 x(with)S 178 x(all)S 179 x(of)S 178 x(the)S 179 xSD(currently)S 180 x(available)S 178 x(TCP/IP)S 179 x(packages)S 179 xI(available)S 10773 X 598 y(today)S 178 x(for)S 177 x(VMS)S 178 x(\(with)SK177 x(one)S 177 x(minor)S 178 x(exception\).)S 273 x(In)S 178 x(addition,)S G181 x(NETLIB)S 177 x(allows)S 10773 X 598 y(for)S 174 x(\212exibility)S(H175 x(in)S 175 x(in)S 174 x(the)S 174 x(use)S 175 x(of)S 174 x(a)S 174 xC(TCP/IP)S 174 x(package,)S 178 x(by)S 175 x(selecting)S 174 x(the)SsG175 x(vendor)S -8 x(-)S 10773 X 598 y(dependent)S 167 x(library)S 166 xrF(code)S 166 x(at)S 166 x(run-time,)S 167 x(rather)S 167 x(than)S 166 xC(link-time.)S 5094 20138 XY 23160 96 R 5094 20835 XY F24(Intended)S)C166 x(Audience)S -533 x 897 y F151(This)S 183 x(manual)S 182 x(is)S G182 x(intended)S 183 x(for)S 183 x(system)S 182 x(managers)S 183 x(or)S-H182 x(users)S 183 x(responsible)S 182 x(for)S 10773 X 598 y(installing)SD166 x(and)S 167 x(setting)S 166 x(up)S 166 x(NETLIB.)S 5094 23359 XYG23160 96 R 5094 24057 XY F24(Document)S 166 x(Structure)S 10773 X 896 yDF151(This)S 201 x(document)S 201 x(consists)S 199 x(of)S 201 x(two)SC200 x(chapters.)S 318 x(Chapter)S 201 x(1)S 200 x(describes)S 200 x(D(the)S 10773 X 598 y(installation)S 177 x(of)S 177 x(NETLIB,)S 177 xE(the)S 178 x(network)S 178 x(interface)S 177 x(library)S 178 x(used)S6N177 x(by)S 178 x(NETLIB.)S 10773 X 598 y(Chapter)S 166 x(2)S 166 x(describes)SC166 x(the)S 166 x(installation)S 165 x(and)S 167 x(con\211gur)S 2 x9J(ation)S 166 x(of)S 166 x(NETLIB.)S 5094 27178 XY 23160 96 R 5094 27876 XYKF24(Related)S 165 x(Documents)S -804 x 896 y F151(The)S 186 x F152(NETLIB)S)J185 x(Programmer)S 28 x(')S -18 x(s)S 185 x(Guide)S 186 x F151(describes)SE185 x(how)S 185 x(to)S 185 x(use)S 186 x(NETLIB)S 185 x(and)S 10773 X6K598 y(provides)S 166 x(descriptions)S 166 x(of)S 166 x(the)S 166 x(NETLIB)S)(166 x(routines.)S 27981 36925 XY F36(v)SEP PPs %%PageTrailerf2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%+ NewCenturySchlbk-Italic(%%PageProcessColors:%%PageCustomColors: (BLACK) % %%Page: (VI) 6%DEC_EDMS_BlankPage,PP %%PageTrailer7 %%PageFonts:%%PageProcessColors:%%PageCustomColors:5%9%%Page: (1-1) 7M%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYN0 SC 2404 5875 XY F12(1)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(Preparing)SC165 x(to)S 165 x(Install)S 166 x(NETLIB)S 10773 8652 XY F151(This)S%H176 x(chapter)S 176 x(describes)S 176 x(the)S 176 x(steps)S 175 x(that)SF175 x(should)S 176 x(be)S 176 x(taken)S 176 x(prior)S 177 x(to)S 175 xL(installing)S 10773 X 598 y(NETLIB.)S 5094 10279 XY 23160 96 R 2404 10976 XYCF24(1.1)S 5094 X(Prerequisite)S 166 x(Software)S 10773 X 897 y F1514F(NETLIB)S 182 x(requires)S 182 x(V)S -56 x(AX/VMS)S 182 x(V5.2)S 182 xD(or)S 182 x(later)S -37 x(,)S 186 x(or)S 183 x(any)S 182 x(version)SC183 x(of)S 182 x(OpenVMS)S 10773 X 598 y(AXP)S -65 x(.)S 167 x(It)SEE165 x(supports)S 166 x(any)S 167 x(of)S 166 x(the)S 166 x(following)S7F166 x(TCP/IP)S 167 x(packages)S 167 x(for)S 166 x(VMS:)S 10773 X 896 yFF38(CMU)S 149 x(TCP/IP)S 20337 X(\(V)S -33 x(AX)S 150 x(only\))S 150 xC(V6.5)S 149 x(or)S 150 x(later)S 10773 X 748 y(DEC)S 149 x(TCP/IP)S4H148 x(Services)S 151 x(for)S 149 x(VMS)S 20337 X(V2.0)S 150 x(or)S 150 xH(later)S 10773 X 747 y(PathW)S -16 x(ay)S 150 x(from)S 150 x(The)S 150 xI(W)S -8 x(ollongong)S 150 x(Group)S 20337 X(any)S 150 x(version)S 10773 X7E747 y(TCPware)S 187 x(from)S 188 x(Process)S 188 x(Software)S 10773 XG548 y(Corporation)S 20337 X -548 y(any)S 150 x(version)S 10773 16904 XYOC(TGV)S 149 x(MultiNet)S 20337 X(any)S 150 x(version)S 10773 X 897 y2GF151(The)S 171 x(target)S 171 x(packages)S 171 x(do)S 171 x(not)S 170 x7I(have)S 172 x(to)S 170 x(be)S 170 x(installed)S 170 x(or)S 171 x(runnin)S F2 x(g)S 171 x(on)S 171 x(the)S 170 x(system)S 10773 X 598 y(in)S 179 xL(order)S 179S  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qn4< x(for)S 178 x(NETLIB)S 178 x(to)S 178 x(be)S 179 x(installed;)SC184 x(however)S -36 x(,)S 182 x(you)S 179 x(must)S 178 x(be)S 179 x7C(running)S 180 x(the)S 10773 X 597 y(target)S 166 x(package)S 167 xTE(before)S 167 x(any)S 166 x(NETLIB-based)S 165 x(applications)S 166 x5D(are)S 166 x(run.)S 5094 19943 XY 23160 96 R 2404 20640 XY F24(1.2)SE5094 X(VMScluster)S 166 x(Support)S 10773 X 897 y F151(NETLIB)S 166 x1K(supports)S 167 x(all)S 166 x(VMScluster)S 167 x(con\211gur)S 2 x(ations.)S1F250 x(For)S 168 x(mixed)S 167 x(V)S -56 x(AX)S 166 x(and)S 167 x(AXP)SD10773 X 598 y(cluster)S 173 x(con\211gu)S 2 x(rations,)S 175 x(you)SG173 x(must)S 173 x(install)S 172 x(NETLIB)S 172 x(twice,)S 175 x(once)SaG173 x(for)S 173 x(V)S -56 x(AX)S 172 x(and)S 10773 X 597 y(once)S 167 xKH(for)S 166 x(AXP)S -65 x(.)S 167 x(Different)S 165 x(directories)S 166 xJ(must)S 166 x(be)S 166 x(used)S 166 x(for)S 166 x(each)S 167 x(platform.)SG10773 X 897 y(If)S 176 x(you)S 176 x(are)S 176 x(runn)S 2 x(ing)S 176 x2I(different)S 176 x(TCP/IP)S 177 x(packages)S 176 x(on)S 176 x(different)S1C176 x(nodes)S 176 x(in)S 176 x(your)S 10773 X 598 y(cluster)S -37 x3I(,)S 163 x(you)S 163 x(can)S 162 x(still)S 161 x(install)S 161 x(NETLIB)S8E162 x(just)S 162 x(once)S 162 x(\(once)S 162 x(per)S 162 x(platform)S:M161 x(for)S 162 x(mixed)S 10773 X 598 y(V)S -56 x(AX/AXP)S 174 x(clusters\))SnC175 x(and)S 174 x(select)S 174 x(all)S 175 x(of)S 174 x(the)S 175 xaD(TCP/IP)S 175 x(packages)S 175 x(you)S 176 x(use)S 174 x(for)S 175 xE(the)S 10773 X 597 y(one)S 177 x(installation.)S 269 x(Follow)S 176 x5G(the)S 176 x(steps)S 176 x(described)S 176 x(in)S 176 x(Section)S 176 xSC(2.2)S 177 x(to)S 176 x(modify)S 176 x(the)S 10773 X 598 y(NETLIB)S8E174 x(startup)S 175 x(procedure)S 175 x(for)S 175 x(selecting)S 175 x G(the)S 175 x(appropriate)S 174 x(TCP/IP)S 176 x(support)S 10773 X 598 ymE(on)S 167 x(a)S 166 x(per)S -9 x(-node)S 166 x(basis.)S 5094 27564 XY(M23160 96 R 2404 28262 XY F24(1.3)S 5094 X(Installation)S 166 x(Requirements)SpJ10773 X 896 y F151(NETLIB)S 166 x(requires)S 166 x(the)S 166 x(following)SC166 x(resources:)S 10773 X 897 y(\201)S 595 x(Approximately)S 184 xhJ(3,000)S 184 x(\(V)S -56 x(AX\))S 183 x(or)S 184 x(4,000)S 184 x(\(AXP\))SG184 x(free)S 184 x(disk)S 183 x(blocks)S 184 x(on)S 184 x(the)S 11670 X7G598 y(installation)S 169 x(working)S 170 x(device)S 170 x(\(the)S 169 x C(system)S 169 x(disk,)S 171 x(or)S 169 x(the)S 170 x(device)S 170 x$H(speci\211ed)S 169 x(in)S 11670 X 597 y(the)S 166 x(A)S -46 x(WD)S 165 xH(option)S 166 x(for)S 166 x(VMSINST)S -28 x(AL\).)S 10773 X 897 y(\201)SE595 x(Approximately)S 175 x(1,000)S 174 x(disk)S 175 x(blocks)S 175 xdG(after)S 174 x(installation)S 174 x(on)S 175 x(the)S 175 x(disk)S 174 xrH(where)S 11670 X 598 y(NETLIB)S 172 x(is)S 172 x(installed)S 172 x(for)SJ173 x(common)S 173 x(\211les,)S 175 x(plus)S 172 x(an)S 173 x(additional)SF172 x(50)S 173 x(\(V)S -56 x(AX\))S 172 x(or)S 11670 X 598 y(\(100\))SH165 x(AXP)S 166 x(disk)S 166 x(blocks)S 166 x(per)S 166 x(TCP/IP)S 167 x8(package)S 167 x(selected.)S 27427 36925 XY F36(1\2031)SEP PP2 %%PageTrailer 2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetican%%PageProcessColors:%%PageCustomColors: (BLACK) %n%%Page: (1-2) 8l%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)S PaperHeight PaperWidth PM 0 0 XYK0 SC 5094 1807 XY F28(Preparing)S 167 x(to)S 166 x(Install)S 168 x(NETLIB)SrD10773 4866 XY F151(\201)S 595 x(If)S 153 x(NETLIB)S 154 x(is)S 154 xG(installed)S 153 x(system-wide,)S 156 x(you)S 155 x(will)S 154 x(need)S C154 x(3)S 154 x(global)S 155 x(sections)S 153 x(and)S 11670 X 598 yrD(14)S 171 x(\(V)S -56 x(AX\))S 171 x(or)S 171 x(1)S -27 x(12)S 171 xE(\(AXP\))S 170 x(global)S 172 x(pages)S 171 x(for)S 172 x(the)S 171 xhF(common)S 172 x(NETLIB)S 170 x(transfer)S 11670 X 598 y(vector)S 178 xK(library)S -55 x(,)S 182 x(plus)S 177 x(3)S 178 x(global)S 178 x(sections)SSE177 x(and)S 178 x(approximately)S 178 x(50)S 178 x(\(V)S -56 x(AX\))S C177 x(or)S 11670 X 597 y(210)S 166 x(\(AXP\))S 165 x(global)S 166 xtK(pages)S 166 x(for)S 167 x(each)S 166 x(TCP/IP-speci\211c)S 167 x(library)SD-55 x(.)S 10773 X 897 y(\201)S 595 x(Approximately)S 182 x(5)S 182 xG(to)S 182 x(20)S 182 x(mintues)S 182 x(for)S 182 x(installation)S 181 xI(time,)S 186 x(depending)S 184 x(on)S 11670 X 598 y(system)S 165 x(type)SD166 x(and)S 167 x(installation)S 165 x(media.)S 10773 X 896 y(\201)SD595 x(If)S 176 x(you)S 177 x(are)S 177 x(running)S 178 x(CMU)S 176 xH(TCP/IP)S -64 x(,)S 177 x(the)S 177 x(SYSGE)S -2 x(N)S 177 x(parameter)SE176 x(MAXBUF)S 11670 X 598 y(must)S 165 x(be)S 166 x(set)S 166 x(to)S M166 x(at)S 166 x(least)S 165 x(2300.)S 5094 10844 XY 23160 96 R 2404 11541 XY DF24(1.4)S 5094 X(Release)S 165 x(Notes)S 10773 X 897 y F151(NETLIB)SE182 x(is)S 182 x(provided)S 183 x(in)S 182 x(a)S 183 x(distribution)S)C182 x(kit)S 182 x(suitable)S 182 x(for)S 183 x(installation)S 182 x)G(with)S 10773 X 597 y(VMSINST)S -28 x(AL.)S 188 x(The)S 189 x(release)S)G188 x(notes)S 188 x(in)S 188 x(the)S 188 x(A)S 187 x(save)S 188 x(set)SgE188 x(of)S 188 x(the)S 188 x(distribution)S 10773 X 598 y(kit)S 177 xYG(describe)S 176 x(installation)S 176 x(requirements)S 177 x(for)S 177 xH(NETLIB.)S 176 x(Y)S -55 x(ou)S 176 x(can)S 177 x(retrieve)S 178 x(the)SD10773 X 598 y(release)S 166 x(notes)S 166 x(by)S 166 x(using)S 167 xC(OPTIONS)S 165 x(N)S 166 x(on)S 167 x(VMSINST)S -28 x(AL:)S 10773 XtJ897 y F102($)S 1 SC 239 x(@SYS$UPDATE:)S 2 x(VMSINSTAL)S 240 x(NETLIB020)SE240 x(load-device)S 240 x(OPTIONS)S 240 x(N)S 0 SC 10773 X 896 y F151SE(where)S 166 x F152(load-device)S 167 x F151(represents)S 166 x(the)SK166 x(location)S 166 x(of)S 166 x(the)S 166 x(NETLIB)S 166 x(installation)S2'165 x(kit.)S 5094 36925 XY F36(1\2032)SyEP PPh %%PageTrailerN2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman#%%+ Courier NewCenturySchlbk-Italic %%PageProcessColors:%%PageCustomColors: (BLACK)(%%+ (USERTAGCOLOR)%r%%Page: (2-1) 9s%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYO0 SC 2404 5875 XY F12(2)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(Installing)S(D166 x(NETLIB)S 166 x(System-)S -2 x(wide)S 10773 8652 XY F151(This)SQ170 x(chapter)S 170 x(describes)S 168 x(the)S 170 x(NETLIB)S 169 x(installation)S%G169 x(process)S 169 x(for)S 170 x(a)S 169 x(system-wide)S 10773 X 598 ycF(NETLIB)S 166 x(installation.)S 5094 10196 XY 23160 96 R 2404 10893 XYNF24(2.1)S 5094 X(Invoking)S 166 x(the)S 166 x(Installation)S 166 x(Procedure)SG10773 X 897 y F151(NETLIB)S 166 x(is)S 165 x(installled)S 166 x(using)STE166 x(the)S 167 x(VMSINST)S -28 x(AL)S 166 x(utility:)S 10773 X 897 y DF102($)S 1 SC 239 x(@SYS$UPDATE:)S 2 x(VMSINSTAL)S 240 x(NETLIB020)SL240 x(load-device)S 0 SC 10773 X 896 y F151(where)S 166 x F152(load-device)SE167 x F151(represents)S 166 x(the)S 166 x(location)S 166 x(of)S 166 x7F(the)S 166 x(NETLIB)S 166 x(installation)S 165 x(kit.)S 10773 14679 XYDF36(Install)S 2 x(ation)S 167 x(Questions)S 10773 X 897 y F151(The)SH168 x(NETLIB)S 167 x(installation)S 166 x(procedure)S 168 x(will)S 167 xC(ask)S 167 x(you)S 168 x(for)S 167 x(a)S 167 x(device)S 168 x(and)SwC167 x(directory)S 10773 X 598 y(speci\211cation)S 173 x(for)S 172 x3C(the)S 173 x(location)S 172 x(where)S 173 x(NETLIB)S 172 x(should)SyD173 x(be)S 172 x(installed,)S 174 x(and)S 172 x(will)S 10773 X 597 yG(ask)S 180 x(you)S 181 x(to)S 180 x(select)S 180 x(the)S 180 x(TCP/IP)S(C181 x(package)S 181 x(support)S 180 x(you)S 181 x(want)S 180 x(to)S0G179 x(install.)S 278 x(The)ST  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qn8K 10773 X 598 y(procedure)S 163 x(attempts)SeO160 x(to)S 162 x(select)S 162 x(automatically)S 161 x(the)S 163 x(appropriate)S0E161 x(TCP/IP)S 163 x(support)S 10773 X 598 y(for)S 166 x(your)S 167 x1G(system.)S 10773 X 897 y(Y)S -56 x(ou)S 188 x(will)S 187 x(next)S 188 x9J(be)S 187 x(asked)S 187 x(to)S 187 x(specify)S 187 x(a)S 188 x(directory)SC187 x(into)S 188 x(which)S 187 x(the)S 188 x(NETLIB)S 10773 X 597 yrH(libraries)S 169 x(will)S 168 x(be)S 168 x(installed.)S 255 x(If)S 168 xH(NETLIB)S 168 x(is)S 169 x(already)S 169 x(installed)S 168 x(and)S 169 xF(started,)S 169 x(the)S 10773 X 598 y(installation)S 170 x(procedure)SE172 x(will)S 170 x(provide)S 171 x(the)S 170 x(curren)S 2 x(t)S 170 x E(NETLIB)S 170 x(directory)S 172 x(location)S 10773 X 598 y(as)S 171 x D(the)S 171 x(default)S 170 x(answer;)S 174 x(otherwise,)S 172 x(it)SG170 x(will)S 170 x(use)S 171 x(SYS$COMMON:[SYS)S -2 x(LIB])S 171 x(as)S6M10773 X 598 y(the)S 175 x(default.)S 268 x(If)S 175 x(the)S 175 x(directory)S)D176 x(you)S 176 x(specify)S 175 x(does)S 175 x(not)S 176 x(already)SI175 x(exist,)S 178 x(it)S 175 x(will)S 174 x(be)S 10773 X 597 y(created)SF166 x(by)S 167 x(the)S 166 x(installation)S 166 x(procedure.)S 10773 XE897 y(After)S 183 x(selecting)S 184 x(a)S 183 x(directory)S -54 x(,)S H188 x(you)S 184 x(will)S 183 x(be)S 184 x(asked)S 183 x(if)S 183 x(you)SC185 x(want)S 183 x(the)S 183 x(NETLIB)S 10773 X 598 y(programming)SaG181 x(support)S 179 x(\211les)S 180 x(and)S 179 x(documentation)S 180 x)E(installed.)S 276 x(If)S 179 x(so,)S 183 x(you)S 181 x(will)S 10773 X(F597 y(be)S 172 x(asked)S 172 x(for)S 172 x(a)S 172 x(directory)S 172 xD(into)S 172 x(which)S 172 x(the)S 172 x(documentation)S 173 x(will)SC171 x(be)S 172 x(placed)S 172 x(\(the)S 10773 X 598 y(programming)SSC167 x(support)S 166 x(\211les)S 166 x(go)S 167 x(into)S 166 x(the)S(H166 x(NETLIB)S 166 x(library)S 166 x(directory\).)S 10773 X 897 y(Once)SD183 x(all)S 182 x(questions,)S 187 x(the)S 183 x(appropriate)S 183 xG(binaries)S 182 x(\(V)S -56 x(AX)S 182 x(or)S 183 x(AXP\))S 182 x(are)SSG183 x(loaded,)S 10773 X 598 y(and)S 194 x(the)S 194 x(requested)S 194 x H(libraries)S 193 x(are)S 194 x(created)S 194 x(and)S 194 x(moved)S 194 xL(to)S 194 x(the)S 194 x(directory)S 10773 X 597 y(you)S 180 x(speci\211ed.)SG277 x(If)S 179 x(you)S 180 x(elected)S 180 x(to)S 179 x(install)S 179 x0G(the)S 180 x(programming)S 181 x(support)S 179 x(and/or)S 10773 X 598 y4G(documentation,)S 176 x(those)S 173 x(\211les)S 172 x(will)S 173 x(be)SxG173 x(loaded)S 172 x(and)S 173 x(moved)S 174 x(into)S 173 x(the)S 173 xSD(appropriate)S 10773 X 598 y(directories.)S 5094 28776 XY 23160 96 RH2404 29474 XY F24(2.2)S 5094 X(Post-Installation)S 166 x(Steps)S 10773 XI896 y F151(If)S 169 x(you)S 169 x(have)S 170 x(installed)S 168 x(NETLIB)S8H169 x(with)S 168 x(support)S 169 x(for)S 169 x(multiple)S 168 x(TCP/IP)SC170 x(packages,)S 10773 X 598 y(you)S 198 x(should)S 198 x(review)S0C197 x(the)S 198 x(startup)S 197 x(command)S 197 x(procedure)S 198 x D(created)S 198 x(by)S 197 x(the)S 10773 X 598 y(installation)S 173 xC(to)S 174 x(ensure)S 174 x(that)S 174 x(the)S 174 x(correct)S 174 x(D(TCP/IP)S 174 x(support)S 174 x(has)S 174 x(been)S 174 x(selected.)SC10773 X 598 y(For)S 159 x(VMScluster)S 158 x(environ)S 2 x(ments,)S H160 x(you)S 159 x(should)S 159 x(customize)S 158 x(the)S 159 x(startup)SE158 x(procedure)S 10773 X 597 y(to)S 166 x(select)S 166 x(the)S 166 x\F(appropriate)S 166 x(TCP/IP)S 166 x(support)S 166 x(for)S 166 x(each)SF167 x(node)S 166 x(in)S 167 x(your)S 167 x(cluster)S -37 x(.)S 10773 XE897 y(The)S 205 x(name)S 205 x(of)S 204 x(the)S 205 x(startup)S 204 xiD(procedure)S 206 x(is)S 204 x(SYS$ST)S -28 x(ARTUP:NETLIB_)S 10773 XE598 y(ST)S -27 x(ARTUP)S -65 x(.COM.)S 188 x(TCP/IP)S 187 x(support)S)D187 x(is)S 186 x(selected)S 186 x(throug)S 2 x(h)S 187 x(the)S 187 xG(de\211nition)S 187 x(of)S 10773 X 598 y(the)S 180 x(NETLIB_SHR)S 178 x6H(logical)S 180 x(name.)S 276 x(The)S 180 x(translation)S 180 x(strings)SD179 x(for)S 180 x(selecting)S 179 x(a)S 10773 X 597 y(TCP/IP)S 167 xF(package)S 167 x(are)S 166 x(shown)S 166 x(in)S 166 x(T)S -30 x(able)S1166 x(2)S(\203)S(1.)S 27427 36925 XY F36(2\2031)S(EP PP1 %%PageTrailer(2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman#%%+ Courier NewCenturySchlbk-Italic %%PageProcessColors:%%PageCustomColors: (BLACK) %%+ (USERTAGCOLOR)%%%Page: (2-2) 10%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)r PaperHeight PaperWidth PM 0 0 XYJ0 SC 5094 1807 XY F28(Insta)S 2 x(lling)S 167 x(NETLIB)S 165 x(System-wi)SF2 x(de)S 10773 5094 XY F36(T)S -36 x(able)S 166 x(2)S(\203)S(1)S 498 xE(NETLI)S 2 x(B_SHR)S 165 x(V)S -27 x(alues)S 10773 X 399 y 17484 48 R2H10773 5991 XY F40(T)S -25 x(ranslation)S 150 x(String)S 20337 X(TCP/IP)SG149 x(Package)S 150 x(Selected)S 10773 X 299 y 17484 48 R 10773 6888 XYSCF38(NETLIB_DIR:N)S -2 x(ETLIB_CMU_SHR)S 20337 X(CMU)S 150 x(TCP/I)S H-2 x(P)S 10773 X 747 y(NETLIB_DIR:N)S -2 x(ETLIB_MUL)S -32 x(TINET_SHR)SJ20337 X(TGV)S 149 x(MultiNet)S 10773 X 747 y(NETLIB_DIR:N)S -2 x(ETLIB_P)SI-33 x(A)S -33 x(THW)S -17 x(A)S -33 x(Y_SHR)S 20337 X(TWG)S 150 x(PathW)StI-17 x(ay)S 10773 X 747 y(NETLIB_DIR:N)S -2 x(ETLIB_TCPW)S -16 x(ARE_SHR)S1O20337 X(PSC)S 149 x(TCPware)S 10773 X 747 y(NETLIB_DIR:N)S -2 x(ETLIB_UCX_SHR)S8F20337 X(DEC)S 149 x(TCP/IP)S 149 x(Services)S 10773 X 399 y 17484 48 RC5094 11470 XY 9564 48 R 2404 12168 XY F24(2.2.1)S 5094 X(Starting)SwG167 x(NETLIB)S 359 x 897 y F151(Once)S 184 x(NETLIB)S 184 x(has)S 183 x8E(been)S 185 x(installed,)S 188 x(it)S 184 x(should)S 184 x(be)S 184 xJ(started)S 183 x(by)S 185 x(invoking)S 185 x(its)S 10773 X 597 y(startup)SD166 x(command)S 166 x(procedure:)S 10773 X 897 y F102($)S 1 SC 239 xD(@SYS$STARTUP)S 2 x(:NETLIB_STARTUP)S 0 SC 10773 X 897 y F151(This)SC169 x(should)S 168 x(be)S 168 x(done)S 169 x(from)S 168 x(a)S 168 x7O(suitably)S 169 x(privileged)S 169 x(account.)S 255 x(This)S 168 x(invocation)S1G169 x(of)S 10773 X 597 y(NETLIB_ST)S -28 x(ARTUP)S 161 x(should)S 162 x(G(also)S 161 x(be)S 161 x(added)S 161 x(to)S 161 x(your)S 162 x(system)SSH161 x(startup)S 160 x(command)S 10773 X 598 y(procedure.)S 5094 36925 XY F36(2\2032)SEP PP %%PageTrailerE%%%PageFonts: Helvetica-Bold Helvetica."%%+ NewCenturySchlbk-Roman Courier%%PageProcessColors:%%PageCustomColors: (BLACK)C%%+ (USERTAGCOLOR)% %%Page: (3-1) 11%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)O PaperHeight PaperWidth PM 0 0 XYO0 SC 2404 5875 XY F12(3)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(Installing)SHM166 x(NETLIB)S 166 x(for)S 166 x(Perso)S -2 x(nal)S 166 x(Use)S 10773 8652 XY0FF151(If)S 176 x(you)S 176 x(are)S 177 x(not)S 176 x(a)S 176 x(system)SG175 x(manager)S 177 x(but)S 176 x(still)S 175 x(want)S 175 x(to)S 176 x F(use)S 176 x(NETLIB,)S 176 x(you)S 177 x(can)S 10773 X 598 y(install)SI173 x(a)S 174 x(copy)S 175 x(of)S 174 x(NETLIB)S 173 x(for)S 174 x(your)S4C175 x(own)S 174 x(personal)S 174 x(use.)S 266 x(T)S -46 x(o)S 174 x(F(do)S 174 x(this,)S 176 x(create)S 174 x(a)S 10773 X 597 y(temporary)SE167 x(working)S 167 x(directory)S 166 x(and)S 167 x(SET)S 165 x(DEF)SSC-37 x(AUL)S -28 x(T)S 167 x(to)S 166 x(it:)S 10773 X 897 y F102($)SSG1 SC 239 x(CREATE/DIREC)S 2 x(TORY)S 239 x([.TEMP])S 0 SC 10773 X 448 y1H($)S 1 SC 239 x(SET)S 240 x(DEFAULT)S 240 x([.TEMP])S 0 SC 10773 X 897 yCF151(Next,)S 194 x(unload)S 187 x(the)S 188 x(contents)S 187 x(of)S)G188 x(the)S 187 x(NETLIB)S 187 x(save)S 187 x(sets)S 187 x(into)S 187 xoF(the)S 188 x(working)S 10773 X 598 y(directory)S -54 x(.)S 2U  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3QnZ49 x(All)SH166 x(installations)S 165 x(require)S 167 x(the)S 166 x(A)S 165 x(save)SO167 x(set:)S 10773 X 896 y F102($)S 1 SC 239 x(BACKUP)S 240 x(disk:[dir]NETLI)ScD2 x(B020.A/SAVE)S 240 x([])S 0 SC 10773 X 897 y F151(For)S 167 x(V)SG-56 x(AX)S 165 x(systems,)S 166 x(you)S 167 x(will)S 165 x(need)S 167 x)F(the)S 166 x(B)S 166 x(save)S 166 x(set:)S 10773 X 897 y F102($)S 1 SCC239 x(BACKUP)S 240 x(disk:[dir]NETLI)S 2 x(B020.B/SAVE)S 240 x([])S(F0 SC 10773 X 896 y F151(For)S 167 x(AXP)S 165 x(systems,)S 166 x(you)SI167 x(will)S 165 x(need)S 167 x(the)S 166 x(C)S 165 x(save)S 167 x(set:)SaF10773 X 897 y F102($)S 1 SC 239 x(BACKUP)S 240 x(disk:[dir]NETLI)S 2 xH(B020.C/SAVE)S 240 x([])S 0 SC 10773 X 897 y F151(Next,)S 167 x(invoke)SK167 x(the)S 166 x(user)S -8 x(-install)S 165 x(command)S 166 x(procedure:)SsD10773 X 896 y F102($)S 1 SC 239 x(@NETLIB_USER)S 2 x(_INSTALL)S 0 SCF10773 X 897 y F151(Answer)S 177 x(the)S 177 x(questions)S 177 x(from)SG178 x(the)S 177 x(installation)S 177 x(script)S 177 x(and)S 177 x(the)SyD178 x(NETLIB)S 177 x(\211les)S 10773 X 598 y(will)S 157 x(be)S 158 xK(created.)S 250 x(Once)S 158 x(the)S 158 x(installation)S 157 x(procedure)StC159 x(is)S 158 x(complete,)S 160 x(you)S 158 x(can)S 159 x(delete)S(K10773 X 597 y(the)S 166 x(\211les)S 166 x(and)S 167 x(the)S 166 x(working)S1J167 x(directory:)S 10773 X 897 y F102($)S 1 SC 239 x(SET)S 240 x(DEFAULT)SK240 x([-])S 0 SC 10773 X 448 y($)S 1 SC 239 x(DELETE)S 240 x([.TEMP]*.*;*)S7G0 SC 10773 X 449 y($)S 1 SC 239 x(SET)S 240 x(PROTECTION=O:RWED)S 241 x5H(TEMP.DIR)S 0 SC 10773 X 448 y($)S 1 SC 239 x(DELETE)S 240 x(TEMP.DIR;)SF0 SC 10773 X 897 y F151(If)S 175 x(you)S 176 x(want)S 175 x(to)S 175 xF(use)S 176 x(the)S 175 x(programming)S 177 x(support)S 175 x(\211les)SD175 x(or)S 175 x(documentation,)S 179 x(use)S 10773 X 597 y(BACKUP)SE165 x(to)S 166 x(retrieve)S 166 x(them)S 167 x(from)S 166 x(saveset)S E165 x(NETLIB020.D.)S 5094 25821 XY 23160 96 R 2404 26518 XY F24(3.1)S)G5094 X(Personal)S 166 x(NETLIB)S 165 x(Restriction)S 10773 X 897 y F151xE(Y)S -56 x(ou)S 171 x(cannot)S 171 x(use)S 170 x(a)S 170 x(personal)SxE170 x(NETLIB)S 170 x(with)S 169 x(NETLIB-based)S 169 x(applications)SoE170 x(that)S 10773 X 598 y(are)S 166 x(installed)S 166 x(with)S 165 x7*(privileges.)S 27427 36925 XY F36(3\2031)SEP PP1 %%PageTrailerS2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courierd%%PageProcessColors:%%PageCustomColors: (BLACK) %%+ (USERTAGCOLOR)%e%%Page: (3-2) 12%DEC_EDMS_BlankPage)PP %%PageTrailer( %%PageFonts:%%PageProcessColors:%%PageCustomColors:)%0%%Page: (4-1) 13%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend)4 PaperHeight PaperWidth PM 0 0 XYL0 SC 2404 5875 XY F12(4)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(On-Line)SE165 x(Documenta)S -2 x(tion)S 10773 8652 XY F151(The)S 166 x(NETLIB)StC165 x(documentation)S 167 x(set)S 165 x(is)S 165 x(provided)S 166 x4E(in)S 166 x(a)S 165 x(form)S 166 x(suitable)S 165 x(for)S 165 x(use)S)G166 x(with)S 10773 X 598 y(the)S 182 x(VMS)S 182 x(DECw)S -2 x(indows)S C182 x(Bookreader)S 182 x(program)S 183 x(\(VMS)S 182 x(V5.3)S 182 x6F(and)S 182 x(later\).)S 281 x(T)S -45 x(o)S 10773 X 597 y(make)S 169 xM(the)S 169 x(NETLIB)S 169 x(on-line)S 169 x(documentation)S 169 x(available)S8F169 x(automatically)S 169 x(through)S 10773 X 598 y(Bookreader)S -36 xG(,)S 184 x(you)S 182 x(should)S 181 x(add)S 180 x(a)S 181 x(reference)SG181 x(to)S 180 x(the)S 181 x(directory)S 182 x(containing)S 181 x(the)SeF10773 X 598 y(documentation)S 176 x(\(if)S 175 x(you)S 176 x(elected)SE175 x(to)S 175 x(install)S 175 x(those)S 175 x(\211les\))S 175 x(to)S)C175 x(the)S 175 x(DECW$B)S -2 x(OOK)S 10773 X 598 y(logical)S 167 x $(name.)S 27427 36925 XY F36(4\2031)SEP PPS %%PageTrailer2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman%%PageProcessColors:%%PageCustomColors: (BLACK) %o%%Page: (4-2) 14%DEC_EDMS_BlankPageaPP %%PageTrailerT %%PageFonts:%%PageProcessColors:%%PageCustomColors:o%S%%Page: (A-1) 15%%PageFonts: (atend)%%PageProcessColors: (atend)%%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XYH0 SC 2404 5875 XY F12(A)S 5094 4546 XY 23160 48 R 5094 5443 XY F20(CMU)SF167 x(TCP/IP)S 167 x(Considerat)S -2 x(ions)S 10773 8652 XY F151(All)SC173 x(of)S 174 x(the)S 173 x(TCP/IP)S 175 x(packages)S 174 x(that)S1K173 x(NETLIB)S 173 x(supports,)S 176 x(with)S 173 x(the)S 174 x(exception)SSC174 x(of)S 10773 X 598 y(CMU)S 168 x(TCP/IP)S -64 x(,)S 169 x(are)S(E168 x(already)S 169 x(based)S 167 x(on)S 169 x(the)S 168 x(Berkeley)SeF169 x(socket)S 168 x(model)S 168 x(for)S 168 x(network)S 10773 X 597 yH(programming,)S 167 x(and)S 166 x(all)S 166 x(except)S 166 x(CMU)S 165 xC(use)S 165 x(the)S 166 x(BIND)S 165 x(\(Berkeley)S 166 x(Internet)ScH166 x(Name)S 10773 X 598 y(Daemon\))S 166 x(software)S 165 x(for)S 166 xK(performing)S 167 x(domain)S 166 x(name)S 166 x(resolution.)S 5094 11392 XY(C23160 96 R 2404 12089 XY F24(A.1)S 5094 X(DNS)S 166 x(Resolv)S -2 xYG(er)S 10773 X 897 y F151(Emulating)S 191 x(sockets)S 190 x(over)S 191 xiG(CMU)S 190 x(TCP/IP)S 191 x(is)S 190 x(not)S 191 x(dif\211cult,)S 197 xxC(but)S 191 x(due)S 191 x(to)S 190 x(the)S 10773 X 597 y(way)S 188 x J(the)S 188 x(CMU)S 188 x(name)S 189 x(resolver)S -37 x(,)S 194 x(NAMRES,)SJ188 x(is)S 187 x(implemented,)S 194 x(performing)S 10773 X 598 y(BIND-st)SK-2 x(yle)S 172 x(queries)S 171 x(requires)S 171 x(some)S 171 x(additional)SSC171 x(setup)S 171 x(over)S 171 x(the)S 172 x(other)S 171 x(TCP/IP)S3C10773 X 598 y(packages.)S 279 x(The)S 181 x(list)S 180 x(of)S 180 xSE(DNS)S 180 x(servers)S 180 x(that)S 181 x(NAMRES)S 179 x(uses)S 180 xhF(is)S 180 x(not)S 181 x(available)S 10773 X 598 y(to)S 174 x(NETLIB,)SE175 x(so)S 174 x(you)S 175 x(must)S 174 x(de\211ne)S 175 x(an)S 175 x F(additional)S 174 x(logical)S 175 x(name)S 174 x(for)S 175 x(NETLIB')SG-19 x(s)S 10773 X 597 y(DNS_QUER)S -20 x(Y)S 166 x(routine)S 166 x(to)S4C166 x(be)S 166 x(used:)S 10773 X 897 y F102($)S 1 SC 239 x(DEFINE)S F240 x(NETLIB_NAMESERV)S 2 x(ERS)S 239 x("x.x.x.x")S 0 SC 10773 X 897 yHF151(Where)S 174 x(`)S -9 x(`x.x.)S 2 x(x.x')S -8 x(')S 173 x(is)S 174 xC(the)S 174 x(dotted-decimal)S 173 x(IP)S 174 x(address)S 174 x(of)SyM174 x(the)S 174 x(name)S 174 x(server)S 175 x(that)S 10773 X 597 y(DNS_QUER)SFF-20 x(Y)S 180 x(should)S 180 x(use.)S 278 x(Y)S -56 x(ou)S 180 x(may)SH181 x(specify)S 180 x(more)S 180 x(than)S 181 x(one)S 180 x(nameserver)SE-36 x(,)S 10773 X 598 y(by)S 173 x(de\211ning)S 174 x(NETLIB_NAMESE)S1D-2 x(R)S -18 x(VERS)S 171 x(as)S 172 x(a)S 172 x(search-list)S 172 xI(logical)S 173 x(name.)S 262 x(The)S 10773 X 598 y(logical)S 185 x(name)SdH184 x(should)S 184 x(be)S 184 x(de\211ned)S 185 x(in)S 184 x(the)S 184 xE(system)S 184 x(logical)S 184 x(name)S 184 x(table)S 184 x(to)S 184 xcD(be)S 10773 X 598 y(available)S 166 x(to)S 166 x(all)S 166 x(users)SM166 x(on)S 166 x(the)S 167 x(system.)S 5094 21105 XY 23160 96 R 2404 21802 XYoCF24(A.2)S 5094 X(Bypassing)S 165 x(NAMRES)S 10773 X 897 y F151(By)S1F186 x(default,)S 191 x(NETLIB')S -19 x(s)S 186 x(support)S 185 x(for)SC186 x(the)S 187 x(CMU)S 185 x(TCP/IP)S 187 x(package)S 187 x(uses)SC185 x(the)S 10773 X 598 y(native)S 182 x(NAMRES)S 180 x(for)S 181 xSE(all)S 181 x(name)S 181 x(and)S 181 x(address)S 181 x(lookups)S 181 x F(\(routines)S 181 x(NETLIB_)S 10773 X 598 y(NAME_TO_ADD)S -2 x(RESS,)SC178 x(NETLIB_ADD)S -2 x(RESS_TO_NAME,)S 177 x(and)S 179 x(NETLIB_)SxH10773 X 597 y(DNS_MX_LOOK)S -2 x(UP\).)S 189 x(However)S -37 x(,)S 194 xG(you)S 189 x(can)S 188 x(con\211g)S 2 x(ure)S 188 x(NETLIBV  NETLIB020.DyA [NETLIB]NETLIB_INST.PS;3Qn,K i)S 188 x(to)SyC187 x(bypass)S 10773 X 598 y(NAMRES)S 174 x(and)S 175 x(use)S 176 xEC(NETLIB')S -20 x(s)S 175 x(name)S 175 x(resolver)S 176 x(routines)S(G175 x(instead)S 175 x(by)S 175 x(de\211ning)S 10773 X 598 y(the)S 166 x4C(logical)S 167 x(name:)S 10773 X 897 y F102($)S 1 SC 239 x(DEFINE)S3G240 x(NETLIB_BYPASS_C)S 2 x(MU_RESOLVER)S 240 x(anyvalue)S 0 SC 10773 XoD896 y F151(The)S 187 x(NETLIB_NAMESER)S -20 x(VERS)S 185 x(logical)SN187 x(name)S 187 x F152(must)S 187 x(also)S 186 x F151(be)S 187 x(de\211ned.)SI291 x(If)S 10773 X 598 y(the)S 186 x(above)S 186 x(logical)S 187 x(name)SO186 x(is)S 185 x(de\211ned,)S 192 x(NETLIB)S 185 x(will)S 185 x(automatically)SC186 x(bypass)S 10773 X 598 y(NAMRES)S 165 x(and)S 166 x(use)S 166 xF(its)S 166 x(own)S 166 x(resolver)S 166 x(routines)S 167 x(for)S 166 xH(all)S 166 x(lookups.)S 10773 X 896 y(Please)S 186 x(note)S 187 x(that)SG186 x(NETLIB')S -19 x(s)S 186 x(name)S 186 x(resolver)S -36 x(,)S 192 xCE(unlike)S 187 x(NAMRES,)S 186 x F152(does)S 187 x(not)S 10773 X 598 y FF151(cache)S 169 x(the)S 168 x(results)S 167 x(it)S 167 x(gets)S 168 xG(\(this)S 167 x(is)S 168 x(typical)S 168 x(behavior)S 168 x(for)S 168 xBL(BIND-style)S 167 x(resolvers\).)S 10773 X 598 y(Bypassing)S 187 x(NAMRES,)SE185 x(therefore,)S 193 x(can)S 187 x(increase)S 187 x(network)S 186 xC(traf\211c)S 187 x(for)S 186 x(DNS)S 10773 X 598 y(lookups.)S 250 xD(For)S 165 x(this)S 164 x(reason,)S 165 x(when)S 165 x(using)S 165 xG(bypass)S 164 x(mode,)S 166 x(you)S 165 x(should)S 165 x(ensure)S 165 xyF(that)S 10773 X 597 y(NETLIB_NAMESER)S -20 x(VERS)S 169 x(references)SH172 x(only)S 171 x(name)S 171 x(servers)S 171 x(that)S 171 x(are)S 171 xG(on)S 171 x(your)S 10773 X 598 y(local)S 166 x(network.)S 10773 X 897 yE(In)S 175 x(addition,)S 178 x(bypassing)S 176 x(NAMRES)S 174 x(will)SnF174 x(cause)S 175 x(name)S 176 x(lookups)S 175 x(to)S 175 x(be)S 175 xG(resolved)S 10773 X 598 y F152(only)S 173 x F151(throug)S 2 x(h)S 173 xTF(the)S 173 x(Domain)S 173 x(Name)S 172 x(System.)S 263 x(Local)S 174 xF(host)S 173 x(table)S 172 x(de\211nitions)S 173 x(will)S 10773 X 597 y@(not)S 166 x(be)S 166 x(available.)S 27344 36925 XY F36(A\2031)SEP PP7 %%PageTrailer2%%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman#%%+ Courier NewCenturySchlbk-Italicd%%PageProcessColors:%%PageCustomColors: (BLACK)%%+ (USERTAGCOLOR)%v%%Page: (A-2) 16%DEC_EDMS_BlankPageePP %%PageTrailerB %%PageFonts:%%PageProcessColors:%%PageCustomColors:)%0 %%Trailera %%Pages: 16L%%BoundingBox: 0 0 612 792(%%DocumentFonts: NewCenturySchlbk-Italic1%%+ NewCenturySchlbk-Roman Courier Helvetica-Bold %%+ Helveticax.%%DocumentNeededFonts: NewCenturySchlbk-Italic1%%+ NewCenturySchlbk-Roman Courier Helvetica-Boldd %%+ Helvetica %%DocumentProcessColors:%%DocumentCustomColors: (BLACK)%%+ (USERTAGCOLOR)*%%CMYKCustomColor: 0.0 0.0 0.0 1.0 (BLACK)"%%+ 0.0 0.0 0.0 1.0 (USERTAGCOLOR)%DVC$PSJob restore end %DEC_DVC$dictTend %Color5044Dict%3%%EOFEC_EDMS_BlankPage)PP %%PageTrailer( %%W  NETLIB020.D\A [NETLIB]NETLIB_INST.TXT;3R?-*[NETLIB]NETLIB_INST.TXT;3+,\.-/ @ 4R-+@?-A 0123KPWO.56y){7~mu){8D&9G @HJ # NETLIB Installation Guide November, 1994= This manual describes the installation of NETLIB, a@ library for writing TCP/IP-based network applications.= Revision/Update Information: This is a new manual.> Operating System and Version: VAX/VMS V5.2 or later;A OpenVMS AXP V1.0 or later3 Software Version: NETLIB V2.0 Matthew Madison MadGoat Software  " ________________________ 17 November 1994= Permission is granted to copy and redistribute this* document for no commercial gain.? The information in this document is subject to change9 without notice and should not be construed as a9 commitment by the author. The author assumes no? responsibility for any errors that may appear in this document.< DISCLAIMER: The author, the author's employer, and@ MadGoat Software make no representations or warranties> with respect to the contents hereof and specifically? disclaim any implied warranties of merchantability or- fitness for any particular purpose.; AXP, DEC, VAX, VMS, and OpenVMS are trademarks of( Digital Equipment Corporation.? UNIX is a trademark of Unix System Laboratories, Inc.. MultiNet is a trademark of TGV, Inc.4 TCPware is a trademark of Process Software Corporation.> PathWay is a trademark of The Wollongong Group, Inc. __________@ Copyright 1994 MadGoat Software. All Rights Reserved.  A _______________________________________________________ ContentsA _________________________________________________A PREFACE vA _______________________________________________________A CHAPTER 1 PREPARING TO INSTALL NETLIB 1-1A _________________________________________________A 1.1 PREREQUISITE SOFTWARE 1-1A _________________________________________________A 1.2 VMSCLUSTER SUPPORT 1-1A _________________________________________________A 1.3 INSTALLATION REQUIREMENTS 1-2A _________________________________________________A 1.4 RELEASE NOTES 1-3A _______________________________________________________A CHAPTER 2 INSTALLING NETLIB SYSTEM-WIDE 2-1A _________________________________________________A 2.1 INVOKING THE INSTALLATION PROCEDURE 2-1A _________________________________________________A 2.2 POST-INSTALLATION STEPS 2-2A 2.2.1 Starting NETLIB _______________ 2-3A iii   ContentsA _______________________________________________________A CHAPTER 3 INSTALLING NETLIB FOR PERSONAL USE 3-1A _________________________________________________A 3.1 PERSONAL NETLIB RESTRICTION 3-2A _______________________________________________________A CHAPTER 4 ON-LINE DOCUMENTATION 4-1A _______________________________________________________A APPENDIX A CMU TCP/IP CONSIDERATIONS A-1A _________________________________________________A A.1 DNS RESOLVER A-1A _________________________________________________A A.2 BYPASSING NAMRES A-2A _______________________________________________________ TABLESA 2-1 NETLIB_SHR Values _____________ 2-2 iv  A _______________________________________________________ Preface= There are several TCP/IP packages available for VMS> systems today. Each provides a VMS-style programming< interface, using the $QIO system service, and most< also provide a "socket" programming library, based= on the communications model developed for BSD UNIX.> Unfortunately, there is no standard among all of the; packages for the $QIO-based programming interface< (most, but not all, emulate Digital's, at least to@ some degree), and the $QIO-based interface is not very easy to use.; The socket libraries provided with these packages6 provide a somewhat easier-to-use programming< interface, but don't permit VMS-style asynchronous< programming (using ASTs), and generally require at> least a re-LINK, and sometimes source modifications,; when moving from one vendor's library to another.< NETLIB was originally developed to support MadGoat9 Software's Message Exchange mail package, which; needed to support many TCP/IP packages doing VMS-; style asynchronous programming. NETLIB provides a: consistent, VMS-style interface for TCP/IP-based? network programs, operating with all of the currently; available TCP/IP packages available today for VMS@ (with one minor exception). In addition, NETLIB allows< for flexibility in in the use of a TCP/IP package,; by selecting the vendor-dependent library code at* run-time, rather than link-time.L __________________________________________________________________ Intended Audience> This manual is intended for system managers or users; responsible for installing and setting up NETLIB.A v   PrefaceL __________________________________________________________________ Document Structure; This document consists of two chapters. Chapter 1; describes the installation of NETLIB, the network? interface library used by NETLIB. Chapter 2 describes7 the installation and configuration of NETLIB.L __________________________________________________________________ Related Documents8 The NETLIB Programmer's Guide describes how to< use NETLIB and provides descriptions of the NETLIB routines.X  NETLIB020.D\A [NETLIB]NETLIB_INST.TXT;3R?-҇ vi  A _______________________________________________________% 1 Preparing to Install NETLIB? This chapter describes the steps that should be taken% prior to installing NETLIB.L __________________________________________________________________ 1.1 Prerequisite Software? NETLIB requires VAX/VMS V5.2 or later, or any version: of OpenVMS AXP. It supports any of the following" TCP/IP packages for VMS:> CMU TCP/IP (VAX only) V6.5 or later3 DEC TCP/IP Services for V2.0 or later VMS1 PathWay from The any version Wollongong Group1 TCPware from Process any version Software Corporation1 TGV MultiNet any version< The target packages do not have to be installed or9 running on the system in order for NETLIB to be< installed; however, you must be running the target? package before any NETLIB-based applications are run.L __________________________________________________________________ 1.2 VMScluster Support< NETLIB supports all VMScluster configurations. For< mixed VAX and AXP cluster configurations, you must> install NETLIB twice, once for VAX and once for AXP.? Different directories must be used for each platform.A 1-1  % Preparing to Install NETLIB9 If you are running different TCP/IP packages on@ different nodes in your cluster, you can still install? NETLIB just once (once per platform for mixed VAX/AXP9 clusters) and select all of the TCP/IP packages< you use for the one installation. Follow the steps? described in Section 2.2 to modify the NETLIB startup@ procedure for selecting the appropriate TCP/IP support on a per-node basis.L __________________________________________________________________# 1.3 Installation Requirements2 NETLIB requires the following resources:? o Approximately 3,000 (VAX) or 4,000 (AXP) free disk; blocks on the installation working device (the< system disk, or the device specified in the AWD# option for VMSINSTAL).? o Approximately 1,000 disk blocks after installation= on the disk where NETLIB is installed for commonA files, plus an additional 50 (VAX) or (100) AXP disk0 blocks per TCP/IP package selected.> o If NETLIB is installed system-wide, you will need? 3 global sections and 14 (VAX) or 112 (AXP) globalA pages for the common NETLIB transfer vector library,> plus 3 global sections and approximately 50 (VAX)? or 210 (AXP) global pages for each TCP/IP-specific library.A o Approximately 5 to 20 mintues for installation time,= depending on system type and installation media.@ o If you are running CMU TCP/IP, the SYSGEN parameter1 MAXBUF must be set to at least 2300. 1-2  A Preparing to Install NETLIBL __________________________________________________________________ 1.4 Release Notes; NETLIB is provided in a distribution kit suitable< for installation with VMSINSTAL. The release notes< in the A save set of the distribution kit describe@ installation requirements for NETLIB. You can retrieve< the release notes by using OPTIONS N on VMSINSTAL:R $ @SYS$UPDATE:VMSINSTAL NETLIB020 load-device OPTIONS N: where load-device represents the location of the" NETLIB installation kit.A 1-3  A _______________________________________________________' 2 Installing NETLIB System-wide@ This chapter describes the NETLIB installation process0 for a system-wide NETLIB installation.L __________________________________________________________________- 2.1 Invoking the Installation Procedure; NETLIB is installled using the VMSINSTAL utility:H $ @SYS$UPDATE:VMSINSTAL NETLIB020 load-device: where load-device represents the location of the" NETLIB installation kit. Installation Questions> The NETLIB installation procedure will ask you for a= device and directory specification for the location? where NETLIB should be installed, and will ask you to@ select the TCP/IP package support you want to install.< The procedure attempts to select automatically the5 appropriate TCP/IP support for your system.< You will next be asked to specify a directory into7 which the NETLIB libraries will be installed.9 If NETLIB is already installed and started, the@ installation procedure will provide the current NETLIB> directory location as the default answer; otherwise,@ it will use SYS$COMMON:[SYSLIB] as the default. If the? directory you specify does not already exist, it will3 be created by the installation procedure.; After selecting a directory, you will be asked if; you want the NETLIB programming support files and; documentation installed. If so, you will be asked; for a directory into which the documentation willA 2-1  ' Installing NETLIB System-wide> be placed (the programming support files go into the$ NETLIB library directory).; Once all questions, the appropriate binaries (VAX= or AXP) are loaded, and the requested libraries are> created and moved to the directory you specified. If? you elected to install the programming support and/or= documentation, those files will be loaded and moved+ into the appropriate directories.L __________________________________________________________________! 2.2 Post-Installation Steps@ If you have installed NETLIB with support for multiple@ TCP/IP packages, you should review the startup command> procedure created by the installation to ensure that; the correct TCP/IP support has been selected. For; VMScluster environments, you should customize the< startup procedure to select the appropriate TCP/IP0 support for each node in your cluster.. The name of the startup procedure is; SYS$STARTUP:NETLIB_STARTUP.COM. TCP/IP support is; selected through the definition of the NETLIB_SHR? logical name. The translation strings for selecting a0 TCP/IP package are shown in Table 2-1.A Table_2-1__NETLIB_SHR_Values___________________________A Translation_String__________TCP/IP_Package_Selected____0 NETLIB_DIR:NETLIB_CMU_SHR CMU TCP/Y  NETLIB020.D\A [NETLIB]NETLIB_INST.TXT;3R?-OIP2 NETLIB_DIR:NETLIB_ TGV MultiNet MULTINET_SHR1 NETLIB_DIR:NETLIB_ TWG PathWay PATHWAY_SHR1 NETLIB_DIR:NETLIB_ PSC TCPware TCPWARE_SHRA NETLIB_DIR:NETLIB_UCX_SHR___DEC_TCP/IP_Services________ 2-2  A Installing NETLIB System-wide% ___________________________ 2.2.1 Starting NETLIB> Once NETLIB has been installed, it should be started4 by invoking its startup command procedure:8 $ @SYS$STARTUP:NETLIB_STARTUP8 This should be done from a suitably privileged@ account. This invocation of NETLIB_STARTUP should also< be added to your system startup command procedure.A 2-3  A _______________________________________________________, 3 Installing NETLIB for Personal Use? If you are not a system manager but still want to use? NETLIB, you can install a copy of NETLIB for your own> personal use. To do this, create a temporary working* directory and SET DEFAULT to it:5 $ CREATE/DIRECTORY [.TEMP]0 $ SET DEFAULT [.TEMP]@ Next, unload the contents of the NETLIB save sets into@ the working directory. All installations require the A save set: A $ BACKUP disk:[dir]NETLIB020.A/SAVE []l8 For VAX systems, you will need the B save set:A $ BACKUP disk:[dir]NETLIB020.B/SAVE []t8 For AXP systems, you will need the C save set:A $ BACKUP disk:[dir]NETLIB020.C/SAVE [] : Next, invoke the user-install command procedure:1 $ @NETLIB_USER_INSTALLa; Answer the questions from the installation script8 and the NETLIB files will be created. Once the< installation procedure is complete, you can delete. the files and the working directory:, $ SET DEFAULT [-]0 $ DELETE [.TEMP]*.*;*; $ SET PROTECTION=O:RWED TEMP.DIR - $ DELETE TEMP.DIR;s: If you want to use the programming support files< or documentation, use BACKUP to retrieve them from saveset NETLIB020.D.A 3-1   , Installing NETLIB for Personal UseL __________________________________________________________________% 3.1 Personal NETLIB Restriction < You cannot use a personal NETLIB with NETLIB-based: applications that are installed with privileges. 3-2n  A _______________________________________________________  4 On-Line Documentationo< The NETLIB documentation set is provided in a form= suitable for use with the VMS DECwindows Bookreader> program (VMS V5.3 and later). To make the NETLIB on-< line documentation available automatically through7 Bookreader, you should add a reference to theR@ directory containing the documentation (if you elected@ to install those files) to the DECW$BOOK logical name.A 4-1_  A ________________________________________________________# A CMU TCP/IP Considerations_? All of the TCP/IP packages that NETLIB supports, with ; the exception of CMU TCP/IP, are already based on_< the Berkeley socket model for network programming,< and all except CMU use the BIND (Berkeley Internet: Name Daemon) software for performing domain name resolution. L __________________________________________________________________ A.1 DNS Resolver= Emulating sockets over CMU TCP/IP is not difficult,_> but due to the way the CMU name resolver, NAMRES, is= implemented, performing BIND-style queries requires ? some additional setup over the other TCP/IP packages. 9 The list of DNS servers that NAMRES uses is not? available to NETLIB, so you must define an additional ; logical name for NETLIB's DNS_QUERY routine to be  used: @ $ DEFINE NETLIB_NAMESERVERS "x.x.x.x"= Where "x.x.x.x" is the dotted-decimal IP address ofH< the name server that DNS_QUERY should use. You may? specify more than one nameserver, by defining NETLIB_ @ NAMESERVERS as a search-list logical name. The logical; name should be defined in the system logical name_; table to be available to all users on the system. A A-1_ _ # CMU TCP/IP ConsiderationsAL __________________________________________________________________ A.2 Bypassing NAMRES9 By default, NETLIB's support for the CMU TCP/IP 9 package uses the native NAMRES for all name and ; address lookups (routines NETLIB_NAME_TO_ADDRESS,< NETLIB_ADDRESS_TO_NAME, and NETLIB_DNS_MX_LOOKUP).< However, you can configure NETLIB to bypass NAMRES< and use NETLIB's name resolver routines instead by$ defining the logical name:G $ DEFINE NETLIB_BYPASS_CMU_RESOLVER anyvalue : The NETLIB_NAMESERVERS logical name must also be? defined. If the above logical name is defined, NETLIBS: will automatically bypass NAMRES and use its own, resolver routines for all lookups.9 Please note that NETLIB's name resolver, unlikei= NAMRES, does not cache the results it gets (this is,? typical behavior for BIND-style resolvers). Bypassinge= NAMRES, therefore, can increase network traffic forl? DNS lookups. For this reason, when using bypass mode, > you should ensure that NETLIB_NAMESERVERS references; only name servers that are on your local network. ? In addition, bypassing NAMRES will cause name lookupsf= to be resolved only through the Domain Name System.m= Local host table definitions will not be available.e A-2is,; when moving from one vendor's library to another.< NETLIB was originally developed to support MadGoat9 Software's Message Exchange mail package, which;