|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.