1 #ifndef USB_API_H_SYN81IFYBN__ 2 #define USB_API_H_SYN81IFYBN__ 6 typedef 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 59 struct USBRequestHandler {
61 uint8_t request_type_mask;
65 unsigned int (*handler_func) ();
69 struct USBRequestHandlerHook {
70 struct USBRequestHandlerHook *next;
71 const struct USBRequestHandler *
const handler;
74 void usb_register_request_handler(
struct USBRequestHandlerHook *hook);
76 void usb_prepend_request_handler(
struct USBRequestHandlerHook *hook);
78 void usb_setup_bulk_endpoint(uint8_t
addr);
80 void usb_setup_interrupt_endpoint(uint8_t
addr);
84 void usb_submit_recv_buffer(uint8_t ep_addr, USBBuffer * buffer);
90 void usb_submit_xmit_buffer(uint8_t ep_addr, USBBuffer * buffer);
93 int usb_send_pending(uint8_t ep_addr);
97 void usb_discard_all_buffers(uint8_t ep_addr);
99 void usb_disable_endpoint(uint8_t
addr);
102 void usb_halt_endpoint(uint8_t
addr,
int halt);
106 void usb_set_ep_event_process(uint8_t
addr,
struct process *p);
109 void 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 119 unsigned int usb_get_global_events(
void);
122 #define USB_EP_EVENT_NOTIFICATION 0x01 123 unsigned int usb_get_ep_events(uint8_t
addr);
125 unsigned int usb_get_current_configuration(
void);
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.
Header file for the Contiki process interface.