s_PXE Struct Reference
[PXE entry points]

The !PXE structure. More...

#include <pxe_api.h>


Data Fields

UINT8_t Signature [4]
 Signature.
UINT8_t StructLength
 Length of this structure.
UINT8_t StructCksum
 Checksum.
UINT8_t StructRev
 Revision of this structure.
UINT8_t reserved_1
 Must be zero.
SEGOFF16_t UNDIROMID
 Address of the UNDI ROM ID structure.
SEGOFF16_t BaseROMID
 Address of the Base Code ROM ID structure.
SEGOFF16_t EntryPointSP
 16-bit !PXE entry point
SEGOFF16_t EntryPointESP
 32-bit !PXE entry point
SEGOFF16_t StatusCallout
 Status call-out function.
UINT8_t reserved_2
 Must be zero.
UINT8_t SegDescCnt
 Number of segment descriptors.
SEGSEL_t FirstSelector
 First protected-mode selector.
SEGDESC_t Stack
 Stack segment descriptor.
SEGDESC_t UNDIData
 UNDI data segment descriptor.
SEGDESC_t UNDICode
 UNDI code segment descriptor.
SEGDESC_t UNDICodeWrite
 UNDI writable code segment descriptor.
SEGDESC_t BC_Data
 Base-code data segment descriptor.
SEGDESC_t BC_Code
 Base-code code segment descriptor.
SEGDESC_t BC_CodeWrite
 Base-code writable code segment descriptor.


Detailed Description

The !PXE structure.

Definition at line 124 of file pxe_api.h.


Field Documentation

Signature.

Contains the bytes '!', 'P', 'X', 'E'.

Definition at line 129 of file pxe_api.h.

Length of this structure.

Definition at line 130 of file pxe_api.h.

Checksum.

The byte checksum of this structure (using the length in StructLength) must be zero.

Definition at line 136 of file pxe_api.h.

Revision of this structure.

For PXE version 2.1, this field must be zero.

Definition at line 141 of file pxe_api.h.

Must be zero.

Definition at line 142 of file pxe_api.h.

Address of the UNDI ROM ID structure.

This is a pointer to a struct s_UNDI_ROM_ID.

Definition at line 147 of file pxe_api.h.

Address of the Base Code ROM ID structure.

This is a pointer to a struct s_BC_ROM_ID.

Definition at line 152 of file pxe_api.h.

16-bit !PXE entry point

This is the entry point for either real mode, or protected mode with a 16-bit stack segment.

Definition at line 158 of file pxe_api.h.

Referenced by undi_load().

32-bit !PXE entry point

This is the entry point for protected mode with a 32-bit stack segment.

Definition at line 164 of file pxe_api.h.

Status call-out function.

Parameters:
0 (if in a time-out loop)
n Number of a received TFTP packet
Return values:
0 Continue operation
1 Cancel operation
This function will be called whenever the PXE stack is in protected mode, is waiting for an event (e.g. a DHCP reply) and wishes to allow the user to cancel the operation. Parameters are passed in register ax; the return value must also be placed in register ax. All other registers and flags must be preserved.

In real mode, an internal function (that checks for a keypress) will be used.

If this field is set to -1, no status call-out function will be used and consequently the user will not be allowed to interrupt operations.

Note:
The PXE specification version 2.1 defines the StatusCallout field, mentions it 11 times, but nowhere defines what it actually does or how it gets called. Fortunately, the WfM specification version 1.1a deigns to inform us of such petty details.

Definition at line 192 of file pxe_api.h.

Must be zero.

Definition at line 193 of file pxe_api.h.

Number of segment descriptors.

If this number is greater than 7, the remaining descriptors follow immediately after BC_CodeWrite.

Definition at line 199 of file pxe_api.h.

First protected-mode selector.

This is the segment selector value for the first segment assigned to PXE. Protected-mode selectors must be consecutive, according to the PXE 2.1 specification, though no reason is given. Each SEGDESC_t includes a field for the segment selector, so this information is entirely redundant.

Definition at line 209 of file pxe_api.h.

Stack segment descriptor.

Definition at line 211 of file pxe_api.h.

UNDI data segment descriptor.

Definition at line 213 of file pxe_api.h.

UNDI code segment descriptor.

Definition at line 215 of file pxe_api.h.

UNDI writable code segment descriptor.

Definition at line 217 of file pxe_api.h.

Base-code data segment descriptor.

Definition at line 219 of file pxe_api.h.

Base-code code segment descriptor.

Definition at line 221 of file pxe_api.h.

Base-code writable code segment descriptor.

Definition at line 223 of file pxe_api.h.


The documentation for this struct was generated from the following file:

Generated on Tue Apr 6 20:02:08 2010 for gPXE by  doxygen 1.5.7.1