Hi, I need to add an additional feature to Murali's menu system: sending and receiving UDP datagrams. I have no experiences with writing programs at such a low level. Therefore, I need some help. 1) How to transfer IP address and other options from PXElinux to comboot? 2) I got PXE specification, ver. 2.1 (sept. 1999); can I follow it safely? 3) Is there an easy interface to use PXE stack (easier than calling INTs)? with best regards p.o.
I have no idea how to go about adding Networking support via Comboot. However, depending on your requirements, you might be able to get away with passing command line arguments to the comboot code. Adding basic networking support, should probably be done at the com32 library level? - Murali Pawel Oleksik wrote:> Hi, > >I need to add an additional feature to Murali's menu system: sending and >receiving UDP datagrams. I have no experiences with writing programs at such a >low level. Therefore, I need some help. > >1) How to transfer IP address and other options from PXElinux to comboot? >2) I got PXE specification, ver. 2.1 (sept. 1999); can I follow it safely? >3) Is there an easy interface to use PXE stack (easier than calling INTs)? > >with best regards >p.o. > > >_______________________________________________ >SYSLINUX mailing list >Submissions to SYSLINUX at zytor.com >Unsubscribe or set options at: >http://www.zytor.com/mailman/listinfo/syslinux >Please do not send private replies to mailing list traffic. > > > >
> > 1) How to transfer IP address and other options from PXElinux to comboot? > 2) I got PXE specification, ver. 2.1 (sept. 1999); can I follow it safely? > 3) Is there an easy interface to use PXE stack (easier than calling INTs)? >1. You need to call the PXE stack's GET CACHED INFO function and extract the relevant information from there. Right now there is no API function which gets that preparsed; on the other hand, you get a *lot* of information that way. 2. Mostly. When PXELINUX runs, PXE is set up to run in UDP mode, so you need to shut down the UDP stack (AND RESTART IT!) if you want to use the TFTP or the UNDI functions. Most of the API functions will call the UDP stack, so this isn't really very safe. For sending or receiving UDP packets, though, it should work fine (don't call the setup and shutdown routines, though.) Invoking the keyboard functions will poll for UDP packets and discard them. This is to keep ARP alive. 3. INT 22h, AX=0009h does this; this is in many ways simpler than calling the PXE stack directly, because you don't have to worry about the fact that different PXE versions have different calling conventions. -hpa