meson: Build header tests with -pedantic
By using __extension__, we can silence pedantic errors we cannot or do not want to fix. This in particular silences: - enum values being outside of int range - variadic macros - long long being C99 - type of bit-field ‘type’ is a GCC extension - use of C99 bool in public header functions
This commit is contained in:
@@ -86,6 +86,9 @@ foreach header : _systemd_headers + _not_installed_headers + [libudev_h_path]
|
||||
'-Wall',
|
||||
'-Wextra',
|
||||
'-Werror',
|
||||
'-pedantic',
|
||||
'-Wno-long-long',
|
||||
'-Wno-variadic-macros',
|
||||
'-include', meson.current_source_dir() / header,
|
||||
'-o/dev/null',
|
||||
'/dev/null'])
|
||||
|
||||
@@ -34,7 +34,7 @@ enum {
|
||||
_SD_BUS_VTABLE_WRITABLE_PROPERTY = 'W'
|
||||
};
|
||||
|
||||
enum {
|
||||
__extension__ enum {
|
||||
SD_BUS_VTABLE_DEPRECATED = 1ULL << 0,
|
||||
SD_BUS_VTABLE_HIDDEN = 1ULL << 1,
|
||||
SD_BUS_VTABLE_UNPRIVILEGED = 1ULL << 2,
|
||||
@@ -51,7 +51,7 @@ enum {
|
||||
#define SD_BUS_VTABLE_CAPABILITY(x) ((uint64_t) (((x)+1) & 0xFFFF) << 40)
|
||||
|
||||
enum {
|
||||
_SD_BUS_VTABLE_PARAM_NAMES = 1 << 0,
|
||||
_SD_BUS_VTABLE_PARAM_NAMES = 1 << 0
|
||||
};
|
||||
|
||||
extern const unsigned sd_bus_object_vtable_format;
|
||||
@@ -67,8 +67,8 @@ struct sd_bus_vtable {
|
||||
/* Please do not initialize this structure directly, use the
|
||||
* macros below instead */
|
||||
|
||||
uint8_t type:8;
|
||||
uint64_t flags:56;
|
||||
__extension__ uint8_t type:8;
|
||||
__extension__ uint64_t flags:56;
|
||||
union {
|
||||
struct {
|
||||
size_t element_size;
|
||||
|
||||
@@ -55,7 +55,7 @@ typedef struct {
|
||||
|
||||
/* Flags */
|
||||
|
||||
enum {
|
||||
__extension__ enum {
|
||||
SD_BUS_CREDS_PID = 1ULL << 0,
|
||||
SD_BUS_CREDS_TID = 1ULL << 1,
|
||||
SD_BUS_CREDS_PPID = 1ULL << 2,
|
||||
@@ -94,15 +94,15 @@ enum {
|
||||
_SD_BUS_CREDS_ALL = (1ULL << 34) -1
|
||||
};
|
||||
|
||||
enum {
|
||||
__extension__ enum {
|
||||
SD_BUS_NAME_REPLACE_EXISTING = 1ULL << 0,
|
||||
SD_BUS_NAME_ALLOW_REPLACEMENT = 1ULL << 1,
|
||||
SD_BUS_NAME_QUEUE = 1ULL << 2
|
||||
};
|
||||
|
||||
enum {
|
||||
__extension__ enum {
|
||||
SD_BUS_MESSAGE_DUMP_WITH_HEADER = 1ULL << 0,
|
||||
SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY = 1ULL << 1,
|
||||
SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY = 1ULL << 1
|
||||
};
|
||||
|
||||
/* Callbacks */
|
||||
|
||||
@@ -34,7 +34,7 @@ typedef struct sd_device sd_device;
|
||||
typedef struct sd_device_enumerator sd_device_enumerator;
|
||||
typedef struct sd_device_monitor sd_device_monitor;
|
||||
|
||||
typedef enum sd_device_action_t {
|
||||
__extension__ typedef enum sd_device_action_t {
|
||||
SD_DEVICE_ADD,
|
||||
SD_DEVICE_REMOVE,
|
||||
SD_DEVICE_CHANGE,
|
||||
@@ -45,7 +45,7 @@ typedef enum sd_device_action_t {
|
||||
SD_DEVICE_UNBIND,
|
||||
_SD_DEVICE_ACTION_MAX,
|
||||
_SD_DEVICE_ACTION_INVALID = -EINVAL,
|
||||
_SD_ENUM_FORCE_S64(DEVICE_ACTION),
|
||||
_SD_ENUM_FORCE_S64(DEVICE_ACTION)
|
||||
} sd_device_action_t;
|
||||
|
||||
/* callback */
|
||||
|
||||
@@ -40,8 +40,8 @@ enum {
|
||||
SD_DHCP_CLIENT_EVENT_EXPIRED = 3,
|
||||
SD_DHCP_CLIENT_EVENT_RENEW = 4,
|
||||
SD_DHCP_CLIENT_EVENT_SELECTING = 5,
|
||||
SD_DHCP_CLIENT_EVENT_TRANSIENT_FAILURE = 6, /* Sent when we have not received a reply after the first few attempts.
|
||||
* The client may want to start acquiring link-local addresses. */
|
||||
SD_DHCP_CLIENT_EVENT_TRANSIENT_FAILURE = 6 /* Sent when we have not received a reply after the first few attempts.
|
||||
* The client may want to start acquiring link-local addresses. */
|
||||
};
|
||||
|
||||
/* https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options */
|
||||
@@ -212,13 +212,13 @@ enum {
|
||||
SD_DHCP_OPTION_PRIVATE_CLASSLESS_STATIC_ROUTE = 249, /* [RFC7844] */
|
||||
SD_DHCP_OPTION_PRIVATE_PROXY_AUTODISCOVERY = 252, /* [RFC7844] */
|
||||
SD_DHCP_OPTION_PRIVATE_LAST = 254,
|
||||
SD_DHCP_OPTION_END = 255, /* [RFC2132] */
|
||||
SD_DHCP_OPTION_END = 255 /* [RFC2132] */
|
||||
};
|
||||
|
||||
/* Suboptions for SD_DHCP_OPTION_RELAY_AGENT_INFORMATION option */
|
||||
enum {
|
||||
SD_DHCP_RELAY_AGENT_CIRCUIT_ID = 1,
|
||||
SD_DHCP_RELAY_AGENT_REMOTE_ID = 2,
|
||||
SD_DHCP_RELAY_AGENT_REMOTE_ID = 2
|
||||
};
|
||||
|
||||
typedef struct sd_dhcp_client sd_dhcp_client;
|
||||
@@ -256,14 +256,14 @@ int sd_dhcp_client_set_client_id(
|
||||
uint8_t type,
|
||||
const uint8_t *data,
|
||||
size_t data_len);
|
||||
int sd_dhcp_client_set_iaid_duid(
|
||||
__extension__ int sd_dhcp_client_set_iaid_duid(
|
||||
sd_dhcp_client *client,
|
||||
bool iaid_set,
|
||||
uint32_t iaid,
|
||||
uint16_t duid_type,
|
||||
const void *duid,
|
||||
size_t duid_len);
|
||||
int sd_dhcp_client_set_iaid_duid_llt(
|
||||
__extension__ int sd_dhcp_client_set_iaid_duid_llt(
|
||||
sd_dhcp_client *client,
|
||||
bool iaid_set,
|
||||
uint32_t iaid,
|
||||
|
||||
@@ -34,7 +34,7 @@ typedef struct sd_dhcp_route sd_dhcp_route;
|
||||
sd_dhcp_lease *sd_dhcp_lease_ref(sd_dhcp_lease *lease);
|
||||
sd_dhcp_lease *sd_dhcp_lease_unref(sd_dhcp_lease *lease);
|
||||
|
||||
typedef enum sd_dhcp_lease_server_type_t {
|
||||
__extension__ typedef enum sd_dhcp_lease_server_type_t {
|
||||
SD_DHCP_LEASE_DNS,
|
||||
SD_DHCP_LEASE_NTP,
|
||||
SD_DHCP_LEASE_SIP,
|
||||
@@ -43,7 +43,7 @@ typedef enum sd_dhcp_lease_server_type_t {
|
||||
SD_DHCP_LEASE_LPR,
|
||||
_SD_DHCP_LEASE_SERVER_TYPE_MAX,
|
||||
_SD_DHCP_LEASE_SERVER_TYPE_INVALID = -EINVAL,
|
||||
_SD_ENUM_FORCE_S64(DHCP_LEASE_SERVER_TYPE),
|
||||
_SD_ENUM_FORCE_S64(DHCP_LEASE_SERVER_TYPE)
|
||||
} sd_dhcp_lease_server_type_t;
|
||||
|
||||
int sd_dhcp_lease_get_address(sd_dhcp_lease *lease, struct in_addr *addr);
|
||||
|
||||
@@ -32,7 +32,7 @@ _SD_BEGIN_DECLARATIONS;
|
||||
typedef struct sd_dhcp_server sd_dhcp_server;
|
||||
|
||||
enum {
|
||||
SD_DHCP_SERVER_EVENT_LEASE_CHANGED = 1 << 0,
|
||||
SD_DHCP_SERVER_EVENT_LEASE_CHANGED = 1 << 0
|
||||
};
|
||||
|
||||
int sd_dhcp_server_new(sd_dhcp_server **ret, int ifindex);
|
||||
|
||||
@@ -36,7 +36,7 @@ enum {
|
||||
SD_DHCP6_CLIENT_EVENT_RESEND_EXPIRE = 10,
|
||||
SD_DHCP6_CLIENT_EVENT_RETRANS_MAX = 11,
|
||||
SD_DHCP6_CLIENT_EVENT_IP_ACQUIRE = 12,
|
||||
SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST = 13,
|
||||
SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST = 13
|
||||
};
|
||||
|
||||
/* https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2 */
|
||||
@@ -183,7 +183,7 @@ enum {
|
||||
SD_DHCP6_OPTION_SLAP_QUAD = 140, /* RFC 8948 */
|
||||
SD_DHCP6_OPTION_V6_DOTS_RI = 141, /* RFC 8973 */
|
||||
SD_DHCP6_OPTION_V6_DOTS_ADDRESS = 142, /* RFC 8973 */
|
||||
SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143, /* RFC 6153 */
|
||||
SD_DHCP6_OPTION_IPV6_ADDRESS_ANDSF = 143 /* RFC 6153 */
|
||||
/* option codes 144-65535 are unassigned */
|
||||
};
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ _SD_BEGIN_DECLARATIONS;
|
||||
enum {
|
||||
SD_IPV4ACD_EVENT_STOP = 0,
|
||||
SD_IPV4ACD_EVENT_BIND = 1,
|
||||
SD_IPV4ACD_EVENT_CONFLICT = 2,
|
||||
SD_IPV4ACD_EVENT_CONFLICT = 2
|
||||
};
|
||||
|
||||
typedef struct sd_ipv4acd sd_ipv4acd;
|
||||
@@ -50,7 +50,7 @@ int sd_ipv4acd_set_ifname(sd_ipv4acd *acd, const char *interface_name);
|
||||
int sd_ipv4acd_get_ifname(sd_ipv4acd *acd, const char **ret);
|
||||
int sd_ipv4acd_set_address(sd_ipv4acd *acd, const struct in_addr *address);
|
||||
int sd_ipv4acd_is_running(sd_ipv4acd *acd);
|
||||
int sd_ipv4acd_start(sd_ipv4acd *acd, bool reset_conflicts);
|
||||
__extension__ int sd_ipv4acd_start(sd_ipv4acd *acd, bool reset_conflicts);
|
||||
int sd_ipv4acd_stop(sd_ipv4acd *acd);
|
||||
sd_ipv4acd *sd_ipv4acd_ref(sd_ipv4acd *acd);
|
||||
sd_ipv4acd *sd_ipv4acd_unref(sd_ipv4acd *acd);
|
||||
|
||||
@@ -31,7 +31,7 @@ _SD_BEGIN_DECLARATIONS;
|
||||
enum {
|
||||
SD_IPV4LL_EVENT_STOP = 0,
|
||||
SD_IPV4LL_EVENT_BIND = 1,
|
||||
SD_IPV4LL_EVENT_CONFLICT = 2,
|
||||
SD_IPV4LL_EVENT_CONFLICT = 2
|
||||
};
|
||||
|
||||
typedef struct sd_ipv4ll sd_ipv4ll;
|
||||
|
||||
@@ -32,14 +32,14 @@ _SD_BEGIN_DECLARATIONS;
|
||||
typedef struct sd_lldp_rx sd_lldp_rx;
|
||||
typedef struct sd_lldp_neighbor sd_lldp_neighbor;
|
||||
|
||||
typedef enum sd_lldp_rx_event_t {
|
||||
__extension__ typedef enum sd_lldp_rx_event_t {
|
||||
SD_LLDP_RX_EVENT_ADDED,
|
||||
SD_LLDP_RX_EVENT_REMOVED,
|
||||
SD_LLDP_RX_EVENT_UPDATED,
|
||||
SD_LLDP_RX_EVENT_REFRESHED,
|
||||
_SD_LLDP_RX_EVENT_MAX,
|
||||
_SD_LLDP_RX_EVENT_INVALID = -EINVAL,
|
||||
_SD_ENUM_FORCE_S64(LLDP_RX_EVENT),
|
||||
_SD_ENUM_FORCE_S64(LLDP_RX_EVENT)
|
||||
} sd_lldp_rx_event_t;
|
||||
|
||||
typedef void (*sd_lldp_rx_callback_t)(sd_lldp_rx *lldp_rx, sd_lldp_rx_event_t event, sd_lldp_neighbor *n, void *userdata);
|
||||
|
||||
@@ -31,13 +31,13 @@ _SD_BEGIN_DECLARATIONS;
|
||||
|
||||
typedef struct sd_lldp_tx sd_lldp_tx;
|
||||
|
||||
typedef enum sd_lldp_multicast_mode_t {
|
||||
__extension__ typedef enum sd_lldp_multicast_mode_t {
|
||||
SD_LLDP_MULTICAST_MODE_NEAREST_BRIDGE,
|
||||
SD_LLDP_MULTICAST_MODE_NON_TPMR_BRIDGE,
|
||||
SD_LLDP_MULTICAST_MODE_CUSTOMER_BRIDGE,
|
||||
_SD_LLDP_MULTICAST_MODE_MAX,
|
||||
_SD_LLDP_MULTICAST_MODE_INVALID = -EINVAL,
|
||||
_SD_ENUM_FORCE_S64(LLDP_TX_MODE),
|
||||
_SD_ENUM_FORCE_S64(LLDP_TX_MODE)
|
||||
} sd_lldp_multicast_mode_t;
|
||||
|
||||
int sd_lldp_tx_new(sd_lldp_tx **ret);
|
||||
|
||||
@@ -34,7 +34,7 @@ enum {
|
||||
SD_LLDP_TYPE_SYSTEM_DESCRIPTION = 6,
|
||||
SD_LLDP_TYPE_SYSTEM_CAPABILITIES = 7,
|
||||
SD_LLDP_TYPE_MGMT_ADDRESS = 8,
|
||||
SD_LLDP_TYPE_PRIVATE = 127,
|
||||
SD_LLDP_TYPE_PRIVATE = 127
|
||||
};
|
||||
|
||||
/* IEEE 802.1AB-2009 Clause 8.5.2: Chassis subtypes */
|
||||
@@ -46,7 +46,7 @@ enum {
|
||||
SD_LLDP_CHASSIS_SUBTYPE_MAC_ADDRESS = 4,
|
||||
SD_LLDP_CHASSIS_SUBTYPE_NETWORK_ADDRESS = 5,
|
||||
SD_LLDP_CHASSIS_SUBTYPE_INTERFACE_NAME = 6,
|
||||
SD_LLDP_CHASSIS_SUBTYPE_LOCALLY_ASSIGNED = 7,
|
||||
SD_LLDP_CHASSIS_SUBTYPE_LOCALLY_ASSIGNED = 7
|
||||
};
|
||||
|
||||
/* IEEE 802.1AB-2009 Clause 8.5.3: Port subtype */
|
||||
@@ -58,7 +58,7 @@ enum {
|
||||
SD_LLDP_PORT_SUBTYPE_NETWORK_ADDRESS = 4,
|
||||
SD_LLDP_PORT_SUBTYPE_INTERFACE_NAME = 5,
|
||||
SD_LLDP_PORT_SUBTYPE_AGENT_CIRCUIT_ID = 6,
|
||||
SD_LLDP_PORT_SUBTYPE_LOCALLY_ASSIGNED = 7,
|
||||
SD_LLDP_PORT_SUBTYPE_LOCALLY_ASSIGNED = 7
|
||||
};
|
||||
|
||||
/* IEEE 802.1AB-2009 Clause 8.5.8: System capabilities */
|
||||
@@ -73,7 +73,7 @@ enum {
|
||||
SD_LLDP_SYSTEM_CAPABILITIES_STATION = 1 << 7,
|
||||
SD_LLDP_SYSTEM_CAPABILITIES_CVLAN = 1 << 8,
|
||||
SD_LLDP_SYSTEM_CAPABILITIES_SVLAN = 1 << 9,
|
||||
SD_LLDP_SYSTEM_CAPABILITIES_TPMR = 1 << 10,
|
||||
SD_LLDP_SYSTEM_CAPABILITIES_TPMR = 1 << 10
|
||||
};
|
||||
|
||||
#define SD_LLDP_SYSTEM_CAPABILITIES_ALL UINT16_MAX
|
||||
@@ -107,7 +107,7 @@ enum {
|
||||
SD_LLDP_OUI_802_1_SUBTYPE_PROTOCOL_IDENTITY = 4,
|
||||
SD_LLDP_OUI_802_1_SUBTYPE_VID_USAGE_DIGEST = 5,
|
||||
SD_LLDP_OUI_802_1_SUBTYPE_MANAGEMENT_VID = 6,
|
||||
SD_LLDP_OUI_802_1_SUBTYPE_LINK_AGGREGATION = 7,
|
||||
SD_LLDP_OUI_802_1_SUBTYPE_LINK_AGGREGATION = 7
|
||||
};
|
||||
|
||||
/* IEEE 802.1AB-2009 Annex F */
|
||||
@@ -115,7 +115,7 @@ enum {
|
||||
SD_LLDP_OUI_802_3_SUBTYPE_MAC_PHY_CONFIG_STATUS = 1,
|
||||
SD_LLDP_OUI_802_3_SUBTYPE_POWER_VIA_MDI = 2,
|
||||
SD_LLDP_OUI_802_3_SUBTYPE_LINK_AGGREGATION = 3,
|
||||
SD_LLDP_OUI_802_3_SUBTYPE_MAXIMUM_FRAME_SIZE = 4,
|
||||
SD_LLDP_OUI_802_3_SUBTYPE_MAXIMUM_FRAME_SIZE = 4
|
||||
};
|
||||
|
||||
_SD_END_DECLARATIONS;
|
||||
|
||||
@@ -42,25 +42,25 @@ enum {
|
||||
SD_NDISC_OPTION_RDNSS = 25,
|
||||
SD_NDISC_OPTION_FLAGS_EXTENSION = 26,
|
||||
SD_NDISC_OPTION_DNSSL = 31,
|
||||
SD_NDISC_OPTION_CAPTIVE_PORTAL = 37,
|
||||
SD_NDISC_OPTION_CAPTIVE_PORTAL = 37
|
||||
};
|
||||
|
||||
/* Route preference, RFC 4191, Section 2.1 */
|
||||
enum {
|
||||
SD_NDISC_PREFERENCE_LOW = 3U,
|
||||
SD_NDISC_PREFERENCE_MEDIUM = 0U,
|
||||
SD_NDISC_PREFERENCE_HIGH = 1U,
|
||||
SD_NDISC_PREFERENCE_HIGH = 1U
|
||||
};
|
||||
|
||||
typedef struct sd_ndisc sd_ndisc;
|
||||
typedef struct sd_ndisc_router sd_ndisc_router;
|
||||
|
||||
typedef enum sd_ndisc_event_t {
|
||||
__extension__ typedef enum sd_ndisc_event_t {
|
||||
SD_NDISC_EVENT_TIMEOUT,
|
||||
SD_NDISC_EVENT_ROUTER,
|
||||
_SD_NDISC_EVENT_MAX,
|
||||
_SD_NDISC_EVENT_INVALID = -EINVAL,
|
||||
_SD_ENUM_FORCE_S64(NDISC_EVENT),
|
||||
_SD_ENUM_FORCE_S64(NDISC_EVENT)
|
||||
} sd_ndisc_event_t;
|
||||
|
||||
typedef void (*sd_ndisc_callback_t)(sd_ndisc *nd, sd_ndisc_event_t event, sd_ndisc_router *rt, void *userdata);
|
||||
|
||||
@@ -110,7 +110,7 @@ enum {
|
||||
/* systemd-networkd search paths */
|
||||
SD_PATH_SYSTEMD_SEARCH_NETWORK,
|
||||
|
||||
_SD_PATH_MAX,
|
||||
_SD_PATH_MAX
|
||||
};
|
||||
|
||||
int sd_path_lookup(uint64_t type, const char *suffix, char **path);
|
||||
|
||||
@@ -47,7 +47,7 @@ typedef _sd_destroy_t sd_resolve_destroy_t;
|
||||
enum {
|
||||
SD_RESOLVE_GET_HOST = 1 << 0,
|
||||
SD_RESOLVE_GET_SERVICE = 1 << 1,
|
||||
SD_RESOLVE_GET_BOTH = SD_RESOLVE_GET_HOST | SD_RESOLVE_GET_SERVICE,
|
||||
SD_RESOLVE_GET_BOTH = SD_RESOLVE_GET_HOST | SD_RESOLVE_GET_SERVICE
|
||||
};
|
||||
|
||||
int sd_resolve_default(sd_resolve **ret);
|
||||
|
||||
Reference in New Issue
Block a user