1#ifndef USB_API_H_SYN81IFYBN__
2#define USB_API_H_SYN81IFYBN__
6typedef struct _USBBuffer USBBuffer;
17#define USB_BUFFER_SUBMITTED 0x01
21#define USB_BUFFER_SHORT_END 0x02
24#define USB_BUFFER_PACKET_END 0x04
27#define USB_BUFFER_NOTIFY 0x08
30#define USB_BUFFER_IN 0x40
35#define USB_BUFFER_SETUP 0x20
39#define USB_BUFFER_HALT 0x100
44#define USB_BUFFER_SHORT_PACKET 0x10
47#define USB_BUFFER_FAILED 0x80
50#define USB_BUFFER_ARCH_FLAG_1 0x1000
51#define USB_BUFFER_ARCH_FLAG_2 0x2000
52#define USB_BUFFER_ARCH_FLAG_3 0x4000
53#define USB_BUFFER_ARCH_FLAG_4 0x8000
59struct USBRequestHandler {
61 uint8_t request_type_mask;
65 unsigned int (*handler_func) ();
69struct USBRequestHandlerHook {
70 struct USBRequestHandlerHook *next;
71 const struct USBRequestHandler *
const handler;
74void usb_register_request_handler(
struct USBRequestHandlerHook *hook);
76void usb_prepend_request_handler(
struct USBRequestHandlerHook *hook);
78void usb_setup_bulk_endpoint(uint8_t
addr);
80void usb_setup_interrupt_endpoint(uint8_t
addr);
84void usb_submit_recv_buffer(uint8_t ep_addr, USBBuffer * buffer);
90void usb_submit_xmit_buffer(uint8_t ep_addr, USBBuffer * buffer);
93int usb_send_pending(uint8_t ep_addr);
97void usb_discard_all_buffers(uint8_t ep_addr);
99void usb_disable_endpoint(uint8_t
addr);
102void usb_halt_endpoint(uint8_t
addr,
int halt);
106void usb_set_ep_event_process(uint8_t
addr,
struct process *p);
109void usb_set_global_event_process(
struct process *p);
112#define USB_EVENT_CONFIG 0x01
113#define USB_EVENT_SUSPEND 0x02
114#define USB_EVENT_RESUME 0x04
115#define USB_EVENT_RESET 0x08
119unsigned int usb_get_global_events(
void);
122#define USB_EP_EVENT_NOTIFICATION 0x01
123unsigned int usb_get_ep_events(uint8_t
addr);
125unsigned int usb_get_current_configuration(
void);
Header file for the Contiki process interface.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.