Annotation of qemu/roms/ipxe/src/doc/pxe_extensions, revision 1.1.1.1

1.1       root        1: FILE OPEN
                      2: 
                      3: Op-Code:       PXENV_FILE_OPEN (00e0h)
                      4: 
                      5: Input:         Far pointer to a t_PXENV_FILE_OPEN parameter structure
                      6:                that has been initialised by the caller.
                      7: 
                      8: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                      9:                returned in AX.  The status field in the parameter
                     10:                structure must be set to one of the values represented
                     11:                by the PXENV_STATUS_xxx constants.
                     12: 
                     13: Description:   Opens a file specified by a URL for reading.  Multiple
                     14:                files may be opened and used concurrently.
                     15: 
                     16: 
                     17: typedef struct s_PXENV_FILE_OPEN {
                     18:        PXENV_STATUS Status;
                     19:        UINT16 FileHandle;
                     20:        SEGOFF16 FileName;
                     21:        UINT32 Reserved;
                     22: } t_PXENV_FILE_OPEN;
                     23: 
                     24: 
                     25: Set before calling API service:
                     26: 
                     27: FileName:      URL of file to be opened.  Null terminated.
                     28: 
                     29: Reserved:      Must be zero.
                     30: 
                     31: 
                     32: Returned from API service:
                     33: 
                     34: FileHandle:    Handle for use in subsequent PXE FILE API calls.
                     35: 
                     36: Status:                See PXENV_STATUS_xxx constants.
                     37: 
                     38: 
                     39: 
                     40: 
                     41: FILE CLOSE
                     42: 
                     43: Op-Code:       PXENV_FILE_CLOSE (00e1h)
                     44: 
                     45: Input:         Far pointer to a t_PXENV_FILE_CLOSE parameter structure
                     46:                that has been initialised by the caller.
                     47: 
                     48: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                     49:                returned in AX.  The status field in the parameter
                     50:                structure must be set to one of the values represented
                     51:                by the PXENV_STATUS_xxx constants.
                     52: 
                     53: Description:   Closes a previously opened file.
                     54: 
                     55: 
                     56: typedef struct s_PXENV_FILE_CLOSE {
                     57:        PXENV_STATUS Status;
                     58:        UINT16 FileHandle;
                     59: } t_PXENV_FILE_CLOSE;
                     60: 
                     61: 
                     62: Set before calling API service:
                     63: 
                     64: FileHandle:    Handle obtained when file was opened.
                     65: 
                     66: 
                     67: Returned from API service:
                     68: 
                     69: Status:                See PXENV_STATUS_xxx constants.
                     70: 
                     71: 
                     72: 
                     73: 
                     74: FILE SELECT
                     75: 
                     76: Op-Code:       PXENV_FILE_SELECT (00e2h)
                     77: 
                     78: Input:         Far pointer to a t_PXENV_FILE_SELECT parameter structure
                     79:                that has been initialised by the caller.
                     80: 
                     81: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                     82:                returned in AX.  The status field in the parameter
                     83:                structure must be set to one of the values represented
                     84:                by the PXENV_STATUS_xxx constants.
                     85: 
                     86: Description:   Check a previously opened file's readiness for I/O.
                     87: 
                     88: 
                     89: typedef struct s_PXENV_FILE_SELECT {
                     90:        PXENV_STATUS Status;
                     91:        UINT16 FileHandle;
                     92:        UINT16 Ready;
                     93: #define RDY_READ 0x0001
                     94: } t_PXENV_FILE_SELECT;
                     95: 
                     96: 
                     97: Set before calling API service:
                     98: 
                     99: FileHandle:    Handle obtained when file was opened.
                    100: 
                    101: 
                    102: Returned from API service:
                    103: 
                    104: Ready:         Indication of readiness.  This can be zero, or more,
                    105:                of the RDY_xxx constants.  Multiple values are
                    106:                arithmetically or-ed together.
                    107: 
                    108: Status:                See PXENV_STATUS_xxx constants.
                    109: 
                    110: 
                    111: 
                    112: 
                    113: FILE READ
                    114: 
                    115: Op-Code:       PXENV_FILE_READ (00e3h)
                    116: 
                    117: Input:         Far pointer to a t_PXENV_FILE_READ parameter structure
                    118:                that has been initialised by the caller.
                    119: 
                    120: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                    121:                returned in AX.  The status field in the parameter
                    122:                structure must be set to one of the values represented
                    123:                by the PXENV_STATUS_xxx constants.
                    124: 
                    125:                This API function is non-blocking.  PXENV_EXIT_SUCCESS
                    126:                and PXENV_STATUS_SUCCESS is returned if a data block
                    127:                has been transferred into the caller's buffer.
                    128:                PXENV_EXIT_FAILURE and PXENV_STATUS_TFTP_OPEN is
                    129:                returned if no data is available to transfer; any
                    130:                other status code reflects an error.
                    131: 
                    132: Description:   Read from a previously opened file.
                    133: 
                    134: 
                    135: typedef struct s_PXENV_FILE_READ {
                    136:        PXENV_STATUS Status;
                    137:        UINT16 FileHandle;
                    138:        UINT16 BufferSize;
                    139:        SEGOFF16 Buffer;
                    140: } t_PXENV_FILE_READ;
                    141: 
                    142: 
                    143: Set before calling API service:
                    144: 
                    145: FileHandle:    Handle obtained when file was opened.
                    146: 
                    147: BufferSize:    Maximum number of data bytes that can be copied into
                    148:                Buffer.
                    149: 
                    150: Buffer:                Segment:Offset address of data buffer.
                    151: 
                    152: 
                    153: Returned from API service:
                    154: 
                    155: BufferSize:    Number of bytes written to the data buffer.  End of
                    156:                file if this is zero.
                    157: 
                    158: Status:                See PXENV_STATUS_xxx constants.
                    159: 
                    160: 
                    161: 
                    162: 
                    163: GET FILE SIZE
                    164: 
                    165: Op-Code:       PXENV_GET_FILE_SIZE (00e4h)
                    166: 
                    167: Input:         Far pointer to a t_PXENV_GET_FILE_SIZE parameter
                    168:                structure that has been initialised by the caller.
                    169: 
                    170: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                    171:                returned in AX.  The status field in the parameter
                    172:                structure must be set to one of the values represented
                    173:                by the PXENV_STATUS_xxx constants.
                    174: 
                    175: Description:   Determine size of a previously opened file.
                    176: 
                    177: 
                    178: typedef struct s_PXENV_GET_FILE_SIZE {
                    179:        PXENV_STATUS Status;
                    180:        UINT16 FileHandle;
                    181:        UINT32 FileSize;
                    182: } t_PXENV_GET_FILE_SIZE;
                    183: 
                    184: 
                    185: Set before calling API service:
                    186: 
                    187: FileHandle:    Handle obtained when file was opened.
                    188: 
                    189: 
                    190: Returned from API service:
                    191: 
                    192: FileSize:      Size of the file in bytes.
                    193: 
                    194: Status:                See PXENV_STATUS_xxx constants.
                    195: 
                    196: 
                    197: 
                    198: 
                    199: FILE EXEC
                    200: 
                    201: Op-Code:       PXENV_FILE_EXEC (00e5h)
                    202: 
                    203: Input:         Far pointer to a t_PXENV_FILE_EXEC parameter
                    204:                structure that has been initialized by the caller.
                    205: 
                    206: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                    207:                returned in AX.  The Status field in the parameter
                    208:                structure must be set to one of the values represented
                    209:                by the PXENV_STATUS_xxx constants.
                    210: 
                    211: Description:   Execute a iPXE command.
                    212: 
                    213: typedef struct s_PXENV_FILE_EXEC {
                    214:         PXENV_STATUS_t Status;
                    215:         SEGOFF16_t Command;
                    216: } t_PXENV_FILE_EXEC;
                    217: 
                    218: 
                    219: Set before calling API service:
                    220: 
                    221: Command:       Command to execute.  Null terminated.
                    222: 
                    223: 
                    224: Returned from API service:
                    225: 
                    226: Status:                See PXENV_STATUS_xxx constants.
                    227: 
                    228: 
                    229: 
                    230: 
                    231: FILE API CHECK
                    232: 
                    233: Op-Code:       PXENV_FILE_API_CHECK (00e6h)
                    234: 
                    235: Input:         Far pointer to a t_PXENV_FILE_CHECK_API parameter
                    236:                structure that has been initialized by the caller.
                    237: 
                    238:                On entry, the Magic field should contain the number
                    239:                0x91d447b2 or the call will fail.
                    240: 
                    241: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                    242:                returned in AX.  The Status field in the parameter
                    243:                structure must be set to one of the values represented
                    244:                by the PXENV_STATUS_xxx constants.
                    245: 
                    246:                If this API is present and the Magic field contains the
                    247:                proper value on entry, AX will contain PXENV_EXIT_SUCCESS,
                    248:                the Status field PXENV_STATUS_SUCCESS, and the Magic field
                    249:                the number 0xe9c17b20.  Any other combination should be
                    250:                considered a failure.
                    251: 
                    252: Description:   Detect presence of this API.
                    253: 
                    254: 
                    255: typedef struct s_PXENV_FILE_CHECK_API {
                    256:        PXENV_STATUS Status;
                    257:        UINT16 Size;
                    258:        UINT32 Magic;
                    259:        UINT32 Provider;
                    260:        UINT32 APIMask;
                    261:        UINT32 Flags;
                    262: } t_PXENV_FILE_CHECK_API;
                    263: 
                    264: Set before calling API service:
                    265: 
                    266: Size:          Set to sizeof(t_PXENV_FILE_CHECK_API) (20).
                    267: Magic:         Set to 0x91d447b2.
                    268: 
                    269: 
                    270: Returned from API service:
                    271: 
                    272: Size:          Set to the number of bytes filled in (20).
                    273: Magic:         Set to 0xe9c17b20.
                    274: Provider:      Set to 0x45585067 ("iPXE").  Another implementation of this
                    275:                API can use another value, e.g. to indicate a different
                    276:                command set supported by FILE EXEC.
                    277: APIMask:       Bitmask of supported API functions (one bit for each function
                    278:                in the range 00e0h to 00ffh).
                    279: Flags:         Set to zero, reserved for future use.
                    280: 
                    281: 
                    282: 
                    283: 
                    284: FILE EXIT HOOK
                    285: 
                    286: Op-Code:       PXENV_FILE_EXIT_HOOK (00e7h)
                    287: 
                    288: Input:         Far pointer to a t_PXENV_FILE_EXIT_HOOK parameter
                    289:                structure that has been initialized by the caller.
                    290: 
                    291: Output:                PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
                    292:                returned in AX.  The Status field in the parameter
                    293:                structure must be set to one of the values represented
                    294:                by the PXENV_STATUS_xxx constants.
                    295: 
                    296: Description:   Modify the exit path to jump to the specified code.
                    297:                Only valid for pxeprefix-based builds.
                    298: 
                    299: typedef struct s_PXENV_FILE_EXIT_HOOK {
                    300:         PXENV_STATUS_t Status;
                    301:         SEGOFF16_t Hook;
                    302: } t_PXENV_FILE_EXIT_HOOK;
                    303: 
                    304: 
                    305: Set before calling API service:
                    306: 
                    307: Hook:          The SEG16:OFF16 of the code to jump to.
                    308: 
                    309: 
                    310: Returned from API service:
                    311: 
                    312: Status:                See PXENV_STATUS_xxx constants.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.