/ src / libnml / nml / stat_msg.hh
stat_msg.hh
  1  /********************************************************************
  2  * Description: stat_msg.hh
  3  *
  4  *   Derived from a work by Fred Proctor & Will Shackleford
  5  *
  6  * Author:
  7  * License: LGPL Version 2
  8  * System: Linux
  9  *    
 10  * Copyright (c) 2004 All rights reserved.
 11  *
 12  * Last change: 
 13  ********************************************************************/
 14  #ifndef RCS_STAT_HH
 15  #define RCS_STAT_HH
 16  
 17  #include "nml.hh"
 18  #include "nmlmsg.hh"
 19  
 20  class RCS_STAT_MSG:public NMLmsg {
 21    public:
 22      RCS_STAT_MSG(NMLTYPE t, size_t sz);
 23      NMLTYPE command_type;
 24      int echo_serial_number;
 25      int status;
 26      int state;
 27      int line;
 28      int source_line;
 29      char source_file[64];
 30  
 31  };
 32  
 33  extern int RCS_STAT_MSG_format(NMLTYPE, void *, CMS *);
 34  
 35  class RCS_STAT_CHANNEL:public NML {
 36    public:
 37      RCS_STAT_CHANNEL(NML_FORMAT_PTR, const char *, const char *, const char *,
 38  	int set_to_server = 0);
 39       ~RCS_STAT_CHANNEL();
 40      RCS_STAT_MSG *get_address() {
 41  	return ((RCS_STAT_MSG *) NML::get_address());
 42      };
 43  };
 44  
 45  #define RCS_GENERIC_STATUS_TYPE         ((NMLTYPE) 2000000)
 46  
 47  class RCS_GENERIC_STATUS:public RCS_STAT_MSG {
 48    public:
 49      RCS_GENERIC_STATUS();
 50      void update(CMS *);
 51  };
 52  
 53  enum RCS_STATE
 54  {
 55    UNINITIALIZED_STATE = -1,
 56    NEW_COMMAND = -2,
 57    NOP_STATE = -3,
 58    SE0 = -10,
 59    SE1 = -11,
 60    SE2 = -12,
 61    SE3 = -13,
 62    SE4 = -14,
 63    SE5 = -15,
 64    SE6 = -16,
 65    SE7 = -17,
 66    SE8 = -18,
 67    SE9 = -19,
 68    S0 = 0,
 69    S1 = 1,
 70    S2 = 2,
 71    S3 = 3,
 72    S4 = 4,
 73    S5 = 5,
 74    S6 = 6,
 75    S7 = 7,
 76    S8 = 8,
 77    S9 = 9,
 78    S10 = 10,
 79    S11 = 11,
 80    S12 = 12,
 81    S13 = 13,
 82    S14 = 14,
 83    S15 = 15,
 84    S16 = 16,
 85    S17 = 17,
 86    S18 = 18,
 87    S19 = 19,
 88    S20 = 20,
 89    S21 = 21,
 90    S22 = 22,
 91    S23 = 23,
 92    S24 = 24,
 93    S25 = 25,
 94    S26 = 26,
 95    S27 = 27,
 96    S28 = 28,
 97    S29 = 29,
 98    S30 = 30,
 99    S31 = 31,
100    S32 = 32,
101    S33 = 33,
102    S34 = 34,
103    S35 = 35,
104    S36 = 36,
105    S37 = 37,
106    S38 = 38,
107    S39 = 39
108  };
109  
110  #endif