summaryrefslogtreecommitdiff
path: root/ah.h
Commit message (Collapse)AuthorAgeFilesLines
* Use nd_ types for AH headers.Guy Harris2017-12-131-9/+9
|
* More fixes for uint8_t being shorter than u_int8_t.Guy Harris2014-04-231-4/+4
| | | | Fix a typo while we're at it.
* More getting rid of old u_intN_t.Guy Harris2014-04-231-9/+9
|
* The "__attribute__((packed))" tag on structures causes some files not toguy2002-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | compile with Sun C, as "interface.h" isn't being included before the structures are being declared. Furthermore, in the files that Sun C *can* compile, it doesn't cause Sun C to generate code that's safe with unaligned accesses, as "__attribute__" is defined as a do-nothing macro with compilers that don't support it. Therefore, we get rid of that tag on the structures to which it was added, and instead use "EXTRACT_16BIT()" and "EXTRACT_32BIT()" to fetch 16-bit and 32-bit big-endian quantities from packets. We also fix some other references to multi-byte quantities to get rid of code that tries to do unaligned loads on platforms that don't support them. We also throw in a hack that makes those macros use "__attribute__((packed))" on structures containing only one 16-bit or 32-bit integer to get the compiler to generate unaligned-safe code rather than doing it by hand. (GCC on SPARC produces the same code that doing it by hand does; I don't know if GCC on any other big-endian strict-alignment processor generates better code for that case. On little-endian processors, as "ntohs()" and "ntohl()" might be functions, that might actually produce worse code.) Fix some places to use "%u" rather than "%d" to print unsigned quantities.
* put __attribute__((packed)) to packet headers. s/u_short/u_int16_t/ and soitojun2002-11-091-2/+2
| | | | forth while i'm here
* move ah/esp struct declratiaon into separate header (ah.h and esp.h).itojun2000-10-061-0/+57
they are from KAME. use ah.h and esp.h where necessary.