source: bootcd/isolinux/syslinux-6.03/gpxe/src/doc/pxe_extensions @ 26ffad7

Last change on this file since 26ffad7 was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 7.1 KB
Line 
1FILE OPEN
2
3Op-Code:        PXENV_FILE_OPEN (00e0h)
4
5Input:          Far pointer to a t_PXENV_FILE_OPEN parameter structure
6                that has been initialised by the caller.
7
8Output:         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
13Description:    Opens a file specified by a URL for reading.  Multiple
14                files may be opened and used concurrently.
15
16
17typedef 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
25Set before calling API service:
26
27FileName:       URL of file to be opened.  Null terminated.
28
29Reserved:       Must be zero.
30
31
32Returned from API service:
33
34FileHandle:     Handle for use in subsequent PXE FILE API calls.
35
36Status:         See PXENV_STATUS_xxx constants.
37
38
39
40
41FILE CLOSE
42
43Op-Code:        PXENV_FILE_CLOSE (00e1h)
44
45Input:          Far pointer to a t_PXENV_FILE_CLOSE parameter structure
46                that has been initialised by the caller.
47
48Output:         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
53Description:    Closes a previously opened file.
54
55
56typedef struct s_PXENV_FILE_CLOSE {
57        PXENV_STATUS Status;
58        UINT16 FileHandle;
59} t_PXENV_FILE_CLOSE;
60
61
62Set before calling API service:
63
64FileHandle:     Handle obtained when file was opened.
65
66
67Returned from API service:
68
69Status:         See PXENV_STATUS_xxx constants.
70
71
72
73
74FILE SELECT
75
76Op-Code:        PXENV_FILE_SELECT (00e2h)
77
78Input:          Far pointer to a t_PXENV_FILE_SELECT parameter structure
79                that has been initialised by the caller.
80
81Output:         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
86Description:    Check a previously opened file's readiness for I/O.
87
88
89typedef 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
97Set before calling API service:
98
99FileHandle:     Handle obtained when file was opened.
100
101
102Returned from API service:
103
104Ready:          Indication of readiness.  This can be zero, or more,
105                of the RDY_xxx constants.  Multiple values are
106                arithmetically or-ed together.
107
108Status:         See PXENV_STATUS_xxx constants.
109
110
111
112
113FILE READ
114
115Op-Code:        PXENV_FILE_READ (00e3h)
116
117Input:          Far pointer to a t_PXENV_FILE_READ parameter structure
118                that has been initialised by the caller.
119
120Output:         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
132Description:    Read from a previously opened file.
133
134
135typedef 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
143Set before calling API service:
144
145FileHandle:     Handle obtained when file was opened.
146
147BufferSize:     Maximum number of data bytes that can be copied into
148                Buffer.
149
150Buffer:         Segment:Offset address of data buffer.
151
152
153Returned from API service:
154
155BufferSize:     Number of bytes written to the data buffer.  End of
156                file if this is zero.
157
158Status:         See PXENV_STATUS_xxx constants.
159
160
161
162
163GET FILE SIZE
164
165Op-Code:        PXENV_GET_FILE_SIZE (00e4h)
166
167Input:          Far pointer to a t_PXENV_GET_FILE_SIZE parameter
168                structure that has been initialised by the caller.
169
170Output:         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
175Description:    Determine size of a previously opened file.
176
177
178typedef struct s_PXENV_GET_FILE_SIZE {
179        PXENV_STATUS Status;
180        UINT16 FileHandle;
181        UINT32 FileSize;
182} t_PXENV_GET_FILE_SIZE;
183
184
185Set before calling API service:
186
187FileHandle:     Handle obtained when file was opened.
188
189
190Returned from API service:
191
192FileSize:       Size of the file in bytes.
193
194Status:         See PXENV_STATUS_xxx constants.
195
196
197
198
199FILE EXEC
200
201Op-Code:        PXENV_FILE_EXEC (00e5h)
202
203Input:          Far pointer to a t_PXENV_FILE_EXEC parameter
204                structure that has been initialized by the caller.
205
206Output:         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
211Description:    Execute a gPXE command.
212
213typedef struct s_PXENV_FILE_EXEC {
214        PXENV_STATUS_t Status;
215        SEGOFF16_t Command;
216} t_PXENV_FILE_EXEC;
217
218
219Set before calling API service:
220
221Command:        Command to execute.  Null terminated.
222
223
224Returned from API service:
225
226Status:         See PXENV_STATUS_xxx constants.
227
228
229
230
231FILE API CHECK
232
233Op-Code:        PXENV_FILE_API_CHECK (00e6h)
234
235Input:          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
241Output:         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
252Description:    Detect presence of this API.
253
254
255typedef 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
264Set before calling API service:
265
266Size:           Set to sizeof(t_PXENV_FILE_CHECK_API) (20).
267Magic:          Set to 0x91d447b2.
268
269
270Returned from API service:
271
272Size:           Set to the number of bytes filled in (20).
273Magic:          Set to 0xe9c17b20.
274Provider:       Set to 0x45585067 ("gPXE").  Another implementation of this
275                API can use another value, e.g. to indicate a different
276                command set supported by FILE EXEC.
277APIMask:        Bitmask of supported API functions (one bit for each function
278                in the range 00e0h to 00ffh).
279Flags:          Set to zero, reserved for future use.
280
281
282
283
284FILE EXIT HOOK
285
286Op-Code:        PXENV_FILE_EXIT_HOOK (00e7h)
287
288Input:          Far pointer to a t_PXENV_FILE_EXIT_HOOK parameter
289                structure that has been initialized by the caller.
290
291Output:         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
296Description:    Modify the exit path to jump to the specified code.
297                Only valid for pxeprefix-based builds.
298
299typedef struct s_PXENV_FILE_EXIT_HOOK {
300        PXENV_STATUS_t Status;
301        SEGOFF16_t Hook;
302} t_PXENV_FILE_EXIT_HOOK;
303
304
305Set before calling API service:
306
307Hook:           The SEG16:OFF16 of the code to jump to.
308
309
310Returned from API service:
311
312Status:         See PXENV_STATUS_xxx constants.
Note: See TracBrowser for help on using the repository browser.