Windows NT 4.0 source code leak
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

/*
* 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 */