00001 #ifndef RC_SYSSTATE_HH
00002 #define RC_SYSSTATE_HH
00003
00004 #include "RC_Config.h"
00005
00006 struct SysTaskState
00007 {
00008 u_short node;
00009 u_char task;
00010 u_char inrun;
00011 char name[MAX_STR_LEN];
00012 int state;
00013 };
00014
00015 struct SysState
00016 {
00017 SysTaskState states[MAX_NODES];
00018 int gState;
00019 };
00020
00021
00022 struct RtsErrorMsg
00023 {
00024 u_short node;
00025 u_char task;
00026 u_char dummy;
00027 char msg[256];
00028 };
00029
00030 #ifdef RTS_LITTLE_ENDIAN
00031 inline void swapSysState(SysState *s)
00032 {
00033 s->gState = ntohl(s->gState);
00034 for(int i=0;i<MAX_NODES;i++) {
00035 s->states[i].node = ntohs(s->states[i].node);
00036 s->states[i].state = ntohl(s->states[i].state);
00037 }
00038 }
00039
00040 inline void swapRtsErrorMessage(RtsErrorMsg *s)
00041 {
00042 s->node = ntohs(s->node);
00043 }
00044 #endif
00045
00046 #endif