X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=lib%2Ftypes%2Ftypes.h;h=d2a2918c7b3fe2cd077219ab6319b87c5d1dde01;hb=350ef03d554a4c8f67e22bdf89fa888554f0b75e;hp=9bb800ca4d125daa5d57169c8256e3d898eb05ea;hpb=bc4114e2235163bd88456c25cc0a908d86151f93;p=petitboot diff --git a/lib/types/types.h b/lib/types/types.h index 9bb800c..d2a2918 100644 --- a/lib/types/types.h +++ b/lib/types/types.h @@ -66,12 +66,57 @@ struct interface_info { char *name; }; +struct blockdev_info { + char *name; + char *uuid; + char *mountpoint; +}; + struct system_info { char *type; char *identifier; struct interface_info **interfaces; unsigned int n_interfaces; + struct blockdev_info **blockdevs; + unsigned int n_blockdevs; +}; + +#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 */