struct net_device;
-extern int dhcp ( struct net_device *netdev );
extern int pxebs ( struct net_device *netdev, unsigned int pxe_type );
#endif /* _USR_DHCPMGMT_H */
#include <ipxe/netdevice.h>
#include <ipxe/dhcp.h>
#include <ipxe/monojob.h>
-#include <ipxe/timer.h>
#include <usr/ifmgmt.h>
#include <usr/dhcpmgmt.h>
-/** Default time to wait for link-up */
-#define LINK_WAIT_TIMEOUT ( 15 * TICKS_PER_SEC )
-
/** @file
*
* DHCP management
*
*/
-int dhcp ( struct net_device *netdev ) {
- int rc;
-
- /* Check we can open the interface first */
- if ( ( rc = ifopen ( netdev ) ) != 0 )
- return rc;
-
- /* Wait for link-up */
- if ( ( rc = iflinkwait ( netdev, LINK_WAIT_TIMEOUT ) ) != 0 )
- return rc;
-
- /* Perform DHCP */
- printf ( "DHCP (%s %s)", netdev->name,
- netdev->ll_protocol->ntoa ( netdev->ll_addr ) );
- if ( ( rc = start_dhcp ( &monojob, netdev ) ) == 0 )
- rc = monojob_wait ( "", 0 );
-
- return rc;
-}
-
int pxebs ( struct net_device *netdev, unsigned int pxe_type ) {
int rc;