chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libsystemd-dhcp: Add a full DHCP address acquisition test case
[elogind.git]
/
src
/
libsystemd-dhcp
/
dhcp-protocol.h
diff --git
a/src/libsystemd-dhcp/dhcp-protocol.h
b/src/libsystemd-dhcp/dhcp-protocol.h
index d37546721a20e844f6bf998fc7dba7766d2705e2..81d36cef2793dda1b968f3fc53df893188a47323 100644
(file)
--- 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;
be32_t xid;
be16_t secs;
be16_t flags;
-
uint
32_t ciaddr;
-
uint
32_t yiaddr;
-
uint
32_t siaddr;
-
uint
32_t giaddr;
+
be
32_t ciaddr;
+
be
32_t yiaddr;
+
be
32_t siaddr;
+
be
32_t giaddr;
uint8_t chaddr[16];
uint8_t sname[64];
uint8_t file[128];
uint8_t chaddr[16];
uint8_t sname[64];
uint8_t file[128];
@@
-55,6
+55,16
@@
struct DHCPPacket {
typedef struct DHCPPacket 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))
+#define DHCP_MIN_OPTIONS_SIZE 312
+
+enum {
+ DHCP_PORT_SERVER = 67,
+ DHCP_PORT_CLIENT = 68,
+};
+
enum DHCPState {
DHCP_STATE_INIT = 0,
DHCP_STATE_SELECTING = 1,
enum DHCPState {
DHCP_STATE_INIT = 0,
DHCP_STATE_SELECTING = 1,
@@
-95,10
+105,17
@@
enum {
DHCP_OPTION_DOMAIN_NAME_SERVER = 6,
DHCP_OPTION_HOST_NAME = 12,
DHCP_OPTION_DOMAIN_NAME = 15,
DHCP_OPTION_DOMAIN_NAME_SERVER = 6,
DHCP_OPTION_HOST_NAME = 12,
DHCP_OPTION_DOMAIN_NAME = 15,
+ DHCP_OPTION_INTERFACE_MTU = 26,
DHCP_OPTION_NTP_SERVER = 42,
DHCP_OPTION_REQUESTED_IP_ADDRESS = 50,
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_OVERLOAD = 52,
DHCP_OPTION_MESSAGE_TYPE = 53,
+ DHCP_OPTION_SERVER_IDENTIFIER = 54,
DHCP_OPTION_PARAMETER_REQUEST_LIST = 55,
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,
};
DHCP_OPTION_END = 255,
};