Blame src/ndisc/nm-ndisc-private.h

Packit Service b23acc
// SPDX-License-Identifier: GPL-2.0+
Packit Service b23acc
/*
Packit Service b23acc
 * Copyright (C) 2015 Red Hat, Inc.
Packit Service b23acc
 */
Packit Service b23acc
Packit Service b23acc
#ifndef __NETWORKMANAGER_NDISC_PRIVATE_H__
Packit Service b23acc
#define __NETWORKMANAGER_NDISC_PRIVATE_H__
Packit Service b23acc
Packit Service b23acc
#include "nm-ndisc.h"
Packit Service b23acc
Packit Service b23acc
/* Functions only used by ndisc implementations */
Packit Service b23acc
Packit Service b23acc
struct _NMNDiscDataInternal {
Packit Service b23acc
	NMNDiscData public;
Packit Service b23acc
	GArray *gateways;
Packit Service b23acc
	GArray *addresses;
Packit Service b23acc
	GArray *routes;
Packit Service b23acc
	GArray *dns_servers;
Packit Service b23acc
	GArray *dns_domains;
Packit Service b23acc
};
Packit Service b23acc
Packit Service b23acc
typedef struct _NMNDiscDataInternal NMNDiscDataInternal;
Packit Service b23acc
Packit Service b23acc
void nm_ndisc_ra_received (NMNDisc *ndisc, gint32 now, NMNDiscConfigMap changed);
Packit Service b23acc
void nm_ndisc_rs_received (NMNDisc *ndisc);
Packit Service b23acc
Packit Service b23acc
gboolean nm_ndisc_add_gateway              (NMNDisc *ndisc, const NMNDiscGateway *new);
Packit Service b23acc
gboolean nm_ndisc_complete_and_add_address (NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s);
Packit Service b23acc
gboolean nm_ndisc_add_route                (NMNDisc *ndisc, const NMNDiscRoute *new);
Packit Service b23acc
gboolean nm_ndisc_add_dns_server           (NMNDisc *ndisc, const NMNDiscDNSServer *new);
Packit Service b23acc
gboolean nm_ndisc_add_dns_domain           (NMNDisc *ndisc, const NMNDiscDNSDomain *new);
Packit Service b23acc
Packit Service b23acc
/*****************************************************************************/
Packit Service b23acc
Packit Service b23acc
#define _NMLOG_DOMAIN                     LOGD_IP6
Packit Service b23acc
#define _NMLOG(level, ...)                _LOG(level, _NMLOG_DOMAIN,  ndisc, __VA_ARGS__)
Packit Service b23acc
Packit Service b23acc
#define _LOG(level, domain, self, ...) \
Packit Service b23acc
    G_STMT_START { \
Packit Service b23acc
        const NMLogLevel __level = (level); \
Packit Service b23acc
        const NMLogDomain __domain = (domain); \
Packit Service b23acc
        \
Packit Service b23acc
        if (nm_logging_enabled (__level, __domain)) { \
Packit Service b23acc
            NMNDisc *const __self = (self); \
Packit Service b23acc
            char __prefix[64]; \
Packit Service b23acc
            const char *__ifname = __self ? nm_ndisc_get_ifname (__self) : NULL; \
Packit Service b23acc
            \
Packit Service b23acc
            _nm_log (__level, __domain, 0, __ifname, NULL, \
Packit Service b23acc
                     "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
Packit Service b23acc
                     (__self \
Packit Service b23acc
                        ?  nm_sprintf_buf (__prefix, "%s[%p,%s%s%s]", \
Packit Service b23acc
                                           _NMLOG_PREFIX_NAME, __self, \
Packit Service b23acc
                                           NM_PRINT_FMT_QUOTE_STRING (__ifname)) \
Packit Service b23acc
                        : _NMLOG_PREFIX_NAME) \
Packit Service b23acc
                     _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
Packit Service b23acc
        } \
Packit Service b23acc
    } G_STMT_END
Packit Service b23acc
Packit Service b23acc
/*****************************************************************************/
Packit Service b23acc
Packit Service b23acc
#endif /* __NETWORKMANAGER_NDISC_PRIVATE_H__ */