1 /*  objneten.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:  objneten.h
27 *
28 * Author:  Epstein
29 *
30 * Version Creation Date: 6/3/92
31 *
32 * $Revision: 6.0 $
33 *
34 * File Description:  Object loader interface for module NCBI-Entrez
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date	   Name        Description of modification
39 * -------  ----------  -----------------------------------------------------
40 * 8-16-94  Brylawski   Added declarations for EntrezNeighborText and
41 *                      EntrezHierarchy loaders and structures.
42 *
43 * 11-20-94 Brylawski   Moved the EntrezNeighborText structure to accentr.h
44 *                      to permit its use in chosen.c and netentr.c .
45 * ==========================================================================
46 *
47 *
48 * RCS Modification History:
49 * $Log: objneten.h,v $
50 * Revision 6.0  1997/08/25 18:35:13  madden
51 * Revision changed to 6.0
52 *
53 * Revision 5.2  1997/07/29 21:24:27  vakatov
54 * [WIN32,DLL]  DLL'zation of "netentr.lib"
55 *
56 * Revision 5.1  1996/08/14 19:48:21  epstein
57 * add annot get by feat ids, and also add date filtering support
58 *
59  * Revision 5.0  1996/05/28  14:10:21  ostell
60  * Set to revision 5.0
61  *
62  * Revision 4.2  1995/08/22  19:35:04  epstein
63  * add clustering support
64  *
65  * Revision 4.1  1995/08/08  15:03:11  epstein
66  * fix NetEntAsnLoad prototype per J. Zhang
67  *
68  * Revision 4.0  1995/07/26  13:54:59  ostell
69  * force revision to 4.0
70  *
71  * Revision 1.14  1995/07/11  12:30:30  epstein
72  * change CDECLs to LIBCALLs
73  *
74  * Revision 1.13  1995/07/10  19:39:04  epstein
75  * add docsumX
76  *
77  * Revision 1.12  1995/06/23  13:21:16  kans
78  * include <accentr.h> to pull in Biostruc_supported symbol
79  *
80  * Revision 1.11  1995/05/17  17:53:35  epstein
81  * add RCS log revision history
82  *
83 */
84 
85 #ifndef _NCBI_NetEntrez_
86 #define _NCBI_NetEntrez_
87 
88 #ifndef _ASNTOOL_
89 #include <asn.h>
90 #endif
91 
92 /* accentr.h is included to define Biostruc_supported */
93 #ifndef _ACCENTR_
94 #include <accentr.h>
95 #endif
96 
97 #undef NLM_EXTERN
98 #ifdef NLM_IMPORT
99 #define NLM_EXTERN NLM_IMPORT
100 #else
101 #define NLM_EXTERN extern
102 #endif
103 
104 #ifdef __cplusplus
105 extern "C" {
106 #endif
107 
108 /*****************************************************************************
109 *
110 *   loader
111 *
112 *****************************************************************************/
113 NLM_EXTERN Boolean LIBCALL NetEntAsnLoad PROTO((void));
114 
115 /*****************************************************************************
116 *
117 *   internal structures for NCBI-Entrez objects
118 *
119 *****************************************************************************/
120 
121 /*****************************************************************************
122 *
123 *   Entrez-ids
124 *
125 *****************************************************************************/
126 
127 
128 typedef struct {
129 	Int4 numid;
130 	DocUidPtr ids;
131 } EntrezIds, PNTR EntrezIdsPtr;
132 
133 NLM_EXTERN EntrezIdsPtr LIBCALL EntrezIdsNew PROTO((void));
134 NLM_EXTERN EntrezIdsPtr LIBCALL EntrezIdsFree PROTO(( EntrezIdsPtr ufp));
135 NLM_EXTERN EntrezIdsPtr LIBCALL EntrezIdsAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
136 NLM_EXTERN Boolean LIBCALL EntrezIdsAsnWrite PROTO((EntrezIdsPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
137 
138 
139 /*****************************************************************************
140 *
141 *   Marked-link-set
142 *
143 *****************************************************************************/
144 typedef struct {
145 	LinkSetPtr link_set;
146 	Int4 uids_processed;
147 	EntrezIdsPtr  marked_missing;
148 } MarkedLinkSet, PNTR MarkedLinkSetPtr;
149 
150 
151 NLM_EXTERN MarkedLinkSetPtr LIBCALL MarkedLinkSetNew PROTO((void));
152 NLM_EXTERN MarkedLinkSetPtr LIBCALL MarkedLinkSetFree PROTO(( MarkedLinkSetPtr ufp));
153 NLM_EXTERN MarkedLinkSetPtr LIBCALL MarkedLinkSetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
154 NLM_EXTERN Boolean LIBCALL MarkedLinkSetAsnWrite PROTO((MarkedLinkSetPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
155 
156 
157 /*****************************************************************************
158 *
159 *   Named-List
160 *
161 *****************************************************************************/
162 
163 typedef struct {
164 	DocType type;
165 	DocField fld;
166 	CharPtr term;
167 	EntrezIdsPtr uids;
168 } NamedList, PNTR NamedListPtr;
169 
170 NLM_EXTERN NamedListPtr LIBCALL NamedListNew PROTO((void));
171 NLM_EXTERN NamedListPtr LIBCALL NamedListFree PROTO(( NamedListPtr ufp));
172 NLM_EXTERN NamedListPtr LIBCALL NamedListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
173 NLM_EXTERN Boolean LIBCALL NamedListAsnWrite PROTO((NamedListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
174 
175 
176 /*****************************************************************************
177 *
178 *   Term-by-Page
179 *
180 *****************************************************************************/
181 
182 typedef struct {
183 	DocType type;
184 	DocField fld;
185 	Int4 page;
186 	Int4 num_pages;
187 } TermByPage, PNTR TermByPagePtr;
188 
189 NLM_EXTERN TermByPagePtr LIBCALL TermByPageNew PROTO((void));
190 NLM_EXTERN TermByPagePtr LIBCALL TermByPageFree PROTO(( TermByPagePtr ufp));
191 NLM_EXTERN TermByPagePtr LIBCALL TermByPageAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
192 NLM_EXTERN Boolean LIBCALL TermByPageAsnWrite PROTO((TermByPagePtr ufp, AsnIoPtr aip, AsnTypePtr atp));
193 
194 
195 /*****************************************************************************
196 *
197 *   Term-by-Term
198 *
199 *****************************************************************************/
200 
201 typedef struct {
202 	DocType type;
203 	DocField fld;
204 	CharPtr term;
205 	Int4 num_terms;
206 } TermByTerm, PNTR TermByTermPtr;
207 
208 NLM_EXTERN TermByTermPtr LIBCALL TermByTermNew PROTO((void));
209 NLM_EXTERN TermByTermPtr LIBCALL TermByTermFree PROTO(( TermByTermPtr ufp));
210 NLM_EXTERN TermByTermPtr LIBCALL TermByTermAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
211 NLM_EXTERN Boolean LIBCALL TermByTermAsnWrite PROTO((TermByTermPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
212 
213 /*****************************************************************************
214 *
215 *   Term-Lookup
216 *
217 *****************************************************************************/
218 
219 typedef struct {
220 	DocType type;
221 	DocField fld;
222 	CharPtr term;
223 } TermLookup, PNTR TermLookupPtr;
224 
225 NLM_EXTERN TermLookupPtr LIBCALL TermLookupNew PROTO((void));
226 NLM_EXTERN TermLookupPtr LIBCALL TermLookupFree PROTO(( TermLookupPtr ufp));
227 NLM_EXTERN TermLookupPtr LIBCALL TermLookupAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
228 NLM_EXTERN Boolean LIBCALL TermLookupAsnWrite PROTO((TermLookupPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
229 
230 
231 /*****************************************************************************
232 *
233 *   Term-Page-Info
234 *
235 *****************************************************************************/
236 
237 typedef struct {
238 	CharPtr term;
239 	Int4 spec_count;
240 	Int4 tot_count;
241 } TermPageInfo, PNTR TermPageInfoPtr;
242 
243 NLM_EXTERN TermPageInfoPtr LIBCALL TermPageInfoNew PROTO((void));
244 NLM_EXTERN TermPageInfoPtr LIBCALL TermPageInfoFree PROTO(( TermPageInfoPtr ufp));
245 NLM_EXTERN TermPageInfoPtr LIBCALL TermPageInfoAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
246 NLM_EXTERN Boolean LIBCALL TermPageInfoAsnWrite PROTO((TermPageInfoPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
247 
248 
249 /*****************************************************************************
250 *
251 *   Term-Counts
252 *
253 *****************************************************************************/
254 
255 typedef struct {
256 	Boolean found;
257 	Int4 spec_count;
258 	Int4 tot_count;
259 } TermCounts, PNTR TermCountsPtr;
260 
261 NLM_EXTERN TermCountsPtr LIBCALL TermCountsNew PROTO((void));
262 NLM_EXTERN TermCountsPtr LIBCALL TermCountsFree PROTO(( TermCountsPtr ufp));
263 NLM_EXTERN TermCountsPtr LIBCALL TermCountsAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
264 NLM_EXTERN Boolean LIBCALL TermCountsAsnWrite PROTO((TermCountsPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
265 
266 /*****************************************************************************
267 *
268 *   Link-SetGet
269 *
270 *****************************************************************************/
271 
272 typedef struct {
273 	Int4 max;      /* maximum Ids to return */
274 	DocType link_to_cls;
275 	DocType query_cls;
276 	Boolean mark_missing;
277 	Int4 query_size;
278 	DocUidPtr query;
279 } LinkSetGet, PNTR LinkSetGetPtr;
280 
281 NLM_EXTERN LinkSetGetPtr LIBCALL LinkSetGetNew PROTO((void));
282 NLM_EXTERN LinkSetGetPtr LIBCALL LinkSetGetFree PROTO(( LinkSetGetPtr ufp));
283 NLM_EXTERN LinkSetGetPtr LIBCALL LinkSetGetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
284 NLM_EXTERN Boolean LIBCALL LinkSetGetAsnWrite PROTO((LinkSetGetPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
285 
286 NLM_EXTERN DocSumPtr LIBCALL MlSumNew PROTO((void));
287 NLM_EXTERN DocSumPtr LIBCALL MlSumFree PROTO(( DocSumPtr ufp));
288 NLM_EXTERN DocSumPtr LIBCALL MlSumAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
289 NLM_EXTERN Boolean LIBCALL MlSumAsnWrite PROTO((DocSumPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
290 
291 NLM_EXTERN DocSumPtr LIBCALL SeqSumNew PROTO((void));
292 NLM_EXTERN DocSumPtr LIBCALL SeqSumFree PROTO(( DocSumPtr ufp));
293 NLM_EXTERN DocSumPtr LIBCALL SeqSumAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
294 NLM_EXTERN Boolean LIBCALL SeqSumAsnWrite PROTO((DocSumPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
295 
296 
297 
298 /*****************************************************************************
299 *
300 *   EntrezDocGet
301 *
302 *****************************************************************************/
303 
304 
305 typedef struct {
306 	DocType cls;
307 	Boolean mark_missing;
308 	EntrezIdsPtr ids;
309 	Int4 defer_count;
310 } EntrezDocGet, PNTR EntrezDocGetPtr;
311 
312 NLM_EXTERN EntrezDocGetPtr LIBCALL EntrezDocGetNew PROTO((void));
313 NLM_EXTERN EntrezDocGetPtr LIBCALL EntrezDocGetFree PROTO(( EntrezDocGetPtr ufp));
314 NLM_EXTERN EntrezDocGetPtr LIBCALL EntrezDocGetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
315 NLM_EXTERN Boolean LIBCALL EntrezDocGetAsnWrite PROTO((EntrezDocGetPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
316 
317 
318 /*****************************************************************************
319 *
320 *   Medline-list
321 *
322 *****************************************************************************/
323 typedef struct {
324 	Int4 num;
325 	MedlineEntryPtr PNTR data; /* vector */
326 	EntrezIdsPtr marked_missing; /* marked UIDs, optional */
327 } MedlineEntryList, PNTR MedlineEntryListPtr;
328 
329 
330 NLM_EXTERN MedlineEntryListPtr LIBCALL MedlineEntryListNew PROTO((void));
331 NLM_EXTERN MedlineEntryListPtr LIBCALL MedlineEntryListFree PROTO(( MedlineEntryListPtr ufp));
332 NLM_EXTERN MedlineEntryListPtr LIBCALL MedlineEntryListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
333 NLM_EXTERN Boolean LIBCALL MedlineEntryListAsnWrite PROTO((MedlineEntryListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
334 
335 /*****************************************************************************
336 *
337 *   Ml-summary-list
338 *
339 *****************************************************************************/
340 typedef struct {
341 	Int4 num;
342 	DocSumPtr PNTR data; /* vector */
343 } MlSummaryList, PNTR MlSummaryListPtr;
344 
345 
346 NLM_EXTERN MlSummaryListPtr LIBCALL MlSummaryListNew PROTO((void));
347 NLM_EXTERN MlSummaryListPtr LIBCALL MlSummaryListFree PROTO(( MlSummaryListPtr ufp));
348 NLM_EXTERN MlSummaryListPtr LIBCALL MlSummaryListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
349 NLM_EXTERN Boolean LIBCALL MlSummaryListAsnWrite PROTO((MlSummaryListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
350 
351 /*****************************************************************************
352 *
353 *   SeqEntryGet
354 *
355 *****************************************************************************/
356 
357 typedef struct {
358 	EntrezIdsPtr ids;
359 	Int4 retype;
360 	Boolean mark_missing;
361 } EntrezSeqGet, PNTR EntrezSeqGetPtr;
362 
363 NLM_EXTERN EntrezSeqGetPtr LIBCALL EntrezSeqGetNew PROTO((void));
364 NLM_EXTERN EntrezSeqGetPtr LIBCALL EntrezSeqGetFree PROTO(( EntrezSeqGetPtr ufp));
365 NLM_EXTERN EntrezSeqGetPtr LIBCALL EntrezSeqGetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
366 NLM_EXTERN Boolean LIBCALL EntrezSeqGetAsnWrite PROTO((EntrezSeqGetPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
367 
368 /*****************************************************************************
369 *
370 *   Seq-summary-list
371 *
372 *****************************************************************************/
373 typedef struct {
374 	Int4 num;
375 	DocSumPtr PNTR data; /* vector */
376 } SeqSummaryList, PNTR SeqSummaryListPtr;
377 
378 
379 NLM_EXTERN SeqSummaryListPtr LIBCALL SeqSummaryListNew PROTO((void));
380 NLM_EXTERN SeqSummaryListPtr LIBCALL SeqSummaryListFree PROTO(( SeqSummaryListPtr ufp));
381 NLM_EXTERN SeqSummaryListPtr LIBCALL SeqSummaryListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
382 NLM_EXTERN Boolean LIBCALL SeqSummaryListAsnWrite PROTO((SeqSummaryListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
383 
384 
385 /*****************************************************************************
386 *
387 *   Seq-entry-list
388 *
389 *****************************************************************************/
390 typedef struct {
391 	Int4 num;
392 	SeqEntryPtr PNTR data; /* vector */
393 	EntrezIdsPtr marked_missing; /* marked UIDs, optional */
394 } PNTR SeqEntryListPtr;
395 /* note that SeqEntryList is not provided because the name conflicted with */
396 /* the name of a function on sequtil.c; the typedef was not needed anyhow  */
397 
398 
399 NLM_EXTERN SeqEntryListPtr LIBCALL SeqEntryListNew PROTO((void));
400 NLM_EXTERN SeqEntryListPtr LIBCALL SeqEntryListFree PROTO(( SeqEntryListPtr ufp));
401 NLM_EXTERN SeqEntryListPtr LIBCALL SeqEntryListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
402 NLM_EXTERN Boolean LIBCALL SeqEntryListAsnWrite PROTO((SeqEntryListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
403 
404 
405 
406 #ifdef Biostruc_supported
407 
408 /*****************************************************************************
409 *
410 *   Biostruc-list
411 *
412 *****************************************************************************/
413 typedef struct {
414 	Int4 num;
415 	BiostrucPtr PNTR data; /* vector */
416 	EntrezIdsPtr marked_missing; /* marked UIDs, optional */
417 } BiostrucList, PNTR BiostrucListPtr;
418 
419 
420 NLM_EXTERN BiostrucListPtr LIBCALL BiostrucListNew PROTO((void));
421 NLM_EXTERN BiostrucListPtr LIBCALL BiostrucListFree PROTO(( BiostrucListPtr ufp));
422 NLM_EXTERN BiostrucListPtr LIBCALL BiostrucListAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
423 NLM_EXTERN Boolean LIBCALL BiostrucListAsnWrite PROTO((BiostrucListPtr ufp, AsnIoPtr aip, AsnTypePtr atp));
424 
425 #endif /* Biostruc_supported */
426 
427 /**************************************************
428 *
429 *    EntrezNeighborText
430 *
431 **************************************************/
432 
433 
434 NLM_EXTERN EntrezNeighborTextPtr LIBCALL EntrezNeighborTextAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
435 NLM_EXTERN Boolean LIBCALL EntrezNeighborTextAsnWrite PROTO (( EntrezNeighborTextPtr , AsnIoPtr, AsnTypePtr));
436 
437 
438 /**************************************************
439 *
440 *    ChildLink
441 *
442 *************************************************/
443 typedef struct struct_Child_Link {
444    struct struct_Child_Link PNTR next;
445    CharPtr   name;
446    Boolean   isLeafNode;
447    Int4   special;
448    Int4   total;
449 } ChildLink, PNTR ChildLinkPtr;
450 
451 
452 
453 NLM_EXTERN EntrezHierarchyChildPtr LIBCALL EntrezHierarchyChildFree PROTO ((EntrezHierarchyChildPtr ));
454 NLM_EXTERN EntrezHierarchyChildPtr LIBCALL EntrezHierarchyChildNew PROTO (( void ));
455 NLM_EXTERN EntrezHierarchyChildPtr LIBCALL EntrezHierarchyChildAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
456 NLM_EXTERN Boolean LIBCALL EntrezHierarchyChildAsnWrite PROTO (( EntrezHierarchyChildPtr ,AsnIoPtr, AsnTypePtr));
457 
458 NLM_EXTERN EntrezHierarchyPtr LIBCALL EntrezHierarchyFree PROTO ((EntrezHierarchyPtr ));
459 NLM_EXTERN EntrezHierarchyPtr LIBCALL EntrezHierarchyNew PROTO (( void ));
460 NLM_EXTERN EntrezHierarchyPtr LIBCALL EntrezHierarchyAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
461 NLM_EXTERN Boolean LIBCALL EntrezHierarchyAsnWrite PROTO (( EntrezHierarchyPtr, AsnIoPtr, AsnTypePtr));
462 
463 
464 /**************************************************
465 *
466 *    EntrezBlastreq
467 *
468 **************************************************/
469 typedef struct struct_Entrez_blastreq {
470    Uint4 OBbits__;
471    BioseqPtr   bsp;
472    DocType bsp_database;
473    CharPtr   program;
474    CharPtr   database;
475    CharPtr   options;
476    Uint1     showprogress;
477 } EntrezBlastreq, PNTR EntrezBlastreqPtr;
478 
479 
480 NLM_EXTERN EntrezBlastreqPtr LIBCALL EntrezBlastreqFree PROTO ((EntrezBlastreqPtr ));
481 NLM_EXTERN EntrezBlastreqPtr LIBCALL EntrezBlastreqNew PROTO (( void ));
482 NLM_EXTERN EntrezBlastreqPtr LIBCALL EntrezBlastreqAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
483 NLM_EXTERN Boolean LIBCALL EntrezBlastreqAsnWrite PROTO (( EntrezBlastreqPtr , AsnIoPtr, AsnTypePtr));
484 
485 
486 
487 /**************************************************
488 *
489 *    EntrezExtraInfo
490 *
491 **************************************************/
492 typedef struct struct_Entrez_extra_info {
493    Uint4 OBbits__;
494    Int4   maxlinks;
495    Uint1   canneighbortext;
496    Uint1   expanded_medline;
497    Uint1   canblast;
498 } EntrezExtraInfo, PNTR EntrezExtraInfoPtr;
499 
500 
501 NLM_EXTERN EntrezExtraInfoPtr LIBCALL EntrezExtraInfoFree PROTO ((EntrezExtraInfoPtr ));
502 NLM_EXTERN EntrezExtraInfoPtr LIBCALL EntrezExtraInfoNew PROTO (( void ));
503 NLM_EXTERN EntrezExtraInfoPtr LIBCALL EntrezExtraInfoAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
504 NLM_EXTERN Boolean LIBCALL EntrezExtraInfoAsnWrite PROTO (( EntrezExtraInfoPtr , AsnIoPtr, AsnTypePtr));
505 
506 typedef struct struct_New_summary_List {
507    Int4   num;
508    DocType type;
509    DocSumPtr PNTR data;
510 } NewSummaryList, PNTR NewSummaryListPtr;
511 
512 NLM_EXTERN NewSummaryListPtr LIBCALL NewSummaryListFree PROTO ((NewSummaryListPtr ));
513 NLM_EXTERN NewSummaryListPtr LIBCALL NewSummaryListNew PROTO (( void ));
514 NLM_EXTERN NewSummaryListPtr LIBCALL NewSummaryListAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
515 NLM_EXTERN Boolean LIBCALL NewSummaryListAsnWrite PROTO (( NewSummaryListPtr , AsnIoPtr, AsnTypePtr));
516 
517 
518 /**************************************************
519 *
520 *    ClusterArticles
521 *
522 **************************************************/
523 typedef struct struct_Cluster_articles {
524    Uint4 OBbits__;
525    EntrezIdsPtr ids;
526    Int4   fld;
527    Int4   min_cluster;
528    Int4   max_cluster;
529    Int4   max_terms;
530 } ClusterArticles, PNTR ClusterArticlesPtr;
531 
532 
533 NLM_EXTERN ClusterArticlesPtr LIBCALL ClusterArticlesFree PROTO ((ClusterArticlesPtr ));
534 NLM_EXTERN ClusterArticlesPtr LIBCALL ClusterArticlesNew PROTO (( void ));
535 NLM_EXTERN ClusterArticlesPtr LIBCALL ClusterArticlesAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
536 NLM_EXTERN Boolean LIBCALL ClusterArticlesAsnWrite PROTO (( ClusterArticlesPtr , AsnIoPtr, AsnTypePtr));
537 
538 
539 
540 
541 /**************************************************
542 *
543 *    ClusterResp
544 *
545 **************************************************/
546 typedef struct struct_Cluster_resp {
547    Uint4 OBbits__;
548    Int4   count;
549    ValNodePtr   terms;
550    ValNodePtr   term_counts;
551 } ClusterResp, PNTR ClusterRespPtr;
552 
553 
554 NLM_EXTERN ClusterRespPtr LIBCALL ClusterRespFree PROTO ((ClusterRespPtr ));
555 NLM_EXTERN ClusterRespPtr LIBCALL ClusterRespNew PROTO (( void ));
556 NLM_EXTERN ClusterRespPtr LIBCALL ClusterRespAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
557 NLM_EXTERN Boolean LIBCALL ClusterRespAsnWrite PROTO (( ClusterRespPtr , AsnIoPtr, AsnTypePtr));
558 
559 
560 
561 /**************************************************
562 *
563 *    DateConstraints
564 *
565 **************************************************/
566 typedef struct struct_Date_constraints {
567    Int4   count;
568    struct struct_Date_vector PNTR   date_vec;
569 } DateConstraints, PNTR DateConstraintsPtr;
570 
571 
572 NLM_EXTERN DateConstraintsPtr LIBCALL DateConstraintsFree PROTO ((DateConstraintsPtr ));
573 NLM_EXTERN DateConstraintsPtr LIBCALL DateConstraintsNew PROTO (( void ));
574 NLM_EXTERN DateConstraintsPtr LIBCALL DateConstraintsAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
575 NLM_EXTERN Boolean LIBCALL DateConstraintsAsnWrite PROTO (( DateConstraintsPtr , AsnIoPtr, AsnTypePtr));
576 
577 
578 
579 /**************************************************
580 *
581 *    DateVector
582 *
583 **************************************************/
584 typedef struct struct_Date_vector {
585    struct struct_Date_vector PNTR next;
586    DatePtr   begin_date;
587    DatePtr   end_date;
588    CharPtr   field_abbr;
589 } DateVector, PNTR DateVectorPtr;
590 
591 
592 NLM_EXTERN DateVectorPtr LIBCALL DateVectorFree PROTO ((DateVectorPtr ));
593 NLM_EXTERN DateVectorPtr LIBCALL DateVectorNew PROTO (( void ));
594 NLM_EXTERN DateVectorPtr LIBCALL DateVectorAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
595 NLM_EXTERN Boolean LIBCALL DateVectorAsnWrite PROTO (( DateVectorPtr , AsnIoPtr, AsnTypePtr));
596 
597 
598 
599 /**************************************************
600 *
601 *    GetByFid
602 *
603 **************************************************/
604 typedef struct struct_Get_by_fid {
605    Int4   mmdbid;
606    Int4   feature_id;
607    Int4   feature_set_id;
608 } GetByFid, PNTR GetByFidPtr;
609 
610 
611 NLM_EXTERN GetByFidPtr LIBCALL GetByFidFree PROTO ((GetByFidPtr ));
612 NLM_EXTERN GetByFidPtr LIBCALL GetByFidNew PROTO (( void ));
613 NLM_EXTERN GetByFidPtr LIBCALL GetByFidAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
614 NLM_EXTERN Boolean LIBCALL GetByFidAsnWrite PROTO (( GetByFidPtr , AsnIoPtr, AsnTypePtr));
615 
616 
617 
618 /**************************************************
619 *
620 *    GetFeatIds
621 *
622 **************************************************/
623 typedef struct struct_Get_feat_ids {
624    Int4   mmdbid;
625    Int4   feature_type;
626    Int4   feature_set_id;
627 } GetFeatIds, PNTR GetFeatIdsPtr;
628 
629 
630 NLM_EXTERN GetFeatIdsPtr LIBCALL GetFeatIdsFree PROTO ((GetFeatIdsPtr ));
631 NLM_EXTERN GetFeatIdsPtr LIBCALL GetFeatIdsNew PROTO (( void ));
632 NLM_EXTERN GetFeatIdsPtr LIBCALL GetFeatIdsAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
633 NLM_EXTERN Boolean LIBCALL GetFeatIdsAsnWrite PROTO (( GetFeatIdsPtr , AsnIoPtr, AsnTypePtr));
634 
635 #ifdef __cplusplus
636 }
637 #endif
638 
639 #undef NLM_EXTERN
640 #ifdef NLM_EXPORT
641 #define NLM_EXTERN NLM_EXPORT
642 #else
643 #define NLM_EXTERN
644 #endif
645 
646 #endif
647