forked from xuos/xiuos
Modify IPC-related functions in rndis host
This commit is contained in:
parent
1d7bcb479d
commit
181362892a
|
@ -21,6 +21,10 @@ Modification: rndis bulk transfer buffer uses physical addresses.
|
||||||
3. Date: 2024-07-23
|
3. Date: 2024-07-23
|
||||||
Author: AIIT XUOS Lab
|
Author: AIIT XUOS Lab
|
||||||
Modification: Modify MessageLength in usbh_rndis_eth_tx, see https://github.com/cherry-embedded/CherryUSB.
|
Modification: Modify MessageLength in usbh_rndis_eth_tx, see https://github.com/cherry-embedded/CherryUSB.
|
||||||
|
|
||||||
|
4. Date: 2024-07-24
|
||||||
|
Author: AIIT XUOS Lab
|
||||||
|
Modification: Modify IPC-related functions in rndis.
|
||||||
*************************************************/
|
*************************************************/
|
||||||
#include <usb_osal.h>
|
#include <usb_osal.h>
|
||||||
#include "usbh_core.h"
|
#include "usbh_core.h"
|
||||||
|
@ -61,8 +65,16 @@ usb_osal_sem_t mutex_sem_handle;
|
||||||
usb_osal_thread_t timer_handle;
|
usb_osal_thread_t timer_handle;
|
||||||
usb_osal_thread_t data_recv_task_handle;
|
usb_osal_thread_t data_recv_task_handle;
|
||||||
|
|
||||||
extern void eth_device_linkchange(bool up); //todo IPC function
|
|
||||||
extern void eth_device_ready(void *dataptr, size_t len); //todo IPC function
|
__WEAK int eth_device_linkchange(bool up)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
__WEAK int eth_device_ready(void *dataptr, size_t len)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void rndis_dev_keepalive_timeout(void *pdata)
|
static void rndis_dev_keepalive_timeout(void *pdata)
|
||||||
{
|
{
|
||||||
|
@ -121,7 +133,7 @@ static void usbh_rndis_data_recv_entry(void *pdata)
|
||||||
while (ret > 0) {
|
while (ret > 0) {
|
||||||
pmsg = (rndis_data_packet_t *)(rx_buffer + pmg_offset);
|
pmsg = (rndis_data_packet_t *)(rx_buffer + pmg_offset);
|
||||||
if (pmsg->MessageType == REMOTE_NDIS_PACKET_MSG) {
|
if (pmsg->MessageType == REMOTE_NDIS_PACKET_MSG) {
|
||||||
eth_device_ready((uint8_t *)(&pmsg->DataOffset) + pmsg->DataOffset, pmsg->MessageLength);
|
eth_device_ready((uint8_t *)(&pmsg->DataOffset) + pmsg->DataOffset, pmsg->DataLength);
|
||||||
pmg_offset += pmsg->MessageLength;
|
pmg_offset += pmsg->MessageLength;
|
||||||
ret -= pmsg->MessageLength;
|
ret -= pmsg->MessageLength;
|
||||||
}
|
}
|
||||||
|
@ -248,7 +260,7 @@ int usbh_rndis_eth_tx(void *dataptr, size_t tot_len)
|
||||||
return rndis_msg_data_send(s_rndis_class_ptr, (uint8_t *)tx_buffer_phy, hdr->MessageLength);
|
return rndis_msg_data_send(s_rndis_class_ptr, (uint8_t *)tx_buffer_phy, hdr->MessageLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
int usbh_rndis_eth_control(int cmd, void *args)
|
int usbh_rndis_eth_control(int cmd, void *args, size_t len)
|
||||||
{
|
{
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case NIOCTL_GADDR:
|
case NIOCTL_GADDR:
|
||||||
|
|
Loading…
Reference in New Issue