53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
/* hash_print.h - functions to print hash sums */
|
|
#ifndef HASH_PRINT_H
|
|
#define HASH_PRINT_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* An element of a list specifying an output format.
|
|
*/
|
|
typedef struct print_item {
|
|
struct print_item *next;
|
|
unsigned flags;
|
|
unsigned hash_id;
|
|
unsigned width;
|
|
const char *data;
|
|
} print_item;
|
|
|
|
/**
|
|
* Name and other info of a hash function
|
|
*/
|
|
typedef struct print_hash_info
|
|
{
|
|
char short_name[16];
|
|
char short_char;
|
|
const char *name;
|
|
} print_hash_info;
|
|
|
|
extern print_hash_info hash_info_table[];
|
|
|
|
struct file_info;
|
|
struct strbuf_t;
|
|
|
|
/* initialization of static data */
|
|
void init_hash_info_table(void);
|
|
void init_printf_format(struct strbuf_t* out);
|
|
|
|
/* formatted output of hash sums and file information */
|
|
print_item* parse_print_string(const char* format, unsigned *sum_mask);
|
|
void print_line(FILE* out, print_item* list, struct file_info *info);
|
|
void free_print_list(print_item* list);
|
|
|
|
/* SFV format functions */
|
|
void print_sfv_banner(FILE* out);
|
|
int print_sfv_header_line(FILE* out, file_t* file, const char* printpath);
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* HASH_PRINT_H */
|