1#ifndef USB_API_H_SYN81IFYBN__
2#define USB_API_H_SYN81IFYBN__
6typedef struct _USBBuffer USBBuffer;
18#define USB_BUFFER_SUBMITTED 0x01
22#define USB_BUFFER_SHORT_END 0x02
25#define USB_BUFFER_PACKET_END 0x04
28#define USB_BUFFER_NOTIFY 0x08
31#define USB_BUFFER_IN 0x40
36#define USB_BUFFER_SETUP 0x20
40#define USB_BUFFER_HALT 0x100
45#define USB_BUFFER_SHORT_PACKET 0x10
48#define USB_BUFFER_FAILED 0x80
51#define USB_BUFFER_ARCH_FLAG_1 0x1000
52#define USB_BUFFER_ARCH_FLAG_2 0x2000
53#define USB_BUFFER_ARCH_FLAG_3 0x4000
54#define USB_BUFFER_ARCH_FLAG_4 0x8000
61struct USBRequestHandler
64 uint8_t request_type_mask;
68 unsigned int (*handler_func)();
72struct USBRequestHandlerHook
74 struct USBRequestHandlerHook *next;
75 const struct USBRequestHandler *
const handler;
79usb_register_request_handler(
struct USBRequestHandlerHook *hook);
82usb_prepend_request_handler(
struct USBRequestHandlerHook *hook);
85usb_setup_bulk_endpoint(uint8_t
addr);
87usb_setup_interrupt_endpoint(uint8_t
addr);
92usb_submit_recv_buffer(uint8_t ep_addr, USBBuffer *buffer);
99usb_submit_xmit_buffer(uint8_t ep_addr, USBBuffer *buffer);
103usb_send_pending(uint8_t ep_addr);
108usb_discard_all_buffers(uint8_t ep_addr);
111usb_disable_endpoint(uint8_t
addr);
115usb_halt_endpoint(uint8_t
addr,
int halt);
120usb_set_ep_event_process(uint8_t
addr,
struct process *p);
124usb_set_global_event_process(
struct process *p);
127#define USB_EVENT_CONFIG 0x01
128#define USB_EVENT_SUSPEND 0x02
129#define USB_EVENT_RESUME 0x04
130#define USB_EVENT_RESET 0x08
135usb_get_global_events(
void);
138#define USB_EP_EVENT_NOTIFICATION 0x01
140usb_get_ep_events(uint8_t
addr);
143usb_get_current_configuration(
void);
Header file for the Contiki process interface.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.