Lines Matching refs:func

47     struct ufunction *func;  member
294 static void _rndis_response_available(ufunction_t func) in _rndis_response_available() argument
296 rt_rndis_eth_t device = (rt_rndis_eth_t)func->user_data; in _rndis_response_available()
307 rt_usbd_io_request(func->device, device->eps.ep_cmd, &device->eps.ep_cmd->request); in _rndis_response_available()
311 static rt_err_t _rndis_init_response(ufunction_t func, rndis_init_msg_t msg) in _rndis_init_response() argument
351 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_init_response()
388 static rt_err_t _rndis_query_response(ufunction_t func,rndis_query_msg_t msg) in _rndis_query_response() argument
428 …_set_resp(resp, (func->device->dcd->device_is_hs ? (480UL * 1000 *1000) : (12UL * 1000 * 1000)) / … in _rndis_query_response()
437 if(((rt_rndis_eth_t)func->user_data)->parent.link_status) in _rndis_query_response()
499 resp = _create_resp(sizeof(((rt_rndis_eth_t)func->user_data)->host_addr)); in _rndis_query_response()
501 _copy_resp(resp, ((rt_rndis_eth_t)func->user_data)->host_addr); in _rndis_query_response()
547 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_query_response()
554 static rt_err_t _rndis_set_response(ufunction_t func,rndis_set_msg_t msg) in _rndis_set_response() argument
591 rt_timer_start(&((rt_rndis_eth_t)func->user_data)->timer); in _rndis_set_response()
593 eth_device_linkchange(&((rt_rndis_eth_t)func->user_data)->parent, RT_TRUE); in _rndis_set_response()
612 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_set_response()
619 static rt_err_t _rndis_reset_response(ufunction_t func,rndis_set_msg_t msg) in _rndis_reset_response() argument
646 eth_device_linkchange(&((rt_rndis_eth_t)func->user_data)->parent, RT_FALSE); in _rndis_reset_response()
649 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_TRUE; in _rndis_reset_response()
650 ((rt_rndis_eth_t)func->user_data)->rx_flag = RT_FALSE; in _rndis_reset_response()
662 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_reset_response()
669 static rt_err_t _rndis_keepalive_response(ufunction_t func,rndis_keepalive_msg_t msg) in _rndis_keepalive_response() argument
698 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_keepalive_response()
705 static rt_err_t _rndis_msg_parser(ufunction_t func, rt_uint8_t *msg) in _rndis_msg_parser() argument
713 ret = _rndis_init_response(func, (rndis_init_msg_t) msg); in _rndis_msg_parser()
719 eth_device_linkchange(&((rt_rndis_eth_t)func->user_data)->parent, RT_FALSE); in _rndis_msg_parser()
722 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_TRUE; in _rndis_msg_parser()
723 ((rt_rndis_eth_t)func->user_data)->rx_flag = RT_FALSE; in _rndis_msg_parser()
728 ret = _rndis_query_response(func,(rndis_query_msg_t) msg); in _rndis_msg_parser()
733 ret = _rndis_set_response(func,(rndis_set_msg_t) msg); in _rndis_msg_parser()
738 ret = _rndis_reset_response(func,(rndis_set_msg_t) msg); in _rndis_msg_parser()
743 ret = _rndis_keepalive_response(func,(rndis_keepalive_msg_t) msg); in _rndis_msg_parser()
753 _rndis_response_available(func); in _rndis_msg_parser()
770 static rt_err_t _rndis_send_encapsulated_command(ufunction_t func, ureq_t setup) in _rndis_send_encapsulated_command() argument
773 function = func; in _rndis_send_encapsulated_command()
774 … rt_usbd_ep0_read(func->device,rndis_message_buffer,setup->wLength,send_encapsulated_command_done); in _rndis_send_encapsulated_command()
779 static rt_err_t _rndis_get_encapsulated_response(ufunction_t func, ureq_t setup) in _rndis_get_encapsulated_response() argument
784 if(rt_list_isempty(&((rt_rndis_eth_t)func->user_data)->response_list)) in _rndis_get_encapsulated_response()
787 ((rt_rndis_eth_t)func->user_data)->need_notify = RT_TRUE; in _rndis_get_encapsulated_response()
791 response = (struct rt_rndis_response *)((rt_rndis_eth_t)func->user_data)->response_list.next; in _rndis_get_encapsulated_response()
794 rt_usbd_ep0_write(func->device, (void*)msg, msg->MessageLength); in _rndis_get_encapsulated_response()
805 if(!rt_list_isempty(&((rt_rndis_eth_t)func->user_data)->response_list)) in _rndis_get_encapsulated_response()
810 data = (rt_uint32_t *)((rt_rndis_eth_t)func->user_data)->eps.ep_cmd->buffer; in _rndis_get_encapsulated_response()
813 …((rt_rndis_eth_t)func->user_data)->eps.ep_cmd->request.buffer = ((rt_rndis_eth_t)func->user_data)-… in _rndis_get_encapsulated_response()
814 ((rt_rndis_eth_t)func->user_data)->eps.ep_cmd->request.size = 8; in _rndis_get_encapsulated_response()
815 ((rt_rndis_eth_t)func->user_data)->eps.ep_cmd->request.req_type = UIO_REQUEST_WRITE; in _rndis_get_encapsulated_response()
816 …rt_usbd_io_request(func->device, ((rt_rndis_eth_t)func->user_data)->eps.ep_cmd, &((rt_rndis_eth_t) in _rndis_get_encapsulated_response()
820 ((rt_rndis_eth_t)func->user_data)->need_notify = RT_TRUE; in _rndis_get_encapsulated_response()
834 static rt_err_t _interface_handler(ufunction_t func, ureq_t setup) in _interface_handler() argument
836 RT_ASSERT(func != RT_NULL); in _interface_handler()
842 _rndis_send_encapsulated_command(func, setup); in _interface_handler()
846 _rndis_get_encapsulated_response(func, setup); in _interface_handler()
866 static rt_err_t _ep_in_handler(ufunction_t func, rt_size_t size) in _ep_in_handler() argument
868 rt_sem_release(&((rt_rndis_eth_t)func->user_data)->tx_buffer_free); in _ep_in_handler()
880 static rt_err_t _ep_out_handler(ufunction_t func, rt_size_t size) in _ep_out_handler() argument
885 eps = (cdc_eps_t)&((rt_rndis_eth_t)func->user_data)->eps; in _ep_out_handler()
888 if(((rt_rndis_eth_t)func->user_data)->rx_frist == RT_TRUE) in _ep_out_handler()
892 ((rt_rndis_eth_t)func->user_data)->rx_length = msg->DataLength; in _ep_out_handler()
893 ((rt_rndis_eth_t)func->user_data)->rx_offset = 0; in _ep_out_handler()
899 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_FALSE; in _ep_out_handler()
900 …rt_memcpy(&((rt_rndis_eth_t)func->user_data)->rx_buffer[((rt_rndis_eth_t)func->user_data)->rx_offs… in _ep_out_handler()
901 ((rt_rndis_eth_t)func->user_data)->rx_offset += size; in _ep_out_handler()
906 …rt_memcpy(&((rt_rndis_eth_t)func->user_data)->rx_buffer[((rt_rndis_eth_t)func->user_data)->rx_offs… in _ep_out_handler()
907 ((rt_rndis_eth_t)func->user_data)->rx_offset += size; in _ep_out_handler()
910 if(((rt_rndis_eth_t)func->user_data)->rx_offset >= ((rt_rndis_eth_t)func->user_data)->rx_length) in _ep_out_handler()
912 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_TRUE; in _ep_out_handler()
913 ((rt_rndis_eth_t)func->user_data)->rx_flag = RT_TRUE; in _ep_out_handler()
914 eth_device_ready(&(((rt_rndis_eth_t)func->user_data)->parent)); in _ep_out_handler()
921 rt_usbd_io_request(func->device, eps->ep_out, &eps->ep_out->request); in _ep_out_handler()
935 static rt_err_t _ep_cmd_handler(ufunction_t func, rt_size_t size) in _ep_cmd_handler() argument
948 static rt_err_t _function_enable(ufunction_t func) in _function_enable() argument
954 eps = (cdc_eps_t)&((rt_rndis_eth_t)func->user_data)->eps; in _function_enable()
955 eps->ep_in->buffer = ((rt_rndis_eth_t)func->user_data)->tx_pool; in _function_enable()
956 eps->ep_out->buffer = ((rt_rndis_eth_t)func->user_data)->rx_pool; in _function_enable()
957 eps->ep_cmd->buffer = (rt_uint8_t*)((rt_rndis_eth_t)func->user_data)->cmd_pool; in _function_enable()
962 rt_usbd_io_request(func->device, eps->ep_out, &eps->ep_out->request); in _function_enable()
964 ((rt_rndis_eth_t)func->user_data)->rx_flag = RT_FALSE; in _function_enable()
965 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_TRUE; in _function_enable()
970 rt_timer_stop(&((rt_rndis_eth_t)func->user_data)->timer); in _function_enable()
978 while(!rt_list_isempty(&((rt_rndis_eth_t)func->user_data)->response_list)) in _function_enable()
980 … response = (struct rt_rndis_response *)((rt_rndis_eth_t)func->user_data)->response_list.next; in _function_enable()
987 ((rt_rndis_eth_t)func->user_data)->need_notify = RT_TRUE; in _function_enable()
1001 static rt_err_t _function_disable(ufunction_t func) in _function_disable() argument
1007 rt_timer_stop(&((rt_rndis_eth_t)func->user_data)->timer); in _function_disable()
1015 while(!rt_list_isempty(&((rt_rndis_eth_t)func->user_data)->response_list)) in _function_disable()
1017 … response = (struct rt_rndis_response *)((rt_rndis_eth_t)func->user_data)->response_list.next; in _function_disable()
1025 ((rt_rndis_eth_t)func->user_data)->need_notify = RT_TRUE; in _function_disable()
1031 eth_device_linkchange(&((rt_rndis_eth_t)func->user_data)->parent, RT_FALSE); in _function_disable()
1034 ((rt_rndis_eth_t)func->user_data)->rx_frist = RT_TRUE; in _function_disable()
1035 ((rt_rndis_eth_t)func->user_data)->rx_flag = RT_FALSE; in _function_disable()
1153 rt_usbd_io_request(device->func->device, device->eps.ep_out, &device->eps.ep_out->request); in rt_rndis_eth_rx()
1225 rt_usbd_io_request(device->func->device, device->eps.ep_in, &device->eps.ep_in->request); in rt_rndis_eth_tx()
1255 static rt_err_t _rndis_indicate_status_msg(ufunction_t func, rt_uint32_t status) in _rndis_indicate_status_msg() argument
1285 rt_list_insert_before(&((rt_rndis_eth_t)func->user_data)->response_list, &response->list); in _rndis_indicate_status_msg()
1289 _rndis_response_available(func); in _rndis_indicate_status_msg()
1298 _rndis_indicate_status_msg(((rt_rndis_eth_t)parameter)->func, in timer_timeout()
1344 _rndis->func = cdc; in rt_usbd_function_rndis_create()