summaryrefslogtreecommitdiff
path: root/gpxe/src/arch/i386/hci/commands/pxe_cmd.c
blob: b5df2d1b024c07e64f701ec7e9290e553cc435bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <gpxe/netdevice.h>
#include <gpxe/command.h>
#include <hci/ifmgmt_cmd.h>
#include <pxe_call.h>

FILE_LICENCE ( GPL2_OR_LATER );

static int startpxe_payload ( struct net_device *netdev ) {
	if ( netdev->state & NETDEV_OPEN )
		pxe_activate ( netdev );
	return 0;
}

static int startpxe_exec ( int argc, char **argv ) {
	return ifcommon_exec ( argc, argv, startpxe_payload,
			       "Activate PXE on" );
}

static int stoppxe_exec ( int argc __unused, char **argv __unused ) {
	pxe_deactivate();
	return 0;
}

struct command pxe_commands[] __command = {
	{
		.name = "startpxe",
		.exec = startpxe_exec,
	},
	{
		.name = "stoppxe",
		.exec = stoppxe_exec,
	},
};