Header Files

Atheros Open Powerline Toolkit programs reference POSIX functions and constants where possible. Specifically, they make wide use of the data types uint8_t, uint16_t and uint32_t which are defined in file stdint.h. Microsoft Visual C™ and .NET™ environments do not include this file. Consequently, Atheros provides an alternative in folder ../Windows/include. This file is open source and was designed to be compatible with the Microsoft development environments; however, you may occassionally experience warnings about the "benign redefinition" for some of these data types.

Where possible, this toolkit includes OpenBSD™ network constants because the OpenBSD project pioneered many of the common network protocols and applications used today. Some systems do not include all OpenBSD™ network header files or do not define all OpenBSD™ network constants. Specifically, Microsoft systems do not provide file netinet/if_ether.h and so an alternative is included in folder ../Windows/include/netinet and Windows™ applications should include it.

When the gcc -std=iso9899:1999 option is enabled, some OpenBSD™ header files found on GNU/Linux systems will exclude required constant definitions because they do not conform to that standard. Atheros is investigating the best way to address this problem.

On some systems, such as OpenBSD™, FreeBSD™ and Mac OS X™, header files must be included in specific order to avoid compilation errors. We have done our best to deal with this problem. Visit the GNU Autocnf Project for more information about this.