Source code of Windows XP (NT5)
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.

566 lines
27 KiB

  1. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name :
  4. tokntbl.h
  5. Abstract :
  6. This file contains the template for the token tables used in marshalling,
  7. unmarshalling, memsizeing, buffersizing, freeing, and type attributes.
  8. Author :
  9. Mike Zoran mzoran March 2000.
  10. Revision History :
  11. ---------------------------------------------------------------------*/
  12. // The following macros need to be defined by users of this table
  13. //
  14. // NDR64_BEGIN_TABLE -- Begining of the table
  15. // NDR64_TABLE_END -- End of table
  16. // NDR64_ZERO_ENTRY -- First entry in the table
  17. // NDR64_TABLE_ENTRY( number, tokenname,
  18. // marshal, embeddedmarshal,
  19. // unmarshal, embeddedunmarshal,
  20. // buffersize, embeddedbuffersize,
  21. // memsize, embeddedmemsize,
  22. // free, embeddedfree,
  23. // typeflags )
  24. // NDR64_SIMPLE_TYPE_TABLE_ENTRY( number, tokenname,
  25. // simpletypebuffersize,
  26. // simpletypememorysize )
  27. // NDR64_UNUSED_TABLE_ENTRY( number, tokenname )
  28. // NDR64_UNUSED_TABLE_ENTRY_NOSYM( number )
  29. //
  30. NDR64_BEGIN_TABLE
  31. // Simple Types
  32. NDR64_ZERO_ENTRY
  33. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x1, FC64_UINT8, 1, 1 )
  34. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x2, FC64_INT8, 1, 1 )
  35. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x3, FC64_UINT16, 2, 2 )
  36. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x4, FC64_INT16, 2, 2 )
  37. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x5, FC64_INT32, 4, 4 )
  38. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x6, FC64_UINT32, 4, 4 )
  39. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x7, FC64_INT64, 8, 8 )
  40. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x8, FC64_UINT64, 8, 8 )
  41. NDR64_UNUSED_TABLE_ENTRY( 0x9, FC64_INT128 )
  42. NDR64_UNUSED_TABLE_ENTRY( 0xA, FC64_UINT128 )
  43. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0xB, FC64_FLOAT32, 4, 4 )
  44. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0xC, FC64_FLOAT64, 8, 8 )
  45. NDR64_UNUSED_TABLE_ENTRY( 0xD, FC64_FLOAT80 )
  46. NDR64_UNUSED_TABLE_ENTRY( 0xE, FC64_FLOAT128 )
  47. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF )
  48. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x10, FC64_CHAR, 1, 1 )
  49. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x11, FC64_WCHAR, 2, 2 )
  50. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x12, FC64_IGNORE, sizeof(NDR64_PTR_WIRE_TYPE), PTR_MEM_SIZE )
  51. NDR64_SIMPLE_TYPE_TABLE_ENTRY( 0x13, FC64_ERROR_STATUS_T, 4, 4 )
  52. NDR64_UNUSED_TABLE_ENTRY( 0x14, FC64_POINTER )
  53. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x15 )
  54. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x16 )
  55. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x17 )
  56. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x18 )
  57. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x19 )
  58. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1A )
  59. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1B )
  60. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1C )
  61. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1D )
  62. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1E )
  63. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x1F )
  64. // Pointers
  65. NDR64_TABLE_ENTRY( 0x20, FC64_RP,
  66. Ndr64TopLevelPointerMarshall, Ndr64EmbeddedPointerMarshall,
  67. Ndr64TopLevelPointerUnmarshall, Ndr64EmbeddedPointerUnmarshall,
  68. Ndr64TopLevelPointerBufferSize, Ndr64EmbeddedPointerBufferSize,
  69. Ndr64TopLevelPointerMemorySize, Ndr64EmbeddedPointerMemorySize,
  70. Ndr64TopLevelPointerFree, Ndr64EmbeddedPointerFree,
  71. _BASIC_POINTER_ | _POINTER_ )
  72. NDR64_TABLE_ENTRY( 0x21, FC64_UP,
  73. Ndr64TopLevelPointerMarshall, Ndr64EmbeddedPointerMarshall,
  74. Ndr64TopLevelPointerUnmarshall, Ndr64EmbeddedPointerUnmarshall,
  75. Ndr64TopLevelPointerBufferSize, Ndr64EmbeddedPointerBufferSize,
  76. Ndr64TopLevelPointerMemorySize, Ndr64EmbeddedPointerMemorySize,
  77. Ndr64TopLevelPointerFree, Ndr64EmbeddedPointerFree,
  78. _BASIC_POINTER_ | _POINTER_ )
  79. NDR64_TABLE_ENTRY( 0x22, FC64_OP,
  80. Ndr64TopLevelPointerMarshall, Ndr64EmbeddedPointerMarshall,
  81. Ndr64TopLevelPointerUnmarshall, Ndr64EmbeddedPointerUnmarshall,
  82. Ndr64TopLevelPointerBufferSize, Ndr64EmbeddedPointerBufferSize,
  83. Ndr64TopLevelPointerMemorySize, Ndr64EmbeddedPointerMemorySize,
  84. Ndr64TopLevelPointerFree, Ndr64EmbeddedPointerFree,
  85. _BASIC_POINTER_ | _POINTER_ )
  86. NDR64_TABLE_ENTRY( 0x23, FC64_FP,
  87. Ndr64TopLevelPointerMarshall, Ndr64EmbeddedPointerMarshall,
  88. Ndr64TopLevelPointerUnmarshall, Ndr64EmbeddedPointerUnmarshall,
  89. Ndr64TopLevelPointerBufferSize, Ndr64EmbeddedPointerBufferSize,
  90. Ndr64TopLevelPointerMemorySize, Ndr64EmbeddedPointerMemorySize,
  91. Ndr64TopLevelPointerFree, Ndr64EmbeddedPointerFree,
  92. _BASIC_POINTER_ | _POINTER_ )
  93. NDR64_TABLE_ENTRY( 0x24, FC64_IP,
  94. Ndr64TopLevelPointerMarshall, Ndr64EmbeddedPointerMarshall,
  95. Ndr64TopLevelPointerUnmarshall,Ndr64EmbeddedPointerUnmarshall,
  96. Ndr64TopLevelPointerBufferSize,Ndr64EmbeddedPointerBufferSize,
  97. Ndr64TopLevelPointerMemorySize,Ndr64EmbeddedPointerMemorySize,
  98. Ndr64TopLevelPointerFree, Ndr64EmbeddedPointerFree,
  99. _POINTER_ )
  100. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x25 )
  101. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x26 )
  102. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x27 )
  103. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x28 )
  104. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x29 )
  105. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2A )
  106. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2B )
  107. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2C )
  108. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2D )
  109. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2E )
  110. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x2F )
  111. // Structures
  112. NDR64_TABLE_ENTRY( 0x30, FC64_STRUCT,
  113. Ndr64SimpleStructMarshall, Ndr64SimpleStructMarshall,
  114. Ndr64SimpleStructUnmarshall, Ndr64SimpleStructUnmarshall,
  115. Ndr64SimpleStructBufferSize, Ndr64SimpleStructBufferSize,
  116. Ndr64SimpleStructMemorySize, Ndr64SimpleStructMemorySize,
  117. Ndr64pNoopFree, Ndr64pNoopFree,
  118. _STRUCT_ | _BY_VALUE_ )
  119. NDR64_TABLE_ENTRY( 0x31, FC64_PSTRUCT,
  120. Ndr64SimpleStructMarshall, Ndr64SimpleStructMarshall,
  121. Ndr64SimpleStructUnmarshall, Ndr64SimpleStructUnmarshall,
  122. Ndr64SimpleStructBufferSize, Ndr64SimpleStructBufferSize,
  123. Ndr64SimpleStructMemorySize, Ndr64SimpleStructMemorySize,
  124. Ndr64SimpleStructFree, Ndr64SimpleStructFree,
  125. _STRUCT_ | _BY_VALUE_ )
  126. NDR64_TABLE_ENTRY( 0x32, FC64_CONF_STRUCT,
  127. Ndr64ConformantStructMarshall, Ndr64ConformantStructMarshall,
  128. Ndr64ConformantStructUnmarshall, Ndr64ConformantStructUnmarshall,
  129. Ndr64ConformantStructBufferSize, Ndr64ConformantStructBufferSize,
  130. Ndr64ConformantStructMemorySize, Ndr64ConformantStructMemorySize,
  131. Ndr64ConformantStructFree, Ndr64ConformantStructFree,
  132. _STRUCT_ | _BY_VALUE_ )
  133. NDR64_TABLE_ENTRY( 0x33, FC64_CONF_PSTRUCT,
  134. Ndr64ConformantStructMarshall, Ndr64ConformantStructMarshall,
  135. Ndr64ConformantStructUnmarshall, Ndr64ConformantStructUnmarshall,
  136. Ndr64ConformantStructBufferSize, Ndr64ConformantStructBufferSize,
  137. Ndr64ConformantStructMemorySize, Ndr64ConformantStructMemorySize,
  138. Ndr64ConformantStructFree, Ndr64ConformantStructFree,
  139. _STRUCT_ | _BY_VALUE_ )
  140. NDR64_TABLE_ENTRY( 0x34, FC64_BOGUS_STRUCT,
  141. Ndr64ComplexStructMarshall, Ndr64ComplexStructMarshall,
  142. Ndr64ComplexStructUnmarshall, Ndr64ComplexStructUnmarshall,
  143. Ndr64ComplexStructBufferSize, Ndr64ComplexStructBufferSize,
  144. Ndr64ComplexStructMemorySize, Ndr64ComplexStructMemorySize,
  145. Ndr64ComplexStructFree, Ndr64ComplexStructFree,
  146. _STRUCT_ | _BY_VALUE_ )
  147. NDR64_TABLE_ENTRY( 0x35, FC64_FORCED_BOGUS_STRUCT,
  148. Ndr64ComplexStructMarshall, Ndr64ComplexStructMarshall,
  149. Ndr64ComplexStructUnmarshall, Ndr64ComplexStructUnmarshall,
  150. Ndr64ComplexStructBufferSize, Ndr64ComplexStructBufferSize,
  151. Ndr64ComplexStructMemorySize, Ndr64ComplexStructMemorySize,
  152. Ndr64ComplexStructFree, Ndr64ComplexStructFree,
  153. _STRUCT_ | _BY_VALUE_ )
  154. NDR64_TABLE_ENTRY( 0x36, FC64_CONF_BOGUS_STRUCT,
  155. Ndr64ComplexStructMarshall, Ndr64ComplexStructMarshall,
  156. Ndr64ComplexStructUnmarshall, Ndr64ComplexStructUnmarshall,
  157. Ndr64ComplexStructBufferSize, Ndr64ComplexStructBufferSize,
  158. Ndr64ComplexStructMemorySize, Ndr64ComplexStructMemorySize,
  159. Ndr64ComplexStructFree, Ndr64ComplexStructFree,
  160. _STRUCT_ | _BY_VALUE_ )
  161. NDR64_TABLE_ENTRY( 0x37, FC64_FORCED_CONF_BOGUS_STRUCT,
  162. Ndr64ComplexStructMarshall, Ndr64ComplexStructMarshall,
  163. Ndr64ComplexStructUnmarshall, Ndr64ComplexStructUnmarshall,
  164. Ndr64ComplexStructBufferSize, Ndr64ComplexStructBufferSize,
  165. Ndr64ComplexStructMemorySize, Ndr64ComplexStructMemorySize,
  166. Ndr64ComplexStructFree, Ndr64ComplexStructFree,
  167. _STRUCT_ | _BY_VALUE_ )
  168. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x38 )
  169. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x39 )
  170. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3A )
  171. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3B )
  172. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3C )
  173. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3D )
  174. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3E )
  175. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x3F )
  176. // Arrays
  177. NDR64_TABLE_ENTRY( 0x40, FC64_FIX_ARRAY,
  178. Ndr64FixedArrayMarshall, Ndr64FixedArrayMarshall,
  179. Ndr64FixedArrayUnmarshall, Ndr64FixedArrayUnmarshall,
  180. Ndr64FixedArrayBufferSize, Ndr64FixedArrayBufferSize,
  181. Ndr64FixedArrayMemorySize, Ndr64FixedArrayMemorySize,
  182. Ndr64FixedArrayFree, Ndr64FixedArrayFree,
  183. _ARRAY_ )
  184. NDR64_TABLE_ENTRY( 0x41, FC64_CONF_ARRAY,
  185. Ndr64ConformantArrayMarshall, Ndr64ConformantArrayMarshall,
  186. Ndr64ConformantArrayUnmarshall, Ndr64ConformantArrayUnmarshall,
  187. Ndr64ConformantArrayBufferSize, Ndr64ConformantArrayBufferSize,
  188. Ndr64ConformantArrayMemorySize, Ndr64ConformantArrayMemorySize,
  189. Ndr64ConformantArrayFree, Ndr64ConformantArrayFree,
  190. _ARRAY_ )
  191. NDR64_TABLE_ENTRY( 0x42, FC64_VAR_ARRAY,
  192. Ndr64VaryingArrayMarshall, Ndr64VaryingArrayMarshall,
  193. Ndr64VaryingArrayUnmarshall, Ndr64VaryingArrayUnmarshall,
  194. Ndr64VaryingArrayBufferSize, Ndr64VaryingArrayBufferSize,
  195. Ndr64VaryingArrayMemorySize, Ndr64VaryingArrayMemorySize,
  196. Ndr64VaryingArrayFree, Ndr64VaryingArrayFree,
  197. _ARRAY_ )
  198. NDR64_TABLE_ENTRY( 0x43, FC64_CONFVAR_ARRAY,
  199. Ndr64ConformantVaryingArrayMarshall, Ndr64ConformantVaryingArrayMarshall,
  200. Ndr64ConformantVaryingArrayUnmarshall, Ndr64ConformantVaryingArrayUnmarshall,
  201. Ndr64ConformantVaryingArrayBufferSize, Ndr64ConformantVaryingArrayBufferSize,
  202. Ndr64ConformantVaryingArrayMemorySize, Ndr64ConformantVaryingArrayMemorySize,
  203. Ndr64ConformantVaryingArrayFree, Ndr64ConformantVaryingArrayFree,
  204. _ARRAY_ )
  205. NDR64_TABLE_ENTRY( 0x44, FC64_FIX_FORCED_BOGUS_ARRAY,
  206. Ndr64ComplexArrayMarshall, Ndr64ComplexArrayMarshall,
  207. Ndr64ComplexArrayUnmarshall, Ndr64ComplexArrayUnmarshall,
  208. Ndr64ComplexArrayBufferSize, Ndr64ComplexArrayBufferSize,
  209. Ndr64ComplexArrayMemorySize, Ndr64ComplexArrayMemorySize,
  210. Ndr64ComplexArrayFree, Ndr64ComplexArrayFree,
  211. _ARRAY_ )
  212. NDR64_TABLE_ENTRY( 0x45, FC64_FIX_BOGUS_ARRAY,
  213. Ndr64ComplexArrayMarshall, Ndr64ComplexArrayMarshall,
  214. Ndr64ComplexArrayUnmarshall, Ndr64ComplexArrayUnmarshall,
  215. Ndr64ComplexArrayBufferSize, Ndr64ComplexArrayBufferSize,
  216. Ndr64ComplexArrayMemorySize, Ndr64ComplexArrayMemorySize,
  217. Ndr64ComplexArrayFree, Ndr64ComplexArrayFree,
  218. _ARRAY_ )
  219. NDR64_TABLE_ENTRY( 0x46, FC64_FORCED_BOGUS_ARRAY,
  220. Ndr64ComplexArrayMarshall, Ndr64ComplexArrayMarshall,
  221. Ndr64ComplexArrayUnmarshall, Ndr64ComplexArrayUnmarshall,
  222. Ndr64ComplexArrayBufferSize, Ndr64ComplexArrayBufferSize,
  223. Ndr64ComplexArrayMemorySize, Ndr64ComplexArrayMemorySize,
  224. Ndr64ComplexArrayFree, Ndr64ComplexArrayFree,
  225. _ARRAY_ )
  226. NDR64_TABLE_ENTRY( 0x47, FC64_BOGUS_ARRAY,
  227. Ndr64ComplexArrayMarshall, Ndr64ComplexArrayMarshall,
  228. Ndr64ComplexArrayUnmarshall, Ndr64ComplexArrayUnmarshall,
  229. Ndr64ComplexArrayBufferSize, Ndr64ComplexArrayBufferSize,
  230. Ndr64ComplexArrayMemorySize, Ndr64ComplexArrayMemorySize,
  231. Ndr64ComplexArrayFree, Ndr64ComplexArrayFree,
  232. _ARRAY_ )
  233. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x48 )
  234. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x49 )
  235. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4A )
  236. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4B )
  237. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4C )
  238. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4D )
  239. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4E )
  240. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x4F )
  241. // Unions
  242. NDR64_TABLE_ENTRY( 0x50, FC64_ENCAPSULATED_UNION,
  243. Ndr64UnionMarshall, Ndr64UnionMarshall,
  244. Ndr64UnionUnmarshall, Ndr64UnionUnmarshall,
  245. Ndr64UnionBufferSize, Ndr64UnionBufferSize,
  246. Ndr64UnionMemorySize, Ndr64UnionMemorySize,
  247. Ndr64UnionFree, Ndr64UnionFree,
  248. _UNION_ | _BY_VALUE_, )
  249. NDR64_TABLE_ENTRY( 0x51, FC64_NON_ENCAPSULATED_UNION,
  250. Ndr64UnionMarshall, Ndr64UnionMarshall,
  251. Ndr64UnionUnmarshall, Ndr64UnionUnmarshall,
  252. Ndr64UnionBufferSize, Ndr64UnionBufferSize,
  253. Ndr64UnionMemorySize, Ndr64UnionMemorySize,
  254. Ndr64UnionFree, Ndr64UnionFree,
  255. _UNION_ | _BY_VALUE_, )
  256. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x52 )
  257. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x53 )
  258. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x54 )
  259. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x55 )
  260. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x56 )
  261. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x57 )
  262. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x58 )
  263. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x59 )
  264. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5A )
  265. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5B )
  266. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5C )
  267. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5D )
  268. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5E )
  269. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x5F )
  270. // Strings
  271. NDR64_TABLE_ENTRY( 0x60, FC64_CHAR_STRING,
  272. Ndr64NonConformantStringMarshall, Ndr64NonConformantStringMarshall,
  273. Ndr64NonConformantStringUnmarshall, Ndr64NonConformantStringUnmarshall,
  274. Ndr64NonConformantStringBufferSize, Ndr64NonConformantStringBufferSize,
  275. Ndr64NonConformantStringMemorySize, Ndr64NonConformantStringMemorySize,
  276. Ndr64pNoopFree, Ndr64pNoopFree,
  277. _STRING_ )
  278. NDR64_TABLE_ENTRY( 0x61, FC64_WCHAR_STRING,
  279. Ndr64NonConformantStringMarshall, Ndr64NonConformantStringMarshall,
  280. Ndr64NonConformantStringUnmarshall, Ndr64NonConformantStringUnmarshall,
  281. Ndr64NonConformantStringBufferSize, Ndr64NonConformantStringBufferSize,
  282. Ndr64NonConformantStringMemorySize, Ndr64NonConformantStringMemorySize,
  283. Ndr64pNoopFree, Ndr64pNoopFree,
  284. _STRING_ )
  285. NDR64_TABLE_ENTRY( 0x62, FC64_STRUCT_STRING,
  286. Ndr64NonConformantStringMarshall, Ndr64NonConformantStringMarshall,
  287. Ndr64NonConformantStringUnmarshall, Ndr64NonConformantStringUnmarshall,
  288. Ndr64NonConformantStringBufferSize, Ndr64NonConformantStringBufferSize,
  289. Ndr64NonConformantStringMemorySize, Ndr64NonConformantStringMemorySize,
  290. Ndr64pNoopFree, Ndr64pNoopFree,
  291. _STRING_ )
  292. NDR64_TABLE_ENTRY( 0x63, FC64_CONF_CHAR_STRING,
  293. Ndr64ConformantStringMarshall, Ndr64ConformantStringMarshall,
  294. Ndr64ConformantStringUnmarshall, Ndr64ConformantStringUnmarshall,
  295. Ndr64ConformantStringBufferSize, Ndr64ConformantStringBufferSize,
  296. Ndr64ConformantStringMemorySize, Ndr64ConformantStringMemorySize,
  297. Ndr64pNoopFree, Ndr64pNoopFree,
  298. _STRING_ )
  299. NDR64_TABLE_ENTRY( 0x64, FC64_CONF_WCHAR_STRING,
  300. Ndr64ConformantStringMarshall, Ndr64ConformantStringMarshall,
  301. Ndr64ConformantStringUnmarshall, Ndr64ConformantStringUnmarshall,
  302. Ndr64ConformantStringBufferSize, Ndr64ConformantStringBufferSize,
  303. Ndr64ConformantStringMemorySize, Ndr64ConformantStringMemorySize,
  304. Ndr64pNoopFree, Ndr64pNoopFree,
  305. _STRING_ )
  306. NDR64_TABLE_ENTRY( 0x65, FC64_CONF_STRUCT_STRING,
  307. Ndr64ConformantStringMarshall, Ndr64ConformantStringMarshall,
  308. Ndr64ConformantStringUnmarshall, Ndr64ConformantStringUnmarshall,
  309. Ndr64ConformantStringBufferSize, Ndr64ConformantStringBufferSize,
  310. Ndr64ConformantStringMemorySize, Ndr64ConformantStringMemorySize,
  311. Ndr64pNoopFree, Ndr64pNoopFree,
  312. _STRING_ )
  313. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x66 )
  314. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x67 )
  315. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x68 )
  316. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x69 )
  317. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6A )
  318. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6B )
  319. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6C )
  320. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6D )
  321. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6E )
  322. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x6F )
  323. // Handles
  324. NDR64_TABLE_ENTRY( 0x70, FC64_BIND_CONTEXT,
  325. Ndr64MarshallHandle, Ndr64MarshallHandle,
  326. Ndr64UnmarshallHandle, Ndr64UnmarshallHandle,
  327. Ndr64ContextHandleSize, Ndr64ContextHandleSize,
  328. NULL, NULL,
  329. Ndr64pNoopFree, Ndr64pNoopFree,
  330. _HANDLE_ )
  331. NDR64_TABLE_ENTRY( 0x71, FC64_BIND_GENERIC,
  332. NULL, NULL,
  333. NULL, NULL,
  334. NULL, NULL,
  335. NULL, NULL,
  336. Ndr64pNoopFree, Ndr64pNoopFree,
  337. _HANDLE_ )
  338. NDR64_TABLE_ENTRY( 0x72, FC64_BIND_PRIMITIVE,
  339. NULL, NULL,
  340. NULL, NULL,
  341. NULL, NULL,
  342. NULL, NULL,
  343. Ndr64pNoopFree, Ndr64pNoopFree,
  344. _HANDLE_ )
  345. NDR64_UNUSED_TABLE_ENTRY( 0x73, FC64_AUTO_HANDLE )
  346. NDR64_UNUSED_TABLE_ENTRY( 0x74, FC64_CALLBACK_HANDLE )
  347. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x75 )
  348. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x76 )
  349. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x77 )
  350. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x78 )
  351. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x79 )
  352. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7A )
  353. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7B )
  354. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7C )
  355. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7D )
  356. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7E )
  357. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x7F )
  358. // Pointer Layout
  359. NDR64_UNUSED_TABLE_ENTRY( 0x80, FC64_NO_REPEAT )
  360. NDR64_UNUSED_TABLE_ENTRY( 0x81, FC64_FIXED_REPEAT )
  361. NDR64_UNUSED_TABLE_ENTRY( 0x82, FC64_VARIABLE_REPEAT )
  362. NDR64_UNUSED_TABLE_ENTRY( 0x83, FC64_FIXED_OFFSET )
  363. NDR64_UNUSED_TABLE_ENTRY( 0x84, FC64_VARIABLE_OFFSET )
  364. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x85 )
  365. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x86 )
  366. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x87 )
  367. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x88 )
  368. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x89 )
  369. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8A )
  370. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8B )
  371. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8C )
  372. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8D )
  373. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8E )
  374. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x8F )
  375. // Member layout
  376. NDR64_UNUSED_TABLE_ENTRY( 0x90, FC64_STRUCTPADN )
  377. NDR64_UNUSED_TABLE_ENTRY( 0x91, FC64_EMBEDDED_COMPLEX )
  378. NDR64_UNUSED_TABLE_ENTRY( 0x92, FC64_BUFFER_ALIGN )
  379. NDR64_UNUSED_TABLE_ENTRY( 0x93, FC64_END )
  380. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x94 )
  381. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x95 )
  382. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x96 )
  383. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x97 )
  384. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x98 )
  385. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x99 )
  386. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9A )
  387. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9B )
  388. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9C )
  389. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9D )
  390. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9E )
  391. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0x9F )
  392. // Misc
  393. NDR64_TABLE_ENTRY( 0xA0, FC64_TRANSMIT_AS,
  394. Ndr64TopLevelXmitOrRepAsMarshall, Ndr64EmbeddedXmitOrRepAsMarshall,
  395. Ndr64TopLevelXmitOrRepAsUnmarshall, Ndr64EmbeddedXmitOrRepAsUnmarshall,
  396. Ndr64TopLevelXmitOrRepAsBufferSize, Ndr64EmbeddedXmitOrRepAsBufferSize,
  397. Ndr64TopLevelXmitOrRepAsMemorySize, Ndr64EmbeddedXmitOrRepAsMemorySize,
  398. Ndr64XmitOrRepAsFree, Ndr64XmitOrRepAsFree,
  399. _XMIT_AS_ | _BY_VALUE_ )
  400. NDR64_TABLE_ENTRY( 0xA1, FC64_REPRESENT_AS,
  401. Ndr64TopLevelXmitOrRepAsMarshall, Ndr64EmbeddedXmitOrRepAsMarshall,
  402. Ndr64TopLevelXmitOrRepAsUnmarshall, Ndr64EmbeddedXmitOrRepAsUnmarshall,
  403. Ndr64TopLevelXmitOrRepAsBufferSize, Ndr64EmbeddedXmitOrRepAsBufferSize,
  404. Ndr64TopLevelXmitOrRepAsMemorySize, Ndr64EmbeddedXmitOrRepAsMemorySize,
  405. Ndr64XmitOrRepAsFree, Ndr64XmitOrRepAsFree,
  406. _XMIT_AS_ | _BY_VALUE_ )
  407. NDR64_TABLE_ENTRY( 0xA2, FC64_USER_MARSHAL,
  408. Ndr64TopLevelUserMarshalMarshall, Ndr64EmbeddedUserMarshalMarshall,
  409. Ndr64TopLevelUserMarshalUnmarshall, Ndr64EmbeddedUserMarshalUnmarshall,
  410. Ndr64TopLevelUserMarshalBufferSize, Ndr64EmbeddedUserMarshallBufferSize,
  411. Ndr64TopLevelUserMarshalMemorySize, Ndr64EmbeddedUserMarshalMemorySize,
  412. Ndr64UserMarshalFree, Ndr64UserMarshalFree,
  413. _XMIT_AS_ | _BY_VALUE_ )
  414. NDR64_UNUSED_TABLE_ENTRY( 0xA3, FC64_PIPE, )
  415. NDR64_TABLE_ENTRY( 0xA4, FC64_RANGE,
  416. Ndr64pRangeMarshall, Ndr64pRangeMarshall,
  417. Ndr64RangeUnmarshall, Ndr64RangeUnmarshall,
  418. Ndr64pRangeBufferSize, Ndr64pRangeBufferSize,
  419. Ndr64pRangeMemorySize, Ndr64pRangeMemorySize,
  420. Ndr64pRangeFree, Ndr64pRangeFree,
  421. 0 )
  422. NDR64_UNUSED_TABLE_ENTRY( 0xA5, FC64_PAD )
  423. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xA6 )
  424. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xA7 )
  425. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xA8 )
  426. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xA9 )
  427. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAA )
  428. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAB )
  429. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAC )
  430. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAD )
  431. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAE )
  432. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xAF )
  433. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB0 )
  434. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB1 )
  435. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB2 )
  436. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB3 )
  437. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB4 )
  438. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB5 )
  439. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB6 )
  440. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB7 )
  441. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB8 )
  442. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xB9 )
  443. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBA )
  444. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBB )
  445. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBC )
  446. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBD )
  447. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBE )
  448. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xBF )
  449. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC0 )
  450. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC1 )
  451. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC2 )
  452. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC3 )
  453. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC4 )
  454. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC5 )
  455. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC6 )
  456. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC7 )
  457. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC8 )
  458. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xC9 )
  459. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCA )
  460. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCB )
  461. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCC )
  462. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCD )
  463. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCE )
  464. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xCF )
  465. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD0 )
  466. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD1 )
  467. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD2 )
  468. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD3 )
  469. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD4 )
  470. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD5 )
  471. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD6 )
  472. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD7 )
  473. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD8 )
  474. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xD9 )
  475. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDA )
  476. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDB )
  477. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDC )
  478. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDD )
  479. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDE )
  480. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xDF )
  481. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE0 )
  482. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE1 )
  483. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE2 )
  484. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE3 )
  485. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE4 )
  486. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE5 )
  487. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE6 )
  488. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE7 )
  489. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE8 )
  490. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xE9 )
  491. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xEA )
  492. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xEB )
  493. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xEC )
  494. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xED )
  495. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xEE )
  496. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xEF )
  497. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF0 )
  498. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF1 )
  499. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF2 )
  500. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF3 )
  501. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF4 )
  502. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF5 )
  503. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF6 )
  504. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF7 )
  505. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF8 )
  506. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xF9 )
  507. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFA )
  508. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFB )
  509. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFC )
  510. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFD )
  511. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFE )
  512. NDR64_UNUSED_TABLE_ENTRY_NOSYM( 0xFF )
  513. NDR64_TABLE_END