mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
7.0 KiB
221 lines
7.0 KiB
/*
|
|
* Program DECnet/MS-DOS, Module dn.h
|
|
*
|
|
* Copyright (C) 1985,1991 All Rights Reserved, by
|
|
* Digital Equipment Corporation, Maynard, Mass.
|
|
*
|
|
* This software is furnished under a license and may be used and copied
|
|
* only in accordance with the terms of such license and with the
|
|
* inclusion of the above copyright notice. This software or any other
|
|
* copies thereof may not be provided or otherwise made available to any
|
|
* other person. No title to and ownership of the software is hereby
|
|
* transferred.
|
|
*
|
|
* The information in this software is subject to change without notice
|
|
* and should not be construed as a commitment by Digital Equipment
|
|
* Corporation.
|
|
*
|
|
* Digital assumes no responsibility for the use or reliability of its
|
|
* software on equipment which is not supplied by Digital.
|
|
*
|
|
*
|
|
* MODULE DESCRIPTION:
|
|
*
|
|
* Program DECnet Module dn.h
|
|
*
|
|
* Definitions relating to the DECnet socket interface
|
|
*
|
|
* Networks & Communications Software Engineering
|
|
*
|
|
* IDENT HISTORY:
|
|
*
|
|
* V1.0 29-Jul-85
|
|
* DECnet-DOS V1.0
|
|
*
|
|
* V1.1 30-Mar-86
|
|
* DECnet-DOS V1.1
|
|
*
|
|
* V1.2 30-Mar-87
|
|
* DECnet-DOS V1.2
|
|
*
|
|
* 23-Jul-87 DJM
|
|
* added ACC_REUSE
|
|
*
|
|
* 07-Aug-87 WCA
|
|
* Added SDF_PROXY and SDF_UICPROXY flags for new type of outgoing
|
|
* proxy implementation for DECnet-ULTRIX compatability.
|
|
*
|
|
* 08-Sep-87 CLB
|
|
* Rolled in DJM's 30-Jul-87 edits to add ACC_LISTEN and DSO_LINKHOLD
|
|
*/
|
|
|
|
#ifndef DN_H
|
|
#define DN_H
|
|
|
|
/*
|
|
* Definitions relating to the DECnet socket interface
|
|
*/
|
|
|
|
#define DNPROTO_NSP 1 /* NSP protocol number */
|
|
#define DNPROTO_MAX 1
|
|
|
|
/*
|
|
* Bit masks for use in the sockaddr_dn data structure, sdn_flags
|
|
* field.
|
|
*/
|
|
#define SDF_WILD 0x1 /* wild card object */
|
|
#define SDF_PROXY 0x2 /* address eligible for proxy */
|
|
#define SDF_UICPROXY 0x4 /* use uic-based proxy */
|
|
|
|
#define DN_MAXADDL 2 /* max size of DECnet address */
|
|
|
|
/*
|
|
* DECnet address format
|
|
*/
|
|
struct dn_naddr {
|
|
unsigned short a_len; /* length of address */
|
|
unsigned char a_addr[DN_MAXADDL]; /* address as bytes */
|
|
};
|
|
|
|
/*
|
|
* DECnet socket address format
|
|
*/
|
|
struct sockaddr_dn {
|
|
unsigned short sdn_family; /* AF_DECnet */
|
|
unsigned char sdn_flags; /* flags */
|
|
unsigned char sdn_objnum; /* object number */
|
|
unsigned short sdn_objnamel; /* size of object name */
|
|
char sdn_objname[16]; /* object name */
|
|
struct dn_naddr sdn_add; /* node address */
|
|
};
|
|
|
|
#define sdn_nodeaddrl sdn_add.a_len /* node address length */
|
|
#define sdn_nodeaddr sdn_add.a_addr /* node address */
|
|
|
|
#define LL_INACTIVE 0 /* logical link inactive */
|
|
#define LL_CONNECTING 1 /* logical link connecting */
|
|
#define LL_RUNNING 2 /* logical link running */
|
|
#define LL_DISCONNECTING 3 /* logical link disconnecting */
|
|
|
|
/*
|
|
* DECnet logical link information structure
|
|
*/
|
|
struct linkinfo_dn {
|
|
unsigned short idn_segsize; /* segment size for link */
|
|
unsigned char idn_linkstate; /* logical link state */
|
|
};
|
|
|
|
/*
|
|
* Ethernet address format (for DECnet)
|
|
*/
|
|
union etheraddress {
|
|
unsigned char dne_addr[6]; /* full ethernet address */
|
|
struct {
|
|
unsigned char dne_hiord[4]; /* DECnet HIORD prefix */
|
|
unsigned char dne_nodeaddr[2];/* DECnet node address */
|
|
} dne_remote;
|
|
};
|
|
|
|
/*
|
|
* DECnet physical socket address format
|
|
*/
|
|
struct dn_addr {
|
|
unsigned short dna_family; /* AF_DECnet */
|
|
union etheraddress dna_netaddr; /* DECnet ethernet address */
|
|
};
|
|
|
|
/*
|
|
* DECnet NSP level socket options (setsockopt/getsockopt)
|
|
*/
|
|
#define DSO_CONDATA 1 /* set/get connect data */
|
|
#define DSO_DISDATA 2 /* set/get disconnect data */
|
|
#define DSO_CONACCESS 3 /* set/get connect access data */
|
|
#define DSO_ACCEPTMODE 4 /* set/get accept mode */
|
|
#define DSO_CONACCEPT 5 /* accept deferred connection */
|
|
#define DSO_CONREJECT 6 /* reject deferred connection */
|
|
#define DSO_LINKINFO 7 /* set/get link information */
|
|
#define DSO_STREAM 8 /* set socket type to stream */
|
|
#define DSO_SEQPACKET 9 /* set socket type to sequenced packet */
|
|
#define DSO_LINKHOLD 10 /* set link holding timer */
|
|
#define DSO_FLOWCTRL 11 /* set flow control */
|
|
|
|
#define DSO_MAX 11 /* highest option defined */
|
|
|
|
/*
|
|
* DECnet set/get DSO_ACCEPTMODE values (bit mask)
|
|
*/
|
|
#define ACC_IMMED 0x0 /* accept immediately */
|
|
#define ACC_DEFER 0x1 /* defer acceptance */
|
|
#define ACC_REUSE 0x2 /* reuse listen socket */
|
|
#define ACC_LISTEN 0x3 /* Don't reuse listen socket */
|
|
|
|
/*
|
|
* DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure
|
|
*/
|
|
struct optdata_dn {
|
|
unsigned short opt_status; /* extended status return */
|
|
unsigned short opt_optl; /* length of user data */
|
|
unsigned char opt_data[16]; /* user data */
|
|
};
|
|
|
|
/*
|
|
* DECnet set/get DSO_CONACCESS access (control data) structure
|
|
*/
|
|
struct accessdata_dn {
|
|
unsigned short acc_accl; /* length of account string */
|
|
unsigned char acc_acc[40]; /* account string */
|
|
unsigned short acc_passl; /* length of password string */
|
|
unsigned char acc_pass[40]; /* password string */
|
|
unsigned short acc_userl; /* length of user string */
|
|
unsigned char acc_user[40]; /* user string */
|
|
};
|
|
|
|
/*
|
|
* Define DECnet objects as strings (used as argument to dnet_conn).
|
|
*/
|
|
#define DNOBJ_FAL "#17" /* file access listener */
|
|
#define DNOBJ_NICE "#19" /* NICE */
|
|
#define DNOBJ_DTERM "#23" /* DECnet remote terminals */
|
|
#define DNOBJ_MIRROR "#25" /* DECnet mirror */
|
|
#define DNOBJ_EVR "#26" /* DECnet event receiver */
|
|
#define DNOBJ_MAIL11 "#27" /* mail service */
|
|
#define DNOBJ_PHONE "#29" /* DECnet phone utility */
|
|
#define DNOBJ_CTERM "#42" /* DECnet command terminals */
|
|
#define DNOBJ_DTR "#63" /* DECnet test receiver */
|
|
|
|
/*
|
|
* Define DECnet object numerically.
|
|
*/
|
|
#define DNOBJECT_FAL 17 /* file access listener */
|
|
#define DNOBJECT_NICE 19 /* NICE */
|
|
#define DNOBJECT_DTERM 23 /* DECnet remote terminals */
|
|
#define DNOBJECT_MIRROR 25 /* DECnet mirror */
|
|
#define DNOBJECT_EVR 26 /* DECnet event receiver */
|
|
#define DNOBJECT_MAIL11 27 /* mail service */
|
|
#define DNOBJECT_PHONE 29 /* DECnet phone utility */
|
|
#define DNOBJECT_CTERM 42 /* DECnet command terminals */
|
|
#define DNOBJECT_DTR 63 /* DECnet test receiver */
|
|
|
|
/*
|
|
* Define DECnet/MS-NET software modules as TLA (three letter acronym) strings.
|
|
*/
|
|
#define DNMOD_SES "SES" /* MS-NET to DECnet SESSION interface */
|
|
#define DNMOD_LAT "LAT" /* LAT driver */
|
|
#define DNMOD_PDV "PDV" /* Port driver */
|
|
#define DNMOD_SCH "SCH" /* Real-time Scheduler */
|
|
#define DNMOD_DLL "DLL" /* Data Link Layer */
|
|
#define DNMOD_DNP "DNP" /* DECnet Network Process */
|
|
|
|
/*
|
|
* Define DECnet/MS-NET software module interrupt vectors.
|
|
*/
|
|
#define DNMODULE_SES 0x2a /* MS-NET to DECnet SESSION interface */
|
|
#define DNMODULE_LAT 0x6a /* LAT driver */
|
|
#define DNMODULE_PDV 0x6b /* Port driver */
|
|
#define DNMODULE_SCH 0x6c /* Real-time Scheduler */
|
|
#define DNMODULE_DLL 0x6d /* Data Link Layer */
|
|
#define DNMODULE_DNP 0x6e /* DECnet Network Process */
|
|
|
|
#endif /* DN_H */
|
|
|
|
|