#define MAXUSER 32 struct _Packet { short pk_Flag; /* Control info on packets */ short pk_User; char pk_Line[128]; }; typedef struct _Packet M_PACKET; struct PkHead { short pk_Current; }; struct _User { char us_Name[32]; char us_UserName[8]; short us_Flags; char us_Channel[16]; }; #define UF_USED 1 /* Slot allocated */ #define UF_LOGIN 2 /* * This structure represents the entire shared memory segment */ struct HighSegment { struct PkHead hs_Header; /* Message header */ struct _User hs_Users[MAXUSER]; /* All the people */ struct _Packet hs_Data[200]; /* Cyclic Buffers */ short hs_Magic; }; typedef struct HighSegment HISEG; #define RUN_MAGIC 0x7521 #define CRASH_MAGIC 0x0dea