1 /* netentr.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: netentr.h 27 * 28 * Author: Ostell, Kans, Epstein 29 * 30 * Version Creation Date: 10/15/91 31 * 32 * $Revision: 6.2 $ 33 * 34 * File Description: 35 * entrez index access library for Entrez network version 36 * 37 * Modifications: 38 * -------------------------------------------------------------------------- 39 * Date Name Description of modification 40 * ------- ---------- ----------------------------------------------------- 41 * 8-16-94 Brylawski Added declarations for on-the-fly neighboring, 42 * medline explosion, and mesh tree browsing. 43 * 44 * 11-20-94 Brylawski Modified NetEntDoNeighborText to pass user preferences. 45 * 46 * ========================================================================== 47 * $Log: netentr.h,v $ 48 * Revision 6.2 2000/07/08 20:44:03 vakatov 49 * Get all "#include" out of the 'extern "C" { }' scope; other cleanup... 50 * 51 * Revision 6.1 1998/02/21 22:34:38 kans 52 * NetEntHierarchyGet passes type and field 53 * 54 * Revision 6.0 1997/08/25 18:34:57 madden 55 * Revision changed to 6.0 56 * 57 * Revision 5.2 1997/07/29 21:24:13 vakatov 58 * [WIN32,DLL] DLL'zation of "netentr.lib" 59 * 60 * Revision 5.1 1996/08/14 19:47:49 epstein 61 * add annot get by feat ids, and also add date filtering support 62 * 63 * Revision 5.0 1996/05/28 14:10:21 ostell 64 * Set to revision 5.0 65 * 66 * Revision 4.5 1996/03/30 15:10:43 ostell 67 * changed LIBCALL to CDECL in NetEntrezBiostructAnnotSetGet 68 * 69 * Revision 4.4 1996/03/29 18:55:49 epstein 70 * add support for structure alignments 71 * 72 * Revision 4.3 1995/10/02 15:29:05 epstein 73 * support range-checking 74 * 75 * Revision 4.2 1995/08/22 19:35:27 epstein 76 * add clustering support 77 * 78 * Revision 4.1 1995/08/11 20:28:03 epstein 79 * add max-models support for biostrucs 80 * 81 * Revision 4.0 1995/07/26 13:54:59 ostell 82 * force revision to 4.0 83 * 84 * Revision 1.18 1995/06/29 16:36:46 epstein 85 * add biostruc-complexity 86 */ 87 88 #ifndef _NETENTREZ_ 89 #define _NETENTREZ_ 90 91 #ifndef _ENTREZ_ 92 #include <accentr.h> 93 #endif 94 95 #undef NLM_EXTERN 96 #ifdef NLM_IMPORT 97 #define NLM_EXTERN NLM_IMPORT 98 #else 99 #define NLM_EXTERN extern 100 #endif 101 102 #ifdef __cplusplus 103 extern "C" { 104 #endif 105 106 #define TERM_MAX 80 107 108 struct termresp { 109 CharPtr term; 110 Int4 special_count; 111 Int4 total_count; 112 }; 113 114 typedef struct { 115 Int4 num_terms; 116 Int4 first_page; 117 Int4 num_pages_read; 118 struct termresp PNTR termresp; 119 } TermResp, PNTR TermRespPtr; 120 121 typedef struct { 122 DocType type; 123 DocField field; 124 CharPtr term; 125 CharPtr highRange; 126 } TermData, PNTR TermDataPtr; 127 128 129 /**** Initialize and close session *********************/ 130 131 NLM_EXTERN Boolean CDECL NetEntrezInit PROTO((CharPtr appl_id, Boolean no_warnings)); 132 133 NLM_EXTERN void CDECL NetEntrezFini PROTO((void)); 134 135 NLM_EXTERN EntrezInfoPtr NetEntrezGetInfo PROTO((void)); 136 NLM_EXTERN CharPtr NetEntrezDetailedInfo PROTO((void)); 137 138 /**** Get Types and Terms ******************************/ 139 /**** prototypes are in netlib.h *********************/ 140 141 /**** Get Links and Neighbors **************************/ 142 143 NLM_EXTERN Int4 NetEntGetMaxLinks PROTO((void)); 144 145 NLM_EXTERN LinkSetPtr CDECL NetUidLinks PROTO((DocType type, DocUid uid, DocType link_to_type)); 146 NLM_EXTERN Int2 CDECL NetLinkUidList PROTO((LinkSetPtr PNTR result, DocType type, 147 DocType link_to_type, Int2 numuid, DocUidPtr uids, Boolean mark_missing)); 148 149 /**** Get Summaries ************************************/ 150 151 NLM_EXTERN Int2 CDECL NetDocSumListGet PROTO((DocSumPtr PNTR result, Int2 numuid, DocType type, DocUidPtr uids, Int2 defer_count)); 152 NLM_EXTERN DocSumPtr CDECL NetDocSum PROTO((DocType type, DocUid uid)); 153 154 /**** Get Term List ************************************/ 155 156 NLM_EXTERN Int2 CDECL NetTermListByPage PROTO((DocType type, DocField field, Int2 page, Int2 numpage, TermListProc proc)); 157 NLM_EXTERN Int2 CDECL NetTermListByTerm PROTO((DocType type, DocField field, CharPtr term, Int2 numterms, TermListProc proc, Int2Ptr first_page)); 158 159 NLM_EXTERN Boolean CDECL NetEntrezFindTerm PROTO((DocType type, DocField field, CharPtr term, Int4Ptr spcl, Int4Ptr totl)); 160 161 /**** Creates a term node from the uid parameter ********/ 162 NLM_EXTERN void CDECL NetEntrezCreateNamedUidList PROTO((CharPtr term, DocType type, DocField field, Int4 num, DocUidPtr uids)); 163 NLM_EXTERN void CDECL NetEntrezCreateNamedUidListX PROTO((CharPtr term, DocType type, DocField field, ByteStorePtr bsp)); 164 165 166 /**** Look up terms with Boolean operations ************/ 167 168 NLM_EXTERN ValNodePtr CDECL NetEntTLNew PROTO((DocType type)); 169 NLM_EXTERN ValNodePtr CDECL NetEntTLAddTerm PROTO((ValNodePtr elst, CharPtr term, DocType type, DocField field, Boolean special, CharPtr highRange)); 170 NLM_EXTERN ValNodePtr CDECL NetEntTLFree PROTO((ValNodePtr elst)); 171 NLM_EXTERN LinkSetPtr CDECL NetEntTLEval PROTO((ValNodePtr elst)); 172 NLM_EXTERN ByteStorePtr CDECL NetEntTLEvalX PROTO((ValNodePtr elst)); 173 NLM_EXTERN Int4 CDECL NetEntTLEvalCount PROTO((ValNodePtr elst)); 174 175 /**** Get the Data **************************************/ 176 177 NLM_EXTERN Int2 CDECL NetEntMedlineEntryListGet PROTO((MedlineEntryPtr PNTR result, Int2 numuid, DocUidPtr uids, Boolean mark_missing)); 178 179 NLM_EXTERN Int2 CDECL NetEntSeqEntryListGet PROTO((SeqEntryPtr PNTR result, Int2 numuid, 180 DocUidPtr uids, Int2 retcode, Boolean mark_missing)); 181 182 NLM_EXTERN Int2 CDECL NetEntrezBiostrucListGet PROTO((BiostrucPtr PNTR result, Int4 mdlLvl, Int4 maxModels, Int2 numuid, DocUidPtr uids, Boolean mark_missing)); 183 NLM_EXTERN BiostrucAnnotSetPtr CDECL NetEntrezBiostrucAnnotSetGet PROTO((DocUid uid)); 184 NLM_EXTERN LinkSetPtr CDECL NetEntrezBiostrucFeatIds PROTO((DocUid mmdbid, Int2 feature_type, Int4 feature_set_id)); 185 NLM_EXTERN BiostrucAnnotSetPtr CDECL NetEntrezBiostrucAnnotSetGetByFid PROTO((DocUid mmdbid, Int4 feature_id, Int4 feature_set_id)); 186 187 188 189 /**** Get a SeqId for a GI ***************************/ 190 191 NLM_EXTERN SeqIdPtr NetSeqIdForGI PROTO((Int4 gi)); 192 NLM_EXTERN Int4 NetEntrezFindSeqId PROTO((SeqIdPtr sip)); 193 NLM_EXTERN EntrezHierarchyPtr NetEntMeshHierarchyGet PROTO((CharPtr term)); 194 NLM_EXTERN EntrezHierarchyPtr NetEntHierarchyGet PROTO((CharPtr term, DocType type, DocField field)); 195 196 /**** Neighbor some text on-the-fly ! ************/ 197 NLM_EXTERN LinkSetPtr CDECL NetEntDoNeighborText PROTO((EntrezNeighborTextPtr entp)); 198 NLM_EXTERN Boolean CDECL NetEntCanNeighborText PROTO((void)); 199 200 /**** BLAST a sequence on-the-fly ! ************/ 201 NLM_EXTERN Boolean CDECL NetEntCanBlast PROTO((void)); 202 NLM_EXTERN LinkSetPtr LIBCALL NetEntBlastBioseq PROTO((BioseqPtr bsp, DocType db, CharPtr program, CharPtr database, CharPtr options, Boolean usemonitor)); 203 204 205 206 NLM_EXTERN Boolean CDECL NetEntExpandedMedlineFeatures PROTO((void)); 207 NLM_EXTERN Int4 LIBCALL NetEntClusterAnalysis PROTO((DocUidPtr uids, Int4 numuids, DocField fld, Int4 minCluster, Int4 maxCluster, Int4 maxTerms, CharPtr *terms, Int4Ptr termTotals)); 208 209 #ifdef __cplusplus 210 } 211 #endif 212 213 #undef NLM_EXTERN 214 #ifdef NLM_EXPORT 215 #define NLM_EXTERN NLM_EXPORT 216 #else 217 #define NLM_EXTERN 218 #endif 219 220 221 /* # of retries to get a server */ 222 #define ENT_SERV_RETRIES 2 223 224 225 #ifndef _NETROMLIB_ 226 #include <netlib.h> 227 #endif 228 229 #endif 230 231 232 233 234 235