Prototypes | |
| static void | reduce_fstat_toplist_precision (toplist_t *l) |
| static int | _atomic_write_fstat_toplist_to_file (toplist_t *l, const char *filename, UINT4 *checksum, int write_done) |
| static int | print_fstatline_to_str (FstatOutputEntry fline, char *buf, int buflen) |
| static int | fstat_toplist_qsort_function (const void *a, const void *b) |
| static int | fstat_smaller (const void *a, const void *b) |
| int | create_fstat_toplist (toplist_t **tl, UINT8 length) |
| creates a toplist with length elements, returns -1 on error (usually out of memory), else 0 More... | |
| void | free_fstat_toplist (toplist_t **l) |
| frees the space occupied by the toplist More... | |
| int | insert_into_fstat_toplist (toplist_t *tl, FstatOutputEntry elem) |
| Inserts an element in to the toplist either if there is space left or the element is larger than the smallest element in the toplist. More... | |
| void | sort_fstat_toplist (toplist_t *l) |
| sorts the toplist with an internal sorting function, used before finally writing it More... | |
| int | read_fstat_toplist_from_fp (toplist_t *l, FILE *fp, UINT4 *checksum, UINT4 maxbytes) |
| reads a (created!) toplist from an open filepointer sets the checksum if non-NULL reads maximum maxbytes, all that is there if maxbytes is 0 returns the number of bytes read, 0 if we found a DONE marker at the end, -1 if the file contained a syntax error, -2 if given an improper toplist More... | |
| int | write_fstat_toplist_item_to_fp (FstatOutputEntry fline, FILE *fp, UINT4 *checksum) |
| File IO. More... | |
| static void | reduce_fstatline_precision (void *line) |
| int | write_fstat_toplist_to_fp (toplist_t *tl, FILE *fp, UINT4 *checksum) |
| Writes the toplist to an (already open) filepointer Returns the number of written charactes sets the checksum if non-NULL Returns something <0 on error. More... | |
| int | atomic_write_fstat_toplist_to_file (toplist_t *l, const char *filename, UINT4 *checksum) |
| writes the given toplitst to a temporary file, then renames the temporary file to filename. More... | |
| int | final_write_fstat_toplist_to_file (toplist_t *l, const char *filename, UINT4 *checksum) |
| meant for the final writing of the toplist More... | |
| int | fstat_cpt_file_create (FstatCheckpointFile **cptf, CHAR *filename, UINT4 bufsize, UINT4 maxsize, toplist_t *list) |
| creates a FstatCheckpointFile More... | |
| int | fstat_cpt_file_destroy (FstatCheckpointFile **cptf) |
| destroys a FstatCheckpointFile More... | |
| int | fstat_cpt_file_open (FstatCheckpointFile *cptf) |
| opens a file for checkpointing the desired toplist More... | |
| int | fstat_cpt_file_flush (FstatCheckpointFile *cptf) |
| flushes the checkpoint file (only useful if buffered) More... | |
| int | fstat_cpt_file_info (FstatCheckpointFile *cptf, CHAR **filename, UINT4 *bytes, UINT4 *checksum) |
| returns information for checkpointing More... | |
| int | fstat_cpt_file_close (FstatCheckpointFile *cptf) |
| closes the file, reduces the precision, sorts the toplist, finally rewrites the file (sorted and compact) with end marker More... | |
| int | fstat_cpt_file_add (FstatCheckpointFile *cptf, FstatOutputEntry line) |
| adds an item to the toplist and keeps the file consistent, i.e. More... | |
| int | fstat_cpt_file_read (FstatCheckpointFile *cptf, UINT4 checksum_should, UINT4 maxbytes) |
| reads a written checkpointed toplist back into memory More... | |
| int | fstat_cpt_file_compact (FstatCheckpointFile *cptf) |
| compact a toplist file if the length has reached maxbytes More... | |
| int | write_hs_checkpoint (const char *filename, toplist_t *tl, UINT4 counter, BOOLEAN do_sync) |
| new, simpler checkpointing for HierarchicalSearch More... | |
| int | read_hs_checkpoint (const char *filename, toplist_t *tl, UINT4 *counter) |
| tries to read a checkpoint More... | |
| int | write_hs_oputput (const char *filename, toplist_t *tl) |
| write the final output file: More... | |
Go to the source code of this file.
Macros | |
| #define | min(a, b) ((a)<(b)?(a):(b)) |
| #define | SYNC_FAIL_LIMIT 5 |
| #define | TEMP_EXT ".tmp" |
| #define | LOGIOERROR(mess, filename) |
| log an I/O error, i.e. More... | |
| #define | TMP_EXT ".tmp" |
Definition at line 60 of file FstatToplist.c.
| #define SYNC_FAIL_LIMIT 5 |
Definition at line 64 of file FstatToplist.c.
| #define TEMP_EXT ".tmp" |
| #define LOGIOERROR | ( | mess, | |
| filename | |||
| ) |
log an I/O error, i.e.
source code line no., ferror, errno and strerror, and doserrno on Windows, too
Definition at line 760 of file FstatToplist.c.
| #define TMP_EXT ".tmp" |
|
static |
Definition at line 343 of file FstatToplist.c.
|
static |
Definition at line 386 of file FstatToplist.c.
|
static |
Definition at line 282 of file FstatToplist.c.
Definition at line 73 of file FstatToplist.c.
Definition at line 97 of file FstatToplist.c.
creates a toplist with length elements, returns -1 on error (usually out of memory), else 0
Definition at line 111 of file FstatToplist.c.
| void free_fstat_toplist | ( | toplist_t ** | l | ) |
frees the space occupied by the toplist
Definition at line 118 of file FstatToplist.c.
| int insert_into_fstat_toplist | ( | toplist_t * | list, |
| FstatOutputEntry | line | ||
| ) |
Inserts an element in to the toplist either if there is space left or the element is larger than the smallest element in the toplist.
In the latter case, remove the smallest element from the toplist Returns 1 if the element was actually inserted, 0 if not.
Definition at line 129 of file FstatToplist.c.
| void sort_fstat_toplist | ( | toplist_t * | l | ) |
sorts the toplist with an internal sorting function, used before finally writing it
Definition at line 140 of file FstatToplist.c.
reads a (created!) toplist from an open filepointer sets the checksum if non-NULL reads maximum maxbytes, all that is there if maxbytes is 0 returns the number of bytes read, 0 if we found a DONE marker at the end, -1 if the file contained a syntax error, -2 if given an improper toplist
Definition at line 151 of file FstatToplist.c.
| int write_fstat_toplist_item_to_fp | ( | FstatOutputEntry | line, |
| FILE * | fp, | ||
| UINT4 * | checksum | ||
| ) |
File IO.
writes an FstatOutputEntry line to an open filepointer. Returns the number of chars written, -1 if in error Updates checksum if given (i.e. not NULL)
Definition at line 303 of file FstatToplist.c.
|
static |
Definition at line 327 of file FstatToplist.c.
Writes the toplist to an (already open) filepointer Returns the number of written charactes sets the checksum if non-NULL Returns something <0 on error.
Definition at line 352 of file FstatToplist.c.
| int atomic_write_fstat_toplist_to_file | ( | toplist_t * | list, |
| const char * | filename, | ||
| UINT4 * | checksum | ||
| ) |
writes the given toplitst to a temporary file, then renames the temporary file to filename.
The name of the temporary file is derived from the filename by appending ".tmp". Returns the number of chars written or -1 if the temp file could not be opened.
Definition at line 378 of file FstatToplist.c.
meant for the final writing of the toplist
Definition at line 456 of file FstatToplist.c.
| int fstat_cpt_file_create | ( | FstatCheckpointFile ** | cptf, |
| CHAR * | filename, | ||
| UINT4 | bufsize, | ||
| UINT4 | maxsize, | ||
| toplist_t * | list | ||
| ) |
creates a FstatCheckpointFile
Definition at line 467 of file FstatToplist.c.
| int fstat_cpt_file_destroy | ( | FstatCheckpointFile ** | cptf | ) |
destroys a FstatCheckpointFile
Definition at line 525 of file FstatToplist.c.
| int fstat_cpt_file_open | ( | FstatCheckpointFile * | cptf | ) |
opens a file for checkpointing the desired toplist
Definition at line 545 of file FstatToplist.c.
| int fstat_cpt_file_flush | ( | FstatCheckpointFile * | cptf | ) |
flushes the checkpoint file (only useful if buffered)
Definition at line 574 of file FstatToplist.c.
| int fstat_cpt_file_info | ( | FstatCheckpointFile * | cptf, |
| CHAR ** | filename, | ||
| UINT4 * | bytes, | ||
| UINT4 * | checksum | ||
| ) |
returns information for checkpointing
Definition at line 590 of file FstatToplist.c.
| int fstat_cpt_file_close | ( | FstatCheckpointFile * | cptf | ) |
closes the file, reduces the precision, sorts the toplist, finally rewrites the file (sorted and compact) with end marker
Definition at line 611 of file FstatToplist.c.
| int fstat_cpt_file_add | ( | FstatCheckpointFile * | cptf, |
| FstatOutputEntry | line | ||
| ) |
adds an item to the toplist and keeps the file consistent, i.e.
adds the entry to the file if it was really inserted and compacts the file if necessary
Definition at line 637 of file FstatToplist.c.
| int fstat_cpt_file_read | ( | FstatCheckpointFile * | cptf, |
| UINT4 | checksum_should, | ||
| UINT4 | maxbytes | ||
| ) |
reads a written checkpointed toplist back into memory
Definition at line 668 of file FstatToplist.c.
| int fstat_cpt_file_compact | ( | FstatCheckpointFile * | cptf | ) |
compact a toplist file if the length has reached maxbytes
Definition at line 721 of file FstatToplist.c.
new, simpler checkpointing for HierarchicalSearch
writes a checkpoint:
Definition at line 766 of file FstatToplist.c.
tries to read a checkpoint
Definition at line 878 of file FstatToplist.c.