NCBI C Toolkit Cross Reference

C/cdromlib/objentr.h


  1 /*   objentr.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 * RCS $Id: objentr.h,v 6.3 1999/08/17 16:31:27 kans Exp $
 27 *
 28 * Author:  Ostell, Schuler
 29 *
 30 * Version Creation Date:   6/28/94
 31 *
 32 * File Description:         
 33 *       entrez index access library for Entrez
 34 *
 35 * Modifications:  
 36 * --------------------------------------------------------------------------
 37 * Date     Name        Description of modification
 38 * -------  ----------  -----------------------------------------------------
 39 * 06-28-94 Schuler     This file created from definitions extracted
 40 *                      from accentr.h
 41 * 11-21-94 Schuler     Changed DocUid from long to Int4
 42 * 11-30-94 Schuler     Added cd_count field to EntrezInfo
 43 * 03-13-95 Schuler     Bumped DocType_MAX up to 8 (was 5)
 44 * 05-16-94 Schuler     Added RCS Log directive.  Comments will henceforth
 45 *                      be inserted automatically into the source at the
 46 *                      time it is checked into the system.
 47 
 48 $Log: objentr.h,v $
 49 Revision 6.3  1999/08/17 16:31:27  kans
 50 increased field tag size to handle current data
 51 
 52 Revision 6.2  1998/03/26 23:23:19  yaschenk
 53 adding CdRomAsnLoad() as extern function to load Asn tree
 54 
 55 Revision 6.1  1997/10/07 22:09:46  volodya
 56 new data fields (entrezDate, pStatus, pLanguage, pPubType) have added to DocSum structure
 57 
 58 Revision 6.0  1997/08/25 18:13:18  madden
 59 Revision changed to 6.0
 60 
 61 Revision 5.3  1997/06/26 21:55:48  vakatov
 62 [PC] DLL'd "ncbicdr.lib", "ncbiacc.lib", "ncbinacc.lib" and "ncbicacc.lib"
 63 
 64 Revision 5.2  1997/03/05 16:48:47  brandon
 65 added link information to EntrezInfo structure
 66 
 67  * Revision 5.1  1996/07/22  15:31:40  brandon
 68  * *** empty log message ***
 69  *
 70  * Revision 5.0  1996/05/28  13:55:34  ostell
 71  * Set to revision 5.0
 72  *
 73  * Revision 4.0  1995/07/26  13:50:32  ostell
 74  * force revision to 4.0
 75  *
 76  * Revision 1.8  1995/07/10  19:42:49  epstein
 77  * add object loaders for DocSum
 78  *
 79  * Revision 1.7  1995/05/16  14:12:46  schuler
 80  * Automatic comment insertion enabled
 81  *
 82 * ==========================================================================
 83 */
 84 
 85 #ifndef _ObjEntr_h_
 86 #define _ObjEntr_h_
 87 
 88 #undef NLM_EXTERN
 89 #ifdef NLM_IMPORT
 90 #define NLM_EXTERN NLM_IMPORT
 91 #else
 92 #define NLM_EXTERN extern
 93 #endif
 94 
 95 #ifdef __cplusplus
 96 extern "C" {
 97 #endif
 98 
 99 
100 #define DocType_MAX 5
101 
102 /*typedef long DocUid;*/
103 #define DocUid Int4
104 
105 typedef struct CdDate
106 {
107         unsigned year   : 12;
108         unsigned month  : 5;
109         unsigned day    : 6;
110 }
111 CdDate;
112 
113 typedef struct DocSum 
114 {
115         DocUid uid;
116         DocUid secondaryUid;
117         unsigned non_document :1;
118         unsigned translated_title :1;
119         unsigned no_authors :1;
120         unsigned no_abstract :1;
121         unsigned is_segmented :1;
122         unsigned is_partial :1;
123         unsigned not_yet_neighbored :1;
124         CdDate create;
125         CdDate modify;
126         char *caption;
127         char *title;
128         char *extra;
129         short link_count[DocType_MAX];
130         Uint4    entrezDate; /* Entrez Date */
131         CharPtr  pStatus;    /* Article processing status */
132         CharPtr  pLanguage;  /* Language abbreviations */
133         CharPtr  pPubType;   /* Publication type */
134 }
135 DocSum, PNTR DocSumPtr;
136 
137 typedef enum PostType
138 {
139         PostType_sort, 
140         PostType_unsort,
141         PostType_hier,
142         PostType_text,
143         PostType_other =255
144 }
145 PostType;
146 
147 typedef struct EntrezFieldData 
148 {
149         long  num_terms;      /* number of terms in this field */
150         short num_bucket;     /* number of buckets of terms */
151 }
152 EntrezFieldData, *EntrezFieldDataPtr;
153     
154 typedef struct EntrezTypeData 
155 {
156         long   num;                   /* number of entries */
157         long   num_uids;              /* number of uids */
158         DocUid minuid;                /* minimum uid for this type */
159         DocUid maxuid;                /* maxuid for this type */
160         short  num_bucket;            /* number of uid buckets */
161         EntrezFieldData *fields;
162 }
163 EntrezTypeData, *EntrezTypeDataPtr;
164 
165 typedef struct EntrezTypeInfo
166 {
167         short id;                 /* id number to pass to APIs         */
168         char  tag[4];             /* 2-letter tag (for internal use)   */
169         char *name;               /* short string to go on menu        */
170         char *descr;              /* longer, descriptive string        */
171         char *asntype;            /* ASN.1 type (e.g. "Medline-entry") */
172 }
173 EntrezTypeInfo;
174     
175 typedef struct EntrezFieldInfo
176 {
177         short id;                 /* id number to pass to APIs         */
178         char  tag[7];             /* 4-letter tag (for internal use)   */
179         char *name;               /* short string to go on menu        */
180         char *descr;              /* longer, descriptive string        */
181         unsigned single_token :1; /* all terms are single-token        */ 
182         unsigned has_special  :1; /* terms may have special postings   */
183         unsigned hier_avail   :1; /* a hierarchical counterpart exists */
184         short hier_id;            /* field-id of hierarchy             */
185         PostType post_type;       /* postings type                     */
186 }
187 EntrezFieldInfo;
188 
189 typedef struct EntrezLinkInfo
190 {
191         Int4 id;                    /* id number to pass to APIs (volatile) */
192         CharPtr tag;                /* identifier string (for internal use) */
193         CharPtr name;               /* short string to go on menu        */
194         CharPtr descr;              /* longer, descriptive string        */
195         Int4 dbfrom;                /* database link points from */
196         Int4 dbto;                  /* database link points to */
197         Int4 datasize;              /* size of link-associated data (bytes) */
198         Int4 reciprocal;            /* id number of reciprocal link(volatile)*/
199 }
200 EntrezLinkInfo;
201 
202 typedef struct EntrezDivInfo
203 {
204         char  tag[4];             /* 3-letter tag (for internal use)   */
205         char *descr;              /* Division description              */
206         char *reldate;            /* Release number and/or date string */
207         CdDate date;              /* Structured release date           */
208         long *docs;               /* Document counts for each type     */
209 }
210 EntrezDivInfo;
211 
212 typedef struct EntrezInfo 
213 {
214         char   *volume_label;        /* name */
215         char   *descr;               /* description */
216         short   version;             /* major release number */
217         short   issue;               /* minor release number */
218         short   format;              /* (for internal use) */
219         CdDate  release_date;        /* Entrez release date */
220         CdDate  close_date;          /* close-of-date date for Entrez release */
221         Boolean no_compression;      /* **DEFUNCT** */
222         short   huff_count;          /* **DEFUNCT** */
223         short  *huff_left;           /* **DEFUNCT** */
224         short  *huff_right;          /* **DEFUNCT** */
225         short   type_count;          /* number of document types */
226         EntrezTypeData *types;
227         EntrezTypeInfo *type_info;
228         char  **type_names;          /* **DEFUNCT**  Use type_info[n]->name instead */
229         short   type_bucket_size;
230         short   field_count;
231         EntrezFieldInfo *field_info;
232         char  **field_names;         /* **DEFUNCT**  Use field_info[n]->name instead */
233         short   field_bucket_size;
234         short   div_count;           /* number of divisions */
235         EntrezDivInfo *div_info;     /* division-specific info */
236         int  cd_count;               /* how many CD-ROMs in distribution?  zero for net */
237         Int4 link_count;
238         EntrezLinkInfo *link_info;
239 }
240 EntrezInfo, *EntrezInfoPtr;
241 
242 NLM_EXTERN Boolean LIBCALL CdRomAsnLoad PROTO((void));
243 NLM_EXTERN EntrezInfoPtr LIBCALL EntrezInfoFree PROTO((EntrezInfo *info));
244 NLM_EXTERN EntrezInfoPtr LIBCALL EntrezInfoAsnRead PROTO((AsnIo *aip, AsnType *orig));
245 NLM_EXTERN Boolean LIBCALL EntrezInfoAsnWrite PROTO((EntrezInfo *info, AsnIo *aip, AsnType *orig));
246 
247 
248 NLM_EXTERN DocSumPtr LIBCALL DocSumNew PROTO (( void ));
249 NLM_EXTERN DocSumPtr LIBCALL DocSumAsnRead PROTO (( AsnIoPtr, AsnTypePtr));
250 NLM_EXTERN Boolean LIBCALL DocSumAsnWrite PROTO (( DocSumPtr , AsnIoPtr, AsnTypePtr));
251 
252 #ifdef __cplusplus
253 }
254 #endif
255 
256 #undef NLM_EXTERN
257 #ifdef NLM_EXPORT
258 #define NLM_EXTERN NLM_EXPORT
259 #else
260 #define NLM_EXTERN
261 #endif
262 
263 #endif
264 
265 
266 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.