1 #include <syslinux/config.h>
2 #include <com32.h>
3 
4 extern far_ptr_t InitStack, StrucPtr;
5 
6 /*
7  * IP information.  Note that the field are in the same order as the
8  * Linux kernel expects in the ip= option.
9  */
10 struct syslinux_ipinfo IPInfo;
11 uint16_t APIVer;		/* PXE API version found */
12 
get_derivative_info(union syslinux_derivative_info * di)13 __export void get_derivative_info(union syslinux_derivative_info *di)
14 {
15 	di->pxe.filesystem = SYSLINUX_FS_PXELINUX;
16 	di->pxe.apiver = APIVer;
17 	di->pxe.pxenvptr = GET_PTR(StrucPtr);
18 	di->pxe.pxenv_offs = StrucPtr.offs;
19 	di->pxe.pxenv_seg = StrucPtr.seg;
20 	di->pxe.stack = GET_PTR(InitStack);
21 	di->pxe.stack_offs = InitStack.offs;
22 	di->pxe.stack_seg = InitStack.seg;
23 	di->pxe.ipinfo = &IPInfo;
24 	di->pxe.myip = IPInfo.myip;
25 }
26