Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

global_msg.h

Go to the documentation of this file.
00001 /*
00002 **
00003 */
00004 #ifndef _GLOBAL_MSG_H
00005 #define _GLOBAL_MSG_H
00006 
00007 #include <earthworm_defs.h> /* amp types */
00008 #include <transport.h>      /*  MSG_LOGO  */
00009 
00010 #define BUFF_OVERRUN_SIZE  20
00011 
00012 
00013 typedef int GLOBAL_MSG_STATUS;
00014 
00015 /*
00016 ** Ensure that error numbers are negative to avoid
00017 ** collision with some functions that return 0 - n for
00018 ** success
00019 */
00020 enum GLOBAL_MSG_STATUS_TYPES
00021 {
00022     GLOBAL_MSG_UNKNOWN      =   1 /* value is undetermined or not supplied (?)                    */
00023   , GLOBAL_MSG_SUCCESS      =   0 /* success                                                      */
00024   , GLOBAL_MSG_NULL         =  -1 /* item pointer is NULL                                         */
00025   , GLOBAL_MSG_VERSINVALID  =  -2 /* invalid version                                              */
00026   , GLOBAL_MSG_FORMATERROR  =  -3 /* invalid format (while parsing)                               */
00027   , GLOBAL_MSG_MAXCHILDREN  =  -4 /* too many children (applies to global location, phase)        */
00028   , GLOBAL_MSG_BADPARAM     =  -5 /* parameter error (e.g. string too long, index out of range)   */
00029   , GLOBAL_MSG_TOOSMALL     =  -6 /* [buffer] too small to contain message                        */
00030   , GLOBAL_MSG_BADCHILD     =  -7 /* invalid child line                                           */
00031   , GLOBAL_MSG_DEFINESMALL  =  -9 /* max buffer size too small for normal write                   */
00032   , GLOBAL_MSG_BADAMPTYPE   = -10 /* amp magtype not defined                                      */
00033 };
00034 
00035 
00036 
00037 /* ==========================================================================
00038 **                    FUNCTION DECLARATIONS
00039 ** ========================================================================= */
00040 
00041 /*
00042 ** DTStringToTime()
00043 **
00044 **  "YYYYMMDDHHMMss.sss" --> double (secs since 1/1/1970)
00045 */
00046 double DTStringToTime( const char * p_datestring );
00047 
00048 /*
00049 ** DTStringToTime()
00050 **
00051 **  double --> "YYYYMMDDHHMMss.sss"
00052 **
00053 **  p_buffer must be at least 19 chars long
00054 **
00055 **  RETURNS
00056 **     GLOBAL_MSG_SUCCESS
00057 **     GLOBAL_MSG_NULL -- p_buffer is null
00058 */
00059 int TimeToDTString( const double p_time, char * p_buffer );
00060 
00061 
00062 /* EncodeAuthor() -- encodes author from logo
00063 **
00064 ** RETURNS
00065 **     GLOBAL_MSG_SUCCESS
00066 **     GLOBAL_MSG_NULLSTRUCT -- buffer pointer is NULL
00067 */
00068 GLOBAL_MSG_STATUS EncodeAuthor( MSG_LOGO   p_logo
00069                               , char     * r_buffer
00070                               );
00071 
00072 /* DecodeAuthor() -- decodes logo from author
00073 **
00074 ** RETURNS
00075 **     GLOBAL_MSG_SUCCESS
00076 **     GLOBAL_MSG_NULLSTRUCT -- buffer pointer is NULL
00077 **     GLOBAL_MSG_BADPARAM -- buffer string is invalid length
00078 **     GLOBAL_MSG_FORMATERROR -- number conversion error
00079 */
00080 GLOBAL_MSG_STATUS DecodeAuthor( MSG_LOGO * p_logo
00081                               , char     * r_buffer
00082                               );
00083 
00084 
00085 /* GetGlobalAmpTypeName
00086 **
00087 **   A little helper function to obtain the character string
00088 **   for the specified type code
00089 */
00090 const char * GetGlobalAmpTypeName( AMPLITUDE_TYPE p_type );
00091 
00092 
00093 #endif

Generated on Tue May 6 09:16:02 2003 for Earthworm Libs by doxygen1.3-rc3