Changeset 962f03b in mainline for uspace/lib/c
- Timestamp:
- 2012-02-27T19:32:15Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 56792a2
- Parents:
- 87e5658c
- Location:
- uspace/lib/c
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/iplink.c
r87e5658c r962f03b 121 121 } 122 122 123 int iplink_addr_add(iplink_t *iplink, iplink_addr_t *addr) 124 { 125 async_exch_t *exch = async_exchange_begin(iplink->sess); 126 127 int rc = async_req_1_0(exch, IPLINK_ADDR_ADD, (sysarg_t)addr->ipv4); 128 async_exchange_end(exch); 129 130 return rc; 131 } 132 133 int iplink_addr_remove(iplink_t *iplink, iplink_addr_t *addr) 134 { 135 async_exch_t *exch = async_exchange_begin(iplink->sess); 136 137 int rc = async_req_1_0(exch, IPLINK_ADDR_REMOVE, (sysarg_t)addr->ipv4); 138 async_exchange_end(exch); 139 140 return rc; 141 } 142 123 143 static void iplink_ev_recv(iplink_t *iplink, ipc_callid_t callid, 124 144 ipc_call_t *call) -
uspace/lib/c/generic/iplink_srv.c
r87e5658c r962f03b 49 49 rc = srv->ops->get_mtu(srv, &mtu); 50 50 async_answer_1(callid, rc, mtu); 51 } 52 53 static void iplink_addr_add_srv(iplink_srv_t *srv, ipc_callid_t callid, 54 ipc_call_t *call) 55 { 56 int rc; 57 iplink_srv_addr_t addr; 58 59 addr.ipv4 = IPC_GET_ARG1(*call); 60 61 rc = srv->ops->addr_add(srv, &addr); 62 async_answer_0(callid, rc); 63 } 64 65 static void iplink_addr_remove_srv(iplink_srv_t *srv, ipc_callid_t callid, 66 ipc_call_t *call) 67 { 68 int rc; 69 iplink_srv_addr_t addr; 70 71 addr.ipv4 = IPC_GET_ARG1(*call); 72 73 rc = srv->ops->addr_remove(srv, &addr); 74 async_answer_0(callid, rc); 51 75 } 52 76 … … 126 150 iplink_send_srv(srv, callid, &call); 127 151 break; 152 case IPLINK_ADDR_ADD: 153 iplink_addr_add_srv(srv, callid, &call); 154 break; 155 case IPLINK_ADDR_REMOVE: 156 iplink_addr_remove_srv(srv, callid, &call); 157 break; 128 158 default: 129 159 async_answer_0(callid, EINVAL); -
uspace/lib/c/include/inet/iplink.h
r87e5658c r962f03b 69 69 extern void iplink_close(iplink_t *); 70 70 extern int iplink_send(iplink_t *, iplink_sdu_t *); 71 extern int iplink_addr_add(iplink_t *, iplink_addr_t *); 72 extern int iplink_addr_remove(iplink_t *, iplink_addr_t *); 71 73 extern int iplink_get_mtu(iplink_t *, size_t *); 72 74 -
uspace/lib/c/include/inet/iplink_srv.h
r87e5658c r962f03b 72 72 int (*send)(iplink_srv_t *, iplink_srv_sdu_t *); 73 73 int (*get_mtu)(iplink_srv_t *, size_t *); 74 int (*addr_add)(iplink_srv_t *, iplink_srv_addr_t *); 75 int (*addr_remove)(iplink_srv_t *, iplink_srv_addr_t *); 74 76 } iplink_ops_t; 75 77 -
uspace/lib/c/include/ipc/iplink.h
r87e5658c r962f03b 40 40 typedef enum { 41 41 IPLINK_GET_MTU = IPC_FIRST_USER_METHOD, 42 IPLINK_SEND 42 IPLINK_SEND, 43 IPLINK_ADDR_ADD, 44 IPLINK_ADDR_REMOVE 43 45 } iplink_request_t; 44 46
Note:
See TracChangeset
for help on using the changeset viewer.