Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: oldheating gps motorhome heating
udp/dhcp/dhcphdr.c@151:bde6f7da1755, 2019-07-19 (annotated)
- Committer:
- andrewboyson
- Date:
- Fri Jul 19 17:48:06 2019 +0000
- Revision:
- 151:bde6f7da1755
- Parent:
- 136:8a65abb0dc63
Removed private key and certificate from semihost storage as found to be unreliable (though secure) and moved it into flash storage (reliable, simple, but visible on mbed.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| andrewboyson | 136:8a65abb0dc63 | 1 | #include <stdint.h> |
| andrewboyson | 136:8a65abb0dc63 | 2 | |
| andrewboyson | 136:8a65abb0dc63 | 3 | #include "net.h" |
| andrewboyson | 136:8a65abb0dc63 | 4 | |
| andrewboyson | 136:8a65abb0dc63 | 5 | char* DhcpHdrPtrOp (char* pPacket) { return pPacket + 0; } //1 |
| andrewboyson | 136:8a65abb0dc63 | 6 | char* DhcpHdrPtrHtype (char* pPacket) { return pPacket + 1; } //1 |
| andrewboyson | 136:8a65abb0dc63 | 7 | char* DhcpHdrPtrHlen (char* pPacket) { return pPacket + 2; } //1 |
| andrewboyson | 136:8a65abb0dc63 | 8 | char* DhcpHdrPtrHops (char* pPacket) { return pPacket + 3; } //1 |
| andrewboyson | 136:8a65abb0dc63 | 9 | char* DhcpHdrPtrXid (char* pPacket) { return pPacket + 4; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 10 | char* DhcpHdrPtrSecs (char* pPacket) { return pPacket + 8; } //2 |
| andrewboyson | 136:8a65abb0dc63 | 11 | char* DhcpHdrPtrFlags (char* pPacket) { return pPacket + 10; } //2 |
| andrewboyson | 136:8a65abb0dc63 | 12 | char* DhcpHdrPtrCiaddr(char* pPacket) { return pPacket + 12; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 13 | char* DhcpHdrPtrYiaddr(char* pPacket) { return pPacket + 16; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 14 | char* DhcpHdrPtrSiaddr(char* pPacket) { return pPacket + 20; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 15 | char* DhcpHdrPtrGiaddr(char* pPacket) { return pPacket + 24; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 16 | char* DhcpHdrPtrChaddr(char* pPacket) { return pPacket + 28; } //16 |
| andrewboyson | 136:8a65abb0dc63 | 17 | char* DhcpHdrPtrLegacy(char* pPacket) { return pPacket + 44; } //192 |
| andrewboyson | 136:8a65abb0dc63 | 18 | char* DhcpHdrPtrCookie(char* pPacket) { return pPacket + 236; } //4 |
| andrewboyson | 136:8a65abb0dc63 | 19 | const int DHCP_HEADER_LENGTH = 240; |
| andrewboyson | 136:8a65abb0dc63 | 20 | |
| andrewboyson | 136:8a65abb0dc63 | 21 | uint8_t DhcpHdrGetOp (char* pPacket) { return *DhcpHdrPtrOp (pPacket); } |
| andrewboyson | 136:8a65abb0dc63 | 22 | uint8_t DhcpHdrGetHtype (char* pPacket) { return *DhcpHdrPtrHtype (pPacket); } |
| andrewboyson | 136:8a65abb0dc63 | 23 | uint8_t DhcpHdrGetHlen (char* pPacket) { return *DhcpHdrPtrHlen (pPacket); } |
| andrewboyson | 136:8a65abb0dc63 | 24 | uint8_t DhcpHdrGetHops (char* pPacket) { return *DhcpHdrPtrHops (pPacket); } |
| andrewboyson | 136:8a65abb0dc63 | 25 | uint32_t DhcpHdrGetXid (char* pPacket) { uint32_t r; NetInvert32(&r, DhcpHdrPtrXid (pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 26 | uint16_t DhcpHdrGetSecs (char* pPacket) { uint16_t r; NetInvert16(&r, DhcpHdrPtrSecs (pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 27 | uint16_t DhcpHdrGetFlags (char* pPacket) { uint16_t r; NetInvert16(&r, DhcpHdrPtrFlags (pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 28 | uint32_t DhcpHdrGetCiaddr(char* pPacket) { uint32_t r; NetDirect32(&r, DhcpHdrPtrCiaddr(pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 29 | uint32_t DhcpHdrGetYiaddr(char* pPacket) { uint32_t r; NetDirect32(&r, DhcpHdrPtrYiaddr(pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 30 | uint32_t DhcpHdrGetSiaddr(char* pPacket) { uint32_t r; NetDirect32(&r, DhcpHdrPtrSiaddr(pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 31 | uint32_t DhcpHdrGetGiaddr(char* pPacket) { uint32_t r; NetDirect32(&r, DhcpHdrPtrGiaddr(pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 32 | uint32_t DhcpHdrGetCookie(char* pPacket) { uint32_t r; NetInvert32(&r, DhcpHdrPtrCookie(pPacket)); return r; } |
| andrewboyson | 136:8a65abb0dc63 | 33 | |
| andrewboyson | 136:8a65abb0dc63 | 34 | void DhcpHdrSetOp (char* pPacket, uint8_t value) { *DhcpHdrPtrOp (pPacket) = value; } |
| andrewboyson | 136:8a65abb0dc63 | 35 | void DhcpHdrSetHtype (char* pPacket, uint8_t value) { *DhcpHdrPtrHtype (pPacket) = value; } |
| andrewboyson | 136:8a65abb0dc63 | 36 | void DhcpHdrSetHlen (char* pPacket, uint8_t value) { *DhcpHdrPtrHlen (pPacket) = value; } |
| andrewboyson | 136:8a65abb0dc63 | 37 | void DhcpHdrSetHops (char* pPacket, uint8_t value) { *DhcpHdrPtrHops (pPacket) = value; } |
| andrewboyson | 136:8a65abb0dc63 | 38 | void DhcpHdrSetXid (char* pPacket, uint32_t value) { NetInvert32(DhcpHdrPtrXid (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 39 | void DhcpHdrSetSecs (char* pPacket, uint16_t value) { NetInvert16(DhcpHdrPtrSecs (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 40 | void DhcpHdrSetFlags (char* pPacket, uint16_t value) { NetInvert16(DhcpHdrPtrFlags (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 41 | void DhcpHdrSetCiaddr(char* pPacket, uint32_t value) { NetDirect32(DhcpHdrPtrCiaddr (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 42 | void DhcpHdrSetYiaddr(char* pPacket, uint32_t value) { NetDirect32(DhcpHdrPtrYiaddr (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 43 | void DhcpHdrSetSiaddr(char* pPacket, uint32_t value) { NetDirect32(DhcpHdrPtrSiaddr (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 44 | void DhcpHdrSetGiaddr(char* pPacket, uint32_t value) { NetDirect32(DhcpHdrPtrGiaddr (pPacket), &value); } |
| andrewboyson | 136:8a65abb0dc63 | 45 | void DhcpHdrSetCookie(char* pPacket, uint32_t value) { NetInvert32(DhcpHdrPtrCookie (pPacket), &value); } |