static struct platform *platform;
static struct config *config;
+static const char *device_type_name(enum device_type type)
+{
+ switch (type) {
+ case DEVICE_TYPE_DISK:
+ return "disk";
+ case DEVICE_TYPE_OPTICAL:
+ return "optical";
+ case DEVICE_TYPE_NETWORK:
+ return "network";
+ case DEVICE_TYPE_ANY:
+ return "any";
+ case DEVICE_TYPE_UNKNOWN:
+ default:
+ return "unknown";
+ }
+}
+
static void dump_config(struct config *config)
{
unsigned int i;
if (config->network.n_interfaces || config->network.n_dns_servers)
pb_log(" network configuration:\n");
+ if (config->safe_mode)
+ pb_log(" safe mode: active\n");
+
for (i = 0; i < config->network.n_interfaces; i++) {
struct interface_config *ifconf =
config->network.interfaces[i];
}
for (i = 0; i < config->network.n_dns_servers; i++)
pb_log(" dns server %s\n", config->network.dns_servers[i]);
+
+ if (config->n_boot_priorities)
+ pb_log(" boot priority order:\n");
+
+ for (i = 0; i < config->n_boot_priorities; i++) {
+ struct boot_priority *prio = &config->boot_priorities[i];
+ pb_log(" %10s: %d\n", device_type_name(prio->type),
+ prio->priority);
+ }
}
void config_set_defaults(struct config *config)
config->network.n_interfaces = 0;
config->network.dns_servers = NULL;
config->network.n_dns_servers = 0;
+ config->boot_device = NULL;
config->n_boot_priorities = 2;
config->boot_priorities = talloc_array(config, struct boot_priority,
config->n_boot_priorities);
config->boot_priorities[0].type = DEVICE_TYPE_NETWORK;
+ config->boot_priorities[0].priority = 2;
config->boot_priorities[1].type = DEVICE_TYPE_DISK;
-
+ config->boot_priorities[1].priority = 1;
}
int platform_init(void *ctx)
return 0;
}
+const struct platform *platform_get(void)
+{
+ return platform;
+}
+
int config_set(struct config *newconfig)
{
int rc;