LCOV - code coverage report
Current view: top level - systemd - sd-radv.h (source / functions) Hit Total Coverage
Test: systemd_full.info Lines: 1 2 50.0 %
Date: 2019-08-23 13:36:53 Functions: 1 2 50.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1 4 25.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: LGPL-2.1+ */
       2                 :            : #ifndef foosdradvfoo
       3                 :            : #define foosdradvfoo
       4                 :            : 
       5                 :            : /***
       6                 :            :   Copyright © 2017 Intel Corporation. All rights reserved.
       7                 :            : 
       8                 :            :   systemd is free software; you can redistribute it and/or modify it
       9                 :            :   under the terms of the GNU Lesser General Public License as published by
      10                 :            :   the Free Software Foundation; either version 2.1 of the License, or
      11                 :            :   (at your option) any later version.
      12                 :            : 
      13                 :            :   systemd is distributed in the hope that it will be useful, but
      14                 :            :   WITHOUT ANY WARRANTY; without even the implied warranty of
      15                 :            :   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
      16                 :            :   Lesser General Public License for more details.
      17                 :            : 
      18                 :            :   You should have received a copy of the GNU Lesser General Public License
      19                 :            :   along with systemd; If not, see <http://www.gnu.org/licenses/>.
      20                 :            : ***/
      21                 :            : 
      22                 :            : #include <inttypes.h>
      23                 :            : #include <net/ethernet.h>
      24                 :            : #include <netinet/in.h>
      25                 :            : #include <sys/types.h>
      26                 :            : 
      27                 :            : #include "_sd-common.h"
      28                 :            : #include "sd-event.h"
      29                 :            : #include "sd-ndisc.h"
      30                 :            : 
      31                 :            : _SD_BEGIN_DECLARATIONS;
      32                 :            : 
      33                 :            : #define SD_RADV_DEFAULT_MIN_TIMEOUT_USEC        (200*USEC_PER_SEC)
      34                 :            : #define SD_RADV_DEFAULT_MAX_TIMEOUT_USEC        (600*USEC_PER_SEC)
      35                 :            : 
      36                 :            : #define SD_RADV_DEFAULT_DNS_LIFETIME_USEC       (3*SD_RADV_DEFAULT_MAX_TIMEOUT_USEC)
      37                 :            : 
      38                 :            : typedef struct sd_radv sd_radv;
      39                 :            : typedef struct sd_radv_prefix sd_radv_prefix;
      40                 :            : 
      41                 :            : /* Router Advertisement */
      42                 :            : int sd_radv_new(sd_radv **ret);
      43                 :            : sd_radv *sd_radv_ref(sd_radv *ra);
      44                 :            : sd_radv *sd_radv_unref(sd_radv *ra);
      45                 :            : 
      46                 :            : int sd_radv_attach_event(sd_radv *ra, sd_event *event, int64_t priority);
      47                 :            : int sd_radv_detach_event(sd_radv *nd);
      48                 :            : sd_event *sd_radv_get_event(sd_radv *ra);
      49                 :            : 
      50                 :            : int sd_radv_start(sd_radv *ra);
      51                 :            : int sd_radv_stop(sd_radv *ra);
      52                 :            : 
      53                 :            : int sd_radv_set_ifindex(sd_radv *ra, int interface_index);
      54                 :            : int sd_radv_set_mac(sd_radv *ra, const struct ether_addr *mac_addr);
      55                 :            : int sd_radv_set_mtu(sd_radv *ra, uint32_t mtu);
      56                 :            : int sd_radv_set_hop_limit(sd_radv *ra, uint8_t hop_limit);
      57                 :            : int sd_radv_set_router_lifetime(sd_radv *ra, uint32_t router_lifetime);
      58                 :            : int sd_radv_set_managed_information(sd_radv *ra, int managed);
      59                 :            : int sd_radv_set_other_information(sd_radv *ra, int other);
      60                 :            : int sd_radv_set_preference(sd_radv *ra, unsigned preference);
      61                 :            : int sd_radv_add_prefix(sd_radv *ra, sd_radv_prefix *p, int dynamic);
      62                 :            : sd_radv_prefix *sd_radv_remove_prefix(sd_radv *ra, const struct in6_addr *prefix,
      63                 :            :                                       unsigned char prefixlen);
      64                 :            : int sd_radv_set_rdnss(sd_radv *ra, uint32_t lifetime,
      65                 :            :                       const struct in6_addr *dns, size_t n_dns);
      66                 :            : int sd_radv_set_dnssl(sd_radv *ra, uint32_t lifetime, char **search_list);
      67                 :            : 
      68                 :            : /* Advertised prefixes */
      69                 :            : int sd_radv_prefix_new(sd_radv_prefix **ret);
      70                 :            : sd_radv_prefix *sd_radv_prefix_ref(sd_radv_prefix *ra);
      71                 :            : sd_radv_prefix *sd_radv_prefix_unref(sd_radv_prefix *ra);
      72                 :            : 
      73                 :            : int sd_radv_prefix_set_prefix(sd_radv_prefix *p, const struct in6_addr *in6_addr,
      74                 :            :                               unsigned char prefixlen);
      75                 :            : int sd_radv_prefix_set_onlink(sd_radv_prefix *p, int onlink);
      76                 :            : int sd_radv_prefix_set_address_autoconfiguration(sd_radv_prefix *p,
      77                 :            :                                                  int address_autoconfiguration);
      78                 :            : int sd_radv_prefix_set_valid_lifetime(sd_radv_prefix *p,
      79                 :            :                                       uint32_t valid_lifetime);
      80                 :            : int sd_radv_prefix_set_preferred_lifetime(sd_radv_prefix *p,
      81                 :            :                                           uint32_t preferred_lifetime);
      82                 :            : 
      83         [ -  + ]:          8 : _SD_DEFINE_POINTER_CLEANUP_FUNC(sd_radv, sd_radv_unref);
      84         [ #  # ]:          0 : _SD_DEFINE_POINTER_CLEANUP_FUNC(sd_radv_prefix, sd_radv_prefix_unref);
      85                 :            : 
      86                 :            : _SD_END_DECLARATIONS;
      87                 :            : 
      88                 :            : #endif

Generated by: LCOV version 1.14