diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-07-05 18:03:09 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-07-05 18:03:09 +0100 |
commit | d64e1be1f8ac01dce56ec0a230d2e261559bcad9 (patch) | |
tree | d6846eaa83efb3a16a93c49e49e67e3817ef7259 /src/doc/pxe_extensions | |
parent | ed7eae6005fa2cf7bf6a7650cf42762f4d1f8754 (diff) | |
download | ipxe-d64e1be1f8ac01dce56ec0a230d2e261559bcad9.tar.gz |
First draft of PXE extensions API.
Diffstat (limited to 'src/doc/pxe_extensions')
-rw-r--r-- | src/doc/pxe_extensions | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/src/doc/pxe_extensions b/src/doc/pxe_extensions new file mode 100644 index 000000000..ae03b3955 --- /dev/null +++ b/src/doc/pxe_extensions @@ -0,0 +1,151 @@ +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; + UINT32 Reserved; + UINT8 FileName[256]; +} 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. + +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. |