X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-network%2Fdhcp-protocol.h;h=539606cff62a256d506fc532951659cfdb69bc53;hb=d36d90933a832bd1e1eb8e3d16b3de73f91636b4;hp=81d36cef2793dda1b968f3fc53df893188a47323;hpb=fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2;p=elogind.git diff --git a/src/libsystemd-network/dhcp-protocol.h b/src/libsystemd-network/dhcp-protocol.h index 81d36cef2..539606cff 100644 --- a/src/libsystemd-network/dhcp-protocol.h +++ b/src/libsystemd-network/dhcp-protocol.h @@ -43,6 +43,7 @@ struct DHCPMessage { uint8_t chaddr[16]; uint8_t sname[64]; uint8_t file[128]; + be32_t magic; } _packed_; typedef struct DHCPMessage DHCPMessage; @@ -58,7 +59,8 @@ typedef struct DHCPPacket DHCPPacket; #define DHCP_IP_SIZE (int32_t)(sizeof(struct iphdr)) #define DHCP_IP_UDP_SIZE (int32_t)(sizeof(struct udphdr) + DHCP_IP_SIZE) #define DHCP_MESSAGE_SIZE (int32_t)(sizeof(DHCPMessage)) -#define DHCP_MIN_OPTIONS_SIZE 312 +#define DHCP_MIN_OPTIONS_SIZE 308 +#define DHCP_MAGIC_COOKIE (uint32_t)(0x63825363) enum { DHCP_PORT_SERVER = 67, @@ -74,6 +76,7 @@ enum DHCPState { DHCP_STATE_BOUND = 5, DHCP_STATE_RENEWING = 6, DHCP_STATE_REBINDING = 7, + DHCP_STATE_STOPPED = 8, }; typedef enum DHCPState DHCPState; @@ -105,6 +108,7 @@ enum { DHCP_OPTION_DOMAIN_NAME_SERVER = 6, DHCP_OPTION_HOST_NAME = 12, DHCP_OPTION_DOMAIN_NAME = 15, + DHCP_OPTION_ROOT_PATH = 17, DHCP_OPTION_INTERFACE_MTU = 26, DHCP_OPTION_NTP_SERVER = 42, DHCP_OPTION_REQUESTED_IP_ADDRESS = 50,