source: bootcd/isolinux/syslinux-6.03/gpxe/src/hci/commands/nvo_cmd.c

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#include <stdint.h>
2#include <stdlib.h>
3#include <stdio.h>
4#include <string.h>
5#include <errno.h>
6#include <getopt.h>
7#include <gpxe/settings.h>
8#include <gpxe/command.h>
9
10FILE_LICENCE ( GPL2_OR_LATER );
11
12static int show_exec ( int argc, char **argv ) {
13        char buf[256];
14        int rc;
15
16        if ( argc != 2 ) {
17                printf ( "Syntax: %s <identifier>\n", argv[0] );
18                return 1;
19        }
20
21        if ( ( rc = fetchf_named_setting ( argv[1], buf,
22                                           sizeof ( buf ) ) ) < 0 ){
23                printf ( "Could not find \"%s\": %s\n",
24                         argv[1], strerror ( rc ) );
25                return 1;
26        }
27
28        printf ( "%s = %s\n", argv[1], buf );
29        return 0;
30}
31
32static int set_exec ( int argc, char **argv ) {
33        int rc;
34
35        if ( argc != 3 ) {
36                printf ( "Syntax: %s <identifier> <value>\n", argv[0] );
37                return 1;
38        }
39
40        if ( ( rc = storef_named_setting ( argv[1], argv[2] ) ) != 0 ) {
41                printf ( "Could not set \"%s\"=\"%s\": %s\n",
42                         argv[1], argv[2], strerror ( rc ) );
43                return 1;
44        }
45
46        return 0;
47}
48
49static int clear_exec ( int argc, char **argv ) {
50        int rc;
51
52        if ( argc != 2 ) {
53                printf ( "Syntax: %s <identifier>\n", argv[0] );
54                return 1;
55        }
56
57        if ( ( rc = delete_named_setting ( argv[1] ) ) != 0 ) {
58                printf ( "Could not clear \"%s\": %s\n",
59                         argv[1], strerror ( rc ) );
60                return 1;
61        }
62       
63        return 0;
64}
65
66struct command nvo_commands[] __command = {
67        {
68                .name = "show",
69                .exec = show_exec,
70        },
71        {
72                .name = "set",
73                .exec = set_exec,
74        },     
75        {
76                .name = "clear",
77                .exec = clear_exec,
78        },
79};
Note: See TracBrowser for help on using the repository browser.