176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <string.h>
276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <stdio.h>
376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <gpxe/command.h>
476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include <gpxe/login_ui.h>
576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
676d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanFILE_LICENCE ( GPL2_OR_LATER );
776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstatic int login_exec ( int argc, char **argv ) {
976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	int rc;
1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	if ( argc > 1 ) {
1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman		printf ( "Usage: %s\n"
1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman			 "Prompt for login credentials\n", argv[0] );
1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman		return 1;
1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	}
1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	if ( ( rc = login_ui() ) != 0 ) {
1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman		printf ( "Could not set credentials: %s\n",
1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman			 strerror ( rc ) );
2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman		return 1;
2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	}
2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	return 0;
2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman}
2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman
2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstruct command login_command __command = {
2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	.name = "login",
2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman	.exec = login_exec,
2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman};
30