Lines Matching refs:rndis_class

27 static int usbh_rndis_get_notification(struct usbh_rndis *rndis_class)  in usbh_rndis_get_notification()  argument
29 (void)rndis_class; in usbh_rndis_get_notification()
42 static int usbh_rndis_init_msg_transfer(struct usbh_rndis *rndis_class) in usbh_rndis_init_msg_transfer() argument
49 if (!rndis_class || !rndis_class->hport) { in usbh_rndis_init_msg_transfer()
52 setup = rndis_class->hport->setup; in usbh_rndis_init_msg_transfer()
58 cmd->RequestId = rndis_class->request_id++; in usbh_rndis_init_msg_transfer()
69 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)cmd); in usbh_rndis_init_msg_transfer()
75 usbh_rndis_get_notification(rndis_class); in usbh_rndis_init_msg_transfer()
85 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)resp); in usbh_rndis_init_msg_transfer()
91 rndis_class->max_transfer_pkts = resp->MaxPacketsPerTransfer; in usbh_rndis_init_msg_transfer()
92 rndis_class->max_transfer_size = resp->MaxTransferSize; in usbh_rndis_init_msg_transfer()
99 int usbh_rndis_query_msg_transfer(struct usbh_rndis *rndis_class, uint32_t oid, uint32_t query_len,… in usbh_rndis_query_msg_transfer() argument
106 if (!rndis_class || !rndis_class->hport) { in usbh_rndis_query_msg_transfer()
109 setup = rndis_class->hport->setup; in usbh_rndis_query_msg_transfer()
115 cmd->RequestId = rndis_class->request_id++; in usbh_rndis_query_msg_transfer()
127 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)cmd); in usbh_rndis_query_msg_transfer()
133 usbh_rndis_get_notification(rndis_class); in usbh_rndis_query_msg_transfer()
143 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)resp); in usbh_rndis_query_msg_transfer()
155 static int usbh_rndis_set_msg_transfer(struct usbh_rndis *rndis_class, uint32_t oid, uint8_t *info,… in usbh_rndis_set_msg_transfer() argument
162 if (!rndis_class || !rndis_class->hport) { in usbh_rndis_set_msg_transfer()
165 setup = rndis_class->hport->setup; in usbh_rndis_set_msg_transfer()
171 cmd->RequestId = rndis_class->request_id++; in usbh_rndis_set_msg_transfer()
184 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)cmd); in usbh_rndis_set_msg_transfer()
190 usbh_rndis_get_notification(rndis_class); in usbh_rndis_set_msg_transfer()
200 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)resp); in usbh_rndis_set_msg_transfer()
209 int usbh_rndis_get_connect_status(struct usbh_rndis *rndis_class) in usbh_rndis_get_connect_status() argument
215 …ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_MEDIA_CONNECT_STATUS, 4, data, &data_len); in usbh_rndis_get_connect_status()
220 rndis_class->connect_status = true; in usbh_rndis_get_connect_status()
222 rndis_class->connect_status = false; in usbh_rndis_get_connect_status()
227 int usbh_rndis_keepalive(struct usbh_rndis *rndis_class) in usbh_rndis_keepalive() argument
234 if (!rndis_class || !rndis_class->hport) { in usbh_rndis_keepalive()
237 setup = rndis_class->hport->setup; in usbh_rndis_keepalive()
243 cmd->RequestId = rndis_class->request_id++; in usbh_rndis_keepalive()
251 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)cmd); in usbh_rndis_keepalive()
257 usbh_rndis_get_notification(rndis_class); in usbh_rndis_keepalive()
267 ret = usbh_control_transfer(rndis_class->hport, setup, (uint8_t *)resp); in usbh_rndis_keepalive()
287 struct usbh_rndis *rndis_class = &g_rndis_class; in usbh_rndis_connect() local
289 memset(rndis_class, 0, sizeof(struct usbh_rndis)); in usbh_rndis_connect()
291 rndis_class->hport = hport; in usbh_rndis_connect()
292 rndis_class->ctrl_intf = intf; in usbh_rndis_connect()
293 rndis_class->data_intf = intf + 1; in usbh_rndis_connect()
295 hport->config.intf[intf].priv = rndis_class; in usbh_rndis_connect()
305 USBH_EP_INIT(rndis_class->bulkin, ep_desc); in usbh_rndis_connect()
307 USBH_EP_INIT(rndis_class->bulkout, ep_desc); in usbh_rndis_connect()
311 ret = usbh_rndis_init_msg_transfer(rndis_class); in usbh_rndis_connect()
316 …ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_SUPPORTED_LIST, 0, tmp_buffer, &data_len); in usbh_rndis_connect()
329 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_PHYSICAL_MEDIUM, 4, data, &data_len); in usbh_rndis_connect()
335 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_MAXIMUM_FRAME_SIZE, 4, data, &data_len); in usbh_rndis_connect()
341 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_LINK_SPEED, 4, data, &data_len); in usbh_rndis_connect()
346 memcpy(&rndis_class->link_speed, data, 4); in usbh_rndis_connect()
349 …ret = usbh_rndis_query_msg_transfer(rndis_class, OID_GEN_MEDIA_CONNECT_STATUS, 4, data, &data_len); in usbh_rndis_connect()
354 rndis_class->connect_status = true; in usbh_rndis_connect()
356 rndis_class->connect_status = false; in usbh_rndis_connect()
360 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_802_3_MAXIMUM_LIST_SIZE, 4, data, &data_len); in usbh_rndis_connect()
366 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_802_3_CURRENT_ADDRESS, 6, data, &data_len); in usbh_rndis_connect()
372 rndis_class->mac[j] = data[j]; in usbh_rndis_connect()
376 … ret = usbh_rndis_query_msg_transfer(rndis_class, OID_802_3_PERMANENT_ADDRESS, 6, data, &data_len); in usbh_rndis_connect()
387 …ret = usbh_rndis_set_msg_transfer(rndis_class, OID_GEN_CURRENT_PACKET_FILTER, (uint8_t *)&packet_f… in usbh_rndis_connect()
393 ret = usbh_rndis_set_msg_transfer(rndis_class, OID_802_3_MULTICAST_LIST, multicast_list, 6); in usbh_rndis_connect()
399 rndis_class->mac[0], in usbh_rndis_connect()
400 rndis_class->mac[1], in usbh_rndis_connect()
401 rndis_class->mac[2], in usbh_rndis_connect()
402 rndis_class->mac[3], in usbh_rndis_connect()
403 rndis_class->mac[4], in usbh_rndis_connect()
404 rndis_class->mac[5]); in usbh_rndis_connect()
409 usbh_rndis_run(rndis_class); in usbh_rndis_connect()
420 struct usbh_rndis *rndis_class = (struct usbh_rndis *)hport->config.intf[intf].priv; in usbh_rndis_disconnect() local
422 if (rndis_class) { in usbh_rndis_disconnect()
423 if (rndis_class->bulkin) { in usbh_rndis_disconnect()
424 usbh_kill_urb(&rndis_class->bulkin_urb); in usbh_rndis_disconnect()
427 if (rndis_class->bulkout) { in usbh_rndis_disconnect()
428 usbh_kill_urb(&rndis_class->bulkout_urb); in usbh_rndis_disconnect()
438 usbh_rndis_stop(rndis_class); in usbh_rndis_disconnect()
441 memset(rndis_class, 0, sizeof(struct usbh_rndis)); in usbh_rndis_disconnect()
581 __WEAK void usbh_rndis_run(struct usbh_rndis *rndis_class) argument
583 (void)rndis_class;
586 __WEAK void usbh_rndis_stop(struct usbh_rndis *rndis_class) argument
588 (void)rndis_class;