1 /*=========================================================================== 2 * 3 * PUBLIC DOMAIN NOTICE 4 * National Center for Biotechnology Information 5 * 6 * This software/database is a "United States Government Work" under the 7 * terms of the United States Copyright Act. It was readten as part of 8 * the author's official duties as a United States Government employee and 9 * thus cannot be copyrighted. This software/database is freely available 10 * to the public for use. The National Library of Medicine and the U.S. 11 * Government have not placed any restriction on its use or reproduction. 12 * 13 * Although all reasonable efforts have been taken to ensure the accuracy 14 * and reliability of the software and data, the NLM and the U.S. 15 * Government do not and cannot warrant the performance or results that 16 * may be obtained by using this software or data. The NLM and the U.S. 17 * Government disclaim all warranties, express or implied, including 18 * warranties of performance, merchantability or fitness for any particular 19 * purpose. 20 * 21 * Please cite the author in any work or product based on this material. 22 * 23 * =========================================================================== 24 * 25 */ 26 27 #ifdef __cplusplus 28 extern "C" { 29 #endif 30 31 struct VDBManager; 32 struct VTable; 33 34 typedef struct TableReaderWGS TableReaderWGS; 35 36 rc_t TableReaderWGS_MakeTable(const TableReaderWGS ** cself, 37 const struct VDBManager* vmgr, 38 const struct VTable* table, 39 uint32_t options, size_t cache); 40 41 void TableReaderWGS_Whack(const TableReaderWGS* cself); 42 43 rc_t TableReaderWGS_SeqLength(const TableReaderWGS* cself, int64_t row, INSDC_coord_len* len); 44 45 rc_t TableReaderWGS_Circular(const TableReaderWGS* cself, int64_t row, bool* circular); 46 47 /* *md5 is NULL if not present */ 48 rc_t CC TableReaderWGS_MD5(const TableReaderWGS* cself, int64_t row, const uint8_t** md5); 49 50 /* read a chunk of refseq into buffer from offset up to offset + len 51 if offset is beyond non-circular refseq size error is returned 52 */ 53 rc_t CC TableReaderWGS_Read(const TableReaderWGS* cself, int64_t row, 54 INSDC_coord_zero offset, INSDC_coord_len len, 55 uint8_t* buffer, INSDC_coord_len* written); 56 #ifdef __cplusplus 57 } 58 #endif 59