📄 htc.h
字号:
/* * Copyright (c) 2006 Atheros Communications, Inc. * * Wireless Network driver for Atheros AR6001 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation; * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * * htc.h - HTC Module specific declarations and prototypes */#ifndef _HTC_H_#define _HTC_H_#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* ------ MBOX ID ------ */typedef enum{ ENDPOINT_UNUSED = -1, ENDPOINT1 = 0, ENDPOINT2, ENDPOINT3, ENDPOINT4,} HTC_ENDPOINT_ID;/* ------ Event Types ------ */typedef enum{ HTC_BUFFER_RECEIVED = 0, HTC_SKB_RECEIVED, HTC_BUFFER_SENT, HTC_SKB_SENT, HTC_DATA_AVAILABLE, HTC_TARGET_AVAILABLE, HTC_TARGET_UNAVAILABLE,} HTC_EVENT_ID;#define HTC_MAILBOX_NUM_MAX 4#define HTC_HEADER_LEN 2#define HTC_DATA_REQUEST_RING_BUFFER_SIZE 30/* ------- Target Specific Data structures ------- */typedef struct htc_target HTC_TARGET;/* ------- Event Specific Data Structures ------- */typedef struct htc_event_info HTC_EVENT_INFO;typedef void (*HTC_EVENT_HANDLER) (HTC_TARGET *, HTC_ENDPOINT_ID, HTC_EVENT_ID, HTC_EVENT_INFO *, void *);/* WMI layer extracts the relevant information from this data structure */struct htc_event_info{ A_UCHAR *buffer; void *cookie; A_UINT32 bufferLength; A_UINT32 actualLength; A_STATUS status;};/* ------ Function Prototypes ------ */A_STATUSHTCInit(void);A_STATUSHTCStart(HTC_TARGET *target);/* target - IN */A_STATUSHTCEventReg(HTC_TARGET *target, HTC_ENDPOINT_ID endPointId, HTC_EVENT_ID eventId, HTC_EVENT_HANDLER eventHandler, void *param);/* target - IN, endPointId - IN, eventId - IN, eventHandler - IN, param - IN */A_STATUSHTCBufferReceive(HTC_TARGET *target, HTC_ENDPOINT_ID endPointId, A_UCHAR *buffer, A_UINT32 length, void *cookie);/* target - IN, endPointId - IN, buffer - IN, length - IN, cookie - IN */#if 0A_STATUSHTCSkbReceive(HTC_TARGET *target, HTC_ENDPOINT_ID endPointId, struct sk_buff *skb, void *cookie);#endifA_STATUSHTCBufferSend(HTC_TARGET *target, HTC_ENDPOINT_ID endPointId, A_UCHAR *buffer, A_UINT32 length, void *cookie);/* target - IN, endPointId - IN, buffer - IN, length - IN, cookie - IN */#if 0A_STATUSHTCSkbSend(HTC_TARGET *target, HTC_ENDPOINT_ID endPointId, struct sk_buff *skb, void *cookie);#endifvoidHTCStop(HTC_TARGET *target);/* target - IN */voidHTCShutDown(HTC_TARGET *target);#ifdef __cplusplus}#endif#endif /* _HTC_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -