Changes in uspace/lib/c/generic/iplink.c [77ad86c:a2e3ee6] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/iplink.c
r77ad86c ra2e3ee6 39 39 #include <errno.h> 40 40 #include <inet/iplink.h> 41 #include <inet/addr.h> 41 42 #include <ipc/iplink.h> 42 43 #include <ipc/services.h> … … 83 84 { 84 85 async_exch_t *exch = async_exchange_begin(iplink->sess); 85 86 86 87 ipc_call_t answer; 87 aid_t req = async_send_2(exch, IPLINK_SEND, sdu->lsrc.ipv4,88 sdu->ldest.ipv4, &answer);88 aid_t req = async_send_2(exch, IPLINK_SEND, (sysarg_t) sdu->lsrc, 89 (sysarg_t) sdu->ldest, &answer); 89 90 int rc = async_data_write_start(exch, sdu->data, sdu->size); 91 90 92 async_exchange_end(exch); 91 93 92 94 if (rc != EOK) { 93 95 async_forget(req); 94 96 return rc; 95 97 } 96 98 97 99 sysarg_t retval; 98 100 async_wait_for(req, &retval); 99 101 if (retval != EOK) 100 102 return retval; 101 103 102 104 return EOK; 103 105 } … … 118 120 } 119 121 120 int iplink_addr_add(iplink_t *iplink, i plink_addr_t *addr)122 int iplink_addr_add(iplink_t *iplink, inet_addr_t *addr) 121 123 { 124 uint32_t addr_addr; 125 int rc = inet_addr_pack(addr, &addr_addr); 126 if (rc != EOK) 127 return rc; 128 122 129 async_exch_t *exch = async_exchange_begin(iplink->sess); 123 124 int rc = async_req_1_0(exch, IPLINK_ADDR_ADD, (sysarg_t)addr->ipv4); 130 rc = async_req_1_0(exch, IPLINK_ADDR_ADD, (sysarg_t) addr_addr); 125 131 async_exchange_end(exch); 126 132 127 133 return rc; 128 134 } 129 135 130 int iplink_addr_remove(iplink_t *iplink, i plink_addr_t *addr)136 int iplink_addr_remove(iplink_t *iplink, inet_addr_t *addr) 131 137 { 138 uint32_t addr_addr; 139 int rc = inet_addr_pack(addr, &addr_addr); 140 if (rc != EOK) 141 return rc; 142 132 143 async_exch_t *exch = async_exchange_begin(iplink->sess); 133 134 int rc = async_req_1_0(exch, IPLINK_ADDR_REMOVE, (sysarg_t)addr->ipv4); 144 rc = async_req_1_0(exch, IPLINK_ADDR_REMOVE, (sysarg_t) addr_addr); 135 145 async_exchange_end(exch); 136 146 137 147 return rc; 138 148 } … … 141 151 ipc_call_t *call) 142 152 { 143 int rc;144 153 iplink_sdu_t sdu; 145 146 sdu.lsrc .ipv4= IPC_GET_ARG1(*call);147 sdu.ldest .ipv4= IPC_GET_ARG2(*call);148 149 rc = async_data_write_accept(&sdu.data, false, 0, 0, 0, &sdu.size);154 155 sdu.lsrc = IPC_GET_ARG1(*call); 156 sdu.ldest = IPC_GET_ARG2(*call); 157 158 int rc = async_data_write_accept(&sdu.data, false, 0, 0, 0, &sdu.size); 150 159 if (rc != EOK) { 151 160 async_answer_0(callid, rc); 152 161 return; 153 162 } 154 163 155 164 rc = iplink->ev_ops->recv(iplink, &sdu); 156 165 free(sdu.data);
Note:
See TracChangeset
for help on using the changeset viewer.