#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <string.h>

#define MKEY1           1234L
#define MKEY2           2345L
#define PERMS           0666
#define MAXMESGDATA     42 

typedef enum {
    RESULT  = 1,
    ERROR,
    NODEFAILURE
} MesgType; 
    
typedef struct {
    int         mtype;
    MesgType    msubtype;
    char        mtext[MAXMESGDATA];
} Mesg;

typedef struct {
    long        mtype;
    MesgType    msubtype;
    int         ribId;
    u_long      prognum;
} ResultMesg;

typedef struct {
    long        mtype;
    MesgType    msubtype;
    int         len;
    char        error[30];
} ErrorMesg;

typedef struct {
    long        mtype;
    MesgType    msubtype;
    int         nodeId;
} FailureMesg;

typedef struct {
    long    mtype;
    int     nodeId;
    char    ipaddr[40];
} TimerMesg;


