2
* ===========================================================================
5
* National Center for Biotechnology Information
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.
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
22
* Please cite the author in any work or product based on this material.
24
* ===========================================================================
26
* RCS $Id: objsub.h,v 6.2 1999/09/27 17:48:39 kans Exp $
28
* Author: James Ostell
30
* Version Creation Date: 6/20/92
34
* File Description: Object manager interface for module NCBI-Sub
37
* --------------------------------------------------------------------------
38
* Date Name Description of modification
39
* ------- ---------- -----------------------------------------------------
43
* Revision 6.2 1999/09/27 17:48:39 kans
44
* using GatherIndex structure
46
* Revision 6.1 1999/09/26 19:42:51 kans
47
* added EXTRA_OBJMGR_FIELDS to SeqSubmit
49
* Revision 6.0 1997/08/25 18:51:04 madden
50
* Revision changed to 6.0
52
* Revision 4.1 1997/06/19 18:42:14 vakatov
53
* [WIN32,MSVC++] Adopted for the "NCBIOBJ.LIB" DLL'ization
55
* Revision 4.0 1995/07/26 13:48:06 ostell
56
* force revision to 4.0
58
* Revision 3.5 1995/06/20 15:29:39 schuler
59
* Eliminated name conflict on struct/struc member "conflict"
61
* Revision 3.4 1995/05/15 21:22:00 ostell
66
* ==========================================================================
78
#define NLM_EXTERN NLM_IMPORT
80
#define NLM_EXTERN extern
87
/*****************************************************************************
91
*****************************************************************************/
92
NLM_EXTERN Boolean LIBCALL SubmitAsnLoad PROTO((void));
94
/*****************************************************************************
96
* internal structures for NCBI-Submit objects
98
*****************************************************************************/
100
/*****************************************************************************
104
*****************************************************************************/
105
typedef struct ContactInfo {
107
ValNodePtr address; /* chain of strings */
112
ObjectIdPtr owner_id;
113
ByteStorePtr password;
118
} ContactInfo, PNTR ContactInfoPtr;
120
NLM_EXTERN ContactInfoPtr LIBCALL ContactInfoNew PROTO((void));
121
NLM_EXTERN ContactInfoPtr LIBCALL ContactInfoFree PROTO(( ContactInfoPtr cip));
122
NLM_EXTERN ContactInfoPtr LIBCALL ContactInfoAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
123
NLM_EXTERN Boolean LIBCALL ContactInfoAsnWrite PROTO((ContactInfoPtr cip, AsnIoPtr aip, AsnTypePtr atp));
124
NLM_EXTERN Int2 LIBCALL ContactInfoLabel PROTO((ContactInfoPtr cip, CharPtr buffer, Int2 buflen, Uint1 content));
126
/*****************************************************************************
130
*****************************************************************************/
131
typedef struct subblk {
132
ContactInfoPtr contact;
134
Boolean hup; /* hold until published */
135
DatePtr reldate; /* release date */
136
Uint1 subtype; /* submission type */
137
CharPtr tool, /* tool that made this submission */
138
user_tag, /* user "handle" to identify this submission */
139
comment; /* instructions to submission staff */
140
} SubmitBlock, PNTR SubmitBlockPtr;
142
NLM_EXTERN SubmitBlockPtr LIBCALL SubmitBlockNew PROTO((void));
143
NLM_EXTERN SubmitBlockPtr LIBCALL SubmitBlockFree PROTO(( SubmitBlockPtr sbp));
144
NLM_EXTERN SubmitBlockPtr LIBCALL SubmitBlockAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
145
NLM_EXTERN Boolean LIBCALL SubmitBlockAsnWrite PROTO((SubmitBlockPtr sbp, AsnIoPtr aip, AsnTypePtr atp));
146
NLM_EXTERN Int2 LIBCALL SubmitBlockLabel PROTO((SubmitBlockPtr sbp, CharPtr buffer, Int2 buflen, Uint1 content));
148
/*****************************************************************************
152
* 0 = not-set (error)
153
* 1 = Seq-entry(s) (data = SeqEntryPtr, possibly a chain)
154
* 2 = Seq-annot(s) (data = SeqAnnotPtr, possibly a chain)
155
* 3 = Seq-id(s) for delete (data = SeqIdPtr, possibly a chain)
157
*****************************************************************************/
158
typedef struct seqsub {
162
GatherIndex idx; /* internal gather/objmgr tracking fields */
163
} SeqSubmit, PNTR SeqSubmitPtr;
165
NLM_EXTERN SeqSubmitPtr LIBCALL SeqSubmitNew PROTO((void));
166
NLM_EXTERN SeqSubmitPtr LIBCALL SeqSubmitFree PROTO(( SeqSubmitPtr ssp));
167
NLM_EXTERN SeqSubmitPtr LIBCALL SeqSubmitAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp));
168
NLM_EXTERN Boolean LIBCALL SeqSubmitAsnWrite PROTO((SeqSubmitPtr ssp, AsnIoPtr aip, AsnTypePtr atp));
169
NLM_EXTERN Int2 LIBCALL SeqSubmitLabel PROTO((SeqSubmitPtr ssp, CharPtr buffer, Int2 buflen, Uint1 content));
177
#define NLM_EXTERN NLM_EXPORT