[syslinux] finding mac address while in menusystem (com32)
H. Peter Anvin
hpa at zytor.com
Mon Mar 3 09:33:42 PST 2008
Kjetil.Mikkelborg at kongsberg.com wrote:
> Hi
>
> I have made myself a derivated menusystem based on the complex.c menu that cames with syslinux.
> And now I need to read a file, search for my pxebooted netcards mac address, and write some changes back to the same file.
> All the writing and reading I hopes will be of no trouble, but how can i find my own mac address? (and IP adress would be nice).
>
> I have searched the list, but I really cannot find any hints on this, so either I am trying to do something unusual, or I am blind to how to do it!
>
There are three ways to do it:
a) the easy way:
* Use syslinux_ipappend_strings() (from <syslinux/config.h>)
This gets you the ip= and BOOTIF= strings, which contain your
ip address and hardware address, respectively.
b) the hard way:
* pxe_get_cached_info() gets you the DHCP information
(from <syslinux/pxe.h>).
This includes both your IP address and the hardware address. Do note
that the hardware address can be encoded in two different ways,
depending on the underlying medium (e.g. Infinibad does it
differently than Ethernet.)
This is effectively what PXELINUX does internally.
c) the really hard way:
* Use pxe_get_cached_info() to get the IP address, and PXE call
0x000C (PXENV_UNDI_GET_INFORMATION) to get the hardware address.
I don't have a librarized version of PXENV_UNDI_GET_INFORMATION at
this time.
-hpa
More information about the Syslinux
mailing list