X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Ftypes%2Ftypes.h;h=d73f1618e4631ff04738bfeef253d6a305e4c652;hp=bb4b23ca5f601d61e083041580de45a53880eb63;hb=9239fd1ec121fc6c6eda49ef5c2dab081a026785;hpb=7b793150f96a6fe6033ac1390a663b1b62be2df6 diff --git a/lib/types/types.h b/lib/types/types.h index bb4b23c..d73f161 100644 --- a/lib/types/types.h +++ b/lib/types/types.h @@ -2,6 +2,7 @@ #define _TYPES_H #include +#include #include enum device_type { @@ -59,4 +60,55 @@ struct boot_status { int progress; }; +struct interface_info { + unsigned int hwaddr_size; + uint8_t *hwaddr; + char *name; +}; + +struct system_info { + char *type; + char *identifier; + struct interface_info **interfaces; + unsigned int n_interfaces; +}; + +#define HWADDR_SIZE 6 + +struct interface_config { + uint8_t hwaddr[HWADDR_SIZE]; + bool ignore; + enum { + CONFIG_METHOD_DHCP, + CONFIG_METHOD_STATIC, + } method; + union { + struct { + } dhcp_config; + struct { + char *address; + char *gateway; + } static_config; + }; +}; + +struct network_config { + struct interface_config **interfaces; + unsigned int n_interfaces; + const char **dns_servers; + unsigned int n_dns_servers; +}; + +struct boot_priority { + enum device_type type; +}; + +struct config { + bool autoboot_enabled; + unsigned int autoboot_timeout_sec; + struct network_config network; + struct boot_priority *boot_priorities; + unsigned int n_boot_priorities; +}; + #endif /* _TYPES_H */