]> Pileus Git - ~andy/csm213a-hw/blobdiff - hw2/messages.h
Add readme and cleanup formatting cleanup
[~andy/csm213a-hw] / hw2 / messages.h
index 2e84107aee849df9c071657aa05e103727c60520..275e7857c0f5aae970a331ff89d271c146267b91 100644 (file)
@@ -11,13 +11,14 @@ extern "C" {
  * Message Definitions *
  ***********************/
 
-#define MSG_HEADER       0x1234
+#define MSG_HEADER           0x1234
 
-#define MSG_VALID_DEVICE 0x0001  // device id is valid
-#define MSG_VALID_WORLD  0x0002  // world time is valid
-#define MSG_VALID_START  0x0004  // start time is valid
-#define MSG_VALID_PERIOD 0x0008  // period is valid
-#define MSG_VALID_SYNC   0x8000  // begin time sync
+#define MSG_CTL_VALID_DEVICE 0x0001  // device id is valid
+#define MSG_CTL_VALID_WORLD  0x0002  // world time is valid
+#define MSG_CTL_VALID_START  0x0004  // start time is valid
+#define MSG_CTL_VALID_PERIOD 0x0008  // period is valid
+#define MSG_CTL_RELAY_MODE   0x4000  // relay output messages
+#define MSG_CTL_BEGIN_SYNC   0x8000  // begin time sync
 
 #pragma pack(1)
 
@@ -41,10 +42,10 @@ typedef struct {
 } header_t;
 
 typedef struct {
-       uint16_t valid;    // Message valid bits
+       uint16_t control;  // Message control bits
        uint16_t device;   // Device ID to use
        ntime_t  world;    // World time (since 1970)
-       ntime_t  start;    // Transmit start time 
+       ntime_t  start;    // Transmit start time
        ntime_t  period;   // Transmit period
 } init_msg_t;
 
@@ -65,7 +66,7 @@ typedef struct {
  * Message Parser *
  ******************/
 
-typedef void (*handler_t)(int msgid, void *msg);
+typedef void (*handler_t)(header_t *head, void *body);
 
 typedef struct {
        int       index;