datatype.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * @file datatype.h
  3. * \brief 数据结构类型定义
  4. * @author tyler tyler_cncq@msn.com
  5. * @version 1.0
  6. * @date 2012-06-03
  7. */
  8. #ifndef _PTT_DATATYPE_H_
  9. #define _PTT_DATATYPE_H_
  10. //#include "pro_conf.h"
  11. //#include "datalist.h" //ADD[yaojingya]<更改group结构,member存储方式为dlist>
  12. /** @defgroup 基础类型
  13. * 基础类型定义
  14. * @{
  15. */
  16. typedef unsigned char T_BYTE; ///< 字节
  17. typedef char T_INT8; ///< 8位整数
  18. typedef unsigned char T_UINT8; ///< 8位无符号整数
  19. typedef short T_INT16; ///< 16位整数
  20. typedef unsigned short T_UINT16; ///< 16位无符号整数
  21. typedef int T_INT32; ///< 32位整数
  22. typedef unsigned int T_UINT32; ///< 32位无符号整数
  23. #if SUPPORT_INT64
  24. typedef _t_int64 T_INT64; ///< 64位整数
  25. typedef _t_uint64 T_UINT64; ///< 64位无符号
  26. #endif
  27. // UNICODE for default string codec
  28. typedef T_UINT16 T_CHAR; ///< 字符类型,所有字符及字符串默认采用LittleEndian的UNICODE
  29. typedef T_CHAR T_NAME[32]; ///< UNICDOE 字符串,用来表示用户名字,组名字等名称,最多32个字符共64字节,如果不够32字符必须以0结尾
  30. typedef char T_PASSWORD[32]; ///< ansii 字符串,用来表示密码,最多16个字符,如果不够16个字符必须以0结尾
  31. typedef T_UINT32 T_UID; ///< user id
  32. typedef T_UINT8 T_UTYPE; ///< user type;
  33. typedef T_UINT32 T_GID; ///< chat room/conversation/group id,uint,4 bytes
  34. typedef T_UINT32 T_SYSGID; ///< system group id in db table (department id)
  35. typedef T_UINT8 T_GTYPE; ///< chat room/group type
  36. typedef T_UINT16 T_CMD_CODE; ///< command code;
  37. typedef T_UINT16 T_INDEX; ///< data packet index,start from 0
  38. typedef T_UINT8 T_STATE; ///< user state,online or offline
  39. typedef T_UINT8 T_CODEC; ///< 语音编码,默认录音参数为8000KHZ,signed 16位采样,单声道
  40. typedef T_UINT32 T_TOKEN; ///< 发言权令牌,在聊天频道中只有拥有了令牌才能发言
  41. #if defined PLATFORM_MS5700
  42. typedef T_UINT8 T_BOOL;
  43. #else
  44. typedef enum{
  45. FALSE,
  46. TRUE
  47. }T_BOOL;
  48. #endif
  49. /** @} */
  50. typedef enum{
  51. IPD_IP,
  52. IPD_DOMAIN
  53. }IPD_ENUM;
  54. typedef enum{
  55. TUP_TCP=0x30,
  56. TUP_UDP=0x31
  57. }TUP_ENUM;
  58. #define IP_DOMAIN_SIZE 50
  59. #define IP_SIZE 15
  60. #include "log.h"
  61. #endif