00001 /***************************************************************************** 00002 * Copyright (C) 2000 Jim Kent. This source code may be freely used * 00003 * for personal, academic, and non-profit purposes. Commercial use * 00004 * permitted only by explicit agreement with Jim Kent (jim_kent@pacbell.net) * 00005 *****************************************************************************/ 00006 00007 boolean snofMakeIndex(FILE *inFile, char *outName, 00008 boolean (*nextRecord)(FILE *inFile, void *data, char **rName, int *rNameLen), 00009 void *data); 00010 /* Make an index file - name/offset pairs that are sorted by name. 00011 * Inputs: 00012 * inFile - open file that you're indexing with header read and verified. 00013 * outName - name of index file to create 00014 * nextRecord - function that reads next record in file you're indexing 00015 * and returns the name of that record. Returns FALSE at 00016 * end of file. Can set *rNameLen to zero you want indexer 00017 * to ignore the record. 00018 * data - void pointer passed through to nextRecord. 00019 * 00020 * Writes diagnostic output to stderr and returns FALSE if there's a problem. 00021 */ 00022 00023 boolean snofDupeOkIndex(FILE *inFile, char *outName, 00024 boolean (*nextRecord)(FILE *inFile, void *data, char **rName, int *rNameLen), 00025 void *data, boolean dupeOk); 00026 /* Make an index file, as in snofMakeIndex, but optionally allow duplicates 00027 * without complaining. */ 00028 00029 void snofSignature(char **rSig, int *rSigSize); 00030 /* The get signature that should be at start of a snof indexed 00031 * file. */ 00032 00033 boolean isSnofSig(void *sig); 00034 /* Return true if sig is right. */ 00035
1.5.2