Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SIO_definitions.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // CVS $Id: SIO_definitions.h,v 1.1 2003/03/06 11:01:23 gaede Exp $
00003 // ----------------------------------------------------------------------------
00004 // => Assorted definitions for the SIO package.
00005 // ----------------------------------------------------------------------------
00006 //
00007 // General Description:
00008 //
00009 // SIO_definitions.h provides all the static definitions for the SIO package.
00010 //
00011 // ----------------------------------------------------------------------------
00012 
00013 #ifndef SIO_DEFINITIONS_H
00014 #define SIO_DEFINITIONS_H 1
00015 
00016 //
00017 // Error format
00018 //
00019 #define SIO_M_SEVERITY              0x00000007
00020 #define SIO_M_MESSAGE               0x0000FFF8
00021 #define SIO_M_FACILITY              0x0FFF0000
00022 
00023 #define SIO_V_SEVERITY              0
00024 #define SIO_V_MESSAGE               3
00025 #define SIO_V_FACILITY              16
00026 
00027 //
00028 // Error codes ... stream
00029 //
00030 #define SIO_STREAM_FACILITY         0x08000000
00031 #define SIO_STREAM_SUCCESS          0x08000001
00032 #define SIO_STREAM_NOTFOUND         0x08000014
00033 #define SIO_STREAM_ALREADYOPEN      0x08000024
00034 #define SIO_STREAM_OPENFAIL         0x08000034
00035 #define SIO_STREAM_BADMODE          0x08000044
00036 #define SIO_STREAM_NOTOPEN          0x08000054
00037 #define SIO_STREAM_GOTEOF           0x08000064
00038 #define SIO_STREAM_READONLY         0x08000074
00039 #define SIO_STREAM_WRITEONLY        0x08000084
00040 #define SIO_STREAM_NOSUCHRECORD     0x08000094
00041 #define SIO_STREAM_BADWRITE         0x080000a4
00042 #define SIO_STREAM_BADSTATE         0x080000b4
00043 #define SIO_STREAM_OFFEND           0x080000c4
00044 #define SIO_STREAM_NOALLOC          0x080000d4
00045 #define SIO_STREAM_EOF              0x080000e4
00046 #define SIO_STREAM_NORECMARKER      0x080000f4
00047 #define SIO_STREAM_BADCOMPRESS      0x08000104
00048 
00049 //
00050 // Error codes ... record
00051 //
00052 #define SIO_RECORD_FACILITY         0x08010000
00053 #define SIO_RECORD_SUCCESS          0x08010001
00054 #define SIO_RECORD_NOTFOUND         0x08010014
00055 #define SIO_RECORD_BADARGUMENT      0x08010024
00056 #define SIO_RECORD_DUPCONNECT       0x08010034
00057 #define SIO_RECORD_NOTCONNECTED     0x08010044
00058 #define SIO_RECORD_NOBLKMARKER      0x08010054
00059 
00060 //
00061 // Error codes ... block
00062 //
00063 #define SIO_BLOCK_FACILITY          0x08020000
00064 #define SIO_BLOCK_SUCCESS           0x08020001
00065 #define SIO_BLOCK_NOTFOUND          0x08020014
00066 #define SIO_BLOCK_SKIP              0x08020024
00067 
00068 //
00069 // Handy dandy unit specifiers.
00070 //
00071 #define SIO_KBYTE     0x00000400
00072 #define SIO_MBYTE     0x00100000
00073 
00074 //
00075 // To make version handling easier.
00076 //
00077 #define SIO_VERSION_ENCODE( major, minor )  (((major) << 16) + (minor))
00078 #define SIO_VERSION_MINOR( version )         ((version) & 0x0000ffff)
00079 #define SIO_VERSION_MAJOR( version )        (((version) & 0xffff0000) >> 16)
00080 
00081 //
00082 // Enumerations for stream mode, status and verbosity.
00083 //
00084 typedef enum {
00085     SIO_MODE_READ,
00086     SIO_MODE_WRITE_NEW,
00087     SIO_MODE_WRITE_APPEND,
00088     SIO_MODE_UNDEFINED
00089 } SIO_stream_mode; 
00090 
00091 typedef enum {
00092     SIO_OP_READ,
00093     SIO_OP_WRITE,
00094     SIO_OP_CLEAR
00095 } SIO_operation; 
00096 
00097 typedef enum {
00098     SIO_STATE_OPEN,
00099     SIO_STATE_CLOSED,
00100     SIO_STATE_ERROR
00101 } SIO_stream_state; 
00102 
00103 typedef enum {
00104     SIO_SILENT,
00105     SIO_ERRORS,
00106     SIO_ALL
00107 } SIO_verbosity;
00108 
00109 #endif
00110 
00111 
00112 
00113 
00114 
00115 

Generated on Sun Jun 3 06:32:01 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1