mdsupport.h

Go to the documentation of this file.
00001 /********************************************************************\
00002 
00003   Name:         mdsupport.h
00004   Created by:   Pierre Amaudruz, Stefan Ritt
00005 
00006   Contents:     Declarations for mdsupport.c for mdump, logger, lazylogger support
00007 
00008   $Id$
00009 
00010 \********************************************************************/
00011 
00012 /**dox***************************************************************/
00013 /** @file mdsupport.h
00014 The mdsupport include file
00015 */
00016 
00017 /** @defgroup mdsupportincludecode The mdsupport.h & mdsupport.c
00018  */
00019 
00020 /** @defgroup mdsupportdefineh Midas dump support Define 
00021  */
00022 
00023 /** @defgroup mdsupportmacroh Midas dump support Macros 
00024  */
00025 
00026 /** @defgroup mdsupporterrorh Midas dump error code 
00027  */
00028 
00029 /**dox***************************************************************/
00030 /** @addtogroup mdsupportincludecode
00031  *  
00032  *  @{  */
00033 
00034 /**dox***************************************************************/
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 
00037 #ifdef OS_WINNT
00038 #include <io.h>
00039 #include <time.h>
00040 #endif
00041 #include <fcntl.h>
00042 #include <stdlib.h>
00043 #include <stdio.h>
00044 #include <string.h>
00045 #include <sys/stat.h>
00046 #include <sys/types.h>
00047 
00048 #ifndef EXPRT
00049 #define EXPRT
00050 #endif
00051 
00052 /**dox***************************************************************/
00053 #endif                          /* DOXYGEN_SHOULD_SKIP_THIS */
00054 
00055 /********************************************************************/
00056 /**dox***************************************************************/
00057 /** @addtogroup mdsupporterrorh
00058  *  
00059  *  @{  */
00060 #define MD_SUCCESS               1     /**< Ok */
00061 #define MD_EVENT_NOT_SWAPPED     2     /**< Not swapped */
00062 #define MD_DONE                  2     /**< Operation complete */
00063 #define MD_WRONG_BANK_TYPE    -100     /**< Wrong bank type (see @ref MDSUPPORT_Bank_Types) */
00064 #define MD_BANK_NOT_FOUND     -101     /**< Bank not found */
00065 #define MD_SWAP_ERROR         -102     /**< Error swapping */
00066 #define MD_NOMORE_SLOT        -103     /**< No more space for fragment */
00067 #define MD_UNKNOWN_FORMAT     -104     /**< Unknown format (see @ref MDSUPPORT_format) */
00068 
00069 /**dox***************************************************************/
00070 /** @} */ /* end of mdsupporterrorh */
00071 
00072 /**dox***************************************************************/
00073 /** @addtogroup mdsupportdefineh
00074  *  
00075  *  @{  */
00076 /**
00077 Display parameters */
00078 #define D_RECORD       1     /**<  */
00079 #define D_HEADER       2     /**<  */
00080 #define D_EVTLEN       3     /**<  */
00081 
00082 /**
00083 Display mode options */
00084 #define DSP_RAW    1         /**< Display raw data */
00085 #define DSP_RAW_SINGLE    2  /**< Display raw data (no single mode) */
00086 #define DSP_BANK   3         /**< Display data in bank format */
00087 #define DSP_BANK_SINGLE   4  /**< Display only requested data in bank format */
00088 
00089 /**
00090 Display format */
00091 #define DSP_UNK    0  /**< Display format unknown */
00092 #define DSP_DEC    1  /**< Display data in decimal format*/
00093 #define DSP_HEX    2  /**< Display data in headecimal format */
00094 #define DSP_ASC    3  /**< Display data in ASCII format */
00095 
00096 #define NLINE              8    /* number of elements for display routine */
00097 
00098 #define MD_BANKLIST_MAX        32     /**< maximum number of banks to be found 
00099                                          by the bk_list() */
00100 #define MD_STRING_BANKLIST_MAX          MD_BANKLIST_MAX * 4
00101                                        /**< to be used for bk_list() */
00102 /**dox***************************************************************/
00103 /** @} */ /* end of mdsupportdefineh */
00104 
00105 /**dox***************************************************************/
00106 /** @addtogroup mdsupportmacroh
00107  *  
00108  *  @{  */
00109 /** @} */ /* end of mdsupportmacroh */
00110 
00111 /**dox***************************************************************/
00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00113 
00114 /*---- function declarations ---------------------------------------*/
00115 /* make functions callable from a C++ program */
00116 #ifdef __cplusplus
00117 extern "C" {
00118 #endif
00119 
00120   INT  mftp_open(char *destination, FTP_CON ** con);
00121   void EXPRT md_bank_display(void *pmbh, void *pbk, INT fmt, INT dsp_mode, INT dsp_fmt);
00122   void EXPRT md_event_display(void *pevt, INT data_fmt, INT dsp_mode, INT dsp_fmt, char * bn);
00123   INT EXPRT md_all_info_display(INT what);
00124   INT EXPRT md_physrec_display(INT data_fmt);
00125   INT EXPRT md_physrec_skip(INT data_fmt, INT bl);
00126   INT EXPRT md_physrec_get(INT data_fmt, void **prec, DWORD * psize);
00127   INT EXPRT md_file_rclose(INT data_fmt);
00128   INT EXPRT md_file_ropen(char *infile, INT data_fmt);
00129   INT EXPRT md_file_wopen(INT type, INT data_fmt, char *filename, INT * hDev);
00130   INT EXPRT md_file_wclose(INT handle, INT type, INT data_fmt, char *filename);
00131   INT EXPRT md_log_write(INT handle, INT data_fmt, INT type, void *prec, DWORD nbytes);
00132   INT EXPRT md_event_swap(INT data_fmt, void *pevent);
00133   INT EXPRT md_event_get(INT data_fmt, void **pevent, DWORD * psize);
00134   
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 
00139 /*------------ END --------------------------------------------------------------*/
00140 /**dox***************************************************************/
00141 #endif                          /* DOXYGEN_SHOULD_SKIP_THIS */
00142 
00143 /**dox***************************************************************/
00144 /** @} */ /* end of mdsupportincludecode */

Midas DOC Version 3.0.0 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk