Changeset f05edcb in mainline for uspace/lib/inet


Ignore:
Timestamp:
2021-08-08T08:28:24Z (4 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d5ed54b
Parents:
98a935e
Message:

Make addr48_t a structure

Location:
uspace/lib/inet
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/inet/include/inet/addr.h

    r98a935e rf05edcb  
    11/*
    2  * Copyright (c) 2013 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4040
    4141typedef uint32_t addr32_t;
    42 typedef uint8_t addr48_t[6];
     42
     43#define ETH_ADDR_SIZE 6
     44
     45typedef struct {
     46        uint8_t b[ETH_ADDR_SIZE];
     47} addr48_t;
     48
    4349typedef uint8_t addr128_t[16];
    4450
     
    8086extern const addr48_t addr48_broadcast;
    8187
    82 extern void addr48(const addr48_t, addr48_t);
     88extern void addr48(const addr48_t *, addr48_t *);
    8389extern void addr128(const addr128_t, addr128_t);
    8490
    85 extern int addr48_compare(const addr48_t, const addr48_t);
     91extern int addr48_compare(const addr48_t *, const addr48_t *);
    8692extern int addr128_compare(const addr128_t, const addr128_t);
    8793
    88 extern void addr48_solicited_node(const addr128_t, addr48_t);
     94extern void addr48_solicited_node(const addr128_t, addr48_t *);
    8995
    9096extern void host2addr128_t_be(const addr128_t, addr128_t);
  • uspace/lib/inet/include/inet/iplink.h

    r98a935e rf05edcb  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    7979typedef struct iplink_ev_ops {
    8080        errno_t (*recv)(iplink_t *, iplink_recv_sdu_t *, ip_ver_t);
    81         errno_t (*change_addr)(iplink_t *, addr48_t);
     81        errno_t (*change_addr)(iplink_t *, addr48_t *);
    8282} iplink_ev_ops_t;
    8383
     
    9090extern errno_t iplink_get_mtu(iplink_t *, size_t *);
    9191extern errno_t iplink_get_mac48(iplink_t *, addr48_t *);
    92 extern errno_t iplink_set_mac48(iplink_t *, addr48_t);
     92extern errno_t iplink_set_mac48(iplink_t *, addr48_t *);
    9393extern void *iplink_get_userptr(iplink_t *);
    9494
  • uspace/lib/inet/meson.build

    r98a935e rf05edcb  
    3232        'src/dnsr.c',
    3333        'src/endpoint.c',
     34        'src/eth_addr.c',
    3435        'src/host.c',
    3536        'src/hostname.c',
  • uspace/lib/inet/src/addr.c

    r98a935e rf05edcb  
    11/*
    2  * Copyright (c) 2013 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * Copyright (c) 2013 Martin Decky
    44 * All rights reserved.
     
    7272};
    7373
    74 void addr48(const addr48_t src, addr48_t dst)
    75 {
    76         memcpy(dst, src, 6);
     74void addr48(const addr48_t *src, addr48_t *dst)
     75{
     76        memcpy(dst, src, sizeof(addr48_t));
    7777}
    7878
     
    8686 * @return Non-zero if equal, zero if not equal.
    8787 */
    88 int addr48_compare(const addr48_t a, const addr48_t b)
    89 {
    90         return memcmp(a, b, 6) == 0;
     88int addr48_compare(const addr48_t *a, const addr48_t *b)
     89{
     90        return memcmp(a->b, b->b, 6) == 0;
    9191}
    9292
     
    106106 *
    107107 */
    108 void addr48_solicited_node(const addr128_t ip, addr48_t mac)
    109 {
    110         memcpy(mac, inet_addr48_solicited_node, 3);
    111         memcpy(mac + 3, ip + 13, 3);
     108void addr48_solicited_node(const addr128_t ip, addr48_t *mac)
     109{
     110        memcpy(&mac->b[0], &inet_addr48_solicited_node.b[0], 3);
     111        memcpy(&mac->b[3], ip + 13, 3);
    112112}
    113113
  • uspace/lib/inet/src/iplink.c

    r98a935e rf05edcb  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    175175}
    176176
    177 errno_t iplink_set_mac48(iplink_t *iplink, addr48_t mac)
     177errno_t iplink_set_mac48(iplink_t *iplink, addr48_t *mac)
    178178{
    179179        async_exch_t *exch = async_exchange_begin(iplink->sess);
     
    274274        }
    275275
    276         rc = iplink->ev_ops->change_addr(iplink, *addr);
     276        rc = iplink->ev_ops->change_addr(iplink, addr);
    277277        free(addr);
    278278        async_answer_0(icall, EOK);
Note: See TracChangeset for help on using the changeset viewer.