Changeset ceba4bed in mainline for uspace/srv/inet/inet_link.c
- Timestamp:
- 2012-02-06T17:38:50Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e767dbf
- Parents:
- bc38578
- File:
-
- 1 edited
-
uspace/srv/inet/inet_link.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/inet/inet_link.c
rbc38578 rceba4bed 43 43 #include <stdlib.h> 44 44 45 #include "addrobj.h" 46 #include "inet.h" 45 47 #include "inet_link.h" 48 #include "pdu.h" 46 49 47 50 static int inet_link_open(service_id_t sid); 48 51 static int inet_iplink_recv(iplink_t *ilink, iplink_sdu_t *sdu); 49 50 typedef struct {51 link_t link_list;52 service_id_t svc_id;53 char *svc_name;54 async_sess_t *sess;55 iplink_t *iplink;56 } inet_link_t;57 52 58 53 static iplink_ev_ops_t inet_iplink_ev_ops = { … … 172 167 list_append(&ilink->link_list, &inet_link_list); 173 168 169 inet_addrobj_t *addr; 170 171 /* XXX For testing: set static IP address 192.168.0.4/24 */ 172 addr = inet_addrobj_new(); 173 addr->naddr.ipv4 = (192 << 24) + (168 << 16) + (0 << 8) + 4; 174 addr->naddr.bits = 24; 175 addr->ilink = ilink; 176 inet_addrobj_add(addr); 177 174 178 return EOK; 175 179 … … 198 202 } 199 203 204 /** Send datagram over Internet link */ 205 int inet_link_send_dgram(inet_link_t *ilink, inet_addr_t *lsrc, 206 inet_addr_t *ldest, inet_dgram_t *dgram, uint8_t ttl, int df) 207 { 208 iplink_sdu_t sdu; 209 int rc; 210 211 sdu.lsrc.ipv4 = lsrc->ipv4; 212 sdu.ldest.ipv4 = ldest->ipv4; 213 rc = inet_pdu_encode(dgram, &sdu.data, &sdu.size); 214 if (rc != EOK) 215 return rc; 216 217 rc = iplink_send(ilink->iplink, &sdu); 218 free(sdu.data); 219 220 return rc; 221 } 222 223 200 224 /** @} 201 225 */
Note:
See TracChangeset
for help on using the changeset viewer.
