00001
00013 #ifndef CCTALK_PKTS_H
00014 #define CCTALK_PKTS_H
00015
00020 enum eCCTALK_PACKET_CONSTANTS
00021 {
00022 eCCT_PKT_VERSION = 1,
00024 eCCT_PKT_IDENTIFIER = 0x20041021
00025 };
00026
00035 enum eCCTALK_PACKET_TYPES
00036 {
00037 eCCT_PKT_NOT_USED = 0,
00038 eCCT_PKT_ERROR_MSG,
00040 eCCT_PKT_OPERATION,
00041 eCCT_PKT_GET_OPER,
00042 eCCT_PKT_OP_REPLY,
00044 eCCT_PKT_OPEN_CHANNEL,
00045 eCCT_PKT_CLOSE_CHANNEL,
00046 eCCT_PKT_OPER_STATUS,
00048 eCCT_PKT_FORCE_CLOSE,
00052 eCT_PKT_SERVER_DIE,
00055 eCCT_PKT_THE_END
00056 };
00057
00058
00066 typedef unsigned short __attribute__((packed)) tCHECKSUM;
00067
00068
00079 typedef struct
00080 {
00081 unsigned long lMagicNo;
00082 unsigned long lPktSize;
00083 unsigned long lPktVersion;
00087 unsigned long lPktType;
00089 } __attribute__((packed)) tsCCTALK_SOCK_PKT_HDR;
00090
00091
00095 typedef struct
00096 {
00097 tsCCTALK_SOCK_PKT_HDR sHdr;
00098 unsigned long lErrorMsg;
00099 tCHECKSUM tChecksum;
00101 } __attribute__((packed)) tsCCTALK_PKT_ERROR_MSG;
00102
00103
00111 typedef struct
00112 {
00113 tsCCTALK_SOCK_PKT_HDR sHdr;
00114 tsCCTALK_OPERATION sCctOp;
00115 tCHECKSUM tChecksum;
00117 } __attribute__((packed)) tsCCTALK_OPERATION_PKT;
00118
00119
00126 typedef struct
00127 {
00128 tsCCTALK_SOCK_PKT_HDR sHdr;
00129 teCCTALK_CHANNEL eCctChannel;
00130 union
00131 {
00132 unsigned long l32BitValue;
00133 teCCTALK_SPEED eCctChSpd;
00134 } uDat;
00135 tCHECKSUM tChecksum;
00136 } __attribute__((packed)) tsCCT_PKT_CHANNEL_CMD;
00137
00138
00147 typedef struct
00148 {
00149 tsCCTALK_SOCK_PKT_HDR sHdr;
00150 tsCCTALK_OPERATION sCctOp;
00151 teCCTALK_ERRORS eCctErr;
00152 tCHECKSUM tChecksum;
00154 } __attribute__((packed)) tsCCTALK_OP_REPLY_PKT;
00155
00156
00157 #endif