X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=discover%2Fplatform.h;h=f7d3d1c48324161f5ebf62fe6f3cce38c1b0a906;hb=121d6bb265e991a237e9d07cfd84eed5a3ce3d57;hp=a9ea79b622e459e9c7b82f00d0996d1d62db105c;hpb=ec2b01710f0dbc4002b677693695214cbf7c54a8;p=petitboot diff --git a/discover/platform.h b/discover/platform.h index a9ea79b..f7d3d1c 100644 --- a/discover/platform.h +++ b/discover/platform.h @@ -12,6 +12,8 @@ struct platform { void (*pre_boot)(struct platform *, const struct config *); int (*get_sysinfo)(struct platform *, struct system_info *); + bool (*restrict_clients)(struct platform *); + int (*set_password)(struct platform *, const char *hash); uint16_t dhcp_arch_id; void *platform_data; }; @@ -20,6 +22,8 @@ int platform_init(void *ctx); int platform_fini(void); const struct platform *platform_get(void); int platform_get_sysinfo(struct system_info *info); +bool platform_restrict_clients(void); +int platform_set_password(const char *hash); void platform_pre_boot(void); /* configuration interface */ @@ -29,6 +33,11 @@ void config_set_defaults(struct config *config); void config_set_autoboot(bool autoboot_enabled); void config_populate_all(struct config *config, const struct param_list *pl); +void params_update_network_values(struct param_list *pl, + const char *param_name, const struct config *config); +void params_update_bootdev_values(struct param_list *pl, + const char *param_name, const struct config *config); + #define __platform_ptrname(_n) __platform_ ## _n #define _platform_ptrname(_n) __platform_ptrname(_n)