|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/cdromlib/cdconfig.h |
source navigation diff markup identifier search freetext search file search |
1 /* cdconfig.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: cdconfig.h,v 6.0 1997/08/25 18:12:48 madden Exp $
27 *
28 * Author: Jonathan Epstein
29 *
30 * Version Creation Date: 11/24/92
31 *
32 * File Description:
33 header for cdrom-library complex configuration mechanism
34 *
35 * Modifications:
36 * --------------------------------------------------------------------------
37 * Date Name Description of modification
38 * ------- ---------- -----------------------------------------------------
39 * 05-16-94 Schuler Added RCS Log directive. Comments will henceforth
40 * be inserted automatically into the source at the
41 * time it is checked into the system.
42
43 $Log: cdconfig.h,v $
44 Revision 6.0 1997/08/25 18:12:48 madden
45 Revision changed to 6.0
46
47 Revision 5.1 1997/06/26 21:55:27 vakatov
48 [PC] DLL'd "ncbicdr.lib", "ncbiacc.lib", "ncbinacc.lib" and "ncbicacc.lib"
49
50 Revision 5.0 1996/05/28 13:55:34 ostell
51 Set to revision 5.0
52
53 * Revision 4.0 1995/07/26 13:50:32 ostell
54 * force revision to 4.0
55 *
56 * Revision 1.7 1995/05/16 14:12:46 schuler
57 * Automatic comment insertion enabled
58 *
59
60
61
62 *
63 * ==========================================================================
64 */
65
66 #ifndef _CDCONFIG_
67
68 #define _CDCONFIG_ 1
69
70 #define ENTR_REF_CHAN "ENTR_REF"
71 #define ENTR_SEQ_CHAN "ENTR_SEQ"
72 #define ENTR_LINKS_CHAN "ENTR_LINK"
73
74 typedef Boolean (* ConfCtlProc) PROTO((VoidPtr parm));
75
76 typedef struct Media {
77 CharPtr media_alias; /* name in config file */
78 Int2 media_type; /* CD or NET or ... */
79 #define MEDIUM_UNKNOWN 0
80 #define MEDIUM_CD 1
81 #define MEDIUM_NETWORK 2
82 #define MEDIUM_DISK 4
83 Boolean inited_partial; /* e.g., initialization which can be performed */
84 /* without actually inserting the CD-ROM */
85 Boolean invalid;
86 Boolean inited_total;
87 Boolean in_use;
88 Boolean is_live; /* Is the device "live", e.g., a CD-ROM which is */
89 /* assumed to be currently inserted? */
90 CharPtr formal_name; /* Formal name to be used when talking to user */
91 EntrezInfoPtr entrez_info;
92 ConfCtlProc swapOutMedia;
93 ConfCtlProc swapInMedia;
94 ConfCtlProc finiMedia;
95 VoidPtr media_info; /* media-specific information */
96 struct Media PNTR next;
97 struct Media PNTR next_lru; /* doubly-linked pointers in LRU chain */
98 struct Media PNTR prev_lru;
99 Boolean LRUineligible; /* media ineligible for Least Recently Used */
100 } Media, PNTR MediaPtr;
101
102 typedef struct DrasticActions {
103 MediaPtr from_media;
104 MediaPtr to_media;
105 Boolean is_drastic;
106 struct DrasticActions PNTR next; /* next in linked list */
107 } DrasticActions, PNTR DrasticActionsPtr;
108
109 typedef struct DataSourceDbKey {
110 CharPtr section;
111 CharPtr field1;
112 CharPtr field2;
113 } DataSourceDbKey;
114
115 typedef struct DataSource {
116 Int2 priority;
117 Boolean no_drastic_action;
118 Boolean already_searched; /* reset upon each call to SelectDataSource */
119 MediaPtr media;
120 CharPtr channel; /* name in config file */
121 struct DataSource PNTR next;
122 } DataSource, PNTR DataSourcePtr;
123
124 typedef struct DataSourceDb {
125 DataSourceDbKey key;
126 DataSourcePtr list;
127 struct DataSourceDb PNTR next;
128 } DataSourceDb, PNTR DataSourceDbPtr;
129
130
131 #undef NLM_EXTERN
132 #ifdef NLM_IMPORT
133 #define NLM_EXTERN NLM_IMPORT
134 #else
135 #define NLM_EXTERN extern
136 #endif
137
138 #ifdef __cplusplus
139 extern "C" {
140 #endif
141
142 NLM_EXTERN void SetSoleMedia PROTO((void));
143 NLM_EXTERN Boolean SelectDataSource PROTO((CharPtr section,
144 CharPtr field1, CharPtr field2));
145 NLM_EXTERN Boolean SelectDataSourceByType PROTO((DocType type,
146 CharPtr field1, CharPtr field2));
147 NLM_EXTERN Boolean SelectDataLinksByTypes PROTO((DocType type,
148 DocType link_to_type));
149 NLM_EXTERN Boolean SelectNextDataSource PROTO((void));
150 NLM_EXTERN void ConfigInit PROTO((void));
151 NLM_EXTERN void ConfigFini PROTO((void));
152 NLM_EXTERN MediaPtr GetCurMedia PROTO((void));
153 NLM_EXTERN Int2 CurMediaType PROTO((void));
154 NLM_EXTERN MediaPtr SetCurMedia PROTO((MediaPtr NewMedia));
155 NLM_EXTERN MediaPtr PreInitMedia PROTO((CharPtr buf));
156 NLM_EXTERN Boolean CdIsInserted PROTO((MediaPtr media));
157 NLM_EXTERN Int2 ParseMedia PROTO((ConfCtlProc initfunc, Int2 media_mask));
158 NLM_EXTERN EntrezInfoPtr EntrezInfoMerge PROTO((void));
159
160 #ifdef __cplusplus
161 }
162 #endif
163
164 #undef NLM_EXTERN
165 #ifdef NLM_EXPORT
166 #define NLM_EXTERN NLM_EXPORT
167 #else
168 #define NLM_EXTERN
169 #endif
170
171 #endif /* _CDCONFIG_ */
172 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |