iPXE
pxe_call.h
Go to the documentation of this file.
1#ifndef _PXE_CALL_H
2#define _PXE_CALL_H
3
4/** @file
5 *
6 * PXE API entry point
7 */
8
9FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
10
11#include <pxe_api.h>
12#include <realmode.h>
13#include <rmsetjmp.h>
14
15struct net_device;
16
17/** PXE load address segment */
18#define PXE_LOAD_SEGMENT 0
19
20/** PXE load address offset */
21#define PXE_LOAD_OFFSET 0x7c00
22
23/** PXE physical load address */
24#define PXE_LOAD_PHYS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET )
25
26/** !PXE structure */
27extern struct s_PXE __text16 ( ppxe );
28#define ppxe __use_text16 ( ppxe )
29
30/** PXENV+ structure */
31extern struct s_PXENV __text16 ( pxenv );
32#define pxenv __use_text16 ( pxenv )
33
34/** PXENV_RESTART_TFTP jump buffer */
36
37extern void pxe_activate ( struct net_device *netdev );
38extern int pxe_deactivate ( void );
39extern int pxe_start_nbp ( void );
40extern __asmcall void pxe_api_call ( struct i386_all_regs *ix86 );
41extern int pxe_api_call_weak ( struct i386_all_regs *ix86 );
42
43#endif /* _PXE_CALL_H */
#define __asmcall
Declare a function with standard calling conventions.
Definition compiler.h:15
static struct net_device * netdev
Definition gdbudp.c:53
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define __text16(variable)
Definition libkir.h:18
Preboot eXecution Environment (PXE) API.
rmjmp_buf pxe_restart_nbp
Jump buffer for PXENV_RESTART_TFTP.
Definition pxe_call.c:323
#define ppxe
Definition pxe_call.h:28
#define pxenv
Definition pxe_call.h:32
__asmcall void pxe_api_call(struct i386_all_regs *ix86)
Dispatch PXE API call.
Definition pxe_call.c:145
void pxe_activate(struct net_device *netdev)
Activate PXE stack.
Definition pxe_call.c:269
int pxe_start_nbp(void)
Start PXE NBP at 0000:7c00.
Definition pxe_call.c:330
int pxe_deactivate(void)
Deactivate PXE stack.
Definition pxe_call.c:300
int pxe_api_call_weak(struct i386_all_regs *ix86)
Dispatch weak PXE API call with PXE stack available.
Definition pxe_call.c:182
A full register dump.
Definition registers.h:174
A network device.
Definition netdevice.h:353
A real-mode-extended jump buffer.
Definition rmsetjmp.h:10
The PXENV+ structure.
Definition pxe_api.h:72
The !PXE structure.
Definition pxe_api.h:129