X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-dhcp%2Fdhcp-protocol.h;h=76621f541ba6160be50c64fb8bee4cc142fa9664;hp=fa077fbf4061cbcfc4bf3ffce4b87b4bf2ceb37a;hb=3dd714003534ab1588203f854ac4cb1a7a233262;hpb=46a66b794a00e0f34981ac25dbf2eae2423b6215 diff --git a/src/libsystemd-dhcp/dhcp-protocol.h b/src/libsystemd-dhcp/dhcp-protocol.h index fa077fbf4..76621f541 100644 --- a/src/libsystemd-dhcp/dhcp-protocol.h +++ b/src/libsystemd-dhcp/dhcp-protocol.h @@ -36,10 +36,10 @@ struct DHCPMessage { be32_t xid; be16_t secs; be16_t flags; - uint32_t ciaddr; - uint32_t yiaddr; - uint32_t siaddr; - uint32_t giaddr; + be32_t ciaddr; + be32_t yiaddr; + be32_t siaddr; + be32_t giaddr; uint8_t chaddr[16]; uint8_t sname[64]; uint8_t file[128]; @@ -55,6 +55,10 @@ struct DHCPPacket { 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)) + enum { DHCP_PORT_SERVER = 67, DHCP_PORT_CLIENT = 68, @@ -102,9 +106,14 @@ enum { DHCP_OPTION_DOMAIN_NAME = 15, DHCP_OPTION_NTP_SERVER = 42, DHCP_OPTION_REQUESTED_IP_ADDRESS = 50, + DHCP_OPTION_IP_ADDRESS_LEASE_TIME = 51, DHCP_OPTION_OVERLOAD = 52, DHCP_OPTION_MESSAGE_TYPE = 53, + DHCP_OPTION_SERVER_IDENTIFIER = 54, DHCP_OPTION_PARAMETER_REQUEST_LIST = 55, + DHCP_OPTION_MAXIMUM_MESSAGE_SIZE = 57, + DHCP_OPTION_RENEWAL_T1_TIME = 58, + DHCP_OPTION_REBINDING_T2_TIME = 59, DHCP_OPTION_CLIENT_IDENTIFIER = 61, DHCP_OPTION_END = 255, };