4 * @Abstract: Host Interface api
8 * Copyright (c) 2008 Atheros Communications Inc.
13 #ifndef _USB_FIFO_API_H
14 #define _USB_FIFO_API_H
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);
28 /* context used for all callbacks */
32 /* hardware API table structure (API descriptions below) */
34 void (*_init)(USB_FIFO_CONFIG *pConfig);
35 void (*_enable_event_isr)(void);
37 /* room to expand this table by another table */
41 extern void usbfifo_module_install(struct usbfifo_api *apis);
43 #endif /* #ifndef _USB_FIFO_API_H */