123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- FILE OPEN
-
- Op-Code: PXENV_FILE_OPEN (00e0h)
-
- Input: Far pointer to a t_PXENV_FILE_OPEN parameter structure
- that has been initialised by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Opens a file specified by a URL for reading. Multiple
- files may be opened and used concurrently.
-
-
- typedef struct s_PXENV_FILE_OPEN {
- PXENV_STATUS Status;
- UINT16 FileHandle;
- SEGOFF16 FileName;
- UINT32 Reserved;
- } t_PXENV_FILE_OPEN;
-
-
- Set before calling API service:
-
- FileName: URL of file to be opened. Null terminated.
-
- Reserved: Must be zero.
-
-
- Returned from API service:
-
- FileHandle: Handle for use in subsequent PXE FILE API calls.
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- FILE CLOSE
-
- Op-Code: PXENV_FILE_CLOSE (00e1h)
-
- Input: Far pointer to a t_PXENV_FILE_CLOSE parameter structure
- that has been initialised by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Closes a previously opened file.
-
-
- typedef struct s_PXENV_FILE_CLOSE {
- PXENV_STATUS Status;
- UINT16 FileHandle;
- } t_PXENV_FILE_CLOSE;
-
-
- Set before calling API service:
-
- FileHandle: Handle obtained when file was opened.
-
-
- Returned from API service:
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- FILE SELECT
-
- Op-Code: PXENV_FILE_SELECT (00e2h)
-
- Input: Far pointer to a t_PXENV_FILE_SELECT parameter structure
- that has been initialised by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Check a previously opened file's readiness for I/O.
-
-
- typedef struct s_PXENV_FILE_SELECT {
- PXENV_STATUS Status;
- UINT16 FileHandle;
- UINT16 Ready;
- #define RDY_READ 0x0001
- } t_PXENV_FILE_SELECT;
-
-
- Set before calling API service:
-
- FileHandle: Handle obtained when file was opened.
-
-
- Returned from API service:
-
- Ready: Indication of readiness. This can be zero, or more,
- of the RDY_xxx constants. Multiple values are
- arithmetically or-ed together.
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- FILE READ
-
- Op-Code: PXENV_FILE_READ (00e3h)
-
- Input: Far pointer to a t_PXENV_FILE_READ parameter structure
- that has been initialised by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- This API function is non-blocking. PXENV_EXIT_SUCCESS
- and PXENV_STATUS_SUCCESS is returned if a data block
- has been transferred into the caller's buffer.
- PXENV_EXIT_FAILURE and PXENV_STATUS_TFTP_OPEN is
- returned if no data is available to transfer; any
- other status code reflects an error.
-
- Description: Read from a previously opened file.
-
-
- typedef struct s_PXENV_FILE_READ {
- PXENV_STATUS Status;
- UINT16 FileHandle;
- UINT16 BufferSize;
- SEGOFF16 Buffer;
- } t_PXENV_FILE_READ;
-
-
- Set before calling API service:
-
- FileHandle: Handle obtained when file was opened.
-
- BufferSize: Maximum number of data bytes that can be copied into
- Buffer.
-
- Buffer: Segment:Offset address of data buffer.
-
-
- Returned from API service:
-
- BufferSize: Number of bytes written to the data buffer. End of
- file if this is zero.
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- GET FILE SIZE
-
- Op-Code: PXENV_GET_FILE_SIZE (00e4h)
-
- Input: Far pointer to a t_PXENV_GET_FILE_SIZE parameter
- structure that has been initialised by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Determine size of a previously opened file.
-
-
- typedef struct s_PXENV_GET_FILE_SIZE {
- PXENV_STATUS Status;
- UINT16 FileHandle;
- UINT32 FileSize;
- } t_PXENV_GET_FILE_SIZE;
-
-
- Set before calling API service:
-
- FileHandle: Handle obtained when file was opened.
-
-
- Returned from API service:
-
- FileSize: Size of the file in bytes.
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- FILE EXEC
-
- Op-Code: PXENV_FILE_EXEC (00e5h)
-
- Input: Far pointer to a t_PXENV_FILE_EXEC parameter
- structure that has been initialized by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The Status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Execute a iPXE command.
-
- typedef struct s_PXENV_FILE_EXEC {
- PXENV_STATUS_t Status;
- SEGOFF16_t Command;
- } t_PXENV_FILE_EXEC;
-
-
- Set before calling API service:
-
- Command: Command to execute. Null terminated.
-
-
- Returned from API service:
-
- Status: See PXENV_STATUS_xxx constants.
-
-
-
-
- FILE API CHECK
-
- Op-Code: PXENV_FILE_API_CHECK (00e6h)
-
- Input: Far pointer to a t_PXENV_FILE_CHECK_API parameter
- structure that has been initialized by the caller.
-
- On entry, the Magic field should contain the number
- 0x91d447b2 or the call will fail.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The Status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- If this API is present and the Magic field contains the
- proper value on entry, AX will contain PXENV_EXIT_SUCCESS,
- the Status field PXENV_STATUS_SUCCESS, and the Magic field
- the number 0xe9c17b20. Any other combination should be
- considered a failure.
-
- Description: Detect presence of this API.
-
-
- typedef struct s_PXENV_FILE_CHECK_API {
- PXENV_STATUS Status;
- UINT16 Size;
- UINT32 Magic;
- UINT32 Provider;
- UINT32 APIMask;
- UINT32 Flags;
- } t_PXENV_FILE_CHECK_API;
-
- Set before calling API service:
-
- Size: Set to sizeof(t_PXENV_FILE_CHECK_API) (20).
- Magic: Set to 0x91d447b2.
-
-
- Returned from API service:
-
- Size: Set to the number of bytes filled in (20).
- Magic: Set to 0xe9c17b20.
- Provider: Set to 0x45585067 ("iPXE"). Another implementation of this
- API can use another value, e.g. to indicate a different
- command set supported by FILE EXEC.
- APIMask: Bitmask of supported API functions (one bit for each function
- in the range 00e0h to 00ffh).
- Flags: Set to zero, reserved for future use.
-
-
-
-
- FILE EXIT HOOK
-
- Op-Code: PXENV_FILE_EXIT_HOOK (00e7h)
-
- Input: Far pointer to a t_PXENV_FILE_EXIT_HOOK parameter
- structure that has been initialized by the caller.
-
- Output: PXENV_EXIT_SUCCESS or PXENV_EXIT_FAILURE must be
- returned in AX. The Status field in the parameter
- structure must be set to one of the values represented
- by the PXENV_STATUS_xxx constants.
-
- Description: Modify the exit path to jump to the specified code.
- Only valid for pxeprefix-based builds.
-
- typedef struct s_PXENV_FILE_EXIT_HOOK {
- PXENV_STATUS_t Status;
- SEGOFF16_t Hook;
- } t_PXENV_FILE_EXIT_HOOK;
-
-
- Set before calling API service:
-
- Hook: The SEG16:OFF16 of the code to jump to.
-
-
- Returned from API service:
-
- Status: See PXENV_STATUS_xxx constants.
|