Changeset 02a09ed in mainline for uspace/srv/net/slip/slip.c


Ignore:
Timestamp:
2013-06-28T20:20:03Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1d24ad3
Parents:
edf0d27
Message:

add basic infrastructure for IPv6 (inactive)
make inet_addr_t a universal address type

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/slip/slip.c

    redf0d27 r02a09ed  
    3838#include <stdint.h>
    3939#include <loc.h>
     40#include <net/socket_codes.h>
     41#include <inet/addr.h>
    4042#include <inet/iplink_srv.h>
    4143#include <device/char_dev.h>
     
    5052#define SLIP_END        0300
    5153#define SLIP_ESC        0333
    52 #define SLIP_ESC_END    0334
     54#define SLIP_ESC_END    0334
    5355#define SLIP_ESC_ESC    0335
    5456
    5557static int slip_open(iplink_srv_t *);
    5658static int slip_close(iplink_srv_t *);
    57 static int slip_send(iplink_srv_t *, iplink_srv_sdu_t *);
     59static int slip_send(iplink_srv_t *, iplink_sdu_t *);
    5860static int slip_get_mtu(iplink_srv_t *, size_t *);
    59 static int slip_addr_add(iplink_srv_t *, uint32_t);
    60 static int slip_addr_remove(iplink_srv_t *, uint32_t);
     61static int slip_addr_add(iplink_srv_t *, inet_addr_t *);
     62static int slip_addr_remove(iplink_srv_t *, inet_addr_t *);
    6163
    6264static iplink_srv_t slip_iplink;
     
    118120}
    119121
    120 int slip_send(iplink_srv_t *srv, iplink_srv_sdu_t *sdu)
     122int slip_send(iplink_srv_t *srv, iplink_sdu_t *sdu)
    121123{
    122124        async_sess_t *sess = (async_sess_t *) srv->arg;
     
    137139                case SLIP_END:
    138140                        write_buffered(sess, SLIP_ESC);
    139                         write_buffered(sess, SLIP_ESC_END);     
     141                        write_buffered(sess, SLIP_ESC_END);
    140142                        break;
    141143                case SLIP_ESC:
     
    161163}
    162164
    163 int slip_addr_add(iplink_srv_t *srv, uint32_t addr)
     165int slip_addr_add(iplink_srv_t *srv, inet_addr_t *addr)
    164166{
    165167        log_msg(LOG_DEFAULT, LVL_DEBUG, "slip_addr_add()");
     
    167169}
    168170
    169 int slip_addr_remove(iplink_srv_t *srv, uint32_t addr)
     171int slip_addr_remove(iplink_srv_t *srv, inet_addr_t *addr)
    170172{
    171173        log_msg(LOG_DEFAULT, LVL_DEBUG, "slip_addr_remove()");
     
    207209        async_sess_t *sess = (async_sess_t *) arg;
    208210        static uint8_t recv_final[SLIP_MTU];
    209         iplink_srv_sdu_t sdu;
     211        iplink_recv_sdu_t sdu;
    210212        uint8_t ch;
    211213        int rc;
    212214
    213         sdu.lsrc = 0;
    214         sdu.ldest = 0;
    215215        sdu.data = recv_final;
    216216
     
    222222                                if (sdu.size == 0) {
    223223                                        /*
    224                                          * Discard the empty SLIP datagram.
    225                                          */
     224                                         * Discard the empty SLIP datagram.
     225                                         */
    226226                                        break;
    227227                                }
     
    260260
    261261pass:
    262                 rc = iplink_ev_recv(&slip_iplink, &sdu);
     262                rc = iplink_ev_recv(&slip_iplink, &sdu, AF_INET);
    263263                if (rc != EOK) {
    264264                        log_msg(LOG_DEFAULT, LVL_ERROR,
Note: See TracChangeset for help on using the changeset viewer.