/** * @file datatype.h * \brief 数据结构类型定义 * @author tyler tyler_cncq@msn.com * @version 1.0 * @date 2012-06-03 */ #ifndef _PTT_DATATYPE_H_ #define _PTT_DATATYPE_H_ //#include "pro_conf.h" //#include "datalist.h" //ADD[yaojingya]<更改group结构,member存储方式为dlist> /** @defgroup 基础类型 * 基础类型定义 * @{ */ typedef unsigned char T_BYTE; ///< 字节 typedef char T_INT8; ///< 8位整数 typedef unsigned char T_UINT8; ///< 8位无符号整数 typedef short T_INT16; ///< 16位整数 typedef unsigned short T_UINT16; ///< 16位无符号整数 typedef int T_INT32; ///< 32位整数 typedef unsigned int T_UINT32; ///< 32位无符号整数 #if SUPPORT_INT64 typedef _t_int64 T_INT64; ///< 64位整数 typedef _t_uint64 T_UINT64; ///< 64位无符号 #endif // UNICODE for default string codec typedef T_UINT16 T_CHAR; ///< 字符类型,所有字符及字符串默认采用LittleEndian的UNICODE typedef T_CHAR T_NAME[32]; ///< UNICDOE 字符串,用来表示用户名字,组名字等名称,最多32个字符共64字节,如果不够32字符必须以0结尾 typedef char T_PASSWORD[32]; ///< ansii 字符串,用来表示密码,最多16个字符,如果不够16个字符必须以0结尾 typedef T_UINT32 T_UID; ///< user id typedef T_UINT8 T_UTYPE; ///< user type; typedef T_UINT32 T_GID; ///< chat room/conversation/group id,uint,4 bytes typedef T_UINT32 T_SYSGID; ///< system group id in db table (department id) typedef T_UINT8 T_GTYPE; ///< chat room/group type typedef T_UINT16 T_CMD_CODE; ///< command code; typedef T_UINT16 T_INDEX; ///< data packet index,start from 0 typedef T_UINT8 T_STATE; ///< user state,online or offline typedef T_UINT8 T_CODEC; ///< 语音编码,默认录音参数为8000KHZ,signed 16位采样,单声道 typedef T_UINT32 T_TOKEN; ///< 发言权令牌,在聊天频道中只有拥有了令牌才能发言 #if defined PLATFORM_MS5700 typedef T_UINT8 T_BOOL; #else typedef enum{ FALSE, TRUE }T_BOOL; #endif /** @} */ typedef enum{ IPD_IP, IPD_DOMAIN }IPD_ENUM; typedef enum{ TUP_TCP=0x30, TUP_UDP=0x31 }TUP_ENUM; #define IP_DOMAIN_SIZE 50 #define IP_SIZE 15 #include "log.h" #endif