iPXE
Data Structures | Defines | Typedefs | Functions
PXE data types
Preboot eXecution Environment (PXE) API

Basic PXE data types such as UINT16_t, ADDR32_t, SEGSEL_t etc. More...

Data Structures

struct  s_SEGOFF16
 A segment:offset address. More...
struct  s_SEGDESC
 A segment descriptor. More...

Defines

#define PXENV_EXIT_SUCCESS   0x0000
 No error occurred.
#define PXENV_EXIT_FAILURE   0x0001
 An error occurred.
#define MAC_ADDR_LEN   16
 Maximum length of a MAC address.

Typedefs

typedef uint8_t UINT8_t
 An 8-bit unsigned integer.
typedef uint16_t UINT16_t
 A 16-bit unsigned integer.
typedef uint32_t UINT32_t
 A 32-bit unsigned integer.
typedef UINT16_t PXENV_EXIT_t
 A PXE exit code.
typedef UINT16_t PXENV_STATUS_t
 A PXE status code.
typedef UINT32_t IP4_t
 An IPv4 address.
typedef UINT16_t UDP_PORT_t
 A UDP port.
typedef UINT8_t MAC_ADDR_t [MAC_ADDR_LEN]
 A MAC address.
typedef UINT32_t ADDR32_t
 A physical address.
typedef UINT16_t SEGSEL_t
 A segment selector.
typedef UINT16_t OFF16_t
 An offset within a segment identified by #SEGSEL.

Functions

struct s_SEGOFF16 __attribute__ ((packed)) SEGOFF16_t
 A segment:offset address.

Detailed Description

Basic PXE data types such as UINT16_t, ADDR32_t, SEGSEL_t etc.

These definitions are based on Table 1-1 ("Data Type Definitions") in the Intel PXE specification version 2.1. They have been generalised to non-x86 architectures where possible.


Define Documentation

#define PXENV_EXIT_SUCCESS   0x0000
#define PXENV_EXIT_FAILURE   0x0001
#define MAC_ADDR_LEN   16

Maximum length of a MAC address.

Definition at line 70 of file pxe_types.h.


Typedef Documentation

typedef uint8_t UINT8_t

An 8-bit unsigned integer.

Definition at line 31 of file pxe_types.h.

typedef uint16_t UINT16_t

A 16-bit unsigned integer.

Definition at line 34 of file pxe_types.h.

typedef uint32_t UINT32_t

A 32-bit unsigned integer.

Definition at line 37 of file pxe_types.h.

A PXE exit code.

Permitted values are PXENV_EXIT_SUCCESS and PXENV_EXIT_FAILURE.

Definition at line 44 of file pxe_types.h.

A PXE status code.

Status codes are defined in errno.h.

Definition at line 53 of file pxe_types.h.

typedef UINT32_t IP4_t

An IPv4 address.

Note:
This data type is in network (big-endian) byte order.

Definition at line 60 of file pxe_types.h.

A UDP port.

Note:
This data type is in network (big-endian) byte order.

Definition at line 67 of file pxe_types.h.

A MAC address.

Definition at line 73 of file pxe_types.h.

typedef UINT32_t ADDR32_t

A physical address.

For x86, this is a 32-bit physical address, and is therefore limited to the low 4GB.

Definition at line 82 of file pxe_types.h.

typedef UINT16_t SEGSEL_t

A segment selector.

For x86, this is a real mode segment (0x0000-0xffff), or a protected-mode segment selector, such as could be loaded into a segment register.

Definition at line 93 of file pxe_types.h.

typedef UINT16_t OFF16_t

An offset within a segment identified by #SEGSEL.

For x86, this is a 16-bit offset.

Definition at line 102 of file pxe_types.h.


Function Documentation

struct s_SEGOFF16 __attribute__ ( (packed)  )

A segment:offset address.

A segment descriptor.

For x86, this is a 16-bit real-mode or protected-mode segment:offset address.