Initial cut of the open ath9k htc firmware.
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / build / magpie_1_1 / inc / usbfifo_api.h
1 /*
2  * @File: HIF_api.h
3  * 
4  * @Abstract: Host Interface api
5  * 
6  * @Notes:
7  * 
8  * Copyright (c) 2008 Atheros Communications Inc.
9  * All rights reserved.
10  *
11  */
12
13 #ifndef _USB_FIFO_API_H
14 #define _USB_FIFO_API_H
15
16 #include "vbuf_api.h"
17
18 typedef struct _USB_FIFO_CONFIG {
19         /* callback to get the buf for receiving commands from USB FIFO */
20     VBUF* (*get_command_buf)(void);
21         /* callback when receiving a command */
22     void (*recv_command)(VBUF *cmd);    
23         /* callback to get the buf for event to send to the host */
24     VBUF* (*get_event_buf)(void);
25         /* callback to indicate the event has been sent to the host */
26     void (*send_event_done)(VBUF *buf);
27     
28         /* context used for all callbacks */
29     //void *context;
30 } USB_FIFO_CONFIG;
31
32 /* hardware API table structure (API descriptions below) */
33 struct usbfifo_api {
34     void (*_init)(USB_FIFO_CONFIG *pConfig);
35     void (*_enable_event_isr)(void);
36
37         /* room to expand this table by another table */
38     void *pReserved;    
39 };
40
41 extern void usbfifo_module_install(struct usbfifo_api *apis);
42
43 #endif /* #ifndef _USB_FIFO_API_H */