erlang自定义二进制协议
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

226 lines
4.9 KiB

  1. -opaque int8() :: -128..127.
  2. -opaque int16() :: -32768..32767.
  3. -opaque int32() :: -2147483648..2147483647.
  4. -opaque int64() :: -9223372036854775808..9223372036854775807.
  5. -opaque uint8() :: 0..255.
  6. -opaque uint16() :: 0..65536.
  7. -opaque uint32() :: 0..4294967295.
  8. -opaque uint64() :: 0..18446744073709551615.
  9. -opaque double() :: float().
  10. -define(err1, 1). %% 辅导费
  11. -define(err2, 2). %% 444
  12. -define(err3, 3). %% 辅导费
  13. -define(err4, 4). %% dfsf
  14. -define(err5, 5). %% 其他注释辅导费
  15. -define(err6, 6). %% dfff
  16. -define(err7, 7). %% def
  17. -define(err8, 8). %% 其他注释辅导费
  18. -define(err1, 1001). %% 辅导费
  19. -define(err2, 1002). %% 444
  20. -define(err3, 1003). %% 辅导费
  21. -define(err4, 1004). %% dfsf
  22. -define(err5, 1005). %% 其他注释辅导费
  23. -define(err6, 1006). %% dfff
  24. -define(err7, 1007). %% def
  25. -define(err8, 1008). %% 其他注释辅导费
  26. -record(test ,{
  27. aa = "" :: string()
  28. }).
  29. -record(phoneNumber ,{
  30. number = undefined :: #test{}
  31. , type = 0 :: int32()
  32. }).
  33. -record(person ,{
  34. name = "" :: string()
  35. , id = 0 :: int32()
  36. , email = "" :: string()
  37. , phone = [] :: [#phoneNumber{}]
  38. }).
  39. -record(addressBook ,{
  40. person = [] :: [#person{}]
  41. , other = [] :: [#person{}]
  42. }).
  43. -record(union ,{
  44. test = "" :: string()
  45. , type = 0 :: int32()
  46. }).
  47. -record(tbool ,{
  48. bool = false :: boolean()
  49. }).
  50. -record(tint8 ,{
  51. int1 = 0 :: int8()
  52. , int2 = 0 :: int8()
  53. }).
  54. -record(tuint8 ,{
  55. int1 = 0 :: uint8()
  56. , int2 = 0 :: uint8()
  57. }).
  58. -record(tint16 ,{
  59. int1 = 0 :: int16()
  60. , int2 = 0 :: int16()
  61. }).
  62. -record(tuint16 ,{
  63. int1 = 0 :: uint16()
  64. , int2 = 0 :: uint16()
  65. }).
  66. -record(tint32 ,{
  67. int1 = 0 :: int32()
  68. , int2 = 0 :: int32()
  69. }).
  70. -record(tuint32 ,{
  71. int1 = 0 :: uint32()
  72. , int2 = 0 :: uint32()
  73. }).
  74. -record(tint64 ,{
  75. int1 = 0 :: int64()
  76. , int2 = 0 :: int64()
  77. }).
  78. -record(tuint64 ,{
  79. int1 = 0 :: uint64()
  80. , int2 = 0 :: uint64()
  81. }).
  82. -record(tinteger ,{
  83. int1 = 0 :: integer()
  84. , int2 = 0 :: integer()
  85. , int3 = 0 :: integer()
  86. , int4 = 0 :: integer()
  87. , int5 = 0 :: integer()
  88. , int6 = 0 :: integer()
  89. , int7 = 0 :: integer()
  90. , int8 = 0 :: integer()
  91. }).
  92. -record(tnumber ,{
  93. int1 = 0 :: number()
  94. , int2 = 0 :: number()
  95. , int3 = 0 :: number()
  96. , int4 = 0 :: number()
  97. , int5 = 0 :: number()
  98. , int6 = 0 :: number()
  99. , int7 = 0 :: number()
  100. , int8 = 0 :: number()
  101. , float1 = 0 :: number()
  102. , float2 = 0 :: number()
  103. }).
  104. -record(tfloat ,{
  105. int1 = 0.0 :: float()
  106. , int2 = 0.0 :: float()
  107. }).
  108. -record(tdouble ,{
  109. int1 = 0.0 :: double()
  110. , int2 = 0.0 :: double()
  111. }).
  112. -record(tstring ,{
  113. int1 = "" :: string()
  114. , int2 = "" :: string()
  115. }).
  116. -record(tlistbool ,{
  117. int1 = [] :: [boolean()]
  118. }).
  119. -record(tlistint8 ,{
  120. int1 = [] :: [int8()]
  121. }).
  122. -record(tlistuint8 ,{
  123. int1 = [] :: [uint8()]
  124. }).
  125. -record(tlistint16 ,{
  126. int1 = [] :: [int16()]
  127. }).
  128. -record(tlistuint16 ,{
  129. int1 = [] :: [uint16()]
  130. }).
  131. -record(tlistint32 ,{
  132. int1 = [] :: [int32()]
  133. }).
  134. -record(tlistuint32 ,{
  135. int1 = [] :: [uint32()]
  136. }).
  137. -record(tlistint64 ,{
  138. int1 = [] :: [int64()]
  139. }).
  140. -record(tlistuint64 ,{
  141. int1 = [] :: [uint64()]
  142. }).
  143. -record(tlistinteger ,{
  144. int1 = [] :: [integer()]
  145. }).
  146. -record(tlistnumber ,{
  147. int1 = [] :: [number()]
  148. }).
  149. -record(tlistfloat ,{
  150. int1 = [] :: [float()]
  151. }).
  152. -record(tlistdouble ,{
  153. int1 = [] :: [double()]
  154. }).
  155. -record(tliststring ,{
  156. int1 = [] :: [string()]
  157. }).
  158. -record(tlistunion ,{
  159. int1 = [] :: [#union{}]
  160. }).
  161. -record(allType ,{
  162. bool = false :: boolean()
  163. , int8 = 0 :: int8()
  164. , uint8 = 0 :: uint8()
  165. , int16 = 0 :: int16()
  166. , uint16 = 0 :: uint16()
  167. , int32 = 0 :: int32()
  168. , uint32 = 0 :: uint32()
  169. , int64 = 0 :: int64()
  170. , uint64 = 0 :: uint64()
  171. , inte8 = 0 :: integer()
  172. , uinte8 = 0 :: integer()
  173. , inte16 = 0 :: integer()
  174. , uinte16 = 0 :: integer()
  175. , inte32 = 0 :: integer()
  176. , uinte32 = 0 :: integer()
  177. , inte64 = 0 :: integer()
  178. , uinte64 = 0 :: integer()
  179. , num8 = 0 :: number()
  180. , unum8 = 0 :: number()
  181. , num16 = 0 :: number()
  182. , unum16 = 0 :: number()
  183. , num32 = 0 :: number()
  184. , unum32 = 0 :: number()
  185. , num64 = 0 :: number()
  186. , unum64 = 0 :: number()
  187. , numfloat = 0 :: number()
  188. , numdouble = 0 :: number()
  189. , float = 0.0 :: float()
  190. , double = 0.0 :: double()
  191. , string1 = "" :: string()
  192. , string2 = "" :: string()
  193. , union = undefined :: #union{}
  194. , lbool = [] :: [boolean()]
  195. , lint8 = [] :: [int8()]
  196. , luint8 = [] :: [uint8()]
  197. , lint16 = [] :: [int16()]
  198. , luint16 = [] :: [uint16()]
  199. , lint32 = [] :: [int32()]
  200. , luint32 = [] :: [uint32()]
  201. , lint64 = [] :: [int64()]
  202. , luint64 = [] :: [uint64()]
  203. , linte8 = [] :: [integer()]
  204. , linte16 = [] :: [integer()]
  205. , linte32 = [] :: [integer()]
  206. , linte64 = [] :: [integer()]
  207. , lnum8 = [] :: [number()]
  208. , lnum16 = [] :: [number()]
  209. , lnum32 = [] :: [number()]
  210. , lnum64 = [] :: [number()]
  211. , lnfloat32 = [] :: [number()]
  212. , lnfloat64 = [] :: [number()]
  213. , lfloat = [] :: [float()]
  214. , ldouble = [] :: [double()]
  215. , lstring = [] :: [string()]
  216. , lunion = [] :: [#union{}]
  217. }).
  218. -record(person1 ,{
  219. name = "" :: string()
  220. , id = 0 :: int32()
  221. , email = "" :: string()
  222. , phone = [] :: [#phoneNumber{}]
  223. }).