Changes in uspace/lib/drv/generic/remote_usb.c [56fb3732:95120c3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/generic/remote_usb.c
r56fb3732 r95120c3 33 33 */ 34 34 35 #include <ipc/ipc.h>36 35 #include <async.h> 37 36 #include <errno.h> … … 41 40 42 41 42 static void remote_usb_get_address(device_t *, void *, ipc_callid_t, ipc_call_t *); 43 static void remote_usb_get_interface(device_t *, void *, ipc_callid_t, ipc_call_t *); 43 44 static void remote_usb_get_hc_handle(device_t *, void *, ipc_callid_t, ipc_call_t *); 44 45 //static void remote_usb(device_t *, void *, ipc_callid_t, ipc_call_t *); … … 46 47 /** Remote USB interface operations. */ 47 48 static remote_iface_func_ptr_t remote_usb_iface_ops [] = { 49 remote_usb_get_address, 50 remote_usb_get_interface, 48 51 remote_usb_get_hc_handle 49 52 }; … … 58 61 59 62 63 void remote_usb_get_address(device_t *device, void *iface, 64 ipc_callid_t callid, ipc_call_t *call) 65 { 66 usb_iface_t *usb_iface = (usb_iface_t *) iface; 67 68 if (usb_iface->get_address == NULL) { 69 async_answer_0(callid, ENOTSUP); 70 return; 71 } 72 73 devman_handle_t handle = DEV_IPC_GET_ARG1(*call); 74 75 usb_address_t address; 76 int rc = usb_iface->get_address(device, handle, &address); 77 if (rc != EOK) { 78 async_answer_0(callid, rc); 79 } else { 80 async_answer_1(callid, EOK, address); 81 } 82 } 83 84 void remote_usb_get_interface(device_t *device, void *iface, 85 ipc_callid_t callid, ipc_call_t *call) 86 { 87 usb_iface_t *usb_iface = (usb_iface_t *) iface; 88 89 if (usb_iface->get_interface == NULL) { 90 async_answer_0(callid, ENOTSUP); 91 return; 92 } 93 94 devman_handle_t handle = DEV_IPC_GET_ARG1(*call); 95 96 int iface_no; 97 int rc = usb_iface->get_interface(device, handle, &iface_no); 98 if (rc != EOK) { 99 async_answer_0(callid, rc); 100 } else { 101 async_answer_1(callid, EOK, iface_no); 102 } 103 } 104 60 105 void remote_usb_get_hc_handle(device_t *device, void *iface, 61 106 ipc_callid_t callid, ipc_call_t *call) … … 64 109 65 110 if (usb_iface->get_hc_handle == NULL) { 66 ipc_answer_0(callid, ENOTSUP);111 async_answer_0(callid, ENOTSUP); 67 112 return; 68 113 } … … 71 116 int rc = usb_iface->get_hc_handle(device, &handle); 72 117 if (rc != EOK) { 73 ipc_answer_0(callid, rc);118 async_answer_0(callid, rc); 74 119 } 75 120 76 ipc_answer_1(callid, EOK, (sysarg_t) handle);121 async_answer_1(callid, EOK, (sysarg_t) handle); 77 122 } 78 123
Note:
See TracChangeset
for help on using the changeset viewer.