Windows-Server-2003/net/inc/intrface.h

175 lines
4.1 KiB
C

/*++ BUILD Version: 0000 // Increment this if a change has global effects
Copyright (c) 1994 Microsoft Corporation
Module Name:
intrface.h
Abstract:
Definition for user-mode/kernel-mode tapi/connection wrapper interface.
Author:
Dan Knudson (DanKn) 20-Feb-1994
Revision History:
--*/
#define NDISTAPIERR_UNINITIALIZED 0x00001001
#define NDISTAPIERR_BADDEVICEID 0x00001002
#define NDISTAPIERR_DEVICEOFFLINE 0x00001003
//
// Define the various device type values. Note that values used by Microsoft
// Corporation are in the range 0-32767, and 32768-65535 are reserved for use
// by customers.
//
#define FILE_DEVICE_NDISTAPI 0x00008fff
//
// Macro definition for defining IOCTL and FSCTL function control codes. Note
// that function codes 0-2047 are reserved for Microsoft Corporation, and
// 2048-4095 are reserved for customers.
//
#define NDISTAPI_IOCTL_INDEX 0x8f0
//
// The NDISTAPI device driver IOCTLs
//
#define IOCTL_NDISTAPI_CONNECT CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_NDISTAPI_DISCONNECT CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX + 1, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_NDISTAPI_QUERY_INFO CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX + 2, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_NDISTAPI_SET_INFO CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX + 3, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_NDISTAPI_GET_LINE_EVENTS CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX + 4, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_NDISTAPI_CREATE CTL_CODE(FILE_DEVICE_NDISTAPI, \
NDISTAPI_IOCTL_INDEX + 5, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Type definitions
//
typedef struct _NDISTAPI_REQUEST
{
//
// Return value
//
OUT ULONG ulReturnValue;
//
// Operation idenfifier
//
IN ULONG Oid;
//
// Target line device ID
//
IN ULONG ulDeviceID;
//
// Total size of request data in buffer
//
IN ULONG ulDataSize;
//
// Buffer for request data
//
IN OUT UCHAR Data[1];
} NDISTAPI_REQUEST, *PNDISTAPI_REQUEST;
//
// Returns info to kmddsp in the LINE_OPEN OID
//
typedef struct _NDISTAPI_OPENDATA {
//
// GUID of the adapter that owns this line
//
OUT GUID Guid;
//
// Media type of the adapter that owns this line
//
OUT NDIS_WAN_MEDIUM_SUBTYPE MediaType;
} NDISTAPI_OPENDATA, *PNDISTAPI_OPENDATA;
typedef struct _NDISTAPI_EVENT_DATA
{
//
// Total size of the event data buffer
//
IN ULONG ulTotalSize;
//
// Size of the returned event data
//
OUT ULONG ulUsedSize;
//
// Event data buffer
//
OUT UCHAR Data[1];
} NDISTAPI_EVENT_DATA, *PNDISTAPI_EVENT_DATA;
//
// Info for a LINE_CREATE
//
typedef struct _NDISTAPI_CREATE_INFO {
//
// Given by NdisTapi in LINE_CREATE indication
//
IN ULONG_PTR TempID;
//
// The ID for this device
//
IN ULONG DeviceID;
} NDISTAPI_CREATE_INFO, *PNDISTAPI_CREATE_INFO;