Lines Matching refs:packet
198 #define cl_packet_header(packet) V3DX(packet ## _header) argument
199 #define cl_packet_length(packet) V3DX(packet ## _length) argument
200 #define cl_packet_pack(packet) V3DX(packet ## _pack) argument
201 #define cl_packet_struct(packet) V3DX(packet) argument
225 #define cl_emit(cl, packet, name) \ argument
226 for (struct cl_packet_struct(packet) name = { \
227 cl_packet_header(packet) \
233 cl_packet_pack(packet)(cl, (uint8_t *)cl_out, &name); \
234 cl_advance(&cl_out, cl_packet_length(packet)); \
239 #define cl_emit_with_prepacked(cl, packet, prepacked, name) \ argument
240 for (struct cl_packet_struct(packet) name = { \
241 cl_packet_header(packet) \
247 uint8_t packed[cl_packet_length(packet)]; \
248 cl_packet_pack(packet)(cl, packed, &name); \
249 for (int _i = 0; _i < cl_packet_length(packet); _i++) \
251 cl_advance(&cl_out, cl_packet_length(packet)); \
256 #define cl_emit_prepacked_sized(cl, packet, size) do { \ argument
257 memcpy((cl)->next, packet, size); \
261 #define cl_emit_prepacked(cl, packet) \ argument
262 cl_emit_prepacked_sized(cl, packet, sizeof(*(packet)))
264 #define v3dx_pack(packed, packet, name) \ argument
265 for (struct cl_packet_struct(packet) name = { \
266 cl_packet_header(packet) \
271 cl_packet_pack(packet)(NULL, (uint8_t *)packed, &name); \
273 cl_packet_length(packet))); \