Changes in uspace/srv/net/loopip/loopip.c [257feec:a1a101d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/loopip/loopip.c
r257feec ra1a101d 44 44 #include <stdlib.h> 45 45 46 #define NAME 46 #define NAME "loopip" 47 47 48 48 static int loopip_open(iplink_srv_t *srv); … … 50 50 static int loopip_send(iplink_srv_t *srv, iplink_srv_sdu_t *sdu); 51 51 static int loopip_get_mtu(iplink_srv_t *srv, size_t *mtu); 52 static int loopip_addr_add(iplink_srv_t *srv, uint32_taddr);53 static int loopip_addr_remove(iplink_srv_t *srv, uint32_taddr);52 static int loopip_addr_add(iplink_srv_t *srv, iplink_srv_addr_t *addr); 53 static int loopip_addr_remove(iplink_srv_t *srv, iplink_srv_addr_t *addr); 54 54 55 55 static void loopip_client_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg); … … 81 81 (void) iplink_ev_recv(&loopip_iplink, &rqe->sdu); 82 82 } 83 83 84 84 return 0; 85 85 } … … 99 99 return rc; 100 100 } 101 101 102 102 iplink_srv_init(&loopip_iplink); 103 103 loopip_iplink.ops = &loopip_iplink_ops; 104 104 loopip_iplink.arg = NULL; 105 105 106 106 prodcons_initialize(&loopip_rcv_queue); 107 107 … … 117 117 return rc; 118 118 } 119 119 120 120 rc = loc_service_add_to_cat(sid, iplink_cat); 121 121 if (rc != EOK) { … … 123 123 return rc; 124 124 } 125 125 126 126 fid_t fid = fibril_create(loopip_recv_fibril, NULL); 127 127 if (fid == 0) 128 128 return ENOMEM; 129 129 130 130 fibril_add_ready(fid); 131 131 132 132 return EOK; 133 133 } … … 160 160 if (rqe == NULL) 161 161 return ENOMEM; 162 163 162 /* 164 163 * Clone SDU … … 171 170 return ENOMEM; 172 171 } 173 172 174 173 memcpy(rqe->sdu.data, sdu->data, sdu->size); 175 174 rqe->sdu.size = sdu->size; 176 175 177 176 /* 178 177 * Insert to receive queue 179 178 */ 180 179 prodcons_produce(&loopip_rcv_queue, &rqe->link); 181 180 182 181 return EOK; 183 182 } … … 190 189 } 191 190 192 static int loopip_addr_add(iplink_srv_t *srv, uint32_taddr)193 { 194 log_msg(LOG_DEFAULT, LVL_DEBUG, "loopip_addr_add(0x%" PRIx32 ")", addr );195 return EOK; 196 } 197 198 static int loopip_addr_remove(iplink_srv_t *srv, uint32_taddr)199 { 200 log_msg(LOG_DEFAULT, LVL_DEBUG, "loopip_addr_remove(0x%" PRIx32 ")", addr );191 static int loopip_addr_add(iplink_srv_t *srv, iplink_srv_addr_t *addr) 192 { 193 log_msg(LOG_DEFAULT, LVL_DEBUG, "loopip_addr_add(0x%" PRIx32 ")", addr->ipv4); 194 return EOK; 195 } 196 197 static int loopip_addr_remove(iplink_srv_t *srv, iplink_srv_addr_t *addr) 198 { 199 log_msg(LOG_DEFAULT, LVL_DEBUG, "loopip_addr_remove(0x%" PRIx32 ")", addr->ipv4); 201 200 return EOK; 202 201 } … … 212 211 return 1; 213 212 } 214 213 215 214 rc = loopip_init(); 216 215 if (rc != EOK) … … 220 219 task_retval(0); 221 220 async_manager(); 222 221 223 222 /* Not reached */ 224 223 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.