Home | History | Annotate | Download | only in common

Lines Matching defs:Message

17 #include "message.h"
41 Message::Message() {
46 Message::Message(const uint8_t* data, size_t size) {
56 Message Message::discover(const uint8_t (&sourceMac)[ETH_ALEN]) {
57 Message message(OP_BOOTREQUEST,
61 message.addOption(OPT_PARAMETER_LIST, kRequestParameters);
62 message.endOptions();
64 return message;
67 Message Message::request(const uint8_t (&sourceMac)[ETH_ALEN],
71 Message message(OP_BOOTREQUEST,
75 message.addOption(OPT_PARAMETER_LIST, kRequestParameters);
76 message.addOption(OPT_REQUESTED_IP, requestAddress);
77 message.addOption(OPT_SERVER_ID, serverAddress);
78 message.endOptions();
80 return message;
83 Message Message::offer(const Message& sourceMessage,
93 Message message(OP_BOOTREPLY, macAddress, static_cast<uint8_t>(DHCPOFFER));
95 message.dhcpData.xid = sourceMessage.dhcpData.xid;
96 message.dhcpData.flags = sourceMessage.dhcpData.flags;
97 message.dhcpData.yiaddr = offeredAddress;
98 message.dhcpData.giaddr = sourceMessage.dhcpData.giaddr;
100 message.addOption(OPT_SERVER_ID, serverAddress);
101 message.addOption(OPT_LEASE_TIME, kDefaultLeaseTime);
102 message.addOption(OPT_SUBNET_MASK, offeredNetmask);
103 message.addOption(OPT_GATEWAY, offeredGateway);
104 message.addOption(OPT_DNS,
108 message.endOptions();
110 return message;
113 Message Message::ack(const Message& sourceMessage,
122 Message message(OP_BOOTREPLY, macAddress, static_cast<uint8_t>(DHCPACK));
124 message.dhcpData.xid = sourceMessage.dhcpData.xid;
125 message.dhcpData.flags = sourceMessage.dhcpData.flags;
126 message.dhcpData.yiaddr = offeredAddress;
127 message.dhcpData.giaddr = sourceMessage.dhcpData.giaddr;
129 message.addOption(OPT_SERVER_ID, serverAddress);
130 message.addOption(OPT_LEASE_TIME, kDefaultLeaseTime);
131 message.addOption(OPT_SUBNET_MASK, offeredNetmask);
132 message.addOption(OPT_GATEWAY, offeredGateway);
133 message.addOption(OPT_DNS,
137 message.endOptions();
139 return message;
142 Message Message::nack(const Message& sourceMessage, in_addr_t serverAddress) {
145 Message message(OP_BOOTREPLY, macAddress, static_cast<uint8_t>(DHCPNAK));
147 message.dhcpData.xid = sourceMessage.dhcpData.xid;
148 message.dhcpData.flags = sourceMessage.dhcpData.flags;
149 message.dhcpData.giaddr = sourceMessage.dhcpData.giaddr;
151 message.addOption(OPT_SERVER_ID, serverAddress);
152 message.endOptions();
154 return message;
157 bool Message::isValidDhcpMessage(uint8_t expectedOp,
162 // Only look for message with a matching transaction ID
169 bool Message::isValidDhcpMessage(uint8_t expectedOp) const {
202 size_t Message::optionsSize() const {
211 uint8_t Message::type() const {
220 in_addr_t Message::serverId() const {
229 in_addr_t Message::requestedIp() const {
238 Message::Message(uint8_t operation,
268 void Message::addOption(uint8_t type, const void* data, uint8_t size) {
279 void Message::endOptions() {
287 const uint8_t* Message::getOption(uint8_t expectedOptCode,
307 uint8_t* Message::nextOption() {
311 void Message::updateSize(uint8_t* optionsEnd) {