summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/hci/commands/pxe_cmd.c
blob: 76c49bb9ce032412ed107efe0a3b9a8ad2cccafa (plain) (blame)
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_is_open ( netdev ) )
		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,
	},
};