blob: 974a3c30c4225786184ac1fa73b4191fa320ac0d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/* Header for pxe_callbacks.c.
*/
#ifndef PXE_CALLBACKS_H
#define PXE_CALLBACKS_H
#include "etherboot.h"
#include "pxe_types.h"
typedef struct {
SEGOFF16_t orig_retaddr;
UINT16_t opcode;
SEGOFF16_t segoff;
} PACKED pxe_call_params_t;
/*
* These values are hard-coded into the PXE spec
*/
#define PXE_LOAD_SEGMENT (0x0000)
#define PXE_LOAD_OFFSET (0x7c00)
#define PXE_LOAD_ADDRESS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET )
/* Function prototypes
*/
extern struct pxe_stack * install_pxe_stack ( void *base );
extern void use_undi_ds_for_rm_stack ( uint16_t ds );
extern int hook_pxe_stack ( void );
extern int unhook_pxe_stack ( void );
extern void remove_pxe_stack ( void );
extern int xstartpxe ( void );
#endif /* PXE_CALLBACKS_H */
|