Make open() and close() an official part of the netdevice API.

Call netdevice's poll() and transmit() methods only when device is open.
This commit is contained in:
Michael Brown
2007-01-04 04:20:08 +00:00
parent d4894f0127
commit 0c03bb5a9a
6 changed files with 138 additions and 19 deletions

View File

@@ -16,7 +16,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <string.h>
#include <vsprintf.h>
#include <gpxe/netdevice.h>
#include <gpxe/autoboot.h>
/** @file
@@ -30,11 +32,21 @@ void test_dhcp ( struct net_device *netdev );
void autoboot ( void ) {
struct net_device *netdev;
int rc;
netdev = next_netdev ();
if ( netdev ) {
test_dhcp ( netdev );
} else {
if ( ! netdev ) {
printf ( "No network device found\n" );
return;
}
if ( ( rc = netdev_open ( netdev ) ) != 0 ) {
printf ( "Could not open %s: %s\n", netdev_name ( netdev ),
strerror ( rc ) );
return;
}
test_dhcp ( netdev );
netdev_close ( netdev );
}