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.
240 lines
6.6 KiB
240 lines
6.6 KiB
/*++
|
|
|
|
Copyright (c) 1995-1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ndpif.h
|
|
|
|
Abstract:
|
|
|
|
Shared header file between ndptsp.tsp and ndproxy.sys
|
|
|
|
|
|
Author:
|
|
|
|
Tony Bell
|
|
|
|
|
|
Revision History:
|
|
|
|
Who When What
|
|
-------- -------- ----------------------------------------------
|
|
TonyBe 03/03/99 Created
|
|
|
|
--*/
|
|
|
|
#ifndef _NDPIF__H
|
|
#define _NDPIF__H
|
|
|
|
|
|
#define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
|
|
#define LINEMEDIAMODE_VOICEVIEW 0x00004000 // TAPI v1.4
|
|
#define LINEOFFERINGMODE_ACTIVE 0x00000001 // TAPI v1.4
|
|
#define LINEOFFERINGMODE_INACTIVE 0x00000002 // TAPI v1.4
|
|
#define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 // TAPI v1.4
|
|
#define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 // TAPI v1.4
|
|
#define LINETRANSLATEOPTION_FORCELD 0x00000008 // TAPI v1.4
|
|
#define LINEDEVSTATE_CAPSCHANGE 0x00100000 // TAPI v1.4
|
|
#define LINEDEVSTATE_CONFIGCHANGE 0x00200000 // TAPI v1.4
|
|
#define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 // TAPI v1.4
|
|
#define LINEDEVSTATE_COMPLCANCEL 0x00800000 // TAPI v1.4
|
|
#define LINEDEVSTATE_REMOVED 0x01000000 // TAPI v1.4
|
|
#define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 // TAPI v1.4
|
|
#define LINEDISCONNECTMODE_NODIALTONE 0x00001000 // TAPI v1.4
|
|
#define LINEFORWARDMODE_UNKNOWN 0x00010000 // TAPI v1.4
|
|
#define LINEFORWARDMODE_UNAVAIL 0x00020000 // TAPI v1.4
|
|
#define LINELOCATIONOPTION_PULSEDIAL 0x00000001 // TAPI v1.4
|
|
#define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 // TAPI v1.4
|
|
|
|
//
|
|
//
|
|
// Stuff from intrfce.h (ndistapi)
|
|
// This belongs in a public (shared by ndptsp and ndproxy) header file
|
|
//
|
|
//
|
|
//
|
|
|
|
#define NDISTAPIERR_UNINITIALIZED 0x00001001
|
|
#define NDISTAPIERR_BADDEVICEID 0x00001002
|
|
#define NDISTAPIERR_DEVICEOFFLINE 0x00001003
|
|
|
|
#define UNSPECIFIED_FLOWSPEC_VALUE 0xFFFFFFFF
|
|
|
|
|
|
//
|
|
// 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_SET_DEVICEID_BASE CTL_CODE(FILE_DEVICE_NDISTAPI, \
|
|
NDISTAPI_IOCTL_INDEX + 5, \
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_NDISTAPI_CREATE CTL_CODE(FILE_DEVICE_NDISTAPI, \
|
|
NDISTAPI_IOCTL_INDEX + 6, \
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
//
|
|
// Type definitions
|
|
//
|
|
typedef struct _NDISTAPI_REQUEST {
|
|
//
|
|
// Linkage used to thread up pended
|
|
// requests on the Vc's request queue
|
|
// Only used in ndproxy!
|
|
//
|
|
LIST_ENTRY Linkage;
|
|
|
|
//
|
|
// Irp this request came in
|
|
// Only used in ndproxy!
|
|
//
|
|
PVOID Irp;
|
|
|
|
//
|
|
// Return value
|
|
//
|
|
ULONG ulUniqueRequestId;
|
|
|
|
//
|
|
// Return value
|
|
//
|
|
ULONG ulReturnValue;
|
|
|
|
//
|
|
// Operation idenfifier
|
|
//
|
|
ULONG Oid;
|
|
|
|
//
|
|
// Target line device ID
|
|
//
|
|
ULONG ulDeviceID;
|
|
|
|
//
|
|
// Total size of request data in buffer
|
|
//
|
|
ULONG ulDataSize;
|
|
|
|
//
|
|
// Buffer for request data, must be pointer aligned.
|
|
//
|
|
|
|
union {
|
|
UCHAR Data[1];
|
|
PVOID Alignment;
|
|
};
|
|
|
|
} NDISTAPI_REQUEST, *PNDISTAPI_REQUEST;
|
|
|
|
//
|
|
// Returns info to ndptsp 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 TempID;
|
|
|
|
//
|
|
// The ID for this device
|
|
//
|
|
IN ULONG DeviceID;
|
|
|
|
} NDISTAPI_CREATE_INFO, *PNDISTAPI_CREATE_INFO;
|
|
|
|
//
|
|
//
|
|
// End of stuff form intrface.h (ndistapi)
|
|
//
|
|
//
|
|
//
|
|
|
|
#endif
|
|
|