david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Define PXE types in terms of other PXE types where possible

This commit is contained in:
Michael Brown 2005-05-22 02:57:14 +00:00
parent 1e0a5d8b30
commit 22b7f0ec74
1 changed files with 22 additions and 11 deletions

View File

@ -17,7 +17,7 @@
/** @defgroup pxe_types PXE data types /** @defgroup pxe_types PXE data types
* *
* Basic PXE data types such as #UINT16, #ADDR32, #SEGSEL etc. * Basic PXE data types such as #UINT16_t, #ADDR32_t, #SEGSEL_t etc.
* *
* These definitions are based on Table 1-1 ("Data Type Definitions") * These definitions are based on Table 1-1 ("Data Type Definitions")
* in the Intel PXE specification version 2.1. They have been * in the Intel PXE specification version 2.1. They have been
@ -40,7 +40,7 @@ typedef uint32_t UINT32_t;
* Permitted values are #PXENV_EXIT_SUCCESS and #PXENV_EXIT_FAILURE. * Permitted values are #PXENV_EXIT_SUCCESS and #PXENV_EXIT_FAILURE.
* *
*/ */
typedef uint16_t PXENV_EXIT_t; typedef UINT16_t PXENV_EXIT_t;
#define PXENV_EXIT_SUCCESS 0x0000 /**< No error occurred */ #define PXENV_EXIT_SUCCESS 0x0000 /**< No error occurred */
#define PXENV_EXIT_FAILURE 0x0001 /**< An error occurred */ #define PXENV_EXIT_FAILURE 0x0001 /**< An error occurred */
@ -49,35 +49,37 @@ typedef uint16_t PXENV_EXIT_t;
* Status codes are defined in errno.h. * Status codes are defined in errno.h.
* *
*/ */
typedef uint16_t PXENV_STATUS_t; typedef UINT16_t PXENV_STATUS_t;
/** An IP address. /** An IP address.
* *
* This is an IPv4 address in host byte order. * This is an IPv4 address in host byte order.
* *
*/ */
typedef uint32_t IP4_t; typedef UINT32_t IP4_t;
/** A UDP port. /** A UDP port.
* *
* @note This data type is in network (big-endian) byte order. * @note This data type is in network (big-endian) byte order.
* *
*/ */
typedef uint16_t UDP_PORT_t; typedef UINT16_t UDP_PORT_t;
/** Maximum length of a MAC address */ /** Maximum length of a MAC address */
#define MAC_ADDR_LEN 16 #define MAC_ADDR_LEN 16
/** A MAC address */ /** A MAC address */
typedef uint8_t MAC_ADDR_t[MAC_ADDR_LEN]; typedef UINT8_t MAC_ADDR_t[MAC_ADDR_LEN];
#ifndef HAVE_ARCH_ADDR32
/** A physical address. /** A physical address.
* *
* For x86, this is a 32-bit physical address, and is therefore * For x86, this is a 32-bit physical address, and is therefore
* limited to the low 4GB. * limited to the low 4GB.
* *
*/ */
typedef physaddr_t ADDR32_t; typedef UINT32_t ADDR32_t;
#endif
#ifndef HAVE_ARCH_SEGSEL #ifndef HAVE_ARCH_SEGSEL
/** A segment selector. /** A segment selector.
@ -87,15 +89,24 @@ typedef physaddr_t ADDR32_t;
* segment register. * segment register.
* *
*/ */
typedef uint16_t SEGSEL_t; typedef UINT16_t SEGSEL_t;
#endif #endif
#ifndef HAVE_ARCH_OFF16 #ifndef HAVE_ARCH_OFF16
/** An offset within a segment identified by #SEGSEL */ /** An offset within a segment identified by #SEGSEL
typedef uint16_t OFF16_t; *
* For x86, this is a 16-bit offset.
*
*/
typedef UINT16_t OFF16_t;
#endif #endif
/** A segment:offset address */ /** A segment:offset address
*
* For x86, this is a 16-bit real-mode or protected-mode
* segment:offset address.
*
*/
typedef struct s_SEGOFF16 { typedef struct s_SEGOFF16 {
OFF16_t offset; /**< Offset within the segment */ OFF16_t offset; /**< Offset within the segment */
SEGSEL_t segment; /**< Segment selector */ SEGSEL_t segment; /**< Segment selector */