source: bootcd/isolinux/syslinux-6.03/gpxe/src/arch/i386/include/pxe_call.h

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

bootstuff

  • Property mode set to 100644
File size: 1.4 KB
Line 
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 );
10
11#include <pxe_api.h>
12#include <realmode.h>
13
14struct net_device;
15
16/** PXE load address segment */
17#define PXE_LOAD_SEGMENT 0
18
19/** PXE load address offset */
20#define PXE_LOAD_OFFSET 0x7c00
21
22/** PXE physical load address */
23#define PXE_LOAD_PHYS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET )
24
25/** !PXE structure */
26extern struct s_PXE __text16 ( ppxe );
27#define ppxe __use_text16 ( ppxe )
28
29/** PXENV+ structure */
30extern struct s_PXENV __text16 ( pxenv );
31#define pxenv __use_text16 ( pxenv )
32
33extern void pxe_activate ( struct net_device *netdev );
34extern int pxe_deactivate ( void );
35extern int pxe_start_nbp ( void );
36extern __asmcall void pxe_api_call ( struct i386_all_regs *ix86 );
37extern int _pxe_api_call_weak ( struct i386_all_regs *ix86 )
38        __attribute__ (( weak ));
39
40/**
41 * Dispatch PXE API call weakly
42 *
43 * @v ix86              Registers for PXE call
44 * @ret present         Zero if the PXE stack is present, nonzero if not
45 *
46 * A successful return only indicates that the PXE stack was available
47 * for dispatching the call; it says nothing about the success of
48 * whatever the call asked for.
49 */
50static inline int pxe_api_call_weak ( struct i386_all_regs *ix86 )
51{
52        if ( _pxe_api_call_weak != NULL )
53                return _pxe_api_call_weak ( ix86 );
54        return -1;
55}
56
57#endif /* _PXE_CALL_H */
Note: See TracBrowser for help on using the repository browser.