Exemplo n.º 1
0
Arquivo: usb.c Projeto: dwhacks/mchck
struct usbd_ep_pipe_state_t *
usb_init_ep(struct usbd_function_ctx_header *ctx, int ep, enum usb_ep_dir dir, size_t size)
{
	struct usbd_ep_pipe_state_t *s;

	if (dir == USB_EP_RX)
		s = &usb.ep_state[ctx->ep_rx_offset + ep].rx;
	else
		s = &usb.ep_state[ctx->ep_tx_offset + ep].tx;

	memset(s, 0, sizeof(*s));
	s->ep_maxsize = size;
	s->ep_num = ep;
	s->ep_dir = dir;
	usb_pipe_enable(s);
	return (s);
}
Exemplo n.º 2
0
Arquivo: usb.c Projeto: koson/mchck-os
struct usbd_ep_pipe_state_t *
usb_init_ep(struct usbd_function_ctx_header *ctx, int ep, enum usb_ep_dir dir, size_t size)
{
	struct usbd_ep_pipe_state_t *s;

	s = &usbd_pipe_state[usb.rx_pipe_count + usb.tx_pipe_count];
	memset(s, 0, sizeof(*s));
	if (dir == USB_EP_RX) {
		s->ep_num = usb.rx_pipe_count;
		usb.rx_pipe_count += 1;
	} else {
		s->ep_num = usb.tx_pipe_count;
		usb.tx_pipe_count += 1;
	}
	s->ep_dir = dir;
	s->ep_maxsize = size;
	usb_pipe_enable(s);
	return (s);
}