⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntddndis.h

📁 “网络安全技术实践与代码详解”实例代码
💻 H
📖 第 1 页 / 共 4 页
字号:
//
// OID_WW_CDPD_SPNI
//
typedef struct _WW_CDPD_SPNI {
    UINT SPNI[10];		//10 16-bit service provider network IDs

    INT OperatingMode;		// 0 = ignore SPNI,
    // 1 = require SPNI from list,
    // 2 = prefer SPNI from list.
    // 3 = exclude SPNI from list.

} WW_CDPD_SPNI, *PWW_CDPD_SPNI;

//
// OID_WW_CDPD_WASI
//
typedef struct _WW_CDPD_WIDE_AREA_SERVICE_ID {
    UINT WASI[10];		//10 16-bit wide area service IDs

    INT OperatingMode;		// 0 = ignore WASI,
    // 1 = Require WASI from list,
    // 2 = prefer WASI from list
    // 3 = exclude WASI from list.

} WW_CDPD_WIDE_AREA_SERVICE_ID, *PWW_CDPD_WIDE_AREA_SERVICE_ID;

//
// OID_WW_CDPD_AREA_COLOR
//
typedef INT WW_CDPD_AREA_COLOR;
//
// OID_WW_CDPD_TX_POWER_LEVEL
//
typedef UINT WW_CDPD_TX_POWER_LEVEL;
//
// OID_WW_CDPD_EID
//
typedef NDIS_VAR_DATA_DESC WW_CDPD_EID;
//
// OID_WW_CDPD_HEADER_COMPRESSION
//
typedef INT WW_CDPD_HEADER_COMPRESSION;		//  0 = no header compression,
												//  1 = always compress headers,
												//  2 = compress headers if MD-IS does
												// -1 = unknown
//
// OID_WW_CDPD_DATA_COMPRESSION
//

typedef INT WW_CDPD_DATA_COMPRESSION;	// 0  = no data compression,
												// 1  = data compression enabled
												// -1 =  unknown
//
// OID_WW_CDPD_CHANNEL_SELECT
//

typedef struct _WW_CDPD_CHANNEL_SELECT {
    UINT ChannelID;		// channel number

    UINT fixedDuration;		// duration in seconds

} WW_CDPD_CHANNEL_SELECT, *PWW_CDPD_CHANNEL_SELECT;

//
// OID_WW_CDPD_CHANNEL_STATE
//
typedef enum _WW_CDPD_CHANNEL_STATE {
    CDPDChannelNotAvail,
    CDPDChannelScanning,
    CDPDChannelInitAcquired,
    CDPDChannelAcquired,
    CDPDChannelSleeping,
    CDPDChannelWaking,
    CDPDChannelCSDialing,
    CDPDChannelCSRedial,
    CDPDChannelCSAnswering,
    CDPDChannelCSConnected,
    CDPDChannelCSSuspended
} WW_CDPD_CHANNEL_STATE, *PWW_CDPD_CHANNEL_STATE;

//
// OID_WW_CDPD_NEI
//
typedef enum _WW_CDPD_NEI_FORMAT {
    CDPDNeiIPv4,
    CDPDNeiCLNP,
    CDPDNeiIPv6
} WW_CDPD_NEI_FORMAT, *PWW_CDPD_NEI_FORMAT;
typedef enum _WW_CDPD_NEI_TYPE {
    CDPDNeiIndividual,
    CDPDNeiMulticast,
    CDPDNeiBroadcast
} WW_CDPD_NEI_TYPE;
typedef struct _WW_CDPD_NEI {
    UINT uNeiIndex;
    WW_CDPD_NEI_FORMAT NeiFormat;
    WW_CDPD_NEI_TYPE NeiType;
    WORD NeiGmid;		// group member identifier, only
    // meaningful if NeiType ==
    // CDPDNeiMulticast

    NDIS_VAR_DATA_DESC NeiAddress;
} WW_CDPD_NEI;

//
// OID_WW_CDPD_NEI_STATE
//
typedef enum _WW_CDPD_NEI_STATE {
    CDPDUnknown,
    CDPDRegistered,
    CDPDDeregistered
} WW_CDPD_NEI_STATE, *PWW_CDPD_NEI_STATE;
typedef enum _WW_CDPD_NEI_SUB_STATE {
    CDPDPending,		// Registration pending
     CDPDNoReason,		// Registration denied - no reason given
     CDPDMDISNotCapable,	// Registration denied - MD-IS not capable of
    //  handling M-ES at this time
     CDPDNEINotAuthorized,	// Registration denied - NEI is not authorized to
    //  use this subnetwork
     CDPDInsufficientAuth,	// Registration denied - M-ES gave insufficient
    //  authentication credentials
     CDPDUnsupportedAuth,	// Registration denied - M-ES gave unsupported
    //  authentication credentials
     CDPDUsageExceeded,		// Registration denied - NEI has exceeded usage
    //  limitations
     CDPDDeniedThisNetwork	// Registration denied on this network, service
    //  may be obtained on alternate Service Provider
    //  network
} WW_CDPD_NEI_SUB_STATE;
typedef struct _WW_CDPD_NEI_REG_STATE {
    UINT uNeiIndex;
    WW_CDPD_NEI_STATE NeiState;
    WW_CDPD_NEI_SUB_STATE NeiSubState;
} WW_CDPD_NEI_REG_STATE, *PWW_CDPD_NEI_REG_STATE;

//
// OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER
//
typedef struct _WW_CDPD_SERVICE_PROVIDER_ID {
    UINT SPI[10];		//10 16-bit service provider IDs

    INT OperatingMode;		// 0 = ignore SPI,
    // 1 = require SPI from list,
    // 2 = prefer SPI from list.
    // 3 = exclude SPI from list.

} WW_CDPD_SERVICE_PROVIDER_ID, *PWW_CDPD_SERVICE_PROVIDER_ID;

//
// OID_WW_CDPD_SLEEP_MODE
//
typedef INT WW_CDPD_SLEEP_MODE;
//
// OID_WW_CDPD_TEI
//
typedef ULONG WW_CDPD_TEI;
//
// OID_WW_CDPD_CIRCUIT_SWITCHED
//
typedef struct _WW_CDPD_CIRCUIT_SWITCHED {
    INT service_preference;	// -1 = unknown,
    //  0 = always use packet switched CDPD,
    //  1 = always use CS CDPD via AMPS,
    //  2 = always use CS CDPD via PSTN,
    //  3 = use circuit switched via AMPS only
    //      when packet switched is not available.
    //  4 = use packet switched only when circuit
    //   switched via AMPS is not available.
    //  5 = device manuf. defined service
    //   preference.
    //  6 = device manuf. defined service
    //   preference.

    INT service_status;		// -1 = unknown,
    //  0 = packet switched CDPD,
    //  1 = circuit switched CDPD via AMPS,
    //  2 = circuit switched CDPD via PSTN.

    INT connect_rate;		//  CS connection bit rate (bits per second).
    //  0 = no active connection,
    // -1 = unknown
    //  Dial code last used to dial.

    NDIS_VAR_DATA_DESC dial_code[20];

    UINT sid;			//  Current AMPS system ID

    INT a_b_side_selection;	// -1 = unknown,
    //  0 = no AMPS service
    //  1 = AMPS "A" side channels selected
    //  2 = AMPS "B" side channels selected

    INT AMPS_channel;		// -1= unknown
    //  0 = no AMPS service.
    //  1-1023 = AMPS channel number in use

    UINT action;		//  0 = no action
    //  1 = suspend (hangup)
    //  2 = dial

    //  Default dial code for CS CDPD service
    //  encoded as specified in the CS CDPD
    //  implementor guidelines.
    NDIS_VAR_DATA_DESC default_dial[20];

    //  Number for the CS CDPD network to call
    //   back the mobile, encoded as specified in
    //   the CS CDPD implementor guidelines.
    NDIS_VAR_DATA_DESC call_back[20];

    UINT sid_list[10];		//  List of 10 16-bit preferred AMPS
    //   system IDs for CS CDPD.

    UINT inactivity_timer;	//  Wait time after last data before dropping
    //   call.
    //  0-65535 = inactivity time limit (seconds).

    UINT receive_timer;		//  secs. per CS-CDPD Implementor Guidelines.

    UINT conn_resp_timer;	//  secs. per CS-CDPD Implementor Guidelines.

    UINT reconn_resp_timer;	//  secs. per CS-CDPD Implementor Guidelines.

    UINT disconn_timer;		//  secs. per CS-CDPD Implementor Guidelines.

    UINT NEI_reg_timer;		//  secs. per CS-CDPD Implementor Guidelines.

    UINT reconn_retry_timer;	//  secs. per CS-CDPD Implementor Guidelines.

    UINT link_reset_timer;	//  secs. per CS-CDPD Implementor Guidelines.

    UINT link_reset_ack_timer;	//  secs. per CS-CDPD Implementor Guidelines.

    UINT n401_retry_limit;	//  per CS-CDPD Implementor Guidelines.

    UINT n402_retry_limit;	//  per CS-CDPD Implementor Guidelines.

    UINT n404_retry_limit;	//  per CS-CDPD Implementor Guidelines.

    UINT n405_retry_limit;	//  per CS-CDPD Implementor Guidelines.

} WW_CDPD_CIRCUIT_SWITCHED, *WW_PCDPD_CIRCUIT_SWITCHED;
typedef UINT WW_CDPD_RSSI;
//
// OID_WW_PIN_LOC_AUTHORIZE
//
typedef INT WW_PIN_AUTHORIZED;	// 0  = unauthorized
												// 1  = authorized
												// -1 = unknown
//
// OID_WW_PIN_LAST_LOCATION
// OID_WW_PIN_LOC_FIX
//

typedef struct _WW_PIN_LOCATION {
    INT Latitude;		// Latitude in hundredths of a second

    INT Longitude;		// Longitude in hundredths of a second

    INT Altitude;		// Altitude in feet

    INT FixTime;		// Time of the location fix, since midnight,  local time (of the
    // current day), in tenths of a second

    INT NetTime;		// Current local network time of the current day, since midnight,
    // in tenths of a second

    INT LocQuality;		// 0-100 = location quality

    INT LatReg;			// Latitude registration offset, in hundredths of a second

    INT LongReg;		// Longitude registration offset, in hundredths of a second

    INT GMTOffset;		// Offset in minutes of the local time zone from GMT

} WW_PIN_LOCATION, *PWW_PIN_LOCATION;

//
// The following is set on a per-packet basis as OOB data with NdisClassWirelessWanMbxMailbox
//
typedef ULONG WW_MBX_MAILBOX_FLAG;	// 1 = set mailbox flag, 0 = do not set mailbox flag
//
// OID_WW_MBX_SUBADDR
//

typedef struct _WW_MBX_PMAN {
    BOOLEAN ACTION;		// 0 = Login PMAN,  1 = Logout PMAN

    UINT MAN;
    UCHAR PASSWORD[8];		// Password should be null for Logout and indications.
    // Maximum length of password is 8 chars.

} WW_MBX_PMAN, *PWW_MBX_PMAN;

//
// OID_WW_MBX_FLEXLIST
//
typedef struct _WW_MBX_FLEXLIST {
    INT count;			//  Number of MAN entries used.
    // -1=unknown.

    UINT MAN[7];		//  List of MANs.

} WW_MBX_FLEXLIST;

//
// OID_WW_MBX_GROUPLIST
//
typedef struct _WW_MBX_GROUPLIST {
    INT count;			//  Number of MAN entries used.
    // -1=unknown.

    UINT MAN[15];		//  List of MANs.

} WW_MBX_GROUPLIST;

//
// OID_WW_MBX_TRAFFIC_AREA
//
typedef enum _WW_MBX_TRAFFIC_AREA {
    unknown_traffic_area,	// The driver has no information about the current traffic area.
     in_traffic_area,		// Mobile unit has entered a subscribed traffic area.
     in_auth_traffic_area,	// Mobile unit is outside traffic area but is authorized.
     unauth_traffic_area	// Mobile unit is outside traffic area but is un-authorized.
} WW_MBX_TRAFFIC_AREA;

//
// OID_WW_MBX_LIVE_DIE
//
typedef INT WW_MBX_LIVE_DIE;	//  0 = DIE last received       
												//  1 = LIVE last received
												// -1 = unknown
//
// OID_WW_MBX_TEMP_DEFAULTLIST
//

typedef struct _WW_MBX_CHANNEL_PAIR {
    UINT Mobile_Tx;
    UINT Mobile_Rx;
} WW_MBX_CHANNEL_PAIR, *PWW_MBX_CHANNEL_PAIR;
typedef struct _WW_MBX_TEMPDEFAULTLIST {
    UINT Length;
    WW_MBX_CHANNEL_PAIR ChannelPair[1];
} WW_MBX_TEMPDEFAULTLIST, *WW_PMBX_TEMPDEFAULTLIST;

#endif				// WIRELESS_WAN
#endif				// _NTDDNDIS_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -