1 /* objres.h 2 * =========================================================================== 3 * 4 * PUBLIC DOMAIN NOTICE 5 * National Center for Biotechnology Information 6 * 7 * This software/database is a "United States Government Work" under the 8 * terms of the United States Copyright Act. It was written as part of 9 * the author's official duties as a United States Government employee and 10 * thus cannot be copyrighted. This software/database is freely available 11 * to the public for use. The National Library of Medicine and the U.S. 12 * Government have not placed any restriction on its use or reproduction. 13 * 14 * Although all reasonable efforts have been taken to ensure the accuracy 15 * and reliability of the software and data, the NLM and the U.S. 16 * Government do not and cannot warrant the performance or results that 17 * may be obtained by using this software or data. The NLM and the U.S. 18 * Government disclaim all warranties, express or implied, including 19 * warranties of performance, merchantability or fitness for any particular 20 * purpose. 21 * 22 * Please cite the author in any work or product based on this material. 23 * 24 * =========================================================================== 25 * 26 * File Name: objres.h 27 * 28 * Author: James Ostell 29 * 30 * Version Creation Date: 4/1/91 31 * 32 * $Revision: 6.3 $ 33 * 34 * File Description: Object manager interface for module NCBI-Seqres 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * Date Name Description of modification 39 * ------- ---------- ----------------------------------------------------- 40 * 41 * 42 * $Log: objres.h,v $ 43 * Revision 6.3 1999/09/27 17:48:38 kans 44 * using GatherIndex structure 45 * 46 * Revision 6.2 1999/09/24 23:09:23 kans 47 * adds EXTRA_OBJMGR_FIELDS to several objects 48 * 49 * Revision 6.1 1998/12/09 20:37:53 kans 50 * changed compl to compr to avoid new c++ symbol collision 51 * 52 * Revision 6.0 1997/08/25 18:50:41 madden 53 * Revision changed to 6.0 54 * 55 * Revision 4.1 1997/06/19 18:41:54 vakatov 56 * [WIN32,MSVC++] Adopted for the "NCBIOBJ.LIB" DLL'ization 57 * 58 * Revision 4.0 1995/07/26 13:48:06 ostell 59 * force revision to 4.0 60 * 61 * Revision 3.2 1995/05/15 21:22:00 ostell 62 * added Log line 63 * 64 * 65 * 66 * ========================================================================== 67 */ 68 69 #ifndef _NCBI_Seqres_ 70 #define _NCBI_Seqres_ 71 72 #ifndef _ASNTOOL_ 73 #include <asn.h> 74 #endif 75 #ifndef _NCBI_Seqloc_ 76 #include <objloc.h> 77 #endif 78 79 #undef NLM_EXTERN 80 #ifdef NLM_IMPORT 81 #define NLM_EXTERN NLM_IMPORT 82 #else 83 #define NLM_EXTERN extern 84 #endif 85 86 #ifdef __cplusplus 87 extern "C" { 88 #endif 89 90 /***************************************************************************** 91 * 92 * loader 93 * 94 *****************************************************************************/ 95 NLM_EXTERN Boolean LIBCALL SeqResAsnLoad PROTO((void)); 96 97 /***************************************************************************** 98 * 99 * internal structures for NCBI-SeqRes objects 100 * 101 *****************************************************************************/ 102 103 /***************************************************************************** 104 * 105 * SeqGraph 106 * 107 *****************************************************************************/ 108 typedef struct seqgraph { 109 CharPtr title, 110 comment; 111 SeqLocPtr loc; /* SeqLoc */ 112 CharPtr titlex, 113 titley; 114 Uint1 flags[3]; /* [0]-comp used?,[1]-a,b used?, [2] graphtype */ 115 Int4 compr; /* 1=real, 2=int, 3=byte */ 116 FloatHi a, b; 117 Int4 numval; 118 DataVal max, 119 min, 120 axis; 121 Pointer values; /* real=array of FloatHi, int=array of Int4, */ 122 struct seqgraph PNTR next; /* byte = ByteStore */ 123 GatherIndex idx; /* internal gather/objmgr tracking fields */ 124 } SeqGraph, PNTR SeqGraphPtr; 125 126 NLM_EXTERN SeqGraphPtr LIBCALL SeqGraphNew PROTO((void)); 127 NLM_EXTERN Boolean LIBCALL SeqGraphAsnWrite PROTO((SeqGraphPtr sgp, AsnIoPtr aip, AsnTypePtr atp)); 128 NLM_EXTERN SeqGraphPtr LIBCALL SeqGraphAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp)); 129 NLM_EXTERN SeqGraphPtr LIBCALL SeqGraphFree PROTO((SeqGraphPtr sgp)); 130 NLM_EXTERN Int2 LIBCALL SeqGraphLabel PROTO((SeqGraphPtr sgp, CharPtr buffer, Int2 buflen, Uint1 content)); 131 132 /***************************************************************************** 133 * 134 * SeqGraphSet 135 * 136 *****************************************************************************/ 137 NLM_EXTERN Boolean LIBCALL SeqGraphSetAsnWrite PROTO((SeqGraphPtr sgp, AsnIoPtr aip, AsnTypePtr set, AsnTypePtr element)); 138 NLM_EXTERN SeqGraphPtr LIBCALL SeqGraphSetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr set, AsnTypePtr element)); 139 140 #ifdef __cplusplus 141 } 142 #endif 143 144 #undef NLM_EXTERN 145 #ifdef NLM_EXPORT 146 #define NLM_EXTERN NLM_EXPORT 147 #else 148 #define NLM_EXTERN 149 #endif 150 151 #endif 152