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

📄 ndis.h

📁 ndiswrapper工具
💻 H
📖 第 1 页 / 共 3 页
字号:
	union ndis_rw_lock_refcount ref_count[MAXIMUM_PROCESSORS];};struct ndis_work_item;typedef void (*NDIS_PROC)(struct ndis_work_item *, void *) wstdcall;struct ndis_work_item {	void *ctx;	NDIS_PROC func;	UCHAR reserved[8 * sizeof(void *)];};struct alloc_shared_mem {	void *ctx;	ULONG size;	BOOLEAN cached;};struct ndis_work_entry {	struct nt_list list;	struct ndis_work_item *ndis_work_item;};struct ndis_irq {	/* void *intr_obj is used for irq */	union {		void *intr_obj;		unsigned int irq;	} irq;	/* Taken by ISR, DisableInterrupt and SynchronizeWithInterrupt */	NT_SPIN_LOCK lock;	void *id;	ndis_isr_handler isr;	void *dpc;	struct kdpc intr_dpc;	struct wrap_ndis_device *wnd;	UCHAR dpc_count;	/* unsigned char filler1 is used for enabled */	UCHAR enabled;	struct nt_event completed_event;	UCHAR shared;	UCHAR req_isr;};struct ndis_binary_data {	USHORT len;	void *buf;};enum ndis_parameter_type {	NdisParameterInteger, NdisParameterHexInteger,	NdisParameterString, NdisParameterMultiString,};typedef struct unicode_string NDIS_STRING;struct ndis_configuration_parameter {	enum ndis_parameter_type type;	union {		ULONG integer;		NDIS_STRING string;	} data;};struct wrap_ndis_driver {	struct miniport_char miniport;};/* IDs used to store extensions in driver_object's custom extension */#define NDIS_DRIVER_CLIENT_ID 10struct ndis_wireless_stats {	ULONG length;	LARGE_INTEGER tx_frag;	LARGE_INTEGER tx_multi_frag;	LARGE_INTEGER failed;	LARGE_INTEGER retry;	LARGE_INTEGER multi_retry;	LARGE_INTEGER rtss_succ;	LARGE_INTEGER rtss_fail;	LARGE_INTEGER ack_fail;	LARGE_INTEGER frame_dup;	LARGE_INTEGER rx_frag;	LARGE_INTEGER rx_multi_frag;	LARGE_INTEGER fcs_err;	LARGE_INTEGER tkip_local_mic_failures;	LARGE_INTEGER tkip_icv_errors;	LARGE_INTEGER tkip_counter_measures_invoked;	LARGE_INTEGER tkip_replays;	LARGE_INTEGER ccmp_format_errors;	LARGE_INTEGER ccmp_replays;	LARGE_INTEGER ccmp_decrypt_errors;	LARGE_INTEGER fourway_handshake_failures;	LARGE_INTEGER wep_undecryptable_count;	LARGE_INTEGER wep_icv_errorcount;	LARGE_INTEGER decrypt_success_count;	LARGE_INTEGER decrypt_failure_count;};enum ndis_status_type {	Ndis802_11StatusType_Authentication,	Ndis802_11StatusType_PMKID_CandidateList = 2,	Ndis802_11StatusType_MediaStreamMode, Ndis802_11StatusType_RadioState,};struct ndis_status_indication {	enum ndis_status_type status_type;};enum ndis_radio_status {	Ndis802_11RadioStatusOn, Ndis802_11RadioStatusHardwareOff,	Ndis802_11RadioStatusSoftwareOff,};struct ndis_radio_status_indication{	enum ndis_status_type status_type;	enum ndis_radio_status radio_state;};enum ndis_media_stream_mode {	Ndis802_11MediaStreamOff, Ndis802_11MediaStreamOn};enum wrapper_work {	LINK_STATUS_CHANGED, SET_MULTICAST_LIST, COLLECT_STATS, MINIPORT_RESET,	/* do not work when this is set */	SHUTDOWN};struct encr_info {	struct encr_key {		ULONG length;		UCHAR key[NDIS_ENCODING_TOKEN_MAX];	} keys[MAX_ENCR_KEYS];	unsigned short tx_key_index;};struct ndis_essid {	ULONG length;	UCHAR essid[NDIS_ESSID_MAX_SIZE];};enum network_infrastructure {	Ndis802_11IBSS, Ndis802_11Infrastructure, Ndis802_11AutoUnknown,	Ndis802_11InfrastructureMax};enum authentication_mode {	Ndis802_11AuthModeOpen, Ndis802_11AuthModeShared,	Ndis802_11AuthModeAutoSwitch, Ndis802_11AuthModeWPA,	Ndis802_11AuthModeWPAPSK, Ndis802_11AuthModeWPANone,	Ndis802_11AuthModeWPA2, Ndis802_11AuthModeWPA2PSK,	Ndis802_11AuthModeMax};enum encryption_status {	Ndis802_11WEPEnabled,	Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,	Ndis802_11WEPDisabled,	Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,	Ndis802_11WEPKeyAbsent,	Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,	Ndis802_11WEPNotSupported,	Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,	Ndis802_11Encryption2Enabled, Ndis802_11Encryption2KeyAbsent,	Ndis802_11Encryption3Enabled, Ndis802_11Encryption3KeyAbsent};struct ndis_auth_encr_pair {	enum authentication_mode auth_mode;	enum encryption_status encr_mode;};struct ndis_capability {	ULONG length;	ULONG version;	ULONG num_PMKIDs;	ULONG num_auth_encr_pair;	struct ndis_auth_encr_pair auth_encr_pair[1];};struct ndis_guid {	struct guid guid;	union {		ndis_oid oid;		NDIS_STATUS status;	};	ULONG size;	ULONG flags;};struct ndis_timer {	struct nt_timer nt_timer;	struct kdpc kdpc;};struct ndis_miniport_timer {	struct nt_timer nt_timer;	struct kdpc kdpc;	DPC func;	void *ctx;	void *nmb;	struct ndis_miniport_timer *next;};typedef struct cm_partial_resource_list NDIS_RESOURCE_LIST;struct ndis_event {	struct nt_event nt_event;};struct ndis_bind_paths {	UINT number;	struct unicode_string paths[1];};struct ndis_reference {	NT_SPIN_LOCK lock;	USHORT ref_count;	BOOLEAN closing;};struct ndis_miniport_block;struct ndis_miniport_interrupt {	void *object;	NT_SPIN_LOCK dpc_count_lock;	void *reserved;	ndis_isr_handler irq_th;	ndis_interrupt_handler irq_bh;	struct kdpc interrupt_dpc;	struct ndis_miniport_block *miniport;	UCHAR dpc_count;	BOOLEAN filler1;	struct nt_event dpcs_completed_event;        BOOLEAN shared_interrupt;	BOOLEAN isr_requested;};struct ndis_filterdbs {	union {		void *eth_db;		void *null_db;	};	void *tr_db;	void *fddi_db;	void *arc_db;};enum ndis_interface_type {	NdisInterfaceInternal, NdisInterfaceIsa, NdisInterfaceEisa,	NdisInterfaceMca, NdisInterfaceTurboChannel, NdisInterfacePci,	NdisInterfacePcMcia,};struct auth_encr_capa {	unsigned long auth;	unsigned long encr;};enum driver_type { DRIVER_WIRELESS = 1, DRIVER_ETHERNET, };enum hw_status {	HW_INITIALIZED = 1, HW_SUSPENDED, HW_HALTED,};/* * This struct contains function pointers that the drivers references * directly via macros, so it's important that they are at the correct * position. */struct ndis_miniport_block {	void *signature;	struct ndis_miniport_block *next;	struct driver_object *drv_obj;	void *adapter_ctx;	struct unicode_string name;	struct ndis_bind_paths *bindpaths;	void *openqueue;	struct ndis_reference reference;	void *device_ctx;	UCHAR padding;	UCHAR lock_acquired;	UCHAR pmode_opens;	UCHAR assigned_cpu;	NT_SPIN_LOCK lock;	enum ndis_request_type *mediarequest;	struct ndis_miniport_interrupt *interrupt;	ULONG flags;	ULONG pnp_flags;	struct nt_list packet_list;	struct ndis_packet *first_pending_tx_packet;	struct ndis_packet *return_packet_queue;	ULONG request_buffer;	void *set_mcast_buffer;	struct ndis_miniport_block *primary_miniport;	void *wrapper_ctx;	void *bus_data_ctx;	ULONG pnp_capa;	void *resources;	struct ndis_timer wakeup_dpc_timer;	struct unicode_string basename;	struct unicode_string symlink_name;	ULONG ndis_hangcheck_interval;	USHORT hanghcheck_ticks;	USHORT hangcheck_tick;	NDIS_STATUS ndis_reset_status;	void *resetopen;	struct ndis_filterdbs filterdbs;	void *rx_packet;	void *send_complete;	void *send_resource_avail;	void *reset_complete;	enum ndis_medium media_type;	ULONG bus_number;	enum ndis_interface_type bus_type;	enum ndis_interface_type adapter_type;	struct device_object *fdo;	struct device_object *pdo;	struct device_object *next_device;	void *mapreg;	void *call_mgraflist;	void *miniport_thread;	void *setinfobuf;	USHORT setinfo_buf_len;	USHORT max_send_pkts;	NDIS_STATUS fake_status;	void *lock_handler;	struct unicode_string *adapter_instance_name;	void *timer_queue;	UINT mac_options;	void *pending_req;	UINT max_long_addrs;	UINT max_short_addrs;	UINT cur_lookahead;	UINT max_lookahead;	ndis_interrupt_handler irq_bh;	void *disable_intr;	void *enable_intr;	void *send_pkts;	void *deferred_send;	void *eth_rx_indicate;	void *tr_rx_indicate;	void *fddi_rx_indicate;	void *eth_rx_complete;	void *tr_rx_complete;	void *fddi_rx_complete;	void *status;	void *status_complete;	void *td_complete;	void *query_complete;	void *set_complete;	void *wan_tx_complete;	void *wan_rx;	void *wan_rx_complete;	/* ndiswrapper specific */	struct wrap_ndis_device *wnd;};struct wrap_ndis_device {	struct ndis_miniport_block *nmb;	struct wrap_device *wd;	struct net_device *net_dev;	unsigned long hw_status;	void *shutdown_ctx;	struct tasklet_struct irq_tasklet;	struct ndis_irq *ndis_irq;	unsigned long mem_start;	unsigned long mem_end;	struct net_device_stats stats;	struct iw_statistics wireless_stats;	BOOLEAN stats_enabled;	struct ndis_wireless_stats ndis_stats;	struct work_struct tx_work;	struct ndis_packet *tx_ring[TX_RING_SIZE];	u8 tx_ring_start;	u8 tx_ring_end;	u8 is_tx_ring_full;	struct semaphore tx_ring_mutex;	unsigned int max_tx_packets;	u8 tx_ok;	struct semaphore ndis_comm_mutex;	wait_queue_head_t ndis_comm_wq;	s8 ndis_comm_done;	NDIS_STATUS ndis_comm_status;	ULONG packet_filter;	BOOLEAN use_sg_dma;	u8 tx_dma_count;	dma_addr_t *tx_dma_addr;	int hangcheck_interval;	struct timer_list hangcheck_timer;	int stats_interval;	struct timer_list stats_timer;	unsigned long scan_timestamp;	struct encr_info encr_info;	char nick[IW_ESSID_MAX_SIZE+1];	struct ndis_essid essid;	struct auth_encr_capa capa;	enum authentication_mode auth_mode;	enum encryption_status encr_mode;	enum network_infrastructure infrastructure_mode;	int num_pmkids;	mac_address mac;	struct proc_dir_entry *procfs_iface;	struct work_struct wrap_ndis_work;	unsigned long wrap_ndis_pending_work;	UINT attributes;	int iw_auth_set;	int iw_auth_wpa_version;	int iw_auth_cipher_pairwise;

⌨️ 快捷键说明

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