--- mah-jong-1.10.orig/cmsg_union.h
+++ mah-jong-1.10/cmsg_union.h
@@ -0,0 +1,57 @@
+typedef union _CMsgUnion {
+  /* Note that this type field relies on the fact that all
+     messages have type as their first field */
+ControllerMsgType type;
+CMsgErrorMsg error;
+CMsgInfoTilesMsg infotiles;
+CMsgStateSavedMsg statesaved;
+CMsgConnectReplyMsg connectreply;
+CMsgReconnectMsg reconnect;
+CMsgAuthReqdMsg authreqd;
+CMsgRedirectMsg redirect;
+CMsgPlayerMsg player;
+CMsgNewRoundMsg newround;
+CMsgGameMsg game;
+CMsgNewHandMsg newhand;
+CMsgPlayerDeclaresSpecialMsg playerdeclaresspecial;
+CMsgStartPlayMsg startplay;
+CMsgStopPlayMsg stopplay;
+CMsgPauseMsg pause;
+CMsgPlayerReadyMsg playerready;
+CMsgPlayerDrawsMsg playerdraws;
+CMsgPlayerDrawsLooseMsg playerdrawsloose;
+CMsgPlayerDiscardsMsg playerdiscards;
+CMsgClaimDeniedMsg claimdenied;
+CMsgPlayerDoesntClaimMsg playerdoesntclaim;
+CMsgDangerousDiscardMsg dangerousdiscard;
+CMsgPlayerClaimsPungMsg playerclaimspung;
+CMsgPlayerPungsMsg playerpungs;
+CMsgPlayerFormsClosedPungMsg playerformsclosedpung;
+CMsgPlayerClaimsKongMsg playerclaimskong;
+CMsgPlayerKongsMsg playerkongs;
+CMsgPlayerDeclaresClosedKongMsg playerdeclaresclosedkong;
+CMsgPlayerAddsToPungMsg playeraddstopung;
+CMsgPlayerRobsKongMsg playerrobskong;
+CMsgCanMahJongMsg canmahjong;
+CMsgPlayerClaimsChowMsg playerclaimschow;
+CMsgPlayerChowsMsg playerchows;
+CMsgPlayerFormsClosedChowMsg playerformsclosedchow;
+CMsgWashOutMsg washout;
+CMsgPlayerClaimsMahJongMsg playerclaimsmahjong;
+CMsgPlayerMahJongsMsg playermahjongs;
+CMsgPlayerPairsMsg playerpairs;
+CMsgPlayerFormsClosedPairMsg playerformsclosedpair;
+CMsgPlayerShowsTilesMsg playershowstiles;
+CMsgPlayerSpecialSetMsg playerspecialset;
+CMsgPlayerFormsClosedSpecialSetMsg playerformsclosedspecialset;
+CMsgPlayerOptionSetMsg playeroptionset;
+CMsgHandScoreMsg handscore;
+CMsgSettlementMsg settlement;
+CMsgGameOverMsg gameover;
+CMsgGameOptionMsg gameoption;
+CMsgChangeManagerMsg changemanager;
+CMsgMessageMsg message;
+CMsgWallMsg wall;
+CMsgCommentMsg comment;
+CMsgSwapTileMsg swaptile;
+} CMsgUnion;
