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 
9 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
10 
11 #include <pxe_api.h>
12 #include <realmode.h>
13 #include <rmsetjmp.h>
14 
15 struct 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 */
27 extern struct s_PXE __text16 ( ppxe );
28 #define ppxe __use_text16 ( ppxe )
29 
30 /** PXENV+ structure */
31 extern struct s_PXENV __text16 ( pxenv );
32 #define pxenv __use_text16 ( pxenv )
33 
34 /** PXENV_RESTART_TFTP jump buffer */
36 
37 extern void pxe_activate ( struct net_device *netdev );
38 extern int pxe_deactivate ( void );
39 extern int pxe_start_nbp ( void );
40 extern __asmcall void pxe_api_call ( struct i386_all_regs *ix86 );
41 extern int pxe_api_call_weak ( struct i386_all_regs *ix86 );
42 
43 #endif /* _PXE_CALL_H */
#define ppxe
Definition: pxe_call.h:28
rmjmp_buf pxe_restart_nbp
PXENV_RESTART_TFTP jump buffer.
Definition: pxe_call.c:330
__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:276
A full register dump.
Definition: registers.h:174
#define __asmcall
Declare a function with standard calling conventions.
Definition: compiler.h:15
The PXENV+ structure.
Definition: pxe_api.h:72
static struct net_device * netdev
Definition: gdbudp.c:52
struct s_PXE __text16(ppxe)
!PXE structure
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
A network device.
Definition: netdevice.h:352
Preboot eXecution Environment (PXE) API.
The !PXE structure.
Definition: pxe_api.h:129
int pxe_deactivate(void)
Deactivate PXE stack.
Definition: pxe_call.c:307
#define pxenv
Definition: pxe_call.h:32
A real-mode-extended jump buffer.
Definition: rmsetjmp.h:10
int pxe_start_nbp(void)
Start PXE NBP at 0000:7c00.
Definition: pxe_call.c:337
int pxe_api_call_weak(struct i386_all_regs *ix86)
Dispatch weak PXE API call with PXE stack available.
Definition: pxe_call.c:186