diff options
Diffstat (limited to 'futility/file_type.h')
-rw-r--r-- | futility/file_type.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/futility/file_type.h b/futility/file_type.h index 47b40992..58e14383 100644 --- a/futility/file_type.h +++ b/futility/file_type.h @@ -8,7 +8,8 @@ /* What type of things do I know how to handle? */ enum futil_file_type { -#define FILE_TYPE(A, B, C) FILE_TYPE_ ## A, + FILE_TYPE_UNKNOWN, +#define FILE_TYPE(A, B, C, D, E, F) FILE_TYPE_ ## A, #include "file_type.inc" #undef FILE_TYPE NUM_FILE_TYPES @@ -16,16 +17,14 @@ enum futil_file_type { /* Short name for file types */ const char * const futil_file_type_name(enum futil_file_type type); + /* Description of file type */ const char * const futil_file_type_desc(enum futil_file_type type); -/* Name to enum. Returns true on success. */ -int futil_file_str_to_type(const char *str, enum futil_file_type *tptr); - /* Print the list of type names and exit with the given value. */ void print_file_types_and_exit(int retval); -/* Lookup an type by name. Return true on success */ +/* Lookup a type by name. Return true on success */ int futil_str_to_file_type(const char *str, enum futil_file_type *type); /* @@ -40,13 +39,17 @@ enum futil_file_type futil_file_type_buf(uint8_t *buf, uint32_t len); enum futil_file_err futil_file_type(const char *filename, enum futil_file_type *type); -/* Routines to identify particular file types. */ -enum futil_file_type recognize_bios_image(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_gbb(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_vblock1(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_gpt(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_vb1_key(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_vb2_key(uint8_t *buf, uint32_t len); -enum futil_file_type recognize_pem(uint8_t *buf, uint32_t len); +/* Declare the file_type functions. */ +#define R_(FOO) \ + enum futil_file_type FOO(uint8_t *buf, uint32_t len); +#define S_(FOO) \ + int FOO(const char *name, uint8_t *buf, uint32_t len, void *data); +#define NONE +#define FILE_TYPE(A, B, C, D, E, F) D E F +#include "file_type.inc" +#undef FILE_TYPE +#undef NONE +#undef S_ +#undef R_ #endif /* VBOOT_REFERENCE_FUTILITY_FILE_TYPE_H_ */ |