Changes in uspace/lib/net/generic/net_remote.c [61bfc370:609243f4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/net/generic/net_remote.c
r61bfc370 r609243f4 38 38 #include <ipc/services.h> 39 39 #include <ipc/net_net.h> 40 41 40 #include <malloc.h> 42 41 #include <async.h> 42 #include <devman.h> 43 43 #include <generic.h> 44 44 #include <net/modules.h> … … 47 47 #include <adt/measured_strings.h> 48 48 49 /** Connect sto the networking module.49 /** Connect to the networking module. 50 50 * 51 * @return The networking module phone on success. 51 * @return Networking module session on success. 52 * 52 53 */ 53 intnet_connect_module(void)54 async_sess_t *net_connect_module(void) 54 55 { 55 56 return connect_to_service(SERVICE_NETWORKING); 56 57 } 57 58 58 /** Free sthe received settings.59 /** Free the received settings. 59 60 * 60 * @param[in] settings The received settings. 61 * @param[in] data The received settings data. 62 * @see net_get_device_conf_req() 61 * @param[in] settings Received settings. 62 * @param[in] data Received settings data. 63 * 64 * @see net_get_device_conf_req() 63 65 * @see net_get_conf_req() 66 * 64 67 */ 65 68 void net_free_settings(measured_string_t *settings, uint8_t *data) … … 71 74 } 72 75 73 /** Return sthe global configuration.76 /** Return the global configuration. 74 77 * 75 78 * The configuration names are read and the appropriate settings are set … … 77 80 * configuration. 78 81 * 79 * @param[in] net_phone The networking module phone. 80 * @param[in,out] configuration The requested configuration. The names are read 81 * and the appropriate settings are set instead. 82 * @param[in] sess Networking module session. 83 * @param[in,out] configuration Requested configuration. The names are 84 * read and the appropriate settings are set 85 * instead. 82 86 * 83 * @param[in] count The configuration entries count. 84 * @param[in,out] data The configuration and settings data. 85 * @return EOK on success. 86 * @return EINVAL if the configuration is NULL. 87 * @return EINVAL if the count is zero. 88 * @return Other error codes as defined for the 89 * generic_translate_req() function. 87 * @param[in] count Configuration entries count. 88 * @param[in,out] data Configuration and settings data. 89 * 90 * @return EOK on success. 91 * @return EINVAL if the configuration is NULL. 92 * @return EINVAL if the count is zero. 93 * @return Other error codes as defined for the 94 * generic_translate_req() function. 95 * 90 96 */ 91 int 92 net_get_conf_req(int net_phone, measured_string_t **configuration, 97 int net_get_conf_req(async_sess_t *sess, measured_string_t **configuration, 93 98 size_t count, uint8_t **data) 94 99 { 95 return generic_translate_req( net_phone, NET_NET_GET_DEVICE_CONF, 0, 0,100 return generic_translate_req(sess, NET_NET_GET_CONF, 0, 0, 96 101 *configuration, count, configuration, data); 97 102 } 98 103 99 /** Return sthe device specific configuration.104 /** Return the device specific configuration. 100 105 * 101 * Return sthe global configuration if the device specific is not found.106 * Return the global configuration if the device specific is not found. 102 107 * The configuration names are read and the appropriate settings are set 103 108 * instead. Call net_free_settings() function to release the returned 104 109 * configuration. 105 110 * 106 * @param[in] net_phone The networking module phone. 107 * @param[in] device_id The device identifier. 108 * @param[in,out] configuration The requested device configuration. The names 109 * are read and the appropriate settings are set instead. 110 * @param[in] count The configuration entries count. 111 * @param[in,out] data The configuration and settings data. 112 * @return EOK on success. 113 * @return EINVAL if the configuration is NULL. 114 * @return EINVAL if the count is zero. 115 * @return Other error codes as defined for the 116 * generic_translate_req() function. 111 * @param[in] sess The networking module session. 112 * @param[in] device_id Device identifier. 113 * @param[in,out] configuration Requested device configuration. The names 114 * are read and the appropriate settings are 115 * set instead. 116 * @param[in] count Configuration entries count. 117 * @param[in,out] data Configuration and settings data. 118 * 119 * @return EOK on success. 120 * @return EINVAL if the configuration is NULL. 121 * @return EINVAL if the count is zero. 122 * @return Other error codes as defined for the 123 * generic_translate_req() function. 124 * 117 125 */ 118 int 119 net_get_device_conf_req(int net_phone, device_id_t device_id, 126 int net_get_device_conf_req(async_sess_t *sess, nic_device_id_t device_id, 120 127 measured_string_t **configuration, size_t count, uint8_t **data) 121 128 { 122 return generic_translate_req( net_phone, NET_NET_GET_DEVICE_CONF,129 return generic_translate_req(sess, NET_NET_GET_DEVICE_CONF, 123 130 device_id, 0, *configuration, count, configuration, data); 131 } 132 133 int net_get_devices_req(async_sess_t *sess, measured_string_t **devices, 134 size_t *count, uint8_t **data) 135 { 136 if ((!devices) || (!count)) 137 return EBADMEM; 138 139 async_exch_t *exch = async_exchange_begin(sess); 140 141 int rc = async_req_0_1(exch, NET_NET_GET_DEVICES_COUNT, count); 142 if (rc != EOK) { 143 async_exchange_end(exch); 144 return rc; 145 } 146 147 if (*count == 0) { 148 async_exchange_end(exch); 149 *data = NULL; 150 return EOK; 151 } 152 153 aid_t message_id = async_send_0(exch, NET_NET_GET_DEVICES, NULL); 154 rc = measured_strings_return(exch, devices, data, *count); 155 156 async_exchange_end(exch); 157 158 sysarg_t result; 159 async_wait_for(message_id, &result); 160 161 if ((rc == EOK) && (result != EOK)) { 162 free(*devices); 163 free(*data); 164 } 165 166 return (int) result; 167 } 168 169 int net_driver_ready(async_sess_t *sess, devman_handle_t handle) 170 { 171 async_exch_t *exch = async_exchange_begin(sess); 172 int rc = async_req_1_0(exch, NET_NET_DRIVER_READY, handle); 173 async_exchange_end(exch); 174 175 return rc; 124 176 } 125 177
Note:
See TracChangeset
for help on using the changeset viewer.