NCBI C Toolkit Cross Reference

C/access/vecscnapi.h


  1 /*   vecscnapi.h
  2 * ===========================================================================
  3 *
  4 *                            PUBLIC DOMAIN NOTICE
  5 *            National Center for Biotechnology Information (NCBI)
  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 do not place any restriction on its use or reproduction.
 13 *  We would, however, appreciate having the NCBI and the author cited in
 14 *  any work or product based on this material
 15 *
 16 *  Although all reasonable efforts have been taken to ensure the accuracy
 17 *  and reliability of the software and data, the NLM and the U.S.
 18 *  Government do not and cannot warrant the performance or results that
 19 *  may be obtained by using this software or data. The NLM and the U.S.
 20 *  Government disclaim all warranties, express or implied, including
 21 *  warranties of performance, merchantability or fitness for any particular
 22 *  purpose.
 23 *
 24 * ===========================================================================
 25 *
 26 * File Name:  vecscnapi.h
 27 *
 28 * Author:  Jonathan Kans
 29 *
 30 * Version Creation Date:   6/13/00
 31 *
 32 * $Revision: 1.3 $
 33 *
 34 * File Description: 
 35 *
 36 * Modifications:  
 37 * --------------------------------------------------------------------------
 38 *
 39 * ==========================================================================
 40 */
 41 
 42 #ifndef _VECSCNAPI_
 43 #define _VECSCNAPI_
 44 
 45 #include <ncbi.h>
 46 #include <asn.h>
 47 #include <objseq.h>
 48 
 49 #undef NLM_EXTERN
 50 #ifdef NLM_IMPORT
 51 #define NLM_EXTERN NLM_IMPORT
 52 #else
 53 #define NLM_EXTERN extern
 54 #endif
 55 
 56 
 57 #ifdef __cplusplus
 58 extern "C" {
 59 #endif
 60 
 61 
 62 typedef void (LIBCALLBACK *VecScreenAnnounceProc) (
 63   Nlm_CharPtr requestID,
 64   Nlm_CharPtr seqID,
 65   Nlm_Int2 estimatedSeconds
 66 );
 67 
 68 typedef Nlm_Boolean (LIBCALLBACK *VecScreenResultProc) (
 69   Nlm_CharPtr filename,
 70   Nlm_VoidPtr userdata,
 71   Nlm_CharPtr requestID,
 72   Nlm_CharPtr seqID,
 73   Nlm_Boolean success
 74 );
 75 
 76 /* Opaque handle type.  Variable must be kept by application and initialized
 77  * to NULL.
 78  */
 79 struct VQueueTag;
 80 typedef struct VQueueTag* VQUEUE;  /* queue handle */
 81 
 82 /* low-level connection functions */
 83 
 84 NLM_EXTERN CONN VecScreenOpenConnection (
 85   CharPtr query
 86 );
 87 
 88 NLM_EXTERN EIO_Status VecScreenWaitForReply (
 89   CONN conn
 90 );
 91 
 92 /*
 93  VecScreenAsynchronousRequest open a connection, send a
 94  FASTA request, obtains a request ID, and after the expected
 95  time starts checking for results every 5 seconds
 96 */
 97 
 98 NLM_EXTERN Boolean VecScreenAsynchronousRequest (
 99   CharPtr database,
100   BioseqPtr bsp,
101   VQUEUE* queue,
102   VecScreenResultProc resultproc,
103   VecScreenAnnounceProc announceproc,
104   VoidPtr userdata
105 );
106 
107 NLM_EXTERN Int4 VecScreenCheckQueue (
108   VQUEUE* queue
109 );
110 
111 NLM_EXTERN Int4 PrintVecScreenQueue (
112   VQUEUE* queue,
113   FILE *fp
114 );
115 
116 
117 #ifdef __cplusplus
118 }
119 #endif
120 
121 #undef NLM_EXTERN
122 #ifdef NLM_EXPORT
123 #define NLM_EXTERN NLM_EXPORT
124 #else
125 #define NLM_EXTERN
126 #endif
127 
128 #endif /* _VECSCNAPI_ */
129 
130 

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.