]> git.ozlabs.org Git - petitboot/blob - lib/types/types.c
configure.ac: Fix unmatched brackets
[petitboot] / lib / types / types.c
1 #include <string.h>
2 #include <types/types.h>
3 #include <i18n/i18n.h>
4
5 const char *ipmi_bootdev_display_name(enum ipmi_bootdev bootdev)
6 {
7         switch (bootdev) {
8         case IPMI_BOOTDEV_NONE:
9                 return _("None");
10         case IPMI_BOOTDEV_NETWORK:
11                 return _("Network");
12         case IPMI_BOOTDEV_DISK:
13                 return _("Disk");
14         case IPMI_BOOTDEV_SAFE:
15                 return _("Safe Mode");
16         case IPMI_BOOTDEV_CDROM:
17                 return _("Optical");
18         case IPMI_BOOTDEV_SETUP:
19                 return _("Setup Mode");
20         default:
21                 return _("Unknown");
22         }
23 }
24
25 const char *device_type_display_name(enum device_type type)
26 {
27         switch (type) {
28         case DEVICE_TYPE_DISK:
29                 return _("Disk");
30         case DEVICE_TYPE_USB:
31                 return _("USB");
32         case DEVICE_TYPE_OPTICAL:
33                 return _("CD/DVD");
34         case DEVICE_TYPE_NETWORK:
35                 return _("Network");
36         case DEVICE_TYPE_ANY:
37                 return _("Any");
38         case DEVICE_TYPE_UNKNOWN:
39         default:
40                 return _("Unknown");
41         }
42 }
43
44 const char *device_type_name(enum device_type type)
45 {
46         switch (type) {
47         case DEVICE_TYPE_DISK:
48                 return "disk";
49         case DEVICE_TYPE_USB:
50                 return "usb";
51         case DEVICE_TYPE_OPTICAL:
52                 return "optical";
53         case DEVICE_TYPE_NETWORK:
54                 return "network";
55         case DEVICE_TYPE_ANY:
56                 return "any";
57         case DEVICE_TYPE_UNKNOWN:
58         default:
59                 return "unknown";
60         }
61 }
62
63 enum device_type find_device_type(const char *str)
64 {
65         if (!strncmp(str, "disk", strlen("disk")))
66                 return DEVICE_TYPE_DISK;
67         if (!strncmp(str, "usb", strlen("usb")))
68                 return DEVICE_TYPE_USB;
69         if (!strncmp(str, "optical", strlen("optical")))
70                 return DEVICE_TYPE_OPTICAL;
71         if (!strncmp(str, "network", strlen("network")))
72                 return DEVICE_TYPE_NETWORK;
73         if (!strncmp(str, "any", strlen("any")))
74                 return DEVICE_TYPE_ANY;
75
76         return DEVICE_TYPE_UNKNOWN;
77 }
78
79 bool config_autoboot_active(const struct config *config)
80 {
81         enum ipmi_bootdev bootdev = config->ipmi_bootdev;
82
83         if (!config->autoboot_enabled)
84                 return false;
85         if (bootdev == IPMI_BOOTDEV_SETUP || bootdev == IPMI_BOOTDEV_SAFE)
86                 return false;
87
88         return true;
89 }