iPXE
Data Structures | Macros | Typedefs | Functions

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...
 

Macros

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

Typedefs

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

Functions

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

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.

Macro Definition Documentation

◆ PXENV_EXIT_SUCCESS

#define PXENV_EXIT_SUCCESS   0x0000

No error occurred.

Definition at line 45 of file pxe_types.h.

◆ PXENV_EXIT_FAILURE

#define PXENV_EXIT_FAILURE   0x0001

An error occurred.

Definition at line 46 of file pxe_types.h.

◆ MAC_ADDR_LEN

#define MAC_ADDR_LEN   16

Maximum length of a MAC address.

Definition at line 70 of file pxe_types.h.

Typedef Documentation

◆ UINT8_t

typedef uint8_t UINT8_t

An 8-bit unsigned integer.

Definition at line 31 of file pxe_types.h.

◆ UINT16_t

typedef uint16_t UINT16_t

A 16-bit unsigned integer.

Definition at line 34 of file pxe_types.h.

◆ UINT32_t

typedef uint32_t UINT32_t

A 32-bit unsigned integer.

Definition at line 37 of file pxe_types.h.

◆ PXENV_EXIT_t

A PXE exit code.

Permitted values are PXENV_EXIT_SUCCESS and PXENV_EXIT_FAILURE.

Definition at line 44 of file pxe_types.h.

◆ PXENV_STATUS_t

A PXE status code.

Status codes are defined in errno.h.

Definition at line 53 of file pxe_types.h.

◆ IP4_t

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.

◆ UDP_PORT_t

A UDP port.

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

Definition at line 67 of file pxe_types.h.

◆ MAC_ADDR_t

typedef UINT8_t MAC_ADDR_t[MAC_ADDR_LEN]

A MAC address.

Definition at line 73 of file pxe_types.h.

◆ ADDR32_t

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.

◆ SEGSEL_t

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.

◆ OFF16_t

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

◆ __attribute__()

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.