Changeset fa101c4 in mainline for uspace/srv/inet/inetcfg.c
- Timestamp:
- 2012-03-08T22:30:19Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 637a3b4
- Parents:
- 291c792
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/inet/inetcfg.c
r291c792 rfa101c4 85 85 static int inetcfg_addr_delete(sysarg_t addr_id) 86 86 { 87 return ENOTSUP; 87 inet_addrobj_t *addr; 88 89 addr = inet_addrobj_get_by_id(addr_id); 90 if (addr == NULL) 91 return ENOENT; 92 93 inet_addrobj_remove(addr); 94 inet_addrobj_delete(addr); 95 96 return EOK; 88 97 } 89 98 … … 100 109 ainfo->name = str_dup(addr->name); 101 110 111 return EOK; 112 } 113 114 static int inetcfg_addr_get_id(char *name, sysarg_t link_id, sysarg_t *addr_id) 115 { 116 inet_link_t *ilink; 117 inet_addrobj_t *addr; 118 119 ilink = inet_link_get_by_id(link_id); 120 if (ilink == NULL) { 121 log_msg(LVL_DEBUG, "Link %zu not found.", (size_t) link_id); 122 return ENOENT; 123 } 124 125 addr = inet_addrobj_find_by_name(name, ilink); 126 if (addr == NULL) { 127 log_msg(LVL_DEBUG, "Address '%s' not found.", name); 128 return ENOENT; 129 } 130 131 *addr_id = addr->id; 102 132 return EOK; 103 133 } … … 202 232 async_answer_3(callid, retval, ainfo.naddr.ipv4, ainfo.naddr.bits, 203 233 ainfo.ilink); 234 } 235 236 static void inetcfg_addr_get_id_srv(ipc_callid_t callid, ipc_call_t *call) 237 { 238 char *name; 239 sysarg_t link_id; 240 sysarg_t addr_id; 241 int rc; 242 243 log_msg(LVL_DEBUG, "inetcfg_addr_get_id_srv()"); 244 245 link_id = IPC_GET_ARG1(*call); 246 247 rc = async_data_write_accept((void **) &name, true, 0, LOC_NAME_MAXLEN, 248 0, NULL); 249 if (rc != EOK) { 250 async_answer_0(callid, rc); 251 return; 252 } 253 254 addr_id = 0; 255 rc = inetcfg_addr_get_id(name, link_id, &addr_id); 256 free(name); 257 async_answer_1(callid, rc, addr_id); 204 258 } 205 259 … … 333 387 inetcfg_addr_get_srv(callid, &call); 334 388 break; 389 case INETCFG_ADDR_GET_ID: 390 inetcfg_addr_get_id_srv(callid, &call); 391 break; 335 392 case INETCFG_GET_ADDR_LIST: 336 393 inetcfg_get_addr_list_srv(callid, &call);
Note:
See TracChangeset
for help on using the changeset viewer.