1 /* objacces.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: objacces.h 27 * 28 * Author: James Ostell 29 * 30 * Version Creation Date: 1/1/91 31 * 32 * $Revision: 6.0 $ 33 * 34 * File Description: Object manager interface for module NCBI-Access 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * Date Name Description of modification 39 * ------- ---------- ----------------------------------------------------- 40 * 41 * 42 * $Log: objacces.h,v $ 43 * Revision 6.0 1997/08/25 18:49:07 madden 44 * Revision changed to 6.0 45 * 46 * Revision 4.1 1997/06/19 18:40:35 vakatov 47 * [WIN32,MSVC++] Adopted for the "NCBIOBJ.LIB" DLL'ization 48 * 49 * Revision 4.0 1995/07/26 13:48:06 ostell 50 * force revision to 4.0 51 * 52 * Revision 3.1 1995/05/15 21:22:00 ostell 53 * added Log line 54 * 55 * 56 * 57 * ========================================================================== 58 */ 59 60 #ifndef _NCBI_Access_ 61 #define _NCBI_Access_ 62 63 #ifndef _ASNTOOL_ 64 #include <asn.h> 65 #endif 66 67 #undef NLM_EXTERN 68 #ifdef NLM_IMPORT 69 #define NLM_EXTERN NLM_IMPORT 70 #else 71 #define NLM_EXTERN extern 72 #endif 73 74 #ifdef __cplusplus 75 extern "C" { 76 #endif 77 78 /***************************************************************************** 79 * 80 * loader 81 * 82 *****************************************************************************/ 83 NLM_EXTERN Boolean LIBCALL AccessAsnLoad PROTO((void)); 84 85 /***************************************************************************** 86 * 87 * internal structures for NCBI-Access objects 88 * 89 *****************************************************************************/ 90 91 /***************************************************************************** 92 * 93 * Link-set 94 * 95 *****************************************************************************/ 96 /* NOTE: in the uids array, there are num+1 97 uids, with the last being 0 */ 98 typedef struct linkset 99 { 100 Int4 num; /* number of uids */ 101 Int4Ptr uids; /* uids of type "target" */ 102 Int4Ptr weights; /* weights, if neighbors */ 103 } LinkSet, PNTR LinkSetPtr; 104 105 NLM_EXTERN LinkSetPtr LIBCALL LinkSetNew PROTO((void)); 106 NLM_EXTERN LinkSetPtr LIBCALL LinkSetFree PROTO((LinkSetPtr ufp)); 107 NLM_EXTERN LinkSetPtr LIBCALL LinkSetAsnRead PROTO((AsnIoPtr aip, AsnTypePtr atp)); 108 NLM_EXTERN Boolean LIBCALL LinkSetAsnWrite PROTO((LinkSetPtr ufp, AsnIoPtr aip, AsnTypePtr atp)); 109 110 #ifdef __cplusplus 111 } 112 #endif 113 114 #undef NLM_EXTERN 115 #ifdef NLM_EXPORT 116 #define NLM_EXTERN NLM_EXPORT 117 #else 118 #define NLM_EXTERN 119 #endif 120 121 #endif 122 123