Changes in uspace/lib/net/generic/generic.c [c3887ad:6b82009] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/net/generic/generic.c
rc3887ad r6b82009 54 54 */ 55 55 int generic_device_state_msg_remote(async_sess_t *sess, sysarg_t message, 56 nic_device_id_t device_id, sysarg_t state, services_t target)56 device_id_t device_id, sysarg_t state, services_t target) 57 57 { 58 58 async_exch_t *exch = async_exchange_begin(sess); … … 68 68 * @param[in] message Service specific message. 69 69 * @param[in] device_id Device identifier. 70 * @param[in] arg2 Second argument of the message. 70 71 * @param[in] service Device module service. 71 72 * … … 76 77 */ 77 78 int generic_device_req_remote(async_sess_t *sess, sysarg_t message, 78 nic_device_id_t device_id, services_t service)79 { 80 async_exch_t *exch = async_exchange_begin(sess); 81 int rc = async_req_3_0(exch, message, (sysarg_t) device_id, 0,82 (sysarg_t) service);79 device_id_t device_id, sysarg_t arg2, services_t service) 80 { 81 async_exch_t *exch = async_exchange_begin(sess); 82 int rc = async_req_3_0(exch, message, (sysarg_t) device_id, 83 arg2, (sysarg_t) service); 83 84 async_exchange_end(exch); 84 85 … … 102 103 */ 103 104 int generic_get_addr_req(async_sess_t *sess, sysarg_t message, 104 nic_device_id_t device_id, uint8_t *address, size_t max_len) 105 { 106 aid_t aid; 107 ipc_call_t result; 108 109 assert(address != NULL); 105 device_id_t device_id, measured_string_t **address, uint8_t **data) 106 { 107 if ((!address) || (!data)) 108 return EBADMEM; 110 109 111 110 /* Request the address */ 112 111 async_exch_t *exch = async_exchange_begin(sess); 113 aid = async_send_1(exch, message, (sysarg_t) device_id, &result); 114 115 sysarg_t ipcrc; 116 int rc = async_data_read_start(exch, address, max_len); 117 async_exchange_end(exch); 118 119 if (rc != EOK) { 120 async_wait_for(aid, &ipcrc); 121 return rc; 122 } 123 124 async_wait_for(aid, &ipcrc); 125 if (ipcrc == EOK) { 126 return IPC_GET_ARG1(result); 127 } else { 128 return (int) ipcrc; 129 } 112 aid_t message_id = async_send_1(exch, message, (sysarg_t) device_id, 113 NULL); 114 int rc = measured_strings_return(exch, address, data, 1); 115 async_exchange_end(exch); 116 117 sysarg_t result; 118 async_wait_for(message_id, &result); 119 120 /* If not successful */ 121 if ((rc == EOK) && (result != EOK)) { 122 /* Clear the data */ 123 free(*address); 124 free(*data); 125 } 126 127 return (int) result; 130 128 } 131 129 … … 144 142 */ 145 143 int generic_packet_size_req_remote(async_sess_t *sess, sysarg_t message, 146 nic_device_id_t device_id, packet_dimension_t *packet_dimension)144 device_id_t device_id, packet_dimension_t *packet_dimension) 147 145 { 148 146 if (!packet_dimension) … … 181 179 */ 182 180 int generic_received_msg_remote(async_sess_t *sess, sysarg_t message, 183 nic_device_id_t device_id, packet_id_t packet_id, services_t target,181 device_id_t device_id, packet_id_t packet_id, services_t target, 184 182 services_t error) 185 183 { … … 212 210 */ 213 211 int generic_send_msg_remote(async_sess_t *sess, sysarg_t message, 214 nic_device_id_t device_id, packet_id_t packet_id, services_t sender,212 device_id_t device_id, packet_id_t packet_id, services_t sender, 215 213 services_t error) 216 214 { … … 253 251 */ 254 252 int generic_translate_req(async_sess_t *sess, sysarg_t message, 255 nic_device_id_t device_id, services_t service,253 device_id_t device_id, services_t service, 256 254 measured_string_t *configuration, size_t count, 257 255 measured_string_t **translation, uint8_t **data)
Note:
See TracChangeset
for help on using the changeset viewer.