diff --git a/src/libsystemd-network/dhcp-client-id-internal.h b/src/libsystemd-network/dhcp-client-id-internal.h index 8efc007a3d..47cc3cf804 100644 --- a/src/libsystemd-network/dhcp-client-id-internal.h +++ b/src/libsystemd-network/dhcp-client-id-internal.h @@ -1,13 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - #include "sd-dhcp-client-id.h" #include "dhcp-duid-internal.h" -#include "sd-forward.h" -#include "sparse-endian.h" +#include "dhcp-forward.h" +#include "ether-addr-util.h" /* RFC 2132 section 9.14: its minimum length is 2. * Note, its maximum is not mentioend in the RFC. Hence, 255. */ diff --git a/src/libsystemd-network/dhcp-client-internal.h b/src/libsystemd-network/dhcp-client-internal.h index 4adaeeec22..53f4287868 100644 --- a/src/libsystemd-network/dhcp-client-internal.h +++ b/src/libsystemd-network/dhcp-client-internal.h @@ -4,13 +4,11 @@ #include "sd-dhcp-client.h" #include "dhcp-client-id-internal.h" +#include "dhcp-forward.h" #include "dhcp-protocol.h" #include "ether-addr-util.h" #include "iovec-wrapper.h" #include "network-common.h" -#include "sd-forward.h" -#include "socket-util.h" -#include "tlv-util.h" struct sd_dhcp_client { unsigned n_ref; diff --git a/src/libsystemd-network/dhcp-client-send.h b/src/libsystemd-network/dhcp-client-send.h index d5d65a31cc..758b987727 100644 --- a/src/libsystemd-network/dhcp-client-send.h +++ b/src/libsystemd-network/dhcp-client-send.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-forward.h" +#include "dhcp-forward.h" int dhcp_client_send_message(sd_dhcp_client *client, uint8_t type); diff --git a/src/libsystemd-network/dhcp-duid-internal.h b/src/libsystemd-network/dhcp-duid-internal.h index eca9889279..bcb46c4f35 100644 --- a/src/libsystemd-network/dhcp-duid-internal.h +++ b/src/libsystemd-network/dhcp-duid-internal.h @@ -4,9 +4,8 @@ #include "sd-dhcp-duid.h" #include "sd-id128.h" +#include "dhcp-forward.h" #include "ether-addr-util.h" -#include "sd-forward.h" -#include "sparse-endian.h" #define SYSTEMD_PEN 43793 diff --git a/src/libsystemd-network/dhcp-forward.h b/src/libsystemd-network/dhcp-forward.h new file mode 100644 index 0000000000..f83c58a3af --- /dev/null +++ b/src/libsystemd-network/dhcp-forward.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "sd-forward.h" +#include "sparse-endian.h" + +struct in_pktinfo; +struct iphdr; +struct udphdr; + +typedef struct sd_dhcp_client sd_dhcp_client; +typedef struct sd_dhcp_client_id sd_dhcp_client_id; +typedef struct sd_dhcp_duid sd_dhcp_duid; +typedef struct sd_dhcp_lease sd_dhcp_lease; +typedef struct sd_dhcp_message sd_dhcp_message; +typedef struct sd_dhcp_relay sd_dhcp_relay; +typedef struct sd_dhcp_relay_interface sd_dhcp_relay_interface; +typedef struct sd_dhcp_route sd_dhcp_route; +typedef struct sd_dhcp_server sd_dhcp_server; +typedef struct sd_dhcp_server_lease sd_dhcp_server_lease; + +typedef struct DHCPMessageHeader DHCPMessageHeader; +typedef struct DHCPRequest DHCPRequest; +typedef struct DHCPServerData DHCPServerData; + +typedef struct TLV TLV; diff --git a/src/libsystemd-network/dhcp-lease-internal.h b/src/libsystemd-network/dhcp-lease-internal.h index 153ae833b3..12711a5846 100644 --- a/src/libsystemd-network/dhcp-lease-internal.h +++ b/src/libsystemd-network/dhcp-lease-internal.h @@ -5,11 +5,13 @@ Copyright © 2013 Intel Corporation. All rights reserved. ***/ -#include "sd-dhcp-lease.h" -#include "sd-forward.h" +#include -#include "dhcp-client-id-internal.h" +#include "sd-dhcp-lease.h" + +#include "dhcp-forward.h" #include "dhcp-message.h" +#include "time-util.h" struct sd_dhcp_lease { unsigned n_ref; diff --git a/src/libsystemd-network/dhcp-message-dump.c b/src/libsystemd-network/dhcp-message-dump.c index 3c9283351a..a593c86d45 100644 --- a/src/libsystemd-network/dhcp-message-dump.c +++ b/src/libsystemd-network/dhcp-message-dump.c @@ -3,8 +3,8 @@ #include "alloc-util.h" #include "ansi-color.h" #include "arphrd-util.h" +#include "dhcp-message.h" #include "dhcp-message-dump.h" -#include "dhcp-protocol.h" #include "dhcp-route.h" #include "dns-resolver-internal.h" #include "escape.h" diff --git a/src/libsystemd-network/dhcp-message-dump.h b/src/libsystemd-network/dhcp-message-dump.h index 6ebd5a2c46..34eb261f1b 100644 --- a/src/libsystemd-network/dhcp-message-dump.h +++ b/src/libsystemd-network/dhcp-message-dump.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "dhcp-message.h" +#include "dhcp-forward.h" typedef enum { DUMP_DHCP_MESSAGE_LEGEND = 1 << 0, diff --git a/src/libsystemd-network/dhcp-message.c b/src/libsystemd-network/dhcp-message.c index 14671a0750..732a52c08b 100644 --- a/src/libsystemd-network/dhcp-message.c +++ b/src/libsystemd-network/dhcp-message.c @@ -5,7 +5,6 @@ #include "alloc-util.h" #include "dhcp-client-id-internal.h" #include "dhcp-message.h" -#include "dhcp-protocol.h" #include "dhcp-route.h" #include "dns-def.h" #include "dns-domain.h" diff --git a/src/libsystemd-network/dhcp-message.h b/src/libsystemd-network/dhcp-message.h index 752ad814d4..2e3bf7dbac 100644 --- a/src/libsystemd-network/dhcp-message.h +++ b/src/libsystemd-network/dhcp-message.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp-client-id.h" -#include "sd-forward.h" - +#include "dhcp-forward.h" #include "dhcp-protocol.h" #include "tlv-util.h" diff --git a/src/libsystemd-network/dhcp-protocol.h b/src/libsystemd-network/dhcp-protocol.h index de84671d0d..c366cf2202 100644 --- a/src/libsystemd-network/dhcp-protocol.h +++ b/src/libsystemd-network/dhcp-protocol.h @@ -7,8 +7,7 @@ #include "sd-dhcp-protocol.h" /* IWYU pragma: export */ -#include "sd-forward.h" -#include "sparse-endian.h" +#include "dhcp-forward.h" #include "time-util.h" /* RFC 8925 - IPv6-Only Preferred Option for DHCPv4 3.4. diff --git a/src/libsystemd-network/dhcp-relay-downstream.c b/src/libsystemd-network/dhcp-relay-downstream.c index dd825d02a2..5c3311d979 100644 --- a/src/libsystemd-network/dhcp-relay-downstream.c +++ b/src/libsystemd-network/dhcp-relay-downstream.c @@ -5,7 +5,6 @@ #include "sd-event.h" #include "dhcp-message.h" -#include "dhcp-protocol.h" #include "dhcp-relay-internal.h" #include "errno-util.h" #include "ether-addr-util.h" diff --git a/src/libsystemd-network/dhcp-relay-internal.h b/src/libsystemd-network/dhcp-relay-internal.h index feb08a606c..baa6ecab06 100644 --- a/src/libsystemd-network/dhcp-relay-internal.h +++ b/src/libsystemd-network/dhcp-relay-internal.h @@ -1,13 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include +#include + #include "sd-dhcp-relay.h" -#include "dhcp-message.h" -#include "ether-addr-util.h" +#include "dhcp-forward.h" #include "network-common.h" -#include "sd-forward.h" -#include "tlv-util.h" #define DHCP_RELAY_IFINDEX_UNBOUND (-100) diff --git a/src/libsystemd-network/dhcp-relay-upstream.c b/src/libsystemd-network/dhcp-relay-upstream.c index f1b4189153..fa3dbc0257 100644 --- a/src/libsystemd-network/dhcp-relay-upstream.c +++ b/src/libsystemd-network/dhcp-relay-upstream.c @@ -5,7 +5,6 @@ #include "sd-event.h" #include "dhcp-message.h" -#include "dhcp-protocol.h" #include "dhcp-relay-internal.h" #include "hashmap.h" #include "in-addr-util.h" diff --git a/src/libsystemd-network/dhcp-route.c b/src/libsystemd-network/dhcp-route.c index 33828276ac..6a7f9d7da9 100644 --- a/src/libsystemd-network/dhcp-route.c +++ b/src/libsystemd-network/dhcp-route.c @@ -2,7 +2,7 @@ #include "sd-dhcp-lease.h" -#include "dhcp-route.h" /* IWYU pragma: keep */ +#include "dhcp-route.h" int sd_dhcp_route_get_destination(sd_dhcp_route *route, struct in_addr *ret) { assert_return(route, -EINVAL); diff --git a/src/libsystemd-network/dhcp-route.h b/src/libsystemd-network/dhcp-route.h index e313c08a58..9d2b0b4a00 100644 --- a/src/libsystemd-network/dhcp-route.h +++ b/src/libsystemd-network/dhcp-route.h @@ -1,9 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-forward.h" +#include -#include "in-addr-util.h" /* IWYU pragma: keep */ +#include "dhcp-forward.h" /* IWYU pragma: export */ struct sd_dhcp_route { struct in_addr dst_addr; diff --git a/src/libsystemd-network/dhcp-server-internal.h b/src/libsystemd-network/dhcp-server-internal.h index f55223ba22..f2d85b6e6c 100644 --- a/src/libsystemd-network/dhcp-server-internal.h +++ b/src/libsystemd-network/dhcp-server-internal.h @@ -5,13 +5,13 @@ Copyright © 2013 Intel Corporation. All rights reserved. ***/ +#include + #include "sd-dhcp-server.h" +#include "dhcp-forward.h" #include "dhcp-message.h" #include "network-common.h" -#include "sd-forward.h" -#include "sparse-endian.h" -#include "tlv-util.h" typedef struct sd_dhcp_server { unsigned n_ref; diff --git a/src/libsystemd-network/dhcp-server-lease-internal.h b/src/libsystemd-network/dhcp-server-lease-internal.h index f347837bd8..76b92c6339 100644 --- a/src/libsystemd-network/dhcp-server-lease-internal.h +++ b/src/libsystemd-network/dhcp-server-lease-internal.h @@ -4,10 +4,8 @@ #include "sd-dhcp-server-lease.h" #include "dhcp-client-id-internal.h" -#include "dhcp-server-internal.h" -#include "dhcp-server-request.h" +#include "dhcp-forward.h" #include "ether-addr-util.h" -#include "sd-forward.h" typedef struct sd_dhcp_server_lease { unsigned n_ref; diff --git a/src/libsystemd-network/dhcp-server-request.h b/src/libsystemd-network/dhcp-server-request.h index ea7596d073..ad77a0250c 100644 --- a/src/libsystemd-network/dhcp-server-request.h +++ b/src/libsystemd-network/dhcp-server-request.h @@ -1,13 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-dhcp-server-lease.h" - #include "dhcp-client-id-internal.h" -#include "dhcp-message.h" +#include "dhcp-forward.h" #include "ether-addr-util.h" -#include "sd-forward.h" -#include "sparse-endian.h" #include "time-util.h" typedef struct DHCPRequest { diff --git a/src/libsystemd-network/dhcp-server-send.c b/src/libsystemd-network/dhcp-server-send.c index cc0f9d667b..6e00bafd09 100644 --- a/src/libsystemd-network/dhcp-server-send.c +++ b/src/libsystemd-network/dhcp-server-send.c @@ -4,6 +4,7 @@ #include "dhcp-server-internal.h" #include "dhcp-server-lease-internal.h" +#include "dhcp-server-request.h" #include "dhcp-server-send.h" #include "errno-util.h" #include "fd-util.h" diff --git a/src/libsystemd-network/dhcp-server-send.h b/src/libsystemd-network/dhcp-server-send.h index 2dde23b2c2..92f63bcc86 100644 --- a/src/libsystemd-network/dhcp-server-send.h +++ b/src/libsystemd-network/dhcp-server-send.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-forward.h" - -#include "dhcp-server-request.h" +#include "dhcp-forward.h" int dhcp_server_send_reply( sd_dhcp_server *server, diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 5675c7d787..8154aef00d 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -26,6 +26,7 @@ #include "socket-util.h" #include "string-util.h" #include "time-util.h" +#include "tlv-util.h" #include "web-util.h" #define MAX_MAC_ADDR_LEN CONST_MAX(INFINIBAND_ALEN, ETH_ALEN) diff --git a/src/libsystemd-network/sd-dhcp-lease.c b/src/libsystemd-network/sd-dhcp-lease.c index e661ac4fa8..2799275d30 100644 --- a/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/libsystemd-network/sd-dhcp-lease.c @@ -10,7 +10,7 @@ #include "alloc-util.h" #include "dhcp-client-internal.h" #include "dhcp-lease-internal.h" -#include "dhcp-route.h" /* IWYU pragma: keep */ +#include "dhcp-route.h" #include "dns-resolver-internal.h" #include "in-addr-util.h" #include "ip-util.h" diff --git a/src/libsystemd-network/sd-dhcp-relay.c b/src/libsystemd-network/sd-dhcp-relay.c index 1442a43fda..9188fd5958 100644 --- a/src/libsystemd-network/sd-dhcp-relay.c +++ b/src/libsystemd-network/sd-dhcp-relay.c @@ -9,6 +9,7 @@ #include "in-addr-util.h" #include "iovec-util.h" #include "prioq.h" +#include "tlv-util.h" static sd_dhcp_relay* dhcp_relay_free(sd_dhcp_relay *relay) { if (!relay) diff --git a/src/libsystemd-network/sd-dhcp-server-lease.c b/src/libsystemd-network/sd-dhcp-server-lease.c index ce7d4f93a1..f170056046 100644 --- a/src/libsystemd-network/sd-dhcp-server-lease.c +++ b/src/libsystemd-network/sd-dhcp-server-lease.c @@ -6,7 +6,9 @@ #include "sd-event.h" #include "alloc-util.h" +#include "dhcp-server-internal.h" #include "dhcp-server-lease-internal.h" +#include "dhcp-server-request.h" #include "dns-domain.h" #include "errno-util.h" #include "fd-util.h" diff --git a/src/libsystemd-network/test-dhcp-client.c b/src/libsystemd-network/test-dhcp-client.c index 2098470bec..9eeb102b64 100644 --- a/src/libsystemd-network/test-dhcp-client.c +++ b/src/libsystemd-network/test-dhcp-client.c @@ -14,7 +14,6 @@ #include "dhcp-client-internal.h" #include "dhcp-message.h" -#include "dhcp-protocol.h" #include "ether-addr-util.h" #include "fd-util.h" #include "hashmap.h" @@ -24,6 +23,7 @@ #include "ip-util.h" #include "log.h" #include "set.h" +#include "socket-util.h" #include "strv.h" #include "tests.h" diff --git a/src/libsystemd-network/test-dhcp-message.c b/src/libsystemd-network/test-dhcp-message.c index 69e1201b69..9975a4820a 100644 --- a/src/libsystemd-network/test-dhcp-message.c +++ b/src/libsystemd-network/test-dhcp-message.c @@ -8,7 +8,6 @@ #include "dhcp-client-id-internal.h" #include "dhcp-message.h" #include "dhcp-message-dump.h" -#include "dhcp-protocol.h" #include "dhcp-route.h" #include "dns-packet.h" #include "dns-resolver-internal.h" diff --git a/src/libsystemd-network/test-dhcp-relay.c b/src/libsystemd-network/test-dhcp-relay.c index dd4e7652d9..2a7131e59b 100644 --- a/src/libsystemd-network/test-dhcp-relay.c +++ b/src/libsystemd-network/test-dhcp-relay.c @@ -5,8 +5,8 @@ #include "sd-event.h" -#include "dhcp-protocol.h" -#include "dhcp-relay-internal.h" /* IWYU pragma: keep */ +#include "dhcp-message.h" +#include "dhcp-relay-internal.h" #include "ether-addr-util.h" #include "fd-util.h" #include "hashmap.h" diff --git a/src/libsystemd/sd-common/sd-forward.h b/src/libsystemd/sd-common/sd-forward.h index 0a1d673e14..aca0ed3209 100644 --- a/src/libsystemd/sd-common/sd-forward.h +++ b/src/libsystemd/sd-common/sd-forward.h @@ -76,12 +76,6 @@ typedef enum sd_lldp_multicast_mode_t sd_lldp_multicast_mode_t; typedef enum sd_ndisc_event_t sd_ndisc_event_t; typedef struct sd_ipv4ll sd_ipv4ll; -typedef struct sd_dhcp_client sd_dhcp_client; -typedef struct sd_dhcp_lease sd_dhcp_lease; -typedef struct sd_dhcp_route sd_dhcp_route; -typedef struct sd_dhcp_relay sd_dhcp_relay; -typedef struct sd_dhcp_relay_interface sd_dhcp_relay_interface; -typedef struct sd_dhcp_server sd_dhcp_server; typedef struct sd_dns_resolver sd_dns_resolver; typedef struct sd_ndisc sd_ndisc; typedef struct sd_radv sd_radv; diff --git a/src/network/networkd-dhcp-server-bus.c b/src/network/networkd-dhcp-server-bus.c index d5829b6dfb..40679c288b 100644 --- a/src/network/networkd-dhcp-server-bus.c +++ b/src/network/networkd-dhcp-server-bus.c @@ -4,6 +4,7 @@ #include "alloc-util.h" #include "bus-object.h" +#include "dhcp-server-internal.h" #include "dhcp-server-lease-internal.h" #include "hashmap.h" #include "networkd-dhcp-server-bus.h" diff --git a/src/network/networkd-forward.h b/src/network/networkd-forward.h index 95bd46801e..40e6380b91 100644 --- a/src/network/networkd-forward.h +++ b/src/network/networkd-forward.h @@ -4,6 +4,7 @@ /* IWYU pragma: always_keep */ #include "conf-parser-forward.h" /* IWYU pragma: export */ +#include "dhcp-forward.h" /* IWYU pragma: export */ #include "shared-forward.h" /* IWYU pragma: export */ typedef enum NetDevLocalAddressType NetDevLocalAddressType; diff --git a/src/network/networkd-json.c b/src/network/networkd-json.c index dcf74d4b8b..137653bd66 100644 --- a/src/network/networkd-json.c +++ b/src/network/networkd-json.c @@ -7,6 +7,7 @@ #include "sd-dhcp6-client.h" #include "dhcp-lease-internal.h" /* IWYU pragma: keep */ +#include "dhcp-server-internal.h" #include "dhcp-server-lease-internal.h" #include "dhcp6-lease-internal.h" #include "extract-word.h"