mirror of https://github.com/ipxe/ipxe.git
[parseopt] Add parse_uuid() for parsing UUID command-line arguments
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/1165/head
parent
0eb8fbd0bf
commit
7cd73884e5
|
@ -31,6 +31,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
#include <ipxe/uuid.h>
|
||||||
#include <ipxe/netdevice.h>
|
#include <ipxe/netdevice.h>
|
||||||
#include <ipxe/menu.h>
|
#include <ipxe/menu.h>
|
||||||
#include <ipxe/settings.h>
|
#include <ipxe/settings.h>
|
||||||
|
@ -124,6 +125,28 @@ int parse_timeout ( char *text, unsigned long *value ) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse UUID
|
||||||
|
*
|
||||||
|
* @v text Text
|
||||||
|
* @ret value UUID value
|
||||||
|
* @ret rc Return status code
|
||||||
|
*/
|
||||||
|
int parse_uuid ( char *text, union uuid *value ) {
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
/* Sanity check */
|
||||||
|
assert ( text != NULL );
|
||||||
|
|
||||||
|
/* Parse UUID */
|
||||||
|
if ( ( rc = uuid_aton ( text, value ) ) != 0 ) {
|
||||||
|
printf ( "\"%s\": invalid UUID\n", text );
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse network device name
|
* Parse network device name
|
||||||
*
|
*
|
||||||
|
|
|
@ -11,6 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <ipxe/uuid.h>
|
||||||
#include <ipxe/settings.h>
|
#include <ipxe/settings.h>
|
||||||
|
|
||||||
struct net_device;
|
struct net_device;
|
||||||
|
@ -128,6 +129,7 @@ struct named_setting {
|
||||||
extern int parse_string ( char *text, char **value );
|
extern int parse_string ( char *text, char **value );
|
||||||
extern int parse_integer ( char *text, unsigned int *value );
|
extern int parse_integer ( char *text, unsigned int *value );
|
||||||
extern int parse_timeout ( char *text, unsigned long *value );
|
extern int parse_timeout ( char *text, unsigned long *value );
|
||||||
|
extern int parse_uuid ( char *text, union uuid *value );
|
||||||
extern int parse_netdev ( char *text, struct net_device **netdev );
|
extern int parse_netdev ( char *text, struct net_device **netdev );
|
||||||
extern int
|
extern int
|
||||||
parse_netdev_configurator ( char *text,
|
parse_netdev_configurator ( char *text,
|
||||||
|
|
Loading…
Reference in New Issue