NETTYPES.H
资源名称:vxdtdi.zip [点击查看]
上传用户:he75757
上传日期:2007-01-04
资源大小:36k
文件大小:3k
源码类别:
TCP/IP协议栈
开发平台:
Visual C++
- /*++
- 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_