summaryrefslogtreecommitdiffstats
path: root/private/inc/nettypes.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/inc/nettypes.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/inc/nettypes.h')
-rw-r--r--private/inc/nettypes.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/private/inc/nettypes.h b/private/inc/nettypes.h
new file mode 100644
index 000000000..590d79582
--- /dev/null
+++ b/private/inc/nettypes.h
@@ -0,0 +1,81 @@
+/*++
+
+Copyright (c) 1989 Microsoft Corporation
+
+Module Name:
+
+ nettypes.h
+
+Abstract:
+
+ This header file contains type definitions for the NT TDI, NDI,
+ DDI, and PDI interfaces which are not specific to a single interface.
+
+Author:
+
+ Steve Jones (stevej) 26-Oct-1989
+
+Revision History:
+
+--*/
+
+#ifndef _NETTYPES_
+#define _NETTYPES_
+
+//
+// The following basic type is used to provide extensibility in request
+// and response packets. The OFFSET type is used to contain a value which
+// is interpreted as a relative address consisting of a number of bytes
+// from the beginning of the immediate parent structure.
+//
+
+typedef ULONG OFFSET;
+
+//
+// The following basic type is used throughout all the layers to pass a
+// string through an I/O interface which does not allow embedded pointers.
+// To allocate a FLAT_STRING, one must make room for the correct number of
+// buffer bytes in the allocation.
+//
+
+typedef struct _FLAT_STRING {
+ SHORT MaximumLength; // total size of string buffer.
+ SHORT Length; // number of bytes represented in string.
+ char Buffer [1]; // the buffer itself follows this struct.
+} FLAT_STRING, *PFLAT_STRING;
+
+//
+// Basic type used to represent a network name, typically as a component of
+// a transport address structure through the TDI. This type is also passed
+// through the NDI interface. This type is declared as a structure so that
+// it can be extended easily without modifying applications, even though it
+// currently only has one element.
+//
+//
+
+typedef struct _NETWORK_NAME {
+ FLAT_STRING Name; // network name in FLAT_STRING format.
+} NETWORK_NAME, *PNETWORK_NAME;
+
+//
+// Basic type used to represent an address at the hardware level of the
+// network. Hardware addresses are abstract types which are mapped to
+// adapter addresses by the physical provider. See the Physical Driver
+// Interface specification for details on how this is accomplished.
+//
+
+#define HARDWARE_ADDRESS_LENGTH 6 // number of octets in a hardware address.
+
+typedef struct _HARDWARE_ADDRESS {
+ UCHAR Address [HARDWARE_ADDRESS_LENGTH];
+} HARDWARE_ADDRESS, *PHARDWARE_ADDRESS;
+
+//
+// Network management variable types used by all interface levels.
+//
+
+#define NETMAN_VARTYPE_ULONG 0 // type is a ULONG.
+#define NETMAN_VARTYPE_HARDWARE_ADDRESS 1 // type is a HARDWARE_ADDRESS.
+#define NETMAN_VARTYPE_STRING 2 // type is a FLAT_STRING.
+
+#endif // _NETTYPES_