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 <errno.h>
|
||||
#include <getopt.h>
|
||||
#include <ipxe/uuid.h>
|
||||
#include <ipxe/netdevice.h>
|
||||
#include <ipxe/menu.h>
|
||||
#include <ipxe/settings.h>
|
||||
|
@ -124,6 +125,28 @@ int parse_timeout ( char *text, unsigned long *value ) {
|
|||
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
|
||||
*
|
||||
|
|
|
@ -11,6 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <ipxe/uuid.h>
|
||||
#include <ipxe/settings.h>
|
||||
|
||||
struct net_device;
|
||||
|
@ -128,6 +129,7 @@ struct named_setting {
|
|||
extern int parse_string ( char *text, char **value );
|
||||
extern int parse_integer ( char *text, unsigned int *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_configurator ( char *text,
|
||||
|
|
Loading…
Reference in New Issue