/* Do not modify this file. */ /* It was automatically generated by ../../tools/process-x11-xcb.pl using xcbproto version 1.8-2-gc0d65da */ /* $Id$ */ /* * Copyright 2008, 2009 Open Text Corporation * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "x11-glx-render-enum.h" static void mesa_CallList(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CallList_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CallLists(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CallLists_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CallLists_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CallLists_lists, (length - 8) / 1, byte_order); } static void mesa_ListBase(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ListBase_base, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Begin(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Begin_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Bitmap(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Bitmap_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_Bitmap_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_xorig, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_yorig, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_xmove, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Bitmap_ymove, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_Bitmap_bitmap, (length - 44) / 1, byte_order); } static void mesa_Color3bv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Color3bv_v, 3, byte_order); } static void mesa_Color3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Color3dv_v, hf_x11_glx_render_Color3dv_v_item, 3, byte_order); } static void mesa_Color3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Color3fv_v, hf_x11_glx_render_Color3fv_v_item, 3, byte_order); } static void mesa_Color3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Color3iv_v, hf_x11_glx_render_Color3iv_v_item, 3, byte_order); } static void mesa_Color3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Color3sv_v, hf_x11_glx_render_Color3sv_v_item, 3, byte_order); } static void mesa_Color3ubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Color3ubv_v, 3, byte_order); } static void mesa_Color3uiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard32(tvb, offsetp, t, hf_x11_glx_render_Color3uiv_v, hf_x11_glx_render_Color3uiv_v_item, 3, byte_order); } static void mesa_Color3usv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard16(tvb, offsetp, t, hf_x11_glx_render_Color3usv_v, hf_x11_glx_render_Color3usv_v_item, 3, byte_order); } static void mesa_Color4bv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Color4bv_v, 4, byte_order); } static void mesa_Color4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Color4dv_v, hf_x11_glx_render_Color4dv_v_item, 4, byte_order); } static void mesa_Color4fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Color4fv_v, hf_x11_glx_render_Color4fv_v_item, 4, byte_order); } static void mesa_Color4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Color4iv_v, hf_x11_glx_render_Color4iv_v_item, 4, byte_order); } static void mesa_Color4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Color4sv_v, hf_x11_glx_render_Color4sv_v_item, 4, byte_order); } static void mesa_Color4ubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Color4ubv_v, 4, byte_order); } static void mesa_Color4uiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard32(tvb, offsetp, t, hf_x11_glx_render_Color4uiv_v, hf_x11_glx_render_Color4uiv_v_item, 4, byte_order); } static void mesa_Color4usv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard16(tvb, offsetp, t, hf_x11_glx_render_Color4usv_v, hf_x11_glx_render_Color4usv_v_item, 4, byte_order); } static void mesa_EdgeFlagv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_EdgeFlagv_flag, 1, byte_order); } static void mesa_End(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_Indexdv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Indexdv_c, hf_x11_glx_render_Indexdv_c_item, 1, byte_order); } static void mesa_Indexfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Indexfv_c, hf_x11_glx_render_Indexfv_c_item, 1, byte_order); } static void mesa_Indexiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Indexiv_c, hf_x11_glx_render_Indexiv_c_item, 1, byte_order); } static void mesa_Indexsv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Indexsv_c, hf_x11_glx_render_Indexsv_c_item, 1, byte_order); } static void mesa_Normal3bv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Normal3bv_v, 3, byte_order); } static void mesa_Normal3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Normal3dv_v, hf_x11_glx_render_Normal3dv_v_item, 3, byte_order); } static void mesa_Normal3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Normal3fv_v, hf_x11_glx_render_Normal3fv_v_item, 3, byte_order); } static void mesa_Normal3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Normal3iv_v, hf_x11_glx_render_Normal3iv_v_item, 3, byte_order); } static void mesa_Normal3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Normal3sv_v, hf_x11_glx_render_Normal3sv_v_item, 3, byte_order); } static void mesa_RasterPos2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_RasterPos2dv_v, hf_x11_glx_render_RasterPos2dv_v_item, 2, byte_order); } static void mesa_RasterPos2fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_RasterPos2fv_v, hf_x11_glx_render_RasterPos2fv_v_item, 2, byte_order); } static void mesa_RasterPos2iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_RasterPos2iv_v, hf_x11_glx_render_RasterPos2iv_v_item, 2, byte_order); } static void mesa_RasterPos2sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_RasterPos2sv_v, hf_x11_glx_render_RasterPos2sv_v_item, 2, byte_order); } static void mesa_RasterPos3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_RasterPos3dv_v, hf_x11_glx_render_RasterPos3dv_v_item, 3, byte_order); } static void mesa_RasterPos3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_RasterPos3fv_v, hf_x11_glx_render_RasterPos3fv_v_item, 3, byte_order); } static void mesa_RasterPos3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_RasterPos3iv_v, hf_x11_glx_render_RasterPos3iv_v_item, 3, byte_order); } static void mesa_RasterPos3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_RasterPos3sv_v, hf_x11_glx_render_RasterPos3sv_v_item, 3, byte_order); } static void mesa_RasterPos4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_RasterPos4dv_v, hf_x11_glx_render_RasterPos4dv_v_item, 4, byte_order); } static void mesa_RasterPos4fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_RasterPos4fv_v, hf_x11_glx_render_RasterPos4fv_v_item, 4, byte_order); } static void mesa_RasterPos4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_RasterPos4iv_v, hf_x11_glx_render_RasterPos4iv_v_item, 4, byte_order); } static void mesa_RasterPos4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_RasterPos4sv_v, hf_x11_glx_render_RasterPos4sv_v_item, 4, byte_order); } static void mesa_Rectdv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Rectdv_v1, hf_x11_glx_render_Rectdv_v1_item, 2, byte_order); listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Rectdv_v2, hf_x11_glx_render_Rectdv_v2_item, 2, byte_order); } static void mesa_Rectfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Rectfv_v1, hf_x11_glx_render_Rectfv_v1_item, 2, byte_order); listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Rectfv_v2, hf_x11_glx_render_Rectfv_v2_item, 2, byte_order); } static void mesa_Rectiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Rectiv_v1, hf_x11_glx_render_Rectiv_v1_item, 2, byte_order); listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Rectiv_v2, hf_x11_glx_render_Rectiv_v2_item, 2, byte_order); } static void mesa_Rectsv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Rectsv_v1, hf_x11_glx_render_Rectsv_v1_item, 2, byte_order); listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Rectsv_v2, hf_x11_glx_render_Rectsv_v2_item, 2, byte_order); } static void mesa_TexCoord1dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_TexCoord1dv_v, hf_x11_glx_render_TexCoord1dv_v_item, 1, byte_order); } static void mesa_TexCoord1fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexCoord1fv_v, hf_x11_glx_render_TexCoord1fv_v_item, 1, byte_order); } static void mesa_TexCoord1iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexCoord1iv_v, hf_x11_glx_render_TexCoord1iv_v_item, 1, byte_order); } static void mesa_TexCoord1sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_TexCoord1sv_v, hf_x11_glx_render_TexCoord1sv_v_item, 1, byte_order); } static void mesa_TexCoord2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_TexCoord2dv_v, hf_x11_glx_render_TexCoord2dv_v_item, 2, byte_order); } static void mesa_TexCoord2fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexCoord2fv_v, hf_x11_glx_render_TexCoord2fv_v_item, 2, byte_order); } static void mesa_TexCoord2iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexCoord2iv_v, hf_x11_glx_render_TexCoord2iv_v_item, 2, byte_order); } static void mesa_TexCoord2sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_TexCoord2sv_v, hf_x11_glx_render_TexCoord2sv_v_item, 2, byte_order); } static void mesa_TexCoord3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_TexCoord3dv_v, hf_x11_glx_render_TexCoord3dv_v_item, 3, byte_order); } static void mesa_TexCoord3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexCoord3fv_v, hf_x11_glx_render_TexCoord3fv_v_item, 3, byte_order); } static void mesa_TexCoord3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexCoord3iv_v, hf_x11_glx_render_TexCoord3iv_v_item, 3, byte_order); } static void mesa_TexCoord3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_TexCoord3sv_v, hf_x11_glx_render_TexCoord3sv_v_item, 3, byte_order); } static void mesa_TexCoord4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_TexCoord4dv_v, hf_x11_glx_render_TexCoord4dv_v_item, 4, byte_order); } static void mesa_TexCoord4fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexCoord4fv_v, hf_x11_glx_render_TexCoord4fv_v_item, 4, byte_order); } static void mesa_TexCoord4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexCoord4iv_v, hf_x11_glx_render_TexCoord4iv_v_item, 4, byte_order); } static void mesa_TexCoord4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_TexCoord4sv_v, hf_x11_glx_render_TexCoord4sv_v_item, 4, byte_order); } static void mesa_Vertex2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Vertex2dv_v, hf_x11_glx_render_Vertex2dv_v_item, 2, byte_order); } static void mesa_Vertex2fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Vertex2fv_v, hf_x11_glx_render_Vertex2fv_v_item, 2, byte_order); } static void mesa_Vertex2iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Vertex2iv_v, hf_x11_glx_render_Vertex2iv_v_item, 2, byte_order); } static void mesa_Vertex2sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Vertex2sv_v, hf_x11_glx_render_Vertex2sv_v_item, 2, byte_order); } static void mesa_Vertex3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Vertex3dv_v, hf_x11_glx_render_Vertex3dv_v_item, 3, byte_order); } static void mesa_Vertex3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Vertex3fv_v, hf_x11_glx_render_Vertex3fv_v_item, 3, byte_order); } static void mesa_Vertex3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Vertex3iv_v, hf_x11_glx_render_Vertex3iv_v_item, 3, byte_order); } static void mesa_Vertex3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Vertex3sv_v, hf_x11_glx_render_Vertex3sv_v_item, 3, byte_order); } static void mesa_Vertex4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Vertex4dv_v, hf_x11_glx_render_Vertex4dv_v_item, 4, byte_order); } static void mesa_Vertex4fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Vertex4fv_v, hf_x11_glx_render_Vertex4fv_v_item, 4, byte_order); } static void mesa_Vertex4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Vertex4iv_v, hf_x11_glx_render_Vertex4iv_v_item, 4, byte_order); } static void mesa_Vertex4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_Vertex4sv_v, hf_x11_glx_render_Vertex4sv_v_item, 4, byte_order); } static void mesa_ClipPlane(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClipPlane_plane, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ClipPlane_equation, hf_x11_glx_render_ClipPlane_equation_item, 4, byte_order); } static void mesa_ColorMaterial(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorMaterial_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorMaterial_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CullFace(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CullFace_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Fogf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Fogf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Fogf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Fogfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Fogfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Fogfv_params, hf_x11_glx_render_Fogfv_params_item, (length - 4) / 4, byte_order); } static void mesa_Fogi(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Fogi_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Fogi_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Fogiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Fogiv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Fogiv_params, hf_x11_glx_render_Fogiv_params_item, (length - 4) / 4, byte_order); } static void mesa_FrontFace(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_FrontFace_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Hint(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Hint_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Hint_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Lightf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Lightf_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lightf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lightf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Lightfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Lightfv_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lightfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Lightfv_params, hf_x11_glx_render_Lightfv_params_item, (length - 8) / 4, byte_order); } static void mesa_Lighti(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Lighti_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lighti_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lighti_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Lightiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Lightiv_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Lightiv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Lightiv_params, hf_x11_glx_render_Lightiv_params_item, (length - 8) / 4, byte_order); } static void mesa_LightModelf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LightModelf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_LightModelf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_LightModelfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LightModelfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_LightModelfv_params, hf_x11_glx_render_LightModelfv_params_item, (length - 4) / 4, byte_order); } static void mesa_LightModeli(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LightModeli_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_LightModeli_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_LightModeliv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LightModeliv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_LightModeliv_params, hf_x11_glx_render_LightModeliv_params_item, (length - 4) / 4, byte_order); } static void mesa_LineStipple(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LineStipple_factor, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_LineStipple_pattern, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void mesa_LineWidth(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LineWidth_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Materialf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Materialf_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materialf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materialf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Materialfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Materialfv_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materialfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Materialfv_params, hf_x11_glx_render_Materialfv_params_item, (length - 8) / 4, byte_order); } static void mesa_Materiali(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Materiali_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materiali_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materiali_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Materialiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Materialiv_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Materialiv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_Materialiv_params, hf_x11_glx_render_Materialiv_params_item, (length - 8) / 4, byte_order); } static void mesa_PointSize(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PointSize_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PolygonMode(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PolygonMode_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PolygonStipple(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonStipple_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_PolygonStipple_mask, (length - 20) / 1, byte_order); } static void mesa_Scissor(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Scissor_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Scissor_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Scissor_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Scissor_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ShadeModel(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ShadeModel_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexParameterf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexParameterf_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameterf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameterf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexParameterfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexParameterfv_params, hf_x11_glx_render_TexParameterfv_params_item, (length - 8) / 4, byte_order); } static void mesa_TexParameteri(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexParameteri_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameteri_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameteri_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexParameteriv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexParameteriv_params, hf_x11_glx_render_TexParameteriv_params_item, (length - 8) / 4, byte_order); } static void mesa_TexImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage1D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexImage1D_pixels, (length - 48) / 1, byte_order); } static void mesa_TexImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage2D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexImage2D_pixels, (length - 52) / 1, byte_order); } static void mesa_TexEnvf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexEnvf_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnvf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnvf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexEnvfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexEnvfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnvfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexEnvfv_params, hf_x11_glx_render_TexEnvfv_params_item, (length - 8) / 4, byte_order); } static void mesa_TexEnvi(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexEnvi_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnvi_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnvi_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexEnviv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexEnviv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexEnviv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexEnviv_params, hf_x11_glx_render_TexEnviv_params_item, (length - 8) / 4, byte_order); } static void mesa_TexGend(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGend_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGend_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGend_param, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_TexGendv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGendv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGendv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_TexGendv_params, hf_x11_glx_render_TexGendv_params_item, (length - 8) / 8, byte_order); } static void mesa_TexGenf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGenf_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGenf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGenf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexGenfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGenfv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGenfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexGenfv_params, hf_x11_glx_render_TexGenfv_params_item, (length - 8) / 4, byte_order); } static void mesa_TexGeni(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGeni_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGeni_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGeni_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexGeniv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexGeniv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexGeniv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_TexGeniv_params, hf_x11_glx_render_TexGeniv_params_item, (length - 8) / 4, byte_order); } static void mesa_InitNames(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_LoadName(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LoadName_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PassThrough(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PassThrough_token, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PopName(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_PushName(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PushName_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_DrawBuffer(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DrawBuffer_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Clear(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Clear_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ClearAccum(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClearAccum_red, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearAccum_green, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearAccum_blue, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearAccum_alpha, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ClearIndex(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClearIndex_c, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ClearColor(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClearColor_red, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearColor_green, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearColor_blue, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ClearColor_alpha, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ClearStencil(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClearStencil_s, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ClearDepth(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ClearDepth_depth, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_StencilMask(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_StencilMask_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ColorMask(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorMask_red, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ColorMask_green, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ColorMask_blue, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ColorMask_alpha, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_DepthMask(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DepthMask_flag, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_IndexMask(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_IndexMask_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Accum(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Accum_op, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Accum_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Disable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Disable_cap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Enable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Enable_cap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PopAttrib(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_PushAttrib(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PushAttrib_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Map1d(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Map1d_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1d_u1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map1d_u2, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map1d_stride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1d_order, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Map1d_points, hf_x11_glx_render_Map1d_points_item, (length - 28) / 8, byte_order); } static void mesa_Map1f(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Map1f_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1f_u1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1f_u2, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1f_stride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map1f_order, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Map1f_points, hf_x11_glx_render_Map1f_points_item, (length - 20) / 4, byte_order); } static void mesa_Map2d(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Map2d_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2d_u1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map2d_u2, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map2d_ustride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2d_uorder, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2d_v1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map2d_v2, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Map2d_vstride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2d_vorder, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_Map2d_points, hf_x11_glx_render_Map2d_points_item, (length - 52) / 8, byte_order); } static void mesa_Map2f(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Map2f_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_u1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_u2, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_ustride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_uorder, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_v1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_v2, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_vstride, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Map2f_vorder, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_Map2f_points, hf_x11_glx_render_Map2f_points_item, (length - 36) / 4, byte_order); } static void mesa_MapGrid1d(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MapGrid1d_un, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid1d_u1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_MapGrid1d_u2, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_MapGrid1f(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MapGrid1f_un, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid1f_u1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid1f_u2, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_MapGrid2d(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_un, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_u1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_u2, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_vn, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_v1, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2d_v2, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_MapGrid2f(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_un, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_u1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_u2, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_vn, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_v1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_MapGrid2f_v2, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_EvalCoord1dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_EvalCoord1dv_u, hf_x11_glx_render_EvalCoord1dv_u_item, 1, byte_order); } static void mesa_EvalCoord1fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_EvalCoord1fv_u, hf_x11_glx_render_EvalCoord1fv_u_item, 1, byte_order); } static void mesa_EvalCoord2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_EvalCoord2dv_u, hf_x11_glx_render_EvalCoord2dv_u_item, 2, byte_order); } static void mesa_EvalCoord2fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_EvalCoord2fv_u, hf_x11_glx_render_EvalCoord2fv_u_item, 2, byte_order); } static void mesa_EvalMesh1(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_EvalMesh1_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh1_i1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh1_i2, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_EvalPoint1(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_EvalPoint1_i, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_EvalMesh2(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_EvalMesh2_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh2_i1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh2_i2, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh2_j1, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalMesh2_j2, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_EvalPoint2(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_EvalPoint2_i, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_EvalPoint2_j, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_AlphaFunc(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_AlphaFunc_func, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_AlphaFunc_ref, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_BlendFunc(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BlendFunc_sfactor, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendFunc_dfactor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_LogicOp(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_LogicOp_opcode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_StencilFunc(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_StencilFunc_func, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_StencilFunc_ref, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_StencilFunc_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_StencilOp(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_StencilOp_fail, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_StencilOp_zfail, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_StencilOp_zpass, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_DepthFunc(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DepthFunc_func, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PixelZoom(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PixelZoom_xfactor, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PixelZoom_yfactor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PixelTransferf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PixelTransferf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PixelTransferf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PixelTransferi(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PixelTransferi_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PixelTransferi_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PixelMapfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int mapsize; proto_tree_add_item(t, hf_x11_glx_render_PixelMapfv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; mapsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_PixelMapfv_mapsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_PixelMapfv_values, hf_x11_glx_render_PixelMapfv_values_item, mapsize, byte_order); } static void mesa_PixelMapuiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int mapsize; proto_tree_add_item(t, hf_x11_glx_render_PixelMapuiv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; mapsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_PixelMapuiv_mapsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_PixelMapuiv_values, hf_x11_glx_render_PixelMapuiv_values_item, mapsize, byte_order); } static void mesa_PixelMapusv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int mapsize; proto_tree_add_item(t, hf_x11_glx_render_PixelMapusv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; mapsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_PixelMapusv_mapsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard16(tvb, offsetp, t, hf_x11_glx_render_PixelMapusv_values, hf_x11_glx_render_PixelMapusv_values_item, mapsize, byte_order); } static void mesa_ReadBuffer(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ReadBuffer_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyPixels(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyPixels_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyPixels_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyPixels_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyPixels_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyPixels_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_DrawPixels(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawPixels_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_DrawPixels_pixels, (length - 36) / 1, byte_order); } static void mesa_DepthRange(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DepthRange_zNear, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_DepthRange_zFar, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_Frustum(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Frustum_left, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Frustum_right, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Frustum_bottom, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Frustum_top, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Frustum_zNear, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Frustum_zFar, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_LoadIdentity(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_LoadMatrixf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_LoadMatrixf_m, hf_x11_glx_render_LoadMatrixf_m_item, 16, byte_order); } static void mesa_LoadMatrixd(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_LoadMatrixd_m, hf_x11_glx_render_LoadMatrixd_m_item, 16, byte_order); } static void mesa_MatrixMode(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MatrixMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_MultMatrixf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_MultMatrixf_m, hf_x11_glx_render_MultMatrixf_m_item, 16, byte_order); } static void mesa_MultMatrixd(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_MultMatrixd_m, hf_x11_glx_render_MultMatrixd_m_item, 16, byte_order); } static void mesa_Ortho(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Ortho_left, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Ortho_right, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Ortho_bottom, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Ortho_top, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Ortho_zNear, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Ortho_zFar, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_PopMatrix(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_PushMatrix(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_Rotated(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Rotated_angle, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Rotated_x, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Rotated_y, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Rotated_z, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_Rotatef(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Rotatef_angle, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Rotatef_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Rotatef_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Rotatef_z, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Scaled(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Scaled_x, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Scaled_y, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Scaled_z, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_Scalef(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Scalef_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Scalef_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Scalef_z, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Translated(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Translated_x, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Translated_y, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_Translated_z, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static void mesa_Translatef(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Translatef_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Translatef_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Translatef_z, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_Viewport(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Viewport_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Viewport_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Viewport_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Viewport_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_DrawArrays(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DrawArrays_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawArrays_first, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_DrawArrays_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PolygonOffset(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PolygonOffset_factor, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonOffset_units, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyTexImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage1D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyTexImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexImage2D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyTexSubImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyTexSubImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexSubImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage1D_UNUSED, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexSubImage1D_pixels, (length - 48) / 1, byte_order); } static void mesa_TexSubImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage2D_UNUSED, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexSubImage2D_pixels, (length - 56) / 1, byte_order); } static void mesa_BindTexture(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BindTexture_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BindTexture_texture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PrioritizeTextures(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_PrioritizeTextures_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_PrioritizeTextures_textures, hf_x11_glx_render_PrioritizeTextures_textures_item, n, byte_order); listOfFloat(tvb, offsetp, t, hf_x11_glx_render_PrioritizeTextures_priorities, hf_x11_glx_render_PrioritizeTextures_priorities_item, n, byte_order); } static void mesa_Indexubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_Indexubv_c, 1, byte_order); } static void mesa_BlendColor(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BlendColor_red, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendColor_green, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendColor_blue, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendColor_alpha, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_BlendEquation(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BlendEquation_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ColorTable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorTable_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_ColorTable_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTable_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ColorTable_table, (length - 40) / 1, byte_order); } static void mesa_ColorTableParameterfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorTableParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTableParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ColorTableParameterfv_params, hf_x11_glx_render_ColorTableParameterfv_params_item, (length - 8) / 4, byte_order); } static void mesa_ColorTableParameteriv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorTableParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorTableParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_ColorTableParameteriv_params, hf_x11_glx_render_ColorTableParameteriv_params_item, (length - 8) / 4, byte_order); } static void mesa_CopyColorTable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyColorTable_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorTable_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorTable_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorTable_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorTable_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ColorSubTable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_start, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ColorSubTable_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ColorSubTable_data, (length - 40) / 1, byte_order); } static void mesa_CopyColorSubTable(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyColorSubTable_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorSubTable_start, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorSubTable_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorSubTable_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyColorSubTable_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ConvolutionFilter1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter1D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ConvolutionFilter1D_image, (length - 40) / 1, byte_order); } static void mesa_ConvolutionFilter2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionFilter2D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ConvolutionFilter2D_image, (length - 44) / 1, byte_order); } static void mesa_ConvolutionParameterf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameterf_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameterf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameterf_params, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ConvolutionParameterfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ConvolutionParameterfv_params, hf_x11_glx_render_ConvolutionParameterfv_params_item, (length - 8) / 4, byte_order); } static void mesa_ConvolutionParameteri(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameteri_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameteri_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameteri_params, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ConvolutionParameteriv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ConvolutionParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_ConvolutionParameteriv_params, hf_x11_glx_render_ConvolutionParameteriv_params_item, (length - 8) / 4, byte_order); } static void mesa_CopyConvolutionFilter1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter1D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter1D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter1D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CopyConvolutionFilter2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyConvolutionFilter2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_SeparableFilter2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SeparableFilter2D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_SeparableFilter2D_row, (length - 24) / 1, byte_order); listOfByte(tvb, offsetp, t, hf_x11_glx_render_SeparableFilter2D_column, (length - 24) / 1, byte_order); } static void mesa_Histogram(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Histogram_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Histogram_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Histogram_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Histogram_sink, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_Minmax(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_Minmax_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Minmax_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_Minmax_sink, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_ResetHistogram(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ResetHistogram_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ResetMinmax(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ResetMinmax_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexImage3D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage3D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexImage3D_pixels, (length - 56) / 1, byte_order); } static void mesa_TexSubImage3D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_zoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage3D_UNUSED, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexSubImage3D_pixels, (length - 64) / 1, byte_order); } static void mesa_CopyTexSubImage3D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_zoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CopyTexSubImage3D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ActiveTexture(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ActiveTexture_texture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_MultiTexCoord1dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord1dv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord1dv_v, hf_x11_glx_render_MultiTexCoord1dv_v_item, 1, byte_order); } static void mesa_MultiTexCoord1iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord1iv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord1iv_v, hf_x11_glx_render_MultiTexCoord1iv_v_item, 1, byte_order); } static void mesa_MultiTexCoord1sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord1sv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord1sv_v, hf_x11_glx_render_MultiTexCoord1sv_v_item, 1, byte_order); } static void mesa_MultiTexCoord2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord2dv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord2dv_v, hf_x11_glx_render_MultiTexCoord2dv_v_item, 2, byte_order); } static void mesa_MultiTexCoord2iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord2iv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord2iv_v, hf_x11_glx_render_MultiTexCoord2iv_v_item, 2, byte_order); } static void mesa_MultiTexCoord2sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord2sv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord2sv_v, hf_x11_glx_render_MultiTexCoord2sv_v_item, 2, byte_order); } static void mesa_MultiTexCoord3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord3dv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord3dv_v, hf_x11_glx_render_MultiTexCoord3dv_v_item, 3, byte_order); } static void mesa_MultiTexCoord3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord3iv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord3iv_v, hf_x11_glx_render_MultiTexCoord3iv_v_item, 3, byte_order); } static void mesa_MultiTexCoord3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord3sv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord3sv_v, hf_x11_glx_render_MultiTexCoord3sv_v_item, 3, byte_order); } static void mesa_MultiTexCoord4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord4dv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord4dv_v, hf_x11_glx_render_MultiTexCoord4dv_v_item, 4, byte_order); } static void mesa_MultiTexCoord4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord4iv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord4iv_v, hf_x11_glx_render_MultiTexCoord4iv_v_item, 4, byte_order); } static void mesa_MultiTexCoord4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord4sv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord4sv_v, hf_x11_glx_render_MultiTexCoord4sv_v_item, 4, byte_order); } static void mesa_SampleCoverage(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_SampleCoverage_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SampleCoverage_invert, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_CompressedTexImage3D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage3D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexImage3D_data, imageSize, byte_order); } static void mesa_CompressedTexImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage2D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexImage2D_data, imageSize, byte_order); } static void mesa_CompressedTexImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexImage1D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexImage1D_data, imageSize, byte_order); } static void mesa_CompressedTexSubImage3D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_zoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage3D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexSubImage3D_data, imageSize, byte_order); } static void mesa_CompressedTexSubImage2D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage2D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexSubImage2D_data, imageSize, byte_order); } static void mesa_CompressedTexSubImage1D(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int imageSize; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; imageSize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_CompressedTexSubImage1D_imageSize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_CompressedTexSubImage1D_data, imageSize, byte_order); } static void mesa_BlendFuncSeparate(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BlendFuncSeparate_sfactorRGB, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendFuncSeparate_dfactorRGB, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendFuncSeparate_sfactorAlpha, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendFuncSeparate_dfactorAlpha, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_FogCoorddv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_FogCoorddv_coord, hf_x11_glx_render_FogCoorddv_coord_item, 1, byte_order); } static void mesa_PointParameterf(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PointParameterf_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PointParameterf_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PointParameterfv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PointParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_PointParameterfv_params, hf_x11_glx_render_PointParameterfv_params_item, (length - 4) / 4, byte_order); } static void mesa_PointParameteri(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PointParameteri_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PointParameteri_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_PointParameteriv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PointParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_PointParameteriv_params, hf_x11_glx_render_PointParameteriv_params_item, (length - 4) / 4, byte_order); } static void mesa_SecondaryColor3bv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3bv_v, 3, byte_order); } static void mesa_SecondaryColor3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3dv_v, hf_x11_glx_render_SecondaryColor3dv_v_item, 3, byte_order); } static void mesa_SecondaryColor3iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt32(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3iv_v, hf_x11_glx_render_SecondaryColor3iv_v_item, 3, byte_order); } static void mesa_SecondaryColor3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfInt16(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3sv_v, hf_x11_glx_render_SecondaryColor3sv_v_item, 3, byte_order); } static void mesa_SecondaryColor3ubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfByte(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3ubv_v, 3, byte_order); } static void mesa_SecondaryColor3uiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard32(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3uiv_v, hf_x11_glx_render_SecondaryColor3uiv_v_item, 3, byte_order); } static void mesa_SecondaryColor3usv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard16(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3usv_v, hf_x11_glx_render_SecondaryColor3usv_v_item, 3, byte_order); } static void mesa_WindowPos3fv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_WindowPos3fv_v, hf_x11_glx_render_WindowPos3fv_v_item, 3, byte_order); } static void mesa_BeginQuery(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BeginQuery_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BeginQuery_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_EndQuery(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_EndQuery_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_BlendEquationSeparate(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BlendEquationSeparate_modeRGB, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BlendEquationSeparate_modeA, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_DrawBuffers(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_DrawBuffers_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_DrawBuffers_bufs, hf_x11_glx_render_DrawBuffers_bufs_item, n, byte_order); } static void mesa_VertexAttrib1dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1dv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1dv_v, hf_x11_glx_render_VertexAttrib1dv_v_item, 1, byte_order); } static void mesa_VertexAttrib1sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1sv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1sv_v, hf_x11_glx_render_VertexAttrib1sv_v_item, 1, byte_order); } static void mesa_VertexAttrib2dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2dv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2dv_v, hf_x11_glx_render_VertexAttrib2dv_v_item, 2, byte_order); } static void mesa_VertexAttrib2sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2sv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2sv_v, hf_x11_glx_render_VertexAttrib2sv_v_item, 2, byte_order); } static void mesa_VertexAttrib3dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3dv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3dv_v, hf_x11_glx_render_VertexAttrib3dv_v_item, 3, byte_order); } static void mesa_VertexAttrib3sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3sv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3sv_v, hf_x11_glx_render_VertexAttrib3sv_v_item, 3, byte_order); } static void mesa_VertexAttrib4Nbv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Nbv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Nbv_v, 4, byte_order); } static void mesa_VertexAttrib4Niv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Niv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Niv_v, hf_x11_glx_render_VertexAttrib4Niv_v_item, 4, byte_order); } static void mesa_VertexAttrib4Nsv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Nsv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Nsv_v, hf_x11_glx_render_VertexAttrib4Nsv_v_item, 4, byte_order); } static void mesa_VertexAttrib4Nubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Nubv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Nubv_v, 4, byte_order); } static void mesa_VertexAttrib4Nuiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Nuiv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Nuiv_v, hf_x11_glx_render_VertexAttrib4Nuiv_v_item, 4, byte_order); } static void mesa_VertexAttrib4Nusv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4Nusv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4Nusv_v, hf_x11_glx_render_VertexAttrib4Nusv_v_item, 4, byte_order); } static void mesa_VertexAttrib4bv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4bv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4bv_v, 4, byte_order); } static void mesa_VertexAttrib4dv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4dv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4dv_v, hf_x11_glx_render_VertexAttrib4dv_v_item, 4, byte_order); } static void mesa_VertexAttrib4iv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4iv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4iv_v, hf_x11_glx_render_VertexAttrib4iv_v_item, 4, byte_order); } static void mesa_VertexAttrib4sv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4sv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4sv_v, hf_x11_glx_render_VertexAttrib4sv_v_item, 4, byte_order); } static void mesa_VertexAttrib4ubv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4ubv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4ubv_v, 4, byte_order); } static void mesa_VertexAttrib4uiv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4uiv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4uiv_v, hf_x11_glx_render_VertexAttrib4uiv_v_item, 4, byte_order); } static void mesa_VertexAttrib4usv(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4usv_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4usv_v, hf_x11_glx_render_VertexAttrib4usv_v_item, 4, byte_order); } static void mesa_MultiTexCoord1fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord1fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord1fvARB_v, hf_x11_glx_render_MultiTexCoord1fvARB_v_item, 1, byte_order); } static void mesa_MultiTexCoord2fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord2fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord2fvARB_v, hf_x11_glx_render_MultiTexCoord2fvARB_v_item, 2, byte_order); } static void mesa_MultiTexCoord3fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord3fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord3fvARB_v, hf_x11_glx_render_MultiTexCoord3fvARB_v_item, 3, byte_order); } static void mesa_MultiTexCoord4fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_MultiTexCoord4fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_MultiTexCoord4fvARB_v, hf_x11_glx_render_MultiTexCoord4fvARB_v_item, 4, byte_order); } static void mesa_CurrentPaletteMatrixARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CurrentPaletteMatrixARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_MatrixIndexubvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int size; size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_MatrixIndexubvARB_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_MatrixIndexubvARB_indices, size, byte_order); } static void mesa_MatrixIndexusvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int size; size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_MatrixIndexusvARB_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard16(tvb, offsetp, t, hf_x11_glx_render_MatrixIndexusvARB_indices, hf_x11_glx_render_MatrixIndexusvARB_indices_item, size, byte_order); } static void mesa_MatrixIndexuivARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int size; size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_MatrixIndexuivARB_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_MatrixIndexuivARB_indices, hf_x11_glx_render_MatrixIndexuivARB_indices_item, size, byte_order); } static void mesa_VertexAttrib1fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1fvARB_v, hf_x11_glx_render_VertexAttrib1fvARB_v_item, 1, byte_order); } static void mesa_VertexAttrib2fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2fvARB_v, hf_x11_glx_render_VertexAttrib2fvARB_v_item, 2, byte_order); } static void mesa_VertexAttrib3fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3fvARB_v, hf_x11_glx_render_VertexAttrib3fvARB_v_item, 3, byte_order); } static void mesa_VertexAttrib4fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4fvARB_v, hf_x11_glx_render_VertexAttrib4fvARB_v_item, 4, byte_order); } static void mesa_ProgramStringARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int len; proto_tree_add_item(t, hf_x11_glx_render_ProgramStringARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramStringARB_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_ProgramStringARB_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ProgramStringARB_string, len, byte_order); } static void mesa_BindProgramARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_BindProgramARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_BindProgramARB_program, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ProgramEnvParameter4dvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ProgramEnvParameter4dvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramEnvParameter4dvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ProgramEnvParameter4dvARB_params, hf_x11_glx_render_ProgramEnvParameter4dvARB_params_item, 4, byte_order); } static void mesa_ProgramEnvParameter4fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ProgramEnvParameter4fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramEnvParameter4fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ProgramEnvParameter4fvARB_params, hf_x11_glx_render_ProgramEnvParameter4fvARB_params_item, 4, byte_order); } static void mesa_ProgramLocalParameter4dvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ProgramLocalParameter4dvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramLocalParameter4dvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ProgramLocalParameter4dvARB_params, hf_x11_glx_render_ProgramLocalParameter4dvARB_params_item, 4, byte_order); } static void mesa_ProgramLocalParameter4fvARB(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ProgramLocalParameter4fvARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramLocalParameter4fvARB_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ProgramLocalParameter4fvARB_params, hf_x11_glx_render_ProgramLocalParameter4fvARB_params_item, 4, byte_order); } static void mesa_PolygonOffsetEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PolygonOffsetEXT_factor, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_PolygonOffsetEXT_bias, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TexFilterFuncSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_TexFilterFuncSGIS_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexFilterFuncSGIS_filter, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_TexFilterFuncSGIS_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_TexFilterFuncSGIS_weights, hf_x11_glx_render_TexFilterFuncSGIS_weights_item, n, byte_order); } static void mesa_TexImage4DSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_internalformat, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_size4d, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_border, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexImage4DSGIS_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexImage4DSGIS_pixels, (length - 60) / 1, byte_order); } static void mesa_TexSubImage4DSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_swapbytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_lsbfirst, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_rowlength, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_skiprows, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_skippixels, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_alignment, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_xoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_yoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_zoffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_woffset, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_size4d, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TexSubImage4DSGIS_UNUSED, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_TexSubImage4DSGIS_pixels, (length - 72) / 1, byte_order); } static void mesa_DetailTexFuncSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_DetailTexFuncSGIS_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_DetailTexFuncSGIS_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_DetailTexFuncSGIS_points, hf_x11_glx_render_DetailTexFuncSGIS_points_item, n, byte_order); } static void mesa_SharpenTexFuncSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_SharpenTexFuncSGIS_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_SharpenTexFuncSGIS_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_SharpenTexFuncSGIS_points, hf_x11_glx_render_SharpenTexFuncSGIS_points_item, n, byte_order); } static void mesa_SampleMaskSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_SampleMaskSGIS_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_SampleMaskSGIS_invert, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_SamplePatternSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_SamplePatternSGIS_pattern, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_FrameZoomSGIX(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_FrameZoomSGIX_factor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TagSampleBufferSGIX(tvbuff_t *tvb _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void mesa_ReferencePlaneSGIX(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ReferencePlaneSGIX_equation, hf_x11_glx_render_ReferencePlaneSGIX_equation_item, 4, byte_order); } static void mesa_FogFuncSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_FogFuncSGIS_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_FogFuncSGIS_points, hf_x11_glx_render_FogFuncSGIS_points_item, n, byte_order); } static void mesa_SecondaryColor3fvEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_SecondaryColor3fvEXT_v, hf_x11_glx_render_SecondaryColor3fvEXT_v_item, 3, byte_order); } static void mesa_FogCoordfvEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_FogCoordfvEXT_coord, hf_x11_glx_render_FogCoordfvEXT_coord_item, 1, byte_order); } static void mesa_PixelTexGenSGIX(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_PixelTexGenSGIX_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_VertexWeightfvEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexWeightfvEXT_weight, hf_x11_glx_render_VertexWeightfvEXT_weight_item, 1, byte_order); } static void mesa_CombinerParameterfvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerParameterfvNV_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_CombinerParameterfvNV_params, hf_x11_glx_render_CombinerParameterfvNV_params_item, (length - 4) / 4, byte_order); } static void mesa_CombinerParameterfNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerParameterfNV_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerParameterfNV_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CombinerParameterivNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerParameterivNV_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_glx_render_CombinerParameterivNV_params, hf_x11_glx_render_CombinerParameterivNV_params_item, (length - 4) / 4, byte_order); } static void mesa_CombinerParameteriNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerParameteriNV_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerParameteriNV_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CombinerInputNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_stage, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_portion, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_variable, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_input, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_mapping, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerInputNV_componentUsage, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_CombinerOutputNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_stage, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_portion, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_abOutput, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_cdOutput, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_sumOutput, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_scale, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_bias, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_abDotProduct, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_cdDotProduct, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_CombinerOutputNV_muxSum, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_FinalCombinerInputNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_FinalCombinerInputNV_variable, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_FinalCombinerInputNV_input, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_FinalCombinerInputNV_mapping, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_FinalCombinerInputNV_componentUsage, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_TextureColorMaskSGIS(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TextureColorMaskSGIS_red, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TextureColorMaskSGIS_green, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TextureColorMaskSGIS_blue, tvb, *offsetp, 1, byte_order); *offsetp += 1; proto_tree_add_item(t, hf_x11_glx_render_TextureColorMaskSGIS_alpha, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void mesa_ExecuteProgramNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ExecuteProgramNV_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ExecuteProgramNV_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ExecuteProgramNV_params, hf_x11_glx_render_ExecuteProgramNV_params_item, 4, byte_order); } static void mesa_LoadProgramNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int len; proto_tree_add_item(t, hf_x11_glx_render_LoadProgramNV_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_LoadProgramNV_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_LoadProgramNV_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_LoadProgramNV_program, len, byte_order); } static void mesa_ProgramParameters4dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int num; proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4dvNV_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; num = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4dvNV_num, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ProgramParameters4dvNV_params, hf_x11_glx_render_ProgramParameters4dvNV_params_item, num, byte_order); } static void mesa_ProgramParameters4fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int num; proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4fvNV_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; num = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_ProgramParameters4fvNV_num, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ProgramParameters4fvNV_params, hf_x11_glx_render_ProgramParameters4fvNV_params_item, num, byte_order); } static void mesa_RequestResidentProgramsNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_RequestResidentProgramsNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_render_RequestResidentProgramsNV_ids, hf_x11_glx_render_RequestResidentProgramsNV_ids_item, n, byte_order); } static void mesa_TrackMatrixNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_TrackMatrixNV_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TrackMatrixNV_address, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TrackMatrixNV_matrix, tvb, *offsetp, 4, byte_order); *offsetp += 4; proto_tree_add_item(t, hf_x11_glx_render_TrackMatrixNV_transform, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_VertexAttrib1svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1svNV_v, hf_x11_glx_render_VertexAttrib1svNV_v_item, 1, byte_order); } static void mesa_VertexAttrib2svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2svNV_v, hf_x11_glx_render_VertexAttrib2svNV_v_item, 2, byte_order); } static void mesa_VertexAttrib3svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3svNV_v, hf_x11_glx_render_VertexAttrib3svNV_v_item, 3, byte_order); } static void mesa_VertexAttrib4svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4svNV_v, hf_x11_glx_render_VertexAttrib4svNV_v_item, 4, byte_order); } static void mesa_VertexAttrib1fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1fvNV_v, hf_x11_glx_render_VertexAttrib1fvNV_v_item, 1, byte_order); } static void mesa_VertexAttrib2fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2fvNV_v, hf_x11_glx_render_VertexAttrib2fvNV_v_item, 2, byte_order); } static void mesa_VertexAttrib3fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3fvNV_v, hf_x11_glx_render_VertexAttrib3fvNV_v_item, 3, byte_order); } static void mesa_VertexAttrib4fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4fvNV_v, hf_x11_glx_render_VertexAttrib4fvNV_v_item, 4, byte_order); } static void mesa_VertexAttrib1dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib1dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib1dvNV_v, hf_x11_glx_render_VertexAttrib1dvNV_v_item, 1, byte_order); } static void mesa_VertexAttrib2dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib2dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib2dvNV_v, hf_x11_glx_render_VertexAttrib2dvNV_v_item, 2, byte_order); } static void mesa_VertexAttrib3dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib3dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib3dvNV_v, hf_x11_glx_render_VertexAttrib3dvNV_v_item, 3, byte_order); } static void mesa_VertexAttrib4dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4dvNV_v, hf_x11_glx_render_VertexAttrib4dvNV_v_item, 4, byte_order); } static void mesa_VertexAttrib4ubvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_VertexAttrib4ubvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttrib4ubvNV_v, 4, byte_order); } static void mesa_VertexAttribs1svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1svNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs1svNV_v, hf_x11_glx_render_VertexAttribs1svNV_v_item, n, byte_order); } static void mesa_VertexAttribs2svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2svNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs2svNV_v, hf_x11_glx_render_VertexAttribs2svNV_v_item, n, byte_order); } static void mesa_VertexAttribs3svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3svNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs3svNV_v, hf_x11_glx_render_VertexAttribs3svNV_v_item, n, byte_order); } static void mesa_VertexAttribs4svNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4svNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4svNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt16(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs4svNV_v, hf_x11_glx_render_VertexAttribs4svNV_v_item, n, byte_order); } static void mesa_VertexAttribs1fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1fvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs1fvNV_v, hf_x11_glx_render_VertexAttribs1fvNV_v_item, n, byte_order); } static void mesa_VertexAttribs2fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2fvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs2fvNV_v, hf_x11_glx_render_VertexAttribs2fvNV_v_item, n, byte_order); } static void mesa_VertexAttribs3fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3fvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs3fvNV_v, hf_x11_glx_render_VertexAttribs3fvNV_v_item, n, byte_order); } static void mesa_VertexAttribs4fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4fvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4fvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfFloat(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs4fvNV_v, hf_x11_glx_render_VertexAttribs4fvNV_v_item, n, byte_order); } static void mesa_VertexAttribs1dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs1dvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs1dvNV_v, hf_x11_glx_render_VertexAttribs1dvNV_v_item, n, byte_order); } static void mesa_VertexAttribs2dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs2dvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs2dvNV_v, hf_x11_glx_render_VertexAttribs2dvNV_v_item, n, byte_order); } static void mesa_VertexAttribs3dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs3dvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs3dvNV_v, hf_x11_glx_render_VertexAttribs3dvNV_v_item, n, byte_order); } static void mesa_VertexAttribs4dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4dvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4dvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfDouble(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs4dvNV_v, hf_x11_glx_render_VertexAttribs4dvNV_v_item, n, byte_order); } static void mesa_VertexAttribs4ubvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int n; proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4ubvNV_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_VertexAttribs4ubvNV_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_VertexAttribs4ubvNV_v, n, byte_order); } static void mesa_ActiveStencilFaceEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_ActiveStencilFaceEXT_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void mesa_ProgramNamedParameter4fvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int len; proto_tree_add_item(t, hf_x11_glx_render_ProgramNamedParameter4fvNV_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_ProgramNamedParameter4fvNV_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ProgramNamedParameter4fvNV_name, len, byte_order); listOfFloat(tvb, offsetp, t, hf_x11_glx_render_ProgramNamedParameter4fvNV_v, hf_x11_glx_render_ProgramNamedParameter4fvNV_v_item, 4, byte_order); } static void mesa_ProgramNamedParameter4dvNV(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int len; proto_tree_add_item(t, hf_x11_glx_render_ProgramNamedParameter4dvNV_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_render_ProgramNamedParameter4dvNV_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_render_ProgramNamedParameter4dvNV_name, len, byte_order); listOfDouble(tvb, offsetp, t, hf_x11_glx_render_ProgramNamedParameter4dvNV_v, hf_x11_glx_render_ProgramNamedParameter4dvNV_v_item, 4, byte_order); } static void mesa_DepthBoundsEXT(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { proto_tree_add_item(t, hf_x11_glx_render_DepthBoundsEXT_zmin, tvb, *offsetp, 8, byte_order); *offsetp += 8; proto_tree_add_item(t, hf_x11_glx_render_DepthBoundsEXT_zmax, tvb, *offsetp, 8, byte_order); *offsetp += 8; } static const value_string glx_render_op_name[] = { { 1, "glCallList" }, { 2, "glCallLists" }, { 3, "glListBase" }, { 4, "glBegin" }, { 5, "glBitmap" }, { 6, "glColor3bv" }, { 7, "glColor3dv" }, { 8, "glColor3fv" }, { 9, "glColor3iv" }, { 10, "glColor3sv" }, { 11, "glColor3ubv" }, { 12, "glColor3uiv" }, { 13, "glColor3usv" }, { 14, "glColor4bv" }, { 15, "glColor4dv" }, { 16, "glColor4fv" }, { 17, "glColor4iv" }, { 18, "glColor4sv" }, { 19, "glColor4ubv" }, { 20, "glColor4uiv" }, { 21, "glColor4usv" }, { 22, "glEdgeFlagv" }, { 23, "glEnd" }, { 24, "glIndexdv" }, { 25, "glIndexfv" }, { 26, "glIndexiv" }, { 27, "glIndexsv" }, { 28, "glNormal3bv" }, { 29, "glNormal3dv" }, { 30, "glNormal3fv" }, { 31, "glNormal3iv" }, { 32, "glNormal3sv" }, { 33, "glRasterPos2dv" }, { 34, "glRasterPos2fv" }, { 35, "glRasterPos2iv" }, { 36, "glRasterPos2sv" }, { 37, "glRasterPos3dv" }, { 38, "glRasterPos3fv" }, { 39, "glRasterPos3iv" }, { 40, "glRasterPos3sv" }, { 41, "glRasterPos4dv" }, { 42, "glRasterPos4fv" }, { 43, "glRasterPos4iv" }, { 44, "glRasterPos4sv" }, { 45, "glRectdv" }, { 46, "glRectfv" }, { 47, "glRectiv" }, { 48, "glRectsv" }, { 49, "glTexCoord1dv" }, { 50, "glTexCoord1fv" }, { 51, "glTexCoord1iv" }, { 52, "glTexCoord1sv" }, { 53, "glTexCoord2dv" }, { 54, "glTexCoord2fv" }, { 55, "glTexCoord2iv" }, { 56, "glTexCoord2sv" }, { 57, "glTexCoord3dv" }, { 58, "glTexCoord3fv" }, { 59, "glTexCoord3iv" }, { 60, "glTexCoord3sv" }, { 61, "glTexCoord4dv" }, { 62, "glTexCoord4fv" }, { 63, "glTexCoord4iv" }, { 64, "glTexCoord4sv" }, { 65, "glVertex2dv" }, { 66, "glVertex2fv" }, { 67, "glVertex2iv" }, { 68, "glVertex2sv" }, { 69, "glVertex3dv" }, { 70, "glVertex3fv" }, { 71, "glVertex3iv" }, { 72, "glVertex3sv" }, { 73, "glVertex4dv" }, { 74, "glVertex4fv" }, { 75, "glVertex4iv" }, { 76, "glVertex4sv" }, { 77, "glClipPlane" }, { 78, "glColorMaterial" }, { 79, "glCullFace" }, { 80, "glFogf" }, { 81, "glFogfv" }, { 82, "glFogi" }, { 83, "glFogiv" }, { 84, "glFrontFace" }, { 85, "glHint" }, { 86, "glLightf" }, { 87, "glLightfv" }, { 88, "glLighti" }, { 89, "glLightiv" }, { 90, "glLightModelf" }, { 91, "glLightModelfv" }, { 92, "glLightModeli" }, { 93, "glLightModeliv" }, { 94, "glLineStipple" }, { 95, "glLineWidth" }, { 96, "glMaterialf" }, { 97, "glMaterialfv" }, { 98, "glMateriali" }, { 99, "glMaterialiv" }, { 100, "glPointSize" }, { 101, "glPolygonMode" }, { 102, "glPolygonStipple" }, { 103, "glScissor" }, { 104, "glShadeModel" }, { 105, "glTexParameterf" }, { 106, "glTexParameterfv" }, { 107, "glTexParameteri" }, { 108, "glTexParameteriv" }, { 109, "glTexImage1D" }, { 110, "glTexImage2D" }, { 111, "glTexEnvf" }, { 112, "glTexEnvfv" }, { 113, "glTexEnvi" }, { 114, "glTexEnviv" }, { 115, "glTexGend" }, { 116, "glTexGendv" }, { 117, "glTexGenf" }, { 118, "glTexGenfv" }, { 119, "glTexGeni" }, { 120, "glTexGeniv" }, { 121, "glInitNames" }, { 122, "glLoadName" }, { 123, "glPassThrough" }, { 124, "glPopName" }, { 125, "glPushName" }, { 126, "glDrawBuffer" }, { 127, "glClear" }, { 128, "glClearAccum" }, { 129, "glClearIndex" }, { 130, "glClearColor" }, { 131, "glClearStencil" }, { 132, "glClearDepth" }, { 133, "glStencilMask" }, { 134, "glColorMask" }, { 135, "glDepthMask" }, { 136, "glIndexMask" }, { 137, "glAccum" }, { 138, "glDisable" }, { 139, "glEnable" }, { 141, "glPopAttrib" }, { 142, "glPushAttrib" }, { 143, "glMap1d" }, { 144, "glMap1f" }, { 145, "glMap2d" }, { 146, "glMap2f" }, { 147, "glMapGrid1d" }, { 148, "glMapGrid1f" }, { 149, "glMapGrid2d" }, { 150, "glMapGrid2f" }, { 151, "glEvalCoord1dv" }, { 152, "glEvalCoord1fv" }, { 153, "glEvalCoord2dv" }, { 154, "glEvalCoord2fv" }, { 155, "glEvalMesh1" }, { 156, "glEvalPoint1" }, { 157, "glEvalMesh2" }, { 158, "glEvalPoint2" }, { 159, "glAlphaFunc" }, { 160, "glBlendFunc" }, { 161, "glLogicOp" }, { 162, "glStencilFunc" }, { 163, "glStencilOp" }, { 164, "glDepthFunc" }, { 165, "glPixelZoom" }, { 166, "glPixelTransferf" }, { 167, "glPixelTransferi" }, { 168, "glPixelMapfv" }, { 169, "glPixelMapuiv" }, { 170, "glPixelMapusv" }, { 171, "glReadBuffer" }, { 172, "glCopyPixels" }, { 173, "glDrawPixels" }, { 174, "glDepthRange" }, { 175, "glFrustum" }, { 176, "glLoadIdentity" }, { 177, "glLoadMatrixf" }, { 178, "glLoadMatrixd" }, { 179, "glMatrixMode" }, { 180, "glMultMatrixf" }, { 181, "glMultMatrixd" }, { 182, "glOrtho" }, { 183, "glPopMatrix" }, { 184, "glPushMatrix" }, { 185, "glRotated" }, { 186, "glRotatef" }, { 187, "glScaled" }, { 188, "glScalef" }, { 189, "glTranslated" }, { 190, "glTranslatef" }, { 191, "glViewport" }, { 192, "glPolygonOffset" }, { 193, "glDrawArrays" }, { 194, "glIndexubv" }, { 195, "glColorSubTable" }, { 196, "glCopyColorSubTable" }, { 197, "glActiveTexture" }, { 198, "glMultiTexCoord1dv" }, { 199, "glMultiTexCoord1fvARB" }, { 200, "glMultiTexCoord1iv" }, { 201, "glMultiTexCoord1sv" }, { 202, "glMultiTexCoord2dv" }, { 203, "glMultiTexCoord2fvARB" }, { 204, "glMultiTexCoord2iv" }, { 205, "glMultiTexCoord2sv" }, { 206, "glMultiTexCoord3dv" }, { 207, "glMultiTexCoord3fvARB" }, { 208, "glMultiTexCoord3iv" }, { 209, "glMultiTexCoord3sv" }, { 210, "glMultiTexCoord4dv" }, { 211, "glMultiTexCoord4fvARB" }, { 212, "glMultiTexCoord4iv" }, { 213, "glMultiTexCoord4sv" }, { 214, "glCompressedTexImage1D" }, { 215, "glCompressedTexImage2D" }, { 216, "glCompressedTexImage3D" }, { 217, "glCompressedTexSubImage1D" }, { 218, "glCompressedTexSubImage2D" }, { 219, "glCompressedTexSubImage3D" }, { 229, "glSampleCoverage" }, { 230, "glWindowPos3fv" }, { 231, "glBeginQuery" }, { 232, "glEndQuery" }, { 233, "glDrawBuffers" }, { 2048, "glSampleMaskSGIS" }, { 2049, "glSamplePatternSGIS" }, { 2050, "glTagSampleBufferSGIX" }, { 2051, "glDetailTexFuncSGIS" }, { 2052, "glSharpenTexFuncSGIS" }, { 2053, "glColorTable" }, { 2054, "glColorTableParameterfv" }, { 2055, "glColorTableParameteriv" }, { 2056, "glCopyColorTable" }, { 2057, "glTexImage4DSGIS" }, { 2058, "glTexSubImage4DSGIS" }, { 2059, "glPixelTexGenSGIX" }, { 2064, "glTexFilterFuncSGIS" }, { 2065, "glPointParameterf" }, { 2066, "glPointParameterfv" }, { 2067, "glFogFuncSGIS" }, { 2071, "glReferencePlaneSGIX" }, { 2072, "glFrameZoomSGIX" }, { 2082, "glTextureColorMaskSGIS" }, { 4096, "glBlendColor" }, { 4097, "glBlendEquation" }, { 4098, "glPolygonOffsetEXT" }, { 4099, "glTexSubImage1D" }, { 4100, "glTexSubImage2D" }, { 4101, "glConvolutionFilter1D" }, { 4102, "glConvolutionFilter2D" }, { 4103, "glConvolutionParameterf" }, { 4104, "glConvolutionParameterfv" }, { 4105, "glConvolutionParameteri" }, { 4106, "glConvolutionParameteriv" }, { 4107, "glCopyConvolutionFilter1D" }, { 4108, "glCopyConvolutionFilter2D" }, { 4109, "glSeparableFilter2D" }, { 4110, "glHistogram" }, { 4111, "glMinmax" }, { 4112, "glResetHistogram" }, { 4113, "glResetMinmax" }, { 4114, "glTexImage3D" }, { 4115, "glTexSubImage3D" }, { 4117, "glBindTexture" }, { 4118, "glPrioritizeTextures" }, { 4119, "glCopyTexImage1D" }, { 4120, "glCopyTexImage2D" }, { 4121, "glCopyTexSubImage1D" }, { 4122, "glCopyTexSubImage2D" }, { 4123, "glCopyTexSubImage3D" }, { 4124, "glFogCoordfvEXT" }, { 4125, "glFogCoorddv" }, { 4126, "glSecondaryColor3bv" }, { 4127, "glSecondaryColor3sv" }, { 4128, "glSecondaryColor3iv" }, { 4129, "glSecondaryColor3fvEXT" }, { 4130, "glSecondaryColor3dv" }, { 4131, "glSecondaryColor3ubv" }, { 4132, "glSecondaryColor3usv" }, { 4133, "glSecondaryColor3uiv" }, { 4134, "glBlendFuncSeparate" }, { 4135, "glVertexWeightfvEXT" }, { 4136, "glCombinerParameterfNV" }, { 4137, "glCombinerParameterfvNV" }, { 4138, "glCombinerParameteriNV" }, { 4139, "glCombinerParameterivNV" }, { 4140, "glCombinerInputNV" }, { 4141, "glCombinerOutputNV" }, { 4142, "glFinalCombinerInputNV" }, { 4180, "glBindProgramARB" }, { 4181, "glExecuteProgramNV" }, { 4182, "glRequestResidentProgramsNV" }, { 4183, "glLoadProgramNV" }, { 4184, "glProgramEnvParameter4fvARB" }, { 4185, "glProgramEnvParameter4dvARB" }, { 4186, "glProgramParameters4fvNV" }, { 4187, "glProgramParameters4dvNV" }, { 4188, "glTrackMatrixNV" }, { 4189, "glVertexAttrib1sv" }, { 4190, "glVertexAttrib2sv" }, { 4191, "glVertexAttrib3sv" }, { 4192, "glVertexAttrib4sv" }, { 4193, "glVertexAttrib1fvARB" }, { 4194, "glVertexAttrib2fvARB" }, { 4195, "glVertexAttrib3fvARB" }, { 4196, "glVertexAttrib4fvARB" }, { 4197, "glVertexAttrib1dv" }, { 4198, "glVertexAttrib2dv" }, { 4199, "glVertexAttrib3dv" }, { 4200, "glVertexAttrib4dv" }, { 4201, "glVertexAttrib4Nubv" }, { 4202, "glVertexAttribs1svNV" }, { 4203, "glVertexAttribs2svNV" }, { 4204, "glVertexAttribs3svNV" }, { 4205, "glVertexAttribs4svNV" }, { 4206, "glVertexAttribs1fvNV" }, { 4207, "glVertexAttribs2fvNV" }, { 4208, "glVertexAttribs3fvNV" }, { 4209, "glVertexAttribs4fvNV" }, { 4210, "glVertexAttribs1dvNV" }, { 4211, "glVertexAttribs2dvNV" }, { 4212, "glVertexAttribs3dvNV" }, { 4213, "glVertexAttribs4dvNV" }, { 4214, "glVertexAttribs4ubvNV" }, { 4215, "glProgramLocalParameter4fvARB" }, { 4216, "glProgramLocalParameter4dvARB" }, { 4217, "glProgramStringARB" }, { 4218, "glProgramNamedParameter4fvNV" }, { 4219, "glProgramNamedParameter4dvNV" }, { 4220, "glActiveStencilFaceEXT" }, { 4221, "glPointParameteri" }, { 4222, "glPointParameteriv" }, { 4228, "glBlendEquationSeparate" }, { 4229, "glDepthBoundsEXT" }, { 4230, "glVertexAttrib4bv" }, { 4231, "glVertexAttrib4iv" }, { 4232, "glVertexAttrib4ubv" }, { 4233, "glVertexAttrib4usv" }, { 4234, "glVertexAttrib4uiv" }, { 4235, "glVertexAttrib4Nbv" }, { 4236, "glVertexAttrib4Nsv" }, { 4237, "glVertexAttrib4Niv" }, { 4238, "glVertexAttrib4Nusv" }, { 4239, "glVertexAttrib4Nuiv" }, { 4265, "glVertexAttrib1svNV" }, { 4266, "glVertexAttrib2svNV" }, { 4267, "glVertexAttrib3svNV" }, { 4268, "glVertexAttrib4svNV" }, { 4269, "glVertexAttrib1fvNV" }, { 4270, "glVertexAttrib2fvNV" }, { 4271, "glVertexAttrib3fvNV" }, { 4272, "glVertexAttrib4fvNV" }, { 4273, "glVertexAttrib1dvNV" }, { 4274, "glVertexAttrib2dvNV" }, { 4275, "glVertexAttrib3dvNV" }, { 4276, "glVertexAttrib4dvNV" }, { 4277, "glVertexAttrib4ubvNV" }, { 4326, "glMatrixIndexubvARB" }, { 4327, "glMatrixIndexusvARB" }, { 4328, "glMatrixIndexuivARB" }, { 4329, "glCurrentPaletteMatrixARB" }, { 0, NULL } }; static void dispatch_glx_render(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order, int length) { while (length >= 4) { guint32 op, len; int next; proto_item *ti; proto_tree *tt; len = VALUE16(tvb, *offsetp); op = VALUE16(tvb, *offsetp + 2); ti = proto_tree_add_uint(t, hf_x11_glx_render_op_name, tvb, *offsetp, len, op); tt = proto_item_add_subtree(ti, ett_x11_list_of_rectangle); ti = proto_tree_add_item(tt, hf_x11_request_length, tvb, *offsetp, 2, byte_order); *offsetp += 2; proto_tree_add_item(tt, hf_x11_glx_render_op_name, tvb, *offsetp, 2, byte_order); *offsetp += 2; if (len < 4) { expert_add_info_format(pinfo, ti, PI_MALFORMED, PI_ERROR, "Invalid Length"); /* Eat the rest of the packet, mark it undecoded */ len = length; op = -1; } len -= 4; next = *offsetp + len; switch (op) { case 1: mesa_CallList(tvb, offsetp, tt, byte_order, len); break; case 2: mesa_CallLists(tvb, offsetp, tt, byte_order, len); break; case 3: mesa_ListBase(tvb, offsetp, tt, byte_order, len); break; case 4: mesa_Begin(tvb, offsetp, tt, byte_order, len); break; case 5: mesa_Bitmap(tvb, offsetp, tt, byte_order, len); break; case 6: mesa_Color3bv(tvb, offsetp, tt, byte_order, len); break; case 7: mesa_Color3dv(tvb, offsetp, tt, byte_order, len); break; case 8: mesa_Color3fv(tvb, offsetp, tt, byte_order, len); break; case 9: mesa_Color3iv(tvb, offsetp, tt, byte_order, len); break; case 10: mesa_Color3sv(tvb, offsetp, tt, byte_order, len); break; case 11: mesa_Color3ubv(tvb, offsetp, tt, byte_order, len); break; case 12: mesa_Color3uiv(tvb, offsetp, tt, byte_order, len); break; case 13: mesa_Color3usv(tvb, offsetp, tt, byte_order, len); break; case 14: mesa_Color4bv(tvb, offsetp, tt, byte_order, len); break; case 15: mesa_Color4dv(tvb, offsetp, tt, byte_order, len); break; case 16: mesa_Color4fv(tvb, offsetp, tt, byte_order, len); break; case 17: mesa_Color4iv(tvb, offsetp, tt, byte_order, len); break; case 18: mesa_Color4sv(tvb, offsetp, tt, byte_order, len); break; case 19: mesa_Color4ubv(tvb, offsetp, tt, byte_order, len); break; case 20: mesa_Color4uiv(tvb, offsetp, tt, byte_order, len); break; case 21: mesa_Color4usv(tvb, offsetp, tt, byte_order, len); break; case 22: mesa_EdgeFlagv(tvb, offsetp, tt, byte_order, len); break; case 23: mesa_End(tvb, offsetp, tt, byte_order, len); break; case 24: mesa_Indexdv(tvb, offsetp, tt, byte_order, len); break; case 25: mesa_Indexfv(tvb, offsetp, tt, byte_order, len); break; case 26: mesa_Indexiv(tvb, offsetp, tt, byte_order, len); break; case 27: mesa_Indexsv(tvb, offsetp, tt, byte_order, len); break; case 28: mesa_Normal3bv(tvb, offsetp, tt, byte_order, len); break; case 29: mesa_Normal3dv(tvb, offsetp, tt, byte_order, len); break; case 30: mesa_Normal3fv(tvb, offsetp, tt, byte_order, len); break; case 31: mesa_Normal3iv(tvb, offsetp, tt, byte_order, len); break; case 32: mesa_Normal3sv(tvb, offsetp, tt, byte_order, len); break; case 33: mesa_RasterPos2dv(tvb, offsetp, tt, byte_order, len); break; case 34: mesa_RasterPos2fv(tvb, offsetp, tt, byte_order, len); break; case 35: mesa_RasterPos2iv(tvb, offsetp, tt, byte_order, len); break; case 36: mesa_RasterPos2sv(tvb, offsetp, tt, byte_order, len); break; case 37: mesa_RasterPos3dv(tvb, offsetp, tt, byte_order, len); break; case 38: mesa_RasterPos3fv(tvb, offsetp, tt, byte_order, len); break; case 39: mesa_RasterPos3iv(tvb, offsetp, tt, byte_order, len); break; case 40: mesa_RasterPos3sv(tvb, offsetp, tt, byte_order, len); break; case 41: mesa_RasterPos4dv(tvb, offsetp, tt, byte_order, len); break; case 42: mesa_RasterPos4fv(tvb, offsetp, tt, byte_order, len); break; case 43: mesa_RasterPos4iv(tvb, offsetp, tt, byte_order, len); break; case 44: mesa_RasterPos4sv(tvb, offsetp, tt, byte_order, len); break; case 45: mesa_Rectdv(tvb, offsetp, tt, byte_order, len); break; case 46: mesa_Rectfv(tvb, offsetp, tt, byte_order, len); break; case 47: mesa_Rectiv(tvb, offsetp, tt, byte_order, len); break; case 48: mesa_Rectsv(tvb, offsetp, tt, byte_order, len); break; case 49: mesa_TexCoord1dv(tvb, offsetp, tt, byte_order, len); break; case 50: mesa_TexCoord1fv(tvb, offsetp, tt, byte_order, len); break; case 51: mesa_TexCoord1iv(tvb, offsetp, tt, byte_order, len); break; case 52: mesa_TexCoord1sv(tvb, offsetp, tt, byte_order, len); break; case 53: mesa_TexCoord2dv(tvb, offsetp, tt, byte_order, len); break; case 54: mesa_TexCoord2fv(tvb, offsetp, tt, byte_order, len); break; case 55: mesa_TexCoord2iv(tvb, offsetp, tt, byte_order, len); break; case 56: mesa_TexCoord2sv(tvb, offsetp, tt, byte_order, len); break; case 57: mesa_TexCoord3dv(tvb, offsetp, tt, byte_order, len); break; case 58: mesa_TexCoord3fv(tvb, offsetp, tt, byte_order, len); break; case 59: mesa_TexCoord3iv(tvb, offsetp, tt, byte_order, len); break; case 60: mesa_TexCoord3sv(tvb, offsetp, tt, byte_order, len); break; case 61: mesa_TexCoord4dv(tvb, offsetp, tt, byte_order, len); break; case 62: mesa_TexCoord4fv(tvb, offsetp, tt, byte_order, len); break; case 63: mesa_TexCoord4iv(tvb, offsetp, tt, byte_order, len); break; case 64: mesa_TexCoord4sv(tvb, offsetp, tt, byte_order, len); break; case 65: mesa_Vertex2dv(tvb, offsetp, tt, byte_order, len); break; case 66: mesa_Vertex2fv(tvb, offsetp, tt, byte_order, len); break; case 67: mesa_Vertex2iv(tvb, offsetp, tt, byte_order, len); break; case 68: mesa_Vertex2sv(tvb, offsetp, tt, byte_order, len); break; case 69: mesa_Vertex3dv(tvb, offsetp, tt, byte_order, len); break; case 70: mesa_Vertex3fv(tvb, offsetp, tt, byte_order, len); break; case 71: mesa_Vertex3iv(tvb, offsetp, tt, byte_order, len); break; case 72: mesa_Vertex3sv(tvb, offsetp, tt, byte_order, len); break; case 73: mesa_Vertex4dv(tvb, offsetp, tt, byte_order, len); break; case 74: mesa_Vertex4fv(tvb, offsetp, tt, byte_order, len); break; case 75: mesa_Vertex4iv(tvb, offsetp, tt, byte_order, len); break; case 76: mesa_Vertex4sv(tvb, offsetp, tt, byte_order, len); break; case 77: mesa_ClipPlane(tvb, offsetp, tt, byte_order, len); break; case 78: mesa_ColorMaterial(tvb, offsetp, tt, byte_order, len); break; case 79: mesa_CullFace(tvb, offsetp, tt, byte_order, len); break; case 80: mesa_Fogf(tvb, offsetp, tt, byte_order, len); break; case 81: mesa_Fogfv(tvb, offsetp, tt, byte_order, len); break; case 82: mesa_Fogi(tvb, offsetp, tt, byte_order, len); break; case 83: mesa_Fogiv(tvb, offsetp, tt, byte_order, len); break; case 84: mesa_FrontFace(tvb, offsetp, tt, byte_order, len); break; case 85: mesa_Hint(tvb, offsetp, tt, byte_order, len); break; case 86: mesa_Lightf(tvb, offsetp, tt, byte_order, len); break; case 87: mesa_Lightfv(tvb, offsetp, tt, byte_order, len); break; case 88: mesa_Lighti(tvb, offsetp, tt, byte_order, len); break; case 89: mesa_Lightiv(tvb, offsetp, tt, byte_order, len); break; case 90: mesa_LightModelf(tvb, offsetp, tt, byte_order, len); break; case 91: mesa_LightModelfv(tvb, offsetp, tt, byte_order, len); break; case 92: mesa_LightModeli(tvb, offsetp, tt, byte_order, len); break; case 93: mesa_LightModeliv(tvb, offsetp, tt, byte_order, len); break; case 94: mesa_LineStipple(tvb, offsetp, tt, byte_order, len); break; case 95: mesa_LineWidth(tvb, offsetp, tt, byte_order, len); break; case 96: mesa_Materialf(tvb, offsetp, tt, byte_order, len); break; case 97: mesa_Materialfv(tvb, offsetp, tt, byte_order, len); break; case 98: mesa_Materiali(tvb, offsetp, tt, byte_order, len); break; case 99: mesa_Materialiv(tvb, offsetp, tt, byte_order, len); break; case 100: mesa_PointSize(tvb, offsetp, tt, byte_order, len); break; case 101: mesa_PolygonMode(tvb, offsetp, tt, byte_order, len); break; case 102: mesa_PolygonStipple(tvb, offsetp, tt, byte_order, len); break; case 103: mesa_Scissor(tvb, offsetp, tt, byte_order, len); break; case 104: mesa_ShadeModel(tvb, offsetp, tt, byte_order, len); break; case 105: mesa_TexParameterf(tvb, offsetp, tt, byte_order, len); break; case 106: mesa_TexParameterfv(tvb, offsetp, tt, byte_order, len); break; case 107: mesa_TexParameteri(tvb, offsetp, tt, byte_order, len); break; case 108: mesa_TexParameteriv(tvb, offsetp, tt, byte_order, len); break; case 109: mesa_TexImage1D(tvb, offsetp, tt, byte_order, len); break; case 110: mesa_TexImage2D(tvb, offsetp, tt, byte_order, len); break; case 111: mesa_TexEnvf(tvb, offsetp, tt, byte_order, len); break; case 112: mesa_TexEnvfv(tvb, offsetp, tt, byte_order, len); break; case 113: mesa_TexEnvi(tvb, offsetp, tt, byte_order, len); break; case 114: mesa_TexEnviv(tvb, offsetp, tt, byte_order, len); break; case 115: mesa_TexGend(tvb, offsetp, tt, byte_order, len); break; case 116: mesa_TexGendv(tvb, offsetp, tt, byte_order, len); break; case 117: mesa_TexGenf(tvb, offsetp, tt, byte_order, len); break; case 118: mesa_TexGenfv(tvb, offsetp, tt, byte_order, len); break; case 119: mesa_TexGeni(tvb, offsetp, tt, byte_order, len); break; case 120: mesa_TexGeniv(tvb, offsetp, tt, byte_order, len); break; case 121: mesa_InitNames(tvb, offsetp, tt, byte_order, len); break; case 122: mesa_LoadName(tvb, offsetp, tt, byte_order, len); break; case 123: mesa_PassThrough(tvb, offsetp, tt, byte_order, len); break; case 124: mesa_PopName(tvb, offsetp, tt, byte_order, len); break; case 125: mesa_PushName(tvb, offsetp, tt, byte_order, len); break; case 126: mesa_DrawBuffer(tvb, offsetp, tt, byte_order, len); break; case 127: mesa_Clear(tvb, offsetp, tt, byte_order, len); break; case 128: mesa_ClearAccum(tvb, offsetp, tt, byte_order, len); break; case 129: mesa_ClearIndex(tvb, offsetp, tt, byte_order, len); break; case 130: mesa_ClearColor(tvb, offsetp, tt, byte_order, len); break; case 131: mesa_ClearStencil(tvb, offsetp, tt, byte_order, len); break; case 132: mesa_ClearDepth(tvb, offsetp, tt, byte_order, len); break; case 133: mesa_StencilMask(tvb, offsetp, tt, byte_order, len); break; case 134: mesa_ColorMask(tvb, offsetp, tt, byte_order, len); break; case 135: mesa_DepthMask(tvb, offsetp, tt, byte_order, len); break; case 136: mesa_IndexMask(tvb, offsetp, tt, byte_order, len); break; case 137: mesa_Accum(tvb, offsetp, tt, byte_order, len); break; case 138: mesa_Disable(tvb, offsetp, tt, byte_order, len); break; case 139: mesa_Enable(tvb, offsetp, tt, byte_order, len); break; case 141: mesa_PopAttrib(tvb, offsetp, tt, byte_order, len); break; case 142: mesa_PushAttrib(tvb, offsetp, tt, byte_order, len); break; case 143: mesa_Map1d(tvb, offsetp, tt, byte_order, len); break; case 144: mesa_Map1f(tvb, offsetp, tt, byte_order, len); break; case 145: mesa_Map2d(tvb, offsetp, tt, byte_order, len); break; case 146: mesa_Map2f(tvb, offsetp, tt, byte_order, len); break; case 147: mesa_MapGrid1d(tvb, offsetp, tt, byte_order, len); break; case 148: mesa_MapGrid1f(tvb, offsetp, tt, byte_order, len); break; case 149: mesa_MapGrid2d(tvb, offsetp, tt, byte_order, len); break; case 150: mesa_MapGrid2f(tvb, offsetp, tt, byte_order, len); break; case 151: mesa_EvalCoord1dv(tvb, offsetp, tt, byte_order, len); break; case 152: mesa_EvalCoord1fv(tvb, offsetp, tt, byte_order, len); break; case 153: mesa_EvalCoord2dv(tvb, offsetp, tt, byte_order, len); break; case 154: mesa_EvalCoord2fv(tvb, offsetp, tt, byte_order, len); break; case 155: mesa_EvalMesh1(tvb, offsetp, tt, byte_order, len); break; case 156: mesa_EvalPoint1(tvb, offsetp, tt, byte_order, len); break; case 157: mesa_EvalMesh2(tvb, offsetp, tt, byte_order, len); break; case 158: mesa_EvalPoint2(tvb, offsetp, tt, byte_order, len); break; case 159: mesa_AlphaFunc(tvb, offsetp, tt, byte_order, len); break; case 160: mesa_BlendFunc(tvb, offsetp, tt, byte_order, len); break; case 161: mesa_LogicOp(tvb, offsetp, tt, byte_order, len); break; case 162: mesa_StencilFunc(tvb, offsetp, tt, byte_order, len); break; case 163: mesa_StencilOp(tvb, offsetp, tt, byte_order, len); break; case 164: mesa_DepthFunc(tvb, offsetp, tt, byte_order, len); break; case 165: mesa_PixelZoom(tvb, offsetp, tt, byte_order, len); break; case 166: mesa_PixelTransferf(tvb, offsetp, tt, byte_order, len); break; case 167: mesa_PixelTransferi(tvb, offsetp, tt, byte_order, len); break; case 168: mesa_PixelMapfv(tvb, offsetp, tt, byte_order, len); break; case 169: mesa_PixelMapuiv(tvb, offsetp, tt, byte_order, len); break; case 170: mesa_PixelMapusv(tvb, offsetp, tt, byte_order, len); break; case 171: mesa_ReadBuffer(tvb, offsetp, tt, byte_order, len); break; case 172: mesa_CopyPixels(tvb, offsetp, tt, byte_order, len); break; case 173: mesa_DrawPixels(tvb, offsetp, tt, byte_order, len); break; case 174: mesa_DepthRange(tvb, offsetp, tt, byte_order, len); break; case 175: mesa_Frustum(tvb, offsetp, tt, byte_order, len); break; case 176: mesa_LoadIdentity(tvb, offsetp, tt, byte_order, len); break; case 177: mesa_LoadMatrixf(tvb, offsetp, tt, byte_order, len); break; case 178: mesa_LoadMatrixd(tvb, offsetp, tt, byte_order, len); break; case 179: mesa_MatrixMode(tvb, offsetp, tt, byte_order, len); break; case 180: mesa_MultMatrixf(tvb, offsetp, tt, byte_order, len); break; case 181: mesa_MultMatrixd(tvb, offsetp, tt, byte_order, len); break; case 182: mesa_Ortho(tvb, offsetp, tt, byte_order, len); break; case 183: mesa_PopMatrix(tvb, offsetp, tt, byte_order, len); break; case 184: mesa_PushMatrix(tvb, offsetp, tt, byte_order, len); break; case 185: mesa_Rotated(tvb, offsetp, tt, byte_order, len); break; case 186: mesa_Rotatef(tvb, offsetp, tt, byte_order, len); break; case 187: mesa_Scaled(tvb, offsetp, tt, byte_order, len); break; case 188: mesa_Scalef(tvb, offsetp, tt, byte_order, len); break; case 189: mesa_Translated(tvb, offsetp, tt, byte_order, len); break; case 190: mesa_Translatef(tvb, offsetp, tt, byte_order, len); break; case 191: mesa_Viewport(tvb, offsetp, tt, byte_order, len); break; case 192: mesa_PolygonOffset(tvb, offsetp, tt, byte_order, len); break; case 193: mesa_DrawArrays(tvb, offsetp, tt, byte_order, len); break; case 194: mesa_Indexubv(tvb, offsetp, tt, byte_order, len); break; case 195: mesa_ColorSubTable(tvb, offsetp, tt, byte_order, len); break; case 196: mesa_CopyColorSubTable(tvb, offsetp, tt, byte_order, len); break; case 197: mesa_ActiveTexture(tvb, offsetp, tt, byte_order, len); break; case 198: mesa_MultiTexCoord1dv(tvb, offsetp, tt, byte_order, len); break; case 199: mesa_MultiTexCoord1fvARB(tvb, offsetp, tt, byte_order, len); break; case 200: mesa_MultiTexCoord1iv(tvb, offsetp, tt, byte_order, len); break; case 201: mesa_MultiTexCoord1sv(tvb, offsetp, tt, byte_order, len); break; case 202: mesa_MultiTexCoord2dv(tvb, offsetp, tt, byte_order, len); break; case 203: mesa_MultiTexCoord2fvARB(tvb, offsetp, tt, byte_order, len); break; case 204: mesa_MultiTexCoord2iv(tvb, offsetp, tt, byte_order, len); break; case 205: mesa_MultiTexCoord2sv(tvb, offsetp, tt, byte_order, len); break; case 206: mesa_MultiTexCoord3dv(tvb, offsetp, tt, byte_order, len); break; case 207: mesa_MultiTexCoord3fvARB(tvb, offsetp, tt, byte_order, len); break; case 208: mesa_MultiTexCoord3iv(tvb, offsetp, tt, byte_order, len); break; case 209: mesa_MultiTexCoord3sv(tvb, offsetp, tt, byte_order, len); break; case 210: mesa_MultiTexCoord4dv(tvb, offsetp, tt, byte_order, len); break; case 211: mesa_MultiTexCoord4fvARB(tvb, offsetp, tt, byte_order, len); break; case 212: mesa_MultiTexCoord4iv(tvb, offsetp, tt, byte_order, len); break; case 213: mesa_MultiTexCoord4sv(tvb, offsetp, tt, byte_order, len); break; case 214: mesa_CompressedTexImage1D(tvb, offsetp, tt, byte_order, len); break; case 215: mesa_CompressedTexImage2D(tvb, offsetp, tt, byte_order, len); break; case 216: mesa_CompressedTexImage3D(tvb, offsetp, tt, byte_order, len); break; case 217: mesa_CompressedTexSubImage1D(tvb, offsetp, tt, byte_order, len); break; case 218: mesa_CompressedTexSubImage2D(tvb, offsetp, tt, byte_order, len); break; case 219: mesa_CompressedTexSubImage3D(tvb, offsetp, tt, byte_order, len); break; case 229: mesa_SampleCoverage(tvb, offsetp, tt, byte_order, len); break; case 230: mesa_WindowPos3fv(tvb, offsetp, tt, byte_order, len); break; case 231: mesa_BeginQuery(tvb, offsetp, tt, byte_order, len); break; case 232: mesa_EndQuery(tvb, offsetp, tt, byte_order, len); break; case 233: mesa_DrawBuffers(tvb, offsetp, tt, byte_order, len); break; case 2048: mesa_SampleMaskSGIS(tvb, offsetp, tt, byte_order, len); break; case 2049: mesa_SamplePatternSGIS(tvb, offsetp, tt, byte_order, len); break; case 2050: mesa_TagSampleBufferSGIX(tvb, offsetp, tt, byte_order, len); break; case 2051: mesa_DetailTexFuncSGIS(tvb, offsetp, tt, byte_order, len); break; case 2052: mesa_SharpenTexFuncSGIS(tvb, offsetp, tt, byte_order, len); break; case 2053: mesa_ColorTable(tvb, offsetp, tt, byte_order, len); break; case 2054: mesa_ColorTableParameterfv(tvb, offsetp, tt, byte_order, len); break; case 2055: mesa_ColorTableParameteriv(tvb, offsetp, tt, byte_order, len); break; case 2056: mesa_CopyColorTable(tvb, offsetp, tt, byte_order, len); break; case 2057: mesa_TexImage4DSGIS(tvb, offsetp, tt, byte_order, len); break; case 2058: mesa_TexSubImage4DSGIS(tvb, offsetp, tt, byte_order, len); break; case 2059: mesa_PixelTexGenSGIX(tvb, offsetp, tt, byte_order, len); break; case 2064: mesa_TexFilterFuncSGIS(tvb, offsetp, tt, byte_order, len); break; case 2065: mesa_PointParameterf(tvb, offsetp, tt, byte_order, len); break; case 2066: mesa_PointParameterfv(tvb, offsetp, tt, byte_order, len); break; case 2067: mesa_FogFuncSGIS(tvb, offsetp, tt, byte_order, len); break; case 2071: mesa_ReferencePlaneSGIX(tvb, offsetp, tt, byte_order, len); break; case 2072: mesa_FrameZoomSGIX(tvb, offsetp, tt, byte_order, len); break; case 2082: mesa_TextureColorMaskSGIS(tvb, offsetp, tt, byte_order, len); break; case 4096: mesa_BlendColor(tvb, offsetp, tt, byte_order, len); break; case 4097: mesa_BlendEquation(tvb, offsetp, tt, byte_order, len); break; case 4098: mesa_PolygonOffsetEXT(tvb, offsetp, tt, byte_order, len); break; case 4099: mesa_TexSubImage1D(tvb, offsetp, tt, byte_order, len); break; case 4100: mesa_TexSubImage2D(tvb, offsetp, tt, byte_order, len); break; case 4101: mesa_ConvolutionFilter1D(tvb, offsetp, tt, byte_order, len); break; case 4102: mesa_ConvolutionFilter2D(tvb, offsetp, tt, byte_order, len); break; case 4103: mesa_ConvolutionParameterf(tvb, offsetp, tt, byte_order, len); break; case 4104: mesa_ConvolutionParameterfv(tvb, offsetp, tt, byte_order, len); break; case 4105: mesa_ConvolutionParameteri(tvb, offsetp, tt, byte_order, len); break; case 4106: mesa_ConvolutionParameteriv(tvb, offsetp, tt, byte_order, len); break; case 4107: mesa_CopyConvolutionFilter1D(tvb, offsetp, tt, byte_order, len); break; case 4108: mesa_CopyConvolutionFilter2D(tvb, offsetp, tt, byte_order, len); break; case 4109: mesa_SeparableFilter2D(tvb, offsetp, tt, byte_order, len); break; case 4110: mesa_Histogram(tvb, offsetp, tt, byte_order, len); break; case 4111: mesa_Minmax(tvb, offsetp, tt, byte_order, len); break; case 4112: mesa_ResetHistogram(tvb, offsetp, tt, byte_order, len); break; case 4113: mesa_ResetMinmax(tvb, offsetp, tt, byte_order, len); break; case 4114: mesa_TexImage3D(tvb, offsetp, tt, byte_order, len); break; case 4115: mesa_TexSubImage3D(tvb, offsetp, tt, byte_order, len); break; case 4117: mesa_BindTexture(tvb, offsetp, tt, byte_order, len); break; case 4118: mesa_PrioritizeTextures(tvb, offsetp, tt, byte_order, len); break; case 4119: mesa_CopyTexImage1D(tvb, offsetp, tt, byte_order, len); break; case 4120: mesa_CopyTexImage2D(tvb, offsetp, tt, byte_order, len); break; case 4121: mesa_CopyTexSubImage1D(tvb, offsetp, tt, byte_order, len); break; case 4122: mesa_CopyTexSubImage2D(tvb, offsetp, tt, byte_order, len); break; case 4123: mesa_CopyTexSubImage3D(tvb, offsetp, tt, byte_order, len); break; case 4124: mesa_FogCoordfvEXT(tvb, offsetp, tt, byte_order, len); break; case 4125: mesa_FogCoorddv(tvb, offsetp, tt, byte_order, len); break; case 4126: mesa_SecondaryColor3bv(tvb, offsetp, tt, byte_order, len); break; case 4127: mesa_SecondaryColor3sv(tvb, offsetp, tt, byte_order, len); break; case 4128: mesa_SecondaryColor3iv(tvb, offsetp, tt, byte_order, len); break; case 4129: mesa_SecondaryColor3fvEXT(tvb, offsetp, tt, byte_order, len); break; case 4130: mesa_SecondaryColor3dv(tvb, offsetp, tt, byte_order, len); break; case 4131: mesa_SecondaryColor3ubv(tvb, offsetp, tt, byte_order, len); break; case 4132: mesa_SecondaryColor3usv(tvb, offsetp, tt, byte_order, len); break; case 4133: mesa_SecondaryColor3uiv(tvb, offsetp, tt, byte_order, len); break; case 4134: mesa_BlendFuncSeparate(tvb, offsetp, tt, byte_order, len); break; case 4135: mesa_VertexWeightfvEXT(tvb, offsetp, tt, byte_order, len); break; case 4136: mesa_CombinerParameterfNV(tvb, offsetp, tt, byte_order, len); break; case 4137: mesa_CombinerParameterfvNV(tvb, offsetp, tt, byte_order, len); break; case 4138: mesa_CombinerParameteriNV(tvb, offsetp, tt, byte_order, len); break; case 4139: mesa_CombinerParameterivNV(tvb, offsetp, tt, byte_order, len); break; case 4140: mesa_CombinerInputNV(tvb, offsetp, tt, byte_order, len); break; case 4141: mesa_CombinerOutputNV(tvb, offsetp, tt, byte_order, len); break; case 4142: mesa_FinalCombinerInputNV(tvb, offsetp, tt, byte_order, len); break; case 4180: mesa_BindProgramARB(tvb, offsetp, tt, byte_order, len); break; case 4181: mesa_ExecuteProgramNV(tvb, offsetp, tt, byte_order, len); break; case 4182: mesa_RequestResidentProgramsNV(tvb, offsetp, tt, byte_order, len); break; case 4183: mesa_LoadProgramNV(tvb, offsetp, tt, byte_order, len); break; case 4184: mesa_ProgramEnvParameter4fvARB(tvb, offsetp, tt, byte_order, len); break; case 4185: mesa_ProgramEnvParameter4dvARB(tvb, offsetp, tt, byte_order, len); break; case 4186: mesa_ProgramParameters4fvNV(tvb, offsetp, tt, byte_order, len); break; case 4187: mesa_ProgramParameters4dvNV(tvb, offsetp, tt, byte_order, len); break; case 4188: mesa_TrackMatrixNV(tvb, offsetp, tt, byte_order, len); break; case 4189: mesa_VertexAttrib1sv(tvb, offsetp, tt, byte_order, len); break; case 4190: mesa_VertexAttrib2sv(tvb, offsetp, tt, byte_order, len); break; case 4191: mesa_VertexAttrib3sv(tvb, offsetp, tt, byte_order, len); break; case 4192: mesa_VertexAttrib4sv(tvb, offsetp, tt, byte_order, len); break; case 4193: mesa_VertexAttrib1fvARB(tvb, offsetp, tt, byte_order, len); break; case 4194: mesa_VertexAttrib2fvARB(tvb, offsetp, tt, byte_order, len); break; case 4195: mesa_VertexAttrib3fvARB(tvb, offsetp, tt, byte_order, len); break; case 4196: mesa_VertexAttrib4fvARB(tvb, offsetp, tt, byte_order, len); break; case 4197: mesa_VertexAttrib1dv(tvb, offsetp, tt, byte_order, len); break; case 4198: mesa_VertexAttrib2dv(tvb, offsetp, tt, byte_order, len); break; case 4199: mesa_VertexAttrib3dv(tvb, offsetp, tt, byte_order, len); break; case 4200: mesa_VertexAttrib4dv(tvb, offsetp, tt, byte_order, len); break; case 4201: mesa_VertexAttrib4Nubv(tvb, offsetp, tt, byte_order, len); break; case 4202: mesa_VertexAttribs1svNV(tvb, offsetp, tt, byte_order, len); break; case 4203: mesa_VertexAttribs2svNV(tvb, offsetp, tt, byte_order, len); break; case 4204: mesa_VertexAttribs3svNV(tvb, offsetp, tt, byte_order, len); break; case 4205: mesa_VertexAttribs4svNV(tvb, offsetp, tt, byte_order, len); break; case 4206: mesa_VertexAttribs1fvNV(tvb, offsetp, tt, byte_order, len); break; case 4207: mesa_VertexAttribs2fvNV(tvb, offsetp, tt, byte_order, len); break; case 4208: mesa_VertexAttribs3fvNV(tvb, offsetp, tt, byte_order, len); break; case 4209: mesa_VertexAttribs4fvNV(tvb, offsetp, tt, byte_order, len); break; case 4210: mesa_VertexAttribs1dvNV(tvb, offsetp, tt, byte_order, len); break; case 4211: mesa_VertexAttribs2dvNV(tvb, offsetp, tt, byte_order, len); break; case 4212: mesa_VertexAttribs3dvNV(tvb, offsetp, tt, byte_order, len); break; case 4213: mesa_VertexAttribs4dvNV(tvb, offsetp, tt, byte_order, len); break; case 4214: mesa_VertexAttribs4ubvNV(tvb, offsetp, tt, byte_order, len); break; case 4215: mesa_ProgramLocalParameter4fvARB(tvb, offsetp, tt, byte_order, len); break; case 4216: mesa_ProgramLocalParameter4dvARB(tvb, offsetp, tt, byte_order, len); break; case 4217: mesa_ProgramStringARB(tvb, offsetp, tt, byte_order, len); break; case 4218: mesa_ProgramNamedParameter4fvNV(tvb, offsetp, tt, byte_order, len); break; case 4219: mesa_ProgramNamedParameter4dvNV(tvb, offsetp, tt, byte_order, len); break; case 4220: mesa_ActiveStencilFaceEXT(tvb, offsetp, tt, byte_order, len); break; case 4221: mesa_PointParameteri(tvb, offsetp, tt, byte_order, len); break; case 4222: mesa_PointParameteriv(tvb, offsetp, tt, byte_order, len); break; case 4228: mesa_BlendEquationSeparate(tvb, offsetp, tt, byte_order, len); break; case 4229: mesa_DepthBoundsEXT(tvb, offsetp, tt, byte_order, len); break; case 4230: mesa_VertexAttrib4bv(tvb, offsetp, tt, byte_order, len); break; case 4231: mesa_VertexAttrib4iv(tvb, offsetp, tt, byte_order, len); break; case 4232: mesa_VertexAttrib4ubv(tvb, offsetp, tt, byte_order, len); break; case 4233: mesa_VertexAttrib4usv(tvb, offsetp, tt, byte_order, len); break; case 4234: mesa_VertexAttrib4uiv(tvb, offsetp, tt, byte_order, len); break; case 4235: mesa_VertexAttrib4Nbv(tvb, offsetp, tt, byte_order, len); break; case 4236: mesa_VertexAttrib4Nsv(tvb, offsetp, tt, byte_order, len); break; case 4237: mesa_VertexAttrib4Niv(tvb, offsetp, tt, byte_order, len); break; case 4238: mesa_VertexAttrib4Nusv(tvb, offsetp, tt, byte_order, len); break; case 4239: mesa_VertexAttrib4Nuiv(tvb, offsetp, tt, byte_order, len); break; case 4265: mesa_VertexAttrib1svNV(tvb, offsetp, tt, byte_order, len); break; case 4266: mesa_VertexAttrib2svNV(tvb, offsetp, tt, byte_order, len); break; case 4267: mesa_VertexAttrib3svNV(tvb, offsetp, tt, byte_order, len); break; case 4268: mesa_VertexAttrib4svNV(tvb, offsetp, tt, byte_order, len); break; case 4269: mesa_VertexAttrib1fvNV(tvb, offsetp, tt, byte_order, len); break; case 4270: mesa_VertexAttrib2fvNV(tvb, offsetp, tt, byte_order, len); break; case 4271: mesa_VertexAttrib3fvNV(tvb, offsetp, tt, byte_order, len); break; case 4272: mesa_VertexAttrib4fvNV(tvb, offsetp, tt, byte_order, len); break; case 4273: mesa_VertexAttrib1dvNV(tvb, offsetp, tt, byte_order, len); break; case 4274: mesa_VertexAttrib2dvNV(tvb, offsetp, tt, byte_order, len); break; case 4275: mesa_VertexAttrib3dvNV(tvb, offsetp, tt, byte_order, len); break; case 4276: mesa_VertexAttrib4dvNV(tvb, offsetp, tt, byte_order, len); break; case 4277: mesa_VertexAttrib4ubvNV(tvb, offsetp, tt, byte_order, len); break; case 4326: mesa_MatrixIndexubvARB(tvb, offsetp, tt, byte_order, len); break; case 4327: mesa_MatrixIndexusvARB(tvb, offsetp, tt, byte_order, len); break; case 4328: mesa_MatrixIndexuivARB(tvb, offsetp, tt, byte_order, len); break; case 4329: mesa_CurrentPaletteMatrixARB(tvb, offsetp, tt, byte_order, len); break; default: proto_tree_add_item(tt, hf_x11_undecoded, tvb, *offsetp, len, ENC_NA); *offsetp += len; } if (*offsetp < next) { proto_tree_add_item(tt, hf_x11_unused, tvb, *offsetp, next - *offsetp, ENC_NA); *offsetp = next; } length -= (len + 4); } } #include "x11-enum.h" static void bigreqEnable(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void bigreqEnable_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_maximum_request_length; col_append_fstr(pinfo->cinfo, COL_INFO, "-Enable"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (bigreq-Enable)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_maximum_request_length = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_bigreq_Enable_reply_maximum_request_length, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string bigreq_extension_minor[] = { { 0, "Enable" }, { 0, NULL } }; const x11_event_info bigreq_events[] = { { NULL, NULL } }; static x11_reply_info bigreq_replies[] = { { 0, bigreqEnable_Reply }, { 0, NULL } }; static void dispatch_bigreq(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(bigreq_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, bigreq_extension_minor, "")); switch (minor) { case 0: bigreqEnable(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_bigreq(void) { set_handler("BIG-REQUESTS", dispatch_bigreq, bigreq_errors, bigreq_events, bigreq_replies); } static void struct_POINT(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_x; int f_y; item = proto_tree_add_item(root, hf_x11_struct_POINT, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_POINT_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_POINT_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_RECTANGLE(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_x; int f_y; int f_width; int f_height; item = proto_tree_add_item(root, hf_x11_struct_RECTANGLE, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RECTANGLE_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RECTANGLE_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RECTANGLE_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RECTANGLE_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static int struct_size_STR(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_name_len; f_name_len = VALUE8(tvb, *offsetp + size + 0); size += f_name_len * 1; return size + 1; } static void struct_STR(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name_len; item = proto_tree_add_item(root, hf_x11_struct_STR, tvb, *offsetp, struct_size_STR(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name_len = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_STR_name_len, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_struct_STR_name, f_name_len, byte_order); } } static void struct_DIRECTFORMAT(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_red_shift; int f_red_mask; int f_green_shift; int f_green_mask; int f_blue_shift; int f_blue_mask; int f_alpha_shift; int f_alpha_mask; item = proto_tree_add_item(root, hf_x11_struct_DIRECTFORMAT, tvb, *offsetp, 16, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_red_shift = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_red_shift, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_red_mask = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_red_mask, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_green_shift = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_green_shift, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_green_mask = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_green_mask, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_blue_shift = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_blue_shift, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_blue_mask = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_blue_mask, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_alpha_shift = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_alpha_shift, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_alpha_mask = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DIRECTFORMAT_alpha_mask, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_PICTFORMINFO(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_id; int f_type; int f_depth; int f_colormap; item = proto_tree_add_item(root, hf_x11_struct_PICTFORMINFO, tvb, *offsetp, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTFORMINFO_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_PICTFORMINFO_type, byte_order); f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTFORMINFO_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_DIRECTFORMAT(tvb, offsetp, t, byte_order, 1); f_colormap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTFORMINFO_colormap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_PICTVISUAL(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_visual; int f_format; item = proto_tree_add_item(root, hf_x11_struct_PICTVISUAL, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTVISUAL_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTVISUAL_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static int struct_size_PICTDEPTH(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_num_visuals; f_num_visuals = VALUE16(tvb, *offsetp + size + 2); size += f_num_visuals * 8; return size + 8; } static void struct_PICTDEPTH(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_depth; int f_num_visuals; item = proto_tree_add_item(root, hf_x11_struct_PICTDEPTH, tvb, *offsetp, struct_size_PICTDEPTH(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTDEPTH_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_num_visuals = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTDEPTH_num_visuals, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(4); struct_PICTVISUAL(tvb, offsetp, t, byte_order, f_num_visuals); } } static int struct_size_PICTSCREEN(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int i, off; int f_num_depths; f_num_depths = VALUE32(tvb, *offsetp + size + 0); for (i = 0; i < f_num_depths; i++) { off = (*offsetp) + size + 8; size += struct_size_PICTDEPTH(tvb, &off, byte_order); } return size + 8; } static void struct_PICTSCREEN(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_num_depths; int f_fallback; item = proto_tree_add_item(root, hf_x11_struct_PICTSCREEN, tvb, *offsetp, struct_size_PICTSCREEN(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_num_depths = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTSCREEN_num_depths, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fallback = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PICTSCREEN_fallback, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_PICTDEPTH(tvb, offsetp, t, byte_order, f_num_depths); } } static void struct_INDEXVALUE(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_pixel; int f_red; int f_green; int f_blue; int f_alpha; item = proto_tree_add_item(root, hf_x11_struct_INDEXVALUE, tvb, *offsetp, 12, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_pixel = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INDEXVALUE_pixel, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_red = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INDEXVALUE_red, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_green = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INDEXVALUE_green, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_blue = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INDEXVALUE_blue, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_alpha = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INDEXVALUE_alpha, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_COLOR(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_red; int f_green; int f_blue; int f_alpha; item = proto_tree_add_item(root, hf_x11_struct_COLOR, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_red = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_COLOR_red, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_green = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_COLOR_green, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_blue = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_COLOR_blue, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_alpha = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_COLOR_alpha, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_POINTFIX(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_x; int f_y; item = proto_tree_add_item(root, hf_x11_struct_POINTFIX, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_x = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_POINTFIX_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_y = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_POINTFIX_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_LINEFIX(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_LINEFIX, tvb, *offsetp, 16, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); } } static void struct_TRIANGLE(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_TRIANGLE, tvb, *offsetp, 24, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); } } static void struct_TRAPEZOID(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_top; int f_bottom; item = proto_tree_add_item(root, hf_x11_struct_TRAPEZOID, tvb, *offsetp, 40, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_top = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRAPEZOID_top, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bottom = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRAPEZOID_bottom, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_LINEFIX(tvb, offsetp, t, byte_order, 1); struct_LINEFIX(tvb, offsetp, t, byte_order, 1); } } static void struct_GLYPHINFO(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_width; int f_height; int f_x; int f_y; int f_x_off; int f_y_off; item = proto_tree_add_item(root, hf_x11_struct_GLYPHINFO, tvb, *offsetp, 12, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x_off = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_x_off, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_off = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_GLYPHINFO_y_off, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_TRANSFORM(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_matrix11; int f_matrix12; int f_matrix13; int f_matrix21; int f_matrix22; int f_matrix23; int f_matrix31; int f_matrix32; int f_matrix33; item = proto_tree_add_item(root, hf_x11_struct_TRANSFORM, tvb, *offsetp, 36, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_matrix11 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix11, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix12 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix12, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix13 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix13, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix21 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix21, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix22 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix22, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix23 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix23, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix31 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix31, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix32 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix32, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_matrix33 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRANSFORM_matrix33, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_ANIMCURSORELT(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_cursor; int f_delay; item = proto_tree_add_item(root, hf_x11_struct_ANIMCURSORELT, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_cursor = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ANIMCURSORELT_cursor, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_delay = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ANIMCURSORELT_delay, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_SPANFIX(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_l; int f_r; int f_y; item = proto_tree_add_item(root, hf_x11_struct_SPANFIX, tvb, *offsetp, 12, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_l = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SPANFIX_l, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_r = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SPANFIX_r, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_y = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SPANFIX_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_TRAP(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_TRAP, tvb, *offsetp, 24, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_SPANFIX(tvb, offsetp, t, byte_order, 1); struct_SPANFIX(tvb, offsetp, t, byte_order, 1); } } static void compositeQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_QueryVersion_client_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_QueryVersion_client_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void compositeQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (composite-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void compositeRedirectWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_update; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_RedirectWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_update = field8(tvb, offsetp, t, hf_x11_composite_RedirectWindow_update, byte_order); UNUSED(3); } static void compositeRedirectSubwindows(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_update; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_RedirectSubwindows_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_update = field8(tvb, offsetp, t, hf_x11_composite_RedirectSubwindows_update, byte_order); UNUSED(3); } static void compositeUnredirectWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_update; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_UnredirectWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_update = field8(tvb, offsetp, t, hf_x11_composite_UnredirectWindow_update, byte_order); UNUSED(3); } static void compositeUnredirectSubwindows(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_update; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_UnredirectSubwindows_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_update = field8(tvb, offsetp, t, hf_x11_composite_UnredirectSubwindows_update, byte_order); UNUSED(3); } static void compositeCreateRegionFromBorderClip(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_window; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_CreateRegionFromBorderClip_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_CreateRegionFromBorderClip_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void compositeNameWindowPixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_pixmap; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_NameWindowPixmap_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_NameWindowPixmap_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void compositeGetOverlayWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_GetOverlayWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void compositeGetOverlayWindow_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_overlay_win; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetOverlayWindow"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (composite-GetOverlayWindow)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_overlay_win = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_GetOverlayWindow_reply_overlay_win, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void compositeReleaseOverlayWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_composite_ReleaseOverlayWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string composite_extension_minor[] = { { 0, "QueryVersion" }, { 1, "RedirectWindow" }, { 2, "RedirectSubwindows" }, { 3, "UnredirectWindow" }, { 4, "UnredirectSubwindows" }, { 5, "CreateRegionFromBorderClip" }, { 6, "NameWindowPixmap" }, { 7, "GetOverlayWindow" }, { 8, "ReleaseOverlayWindow" }, { 0, NULL } }; const x11_event_info composite_events[] = { { NULL, NULL } }; static x11_reply_info composite_replies[] = { { 0, compositeQueryVersion_Reply }, { 7, compositeGetOverlayWindow_Reply }, { 0, NULL } }; static void dispatch_composite(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(composite_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, composite_extension_minor, "")); switch (minor) { case 0: compositeQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: compositeRedirectWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: compositeRedirectSubwindows(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: compositeUnredirectWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: compositeUnredirectSubwindows(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: compositeCreateRegionFromBorderClip(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: compositeNameWindowPixmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: compositeGetOverlayWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: compositeReleaseOverlayWindow(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_composite(void) { set_handler("Composite", dispatch_composite, composite_errors, composite_events, composite_replies); } static void damageQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_QueryVersion_client_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_QueryVersion_client_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void damageQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (damage-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void damageCreate(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_damage; int f_drawable; int f_level; f_damage = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Create_damage, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Create_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_level = field8(tvb, offsetp, t, hf_x11_damage_Create_level, byte_order); UNUSED(3); } static void damageDestroy(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_damage; f_damage = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Destroy_damage, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void damageSubtract(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_damage; int f_repair; int f_parts; f_damage = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Subtract_damage, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_repair = field32(tvb, offsetp, t, hf_x11_damage_Subtract_repair, byte_order); f_parts = field32(tvb, offsetp, t, hf_x11_damage_Subtract_parts, byte_order); } static void damageAdd(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_region; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Add_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Add_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void damageNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_level; int f_drawable; int f_damage; int f_timestamp; f_level = field8(tvb, offsetp, t, hf_x11_damage_Notify_level, byte_order); CARD16(event_sequencenumber); f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Notify_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_damage = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Notify_damage, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_damage_Notify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_RECTANGLE(tvb, offsetp, t, byte_order, 1); struct_RECTANGLE(tvb, offsetp, t, byte_order, 1); } static const value_string damage_extension_minor[] = { { 0, "QueryVersion" }, { 1, "Create" }, { 2, "Destroy" }, { 3, "Subtract" }, { 4, "Add" }, { 0, NULL } }; const x11_event_info damage_events[] = { { "damage-Notify", damageNotify }, { NULL, NULL } }; static x11_reply_info damage_replies[] = { { 0, damageQueryVersion_Reply }, { 0, NULL } }; static void dispatch_damage(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(damage_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, damage_extension_minor, "")); switch (minor) { case 0: damageQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: damageCreate(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: damageDestroy(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: damageSubtract(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: damageAdd(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_damage(void) { set_handler("DAMAGE", dispatch_damage, damage_errors, damage_events, damage_replies); } static void dpmsGetVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetVersion_client_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_client_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetVersion_client_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void dpmsGetVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major_version; int f_server_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dpms-GetVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetVersion_reply_server_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetVersion_reply_server_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void dpmsCapable(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void dpmsCapable_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_capable; col_append_fstr(pinfo->cinfo, COL_INFO, "-Capable"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dpms-Capable)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_capable = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_Capable_reply_capable, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); } static void dpmsGetTimeouts(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void dpmsGetTimeouts_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_standby_timeout; int f_suspend_timeout; int f_off_timeout; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTimeouts"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dpms-GetTimeouts)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_standby_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetTimeouts_reply_standby_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_suspend_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetTimeouts_reply_suspend_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_off_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_GetTimeouts_reply_off_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(18); } static void dpmsSetTimeouts(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_standby_timeout; int f_suspend_timeout; int f_off_timeout; f_standby_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_SetTimeouts_standby_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_suspend_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_SetTimeouts_suspend_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_off_timeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_SetTimeouts_off_timeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void dpmsEnable(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void dpmsDisable(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void dpmsForceLevel(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_power_level; f_power_level = field16(tvb, offsetp, t, hf_x11_dpms_ForceLevel_power_level, byte_order); } static void dpmsInfo(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void dpmsInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_power_level; int f_state; col_append_fstr(pinfo->cinfo, COL_INFO, "-Info"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dpms-Info)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_power_level = field16(tvb, offsetp, t, hf_x11_dpms_Info_reply_power_level, byte_order); f_state = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dpms_Info_reply_state, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(21); } static const value_string dpms_extension_minor[] = { { 0, "GetVersion" }, { 1, "Capable" }, { 2, "GetTimeouts" }, { 3, "SetTimeouts" }, { 4, "Enable" }, { 5, "Disable" }, { 6, "ForceLevel" }, { 7, "Info" }, { 0, NULL } }; const x11_event_info dpms_events[] = { { NULL, NULL } }; static x11_reply_info dpms_replies[] = { { 0, dpmsGetVersion_Reply }, { 1, dpmsCapable_Reply }, { 2, dpmsGetTimeouts_Reply }, { 7, dpmsInfo_Reply }, { 0, NULL } }; static void dispatch_dpms(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(dpms_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, dpms_extension_minor, "")); switch (minor) { case 0: dpmsGetVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: dpmsCapable(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: dpmsGetTimeouts(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: dpmsSetTimeouts(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: dpmsEnable(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: dpmsDisable(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: dpmsForceLevel(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: dpmsInfo(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_dpms(void) { set_handler("DPMS", dispatch_dpms, dpms_errors, dpms_events, dpms_replies); } static void struct_DRI2Buffer(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_attachment; int f_name; int f_pitch; int f_cpp; int f_flags; item = proto_tree_add_item(root, hf_x11_struct_DRI2Buffer, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_attachment = field32(tvb, offsetp, t, hf_x11_struct_DRI2Buffer_attachment, byte_order); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pitch = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_pitch, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_cpp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_cpp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_flags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_flags, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_AttachFormat(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_attachment; int f_format; item = proto_tree_add_item(root, hf_x11_struct_AttachFormat, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_attachment = field32(tvb, offsetp, t, hf_x11_struct_AttachFormat_attachment, byte_order); f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AttachFormat_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void dri2QueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_QueryVersion_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_QueryVersion_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2QueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2Connect(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_driver_type; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Connect_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_driver_type = field32(tvb, offsetp, t, hf_x11_dri2_Connect_driver_type, byte_order); } static void dri2Connect_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_driver_name_length; int f_device_name_length; col_append_fstr(pinfo->cinfo, COL_INFO, "-Connect"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-Connect)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_driver_name_length = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Connect_reply_driver_name_length, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_device_name_length = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Connect_reply_device_name_length, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfByte(tvb, offsetp, t, hf_x11_dri2_Connect_reply_driver_name, f_driver_name_length, byte_order); listOfByte(tvb, offsetp, t, hf_x11_dri2_Connect_reply_alignment_pad, (((f_driver_name_length + 3 ) & (~3)) - f_driver_name_length), byte_order); listOfByte(tvb, offsetp, t, hf_x11_dri2_Connect_reply_device_name, f_device_name_length, byte_order); } static void dri2Authenticate(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_magic; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Authenticate_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_magic = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Authenticate_magic, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2Authenticate_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_authenticated; col_append_fstr(pinfo->cinfo, COL_INFO, "-Authenticate"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-Authenticate)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_authenticated = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_Authenticate_reply_authenticated, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2CreateDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_CreateDrawable_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2DestroyDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_DestroyDrawable_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetBuffers(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_count; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffers_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffers_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_dri2_GetBuffers_attachments, hf_x11_dri2_GetBuffers_attachments_item, (length - 12) / 4, byte_order); } static void dri2GetBuffers_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; int f_count; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetBuffers"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-GetBuffers)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); struct_DRI2Buffer(tvb, offsetp, t, byte_order, f_count); } static void dri2CopyRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_region; int f_dest; int f_src; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_CopyRegion_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_CopyRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dest = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_CopyRegion_dest, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_CopyRegion_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2CopyRegion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-CopyRegion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-CopyRegion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetBuffersWithFormat(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_count; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_AttachFormat(tvb, offsetp, t, byte_order, (length - 12) / 8); } static void dri2GetBuffersWithFormat_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; int f_count; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetBuffersWithFormat"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-GetBuffersWithFormat)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); struct_DRI2Buffer(tvb, offsetp, t, byte_order, f_count); } static void dri2SwapBuffers(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_target_msc_hi; int f_target_msc_lo; int f_divisor_hi; int f_divisor_lo; int f_remainder_hi; int f_remainder_lo; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_target_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_target_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_divisor_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_divisor_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_divisor_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_divisor_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_remainder_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_remainder_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_remainder_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_remainder_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2SwapBuffers_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_swap_hi; int f_swap_lo; col_append_fstr(pinfo->cinfo, COL_INFO, "-SwapBuffers"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-SwapBuffers)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_reply_swap_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapBuffers_reply_swap_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetMSC(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetMSC_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ust_hi; int f_ust_lo; int f_msc_hi; int f_msc_lo; int f_sbc_hi; int f_sbc_lo; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMSC"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-GetMSC)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_ust_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_ust_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_sbc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetMSC_reply_sbc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2WaitMSC(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_target_msc_hi; int f_target_msc_lo; int f_divisor_hi; int f_divisor_lo; int f_remainder_hi; int f_remainder_lo; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_target_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_target_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_divisor_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_divisor_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_divisor_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_divisor_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_remainder_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_remainder_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_remainder_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_remainder_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2WaitMSC_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ust_hi; int f_ust_lo; int f_msc_hi; int f_msc_lo; int f_sbc_hi; int f_sbc_lo; col_append_fstr(pinfo->cinfo, COL_INFO, "-WaitMSC"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-WaitMSC)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_ust_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_ust_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_sbc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitMSC_reply_sbc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2WaitSBC(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_target_sbc_hi; int f_target_sbc_lo; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_sbc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_target_sbc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target_sbc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_target_sbc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2WaitSBC_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ust_hi; int f_ust_lo; int f_msc_hi; int f_msc_lo; int f_sbc_hi; int f_sbc_lo; col_append_fstr(pinfo->cinfo, COL_INFO, "-WaitSBC"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-WaitSBC)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_ust_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_ust_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_sbc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_WaitSBC_reply_sbc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2SwapInterval(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_interval; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapInterval_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_interval = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_SwapInterval_interval, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetParam(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_param; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetParam_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_param = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetParam_param, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2GetParam_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_is_param_recognized; int f_value_hi; int f_value_lo; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetParam"); REPLY(reply); f_is_param_recognized = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetParam_reply_is_param_recognized, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (dri2-GetParam)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_value_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetParam_reply_value_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_value_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_GetParam_reply_value_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2BufferSwapComplete(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_event_type; int f_drawable; int f_ust_hi; int f_ust_lo; int f_msc_hi; int f_msc_lo; int f_sbc; UNUSED(1); CARD16(event_sequencenumber); f_event_type = field16(tvb, offsetp, t, hf_x11_dri2_BufferSwapComplete_event_type, byte_order); UNUSED(2); f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_ust_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ust_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_ust_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_msc_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_msc_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_msc_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sbc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_BufferSwapComplete_sbc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void dri2InvalidateBuffers(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_drawable; UNUSED(1); CARD16(event_sequencenumber); f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_dri2_InvalidateBuffers_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string dri2_extension_minor[] = { { 0, "QueryVersion" }, { 1, "Connect" }, { 2, "Authenticate" }, { 3, "CreateDrawable" }, { 4, "DestroyDrawable" }, { 5, "GetBuffers" }, { 6, "CopyRegion" }, { 7, "GetBuffersWithFormat" }, { 8, "SwapBuffers" }, { 9, "GetMSC" }, { 10, "WaitMSC" }, { 11, "WaitSBC" }, { 12, "SwapInterval" }, { 13, "GetParam" }, { 0, NULL } }; const x11_event_info dri2_events[] = { { "dri2-BufferSwapComplete", dri2BufferSwapComplete }, { "dri2-InvalidateBuffers", dri2InvalidateBuffers }, { NULL, NULL } }; static x11_reply_info dri2_replies[] = { { 0, dri2QueryVersion_Reply }, { 1, dri2Connect_Reply }, { 2, dri2Authenticate_Reply }, { 5, dri2GetBuffers_Reply }, { 6, dri2CopyRegion_Reply }, { 7, dri2GetBuffersWithFormat_Reply }, { 8, dri2SwapBuffers_Reply }, { 9, dri2GetMSC_Reply }, { 10, dri2WaitMSC_Reply }, { 11, dri2WaitSBC_Reply }, { 13, dri2GetParam_Reply }, { 0, NULL } }; static void dispatch_dri2(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(dri2_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, dri2_extension_minor, "")); switch (minor) { case 0: dri2QueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: dri2Connect(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: dri2Authenticate(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: dri2CreateDrawable(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: dri2DestroyDrawable(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: dri2GetBuffers(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: dri2CopyRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: dri2GetBuffersWithFormat(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: dri2SwapBuffers(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: dri2GetMSC(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: dri2WaitMSC(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: dri2WaitSBC(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: dri2SwapInterval(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: dri2GetParam(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_dri2(void) { set_handler("DRI2", dispatch_dri2, dri2_errors, dri2_events, dri2_replies); } static void geQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_ge_QueryVersion_client_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_client_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_ge_QueryVersion_client_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void geQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (ge-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_ge_QueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_ge_QueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); } static const value_string ge_extension_minor[] = { { 0, "QueryVersion" }, { 0, NULL } }; const x11_event_info ge_events[] = { { NULL, NULL } }; static x11_reply_info ge_replies[] = { { 0, geQueryVersion_Reply }, { 0, NULL } }; static void dispatch_ge(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(ge_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, ge_extension_minor, "")); switch (minor) { case 0: geQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_ge(void) { set_handler("Generic Event Extension", dispatch_ge, ge_errors, ge_events, ge_replies); } static void glxPbufferClobber(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_event_type; int f_draw_type; int f_drawable; int f_b_mask; int f_aux_buffer; int f_x; int f_y; int f_width; int f_height; int f_count; UNUSED(1); CARD16(event_sequencenumber); f_event_type = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_event_type, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_draw_type = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_draw_type, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_b_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_b_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_aux_buffer = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_aux_buffer, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_count = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PbufferClobber_count, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(4); } static void glxRender(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_Render_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; dispatch_glx_render(tvb, pinfo, offsetp, t, byte_order, (length - 8)); } static void glxRenderLarge(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_request_num; int f_request_total; int f_data_len; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderLarge_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_request_num = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderLarge_request_num, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_request_total = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderLarge_request_total, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_data_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderLarge_data_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_RenderLarge_data, f_data_len, byte_order); length -= f_data_len * 1; } static void glxCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_visual; int f_screen; int f_share_list; int f_is_direct; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContext_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContext_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_share_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContext_share_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_is_direct = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContext_is_direct, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void glxDestroyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DestroyContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxMakeCurrent(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_context; int f_old_context_tag; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeCurrent_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeCurrent_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_old_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeCurrent_old_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxMakeCurrent_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_tag; col_append_fstr(pinfo->cinfo, COL_INFO, "-MakeCurrent"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-MakeCurrent)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeCurrent_reply_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void glxIsDirect(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsDirect_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxIsDirect_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_is_direct; col_append_fstr(pinfo->cinfo, COL_INFO, "-IsDirect"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-IsDirect)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_is_direct = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsDirect_reply_is_direct, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); } static void glxQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryVersion_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryVersion_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void glxWaitGL(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_WaitGL_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxWaitX(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_WaitX_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxCopyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_src; int f_dest; int f_mask; int f_src_context_tag; f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CopyContext_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dest = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CopyContext_dest, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CopyContext_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CopyContext_src_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxSwapBuffers(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_drawable; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SwapBuffers_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SwapBuffers_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxUseXFont(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_font; int f_first; int f_count; int f_list_base; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_UseXFont_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_font = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_UseXFont_font, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_first = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_UseXFont_first, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_UseXFont_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_list_base = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_UseXFont_list_base, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxCreateGLXPixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_visual; int f_pixmap; int f_glx_pixmap; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateGLXPixmap_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateGLXPixmap_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateGLXPixmap_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glx_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateGLXPixmap_glx_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetVisualConfigs(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetVisualConfigs_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetVisualConfigs_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_visuals; int f_num_properties; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetVisualConfigs"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetVisualConfigs)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_visuals = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetVisualConfigs_reply_num_visuals, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_properties = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetVisualConfigs_reply_num_properties, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfCard32(tvb, offsetp, t, hf_x11_glx_GetVisualConfigs_reply_property_list, hf_x11_glx_GetVisualConfigs_reply_property_list_item, f_length, byte_order); } static void glxDestroyGLXPixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glx_pixmap; f_glx_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DestroyGLXPixmap_glx_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxVendorPrivate(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_vendor_code; int f_context_tag; f_vendor_code = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_VendorPrivate_vendor_code, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_VendorPrivate_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_VendorPrivate_data, (length - 12) / 1, byte_order); } static void glxVendorPrivateWithReply(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_vendor_code; int f_context_tag; f_vendor_code = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_VendorPrivateWithReply_vendor_code, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_VendorPrivateWithReply_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_VendorPrivateWithReply_data, (length - 12) / 1, byte_order); } static void glxVendorPrivateWithReply_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_retval; col_append_fstr(pinfo->cinfo, COL_INFO, "-VendorPrivateWithReply"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-VendorPrivateWithReply)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_retval = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_VendorPrivateWithReply_reply_retval, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_VendorPrivateWithReply_reply_data1, 24, byte_order); listOfByte(tvb, offsetp, t, hf_x11_glx_VendorPrivateWithReply_reply_data2, (f_length * 4), byte_order); } static void glxQueryExtensionsString(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryExtensionsString_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxQueryExtensionsString_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryExtensionsString"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-QueryExtensionsString)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryExtensionsString_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void glxQueryServerString(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_name; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryServerString_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryServerString_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxQueryServerString_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_str_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryServerString"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-QueryServerString)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryServerString_reply_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfByte(tvb, offsetp, t, hf_x11_glx_QueryServerString_reply_string, f_str_len, byte_order); } static void glxClientInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; int f_str_len; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ClientInfo_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ClientInfo_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ClientInfo_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_glx_ClientInfo_string, f_str_len, byte_order); length -= f_str_len * 1; } static void glxGetFBConfigs(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFBConfigs_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetFBConfigs_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_FB_configs; int f_num_properties; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetFBConfigs"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetFBConfigs)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_FB_configs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFBConfigs_reply_num_FB_configs, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_properties = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFBConfigs_reply_num_properties, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfCard32(tvb, offsetp, t, hf_x11_glx_GetFBConfigs_reply_property_list, hf_x11_glx_GetFBConfigs_reply_property_list_item, f_length, byte_order); } static void glxCreatePixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_fbconfig; int f_pixmap; int f_glx_pixmap; int f_num_attribs; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePixmap_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fbconfig = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePixmap_fbconfig, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePixmap_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glx_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePixmap_glx_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePixmap_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_CreatePixmap_attribs, hf_x11_glx_CreatePixmap_attribs_item, (f_num_attribs * 2), byte_order); length -= (f_num_attribs * 2) * 4; } static void glxDestroyPixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glx_pixmap; f_glx_pixmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DestroyPixmap_glx_pixmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxCreateNewContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_fbconfig; int f_screen; int f_render_type; int f_share_list; int f_is_direct; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fbconfig = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_fbconfig, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_render_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_render_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_share_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_share_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_is_direct = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateNewContext_is_direct, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void glxQueryContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxQueryContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_attribs; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-QueryContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_QueryContext_reply_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_glx_QueryContext_reply_attribs, hf_x11_glx_QueryContext_reply_attribs_item, (f_num_attribs * 2), byte_order); } static void glxMakeContextCurrent(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_old_context_tag; int f_drawable; int f_read_drawable; int f_context; f_old_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeContextCurrent_old_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeContextCurrent_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_read_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeContextCurrent_read_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeContextCurrent_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxMakeContextCurrent_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_tag; col_append_fstr(pinfo->cinfo, COL_INFO, "-MakeContextCurrent"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-MakeContextCurrent)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_MakeContextCurrent_reply_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void glxCreatePbuffer(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_fbconfig; int f_pbuffer; int f_num_attribs; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePbuffer_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fbconfig = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePbuffer_fbconfig, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pbuffer = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePbuffer_pbuffer, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreatePbuffer_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_CreatePbuffer_attribs, hf_x11_glx_CreatePbuffer_attribs_item, (f_num_attribs * 2), byte_order); length -= (f_num_attribs * 2) * 4; } static void glxDestroyPbuffer(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_pbuffer; f_pbuffer = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DestroyPbuffer_pbuffer, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetDrawableAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDrawableAttributes_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetDrawableAttributes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_attribs; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDrawableAttributes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetDrawableAttributes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDrawableAttributes_reply_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_glx_GetDrawableAttributes_reply_attribs, hf_x11_glx_GetDrawableAttributes_reply_attribs_item, (f_num_attribs * 2), byte_order); } static void glxChangeDrawableAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_num_attribs; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ChangeDrawableAttributes_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ChangeDrawableAttributes_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_ChangeDrawableAttributes_attribs, hf_x11_glx_ChangeDrawableAttributes_attribs_item, (f_num_attribs * 2), byte_order); length -= (f_num_attribs * 2) * 4; } static void glxCreateWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_fbconfig; int f_window; int f_glx_window; int f_num_attribs; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateWindow_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fbconfig = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateWindow_fbconfig, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glx_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateWindow_glx_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateWindow_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_CreateWindow_attribs, hf_x11_glx_CreateWindow_attribs_item, (f_num_attribs * 2), byte_order); length -= (f_num_attribs * 2) * 4; } static void glxDeleteWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glxwindow; f_glxwindow = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteWindow_glxwindow, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxSetClientInfoARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; int f_num_versions; int f_gl_str_len; int f_glx_str_len; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfoARB_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfoARB_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_versions = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfoARB_num_versions, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gl_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfoARB_gl_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glx_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfoARB_glx_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_SetClientInfoARB_gl_versions, hf_x11_glx_SetClientInfoARB_gl_versions_item, (f_num_versions * 2), byte_order); length -= (f_num_versions * 2) * 4; listOfByte(tvb, offsetp, t, hf_x11_glx_SetClientInfoARB_gl_extension_string, f_gl_str_len, byte_order); length -= f_gl_str_len * 1; listOfByte(tvb, offsetp, t, hf_x11_glx_SetClientInfoARB_glx_extension_string, f_glx_str_len, byte_order); length -= f_glx_str_len * 1; } static void glxCreateContextAttribsARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_fbconfig; int f_screen; int f_share_list; int f_is_direct; int f_num_attribs; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fbconfig = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_fbconfig, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_share_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_share_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_is_direct = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_is_direct, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_num_attribs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_CreateContextAttribsARB_num_attribs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_CreateContextAttribsARB_attribs, hf_x11_glx_CreateContextAttribsARB_attribs_item, (f_num_attribs * 2), byte_order); length -= (f_num_attribs * 2) * 4; } static void glxSetClientInfo2ARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; int f_num_versions; int f_gl_str_len; int f_glx_str_len; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfo2ARB_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfo2ARB_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_versions = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfo2ARB_num_versions, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gl_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfo2ARB_gl_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glx_str_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SetClientInfo2ARB_glx_str_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_SetClientInfo2ARB_gl_versions, hf_x11_glx_SetClientInfo2ARB_gl_versions_item, (f_num_versions * 3), byte_order); length -= (f_num_versions * 3) * 4; listOfByte(tvb, offsetp, t, hf_x11_glx_SetClientInfo2ARB_gl_extension_string, f_gl_str_len, byte_order); length -= f_gl_str_len * 1; listOfByte(tvb, offsetp, t, hf_x11_glx_SetClientInfo2ARB_glx_extension_string, f_glx_str_len, byte_order); length -= f_glx_str_len * 1; } static void glxNewList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_list; int f_mode; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_NewList_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_NewList_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_NewList_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxEndList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_EndList_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxDeleteLists(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_list; int f_range; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteLists_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteLists_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_range = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteLists_range, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGenLists(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_range; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenLists_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_range = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenLists_range, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGenLists_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; col_append_fstr(pinfo->cinfo, COL_INFO, "-GenLists"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GenLists)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenLists_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxFeedbackBuffer(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_size; int f_type; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_FeedbackBuffer_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_FeedbackBuffer_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_FeedbackBuffer_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxSelectBuffer(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_size; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SelectBuffer_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_SelectBuffer_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxRenderMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_mode; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderMode_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxRenderMode_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; int f_n; int f_new_mode; col_append_fstr(pinfo->cinfo, COL_INFO, "-RenderMode"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-RenderMode)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderMode_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderMode_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_new_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_RenderMode_reply_new_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_glx_RenderMode_reply_data, hf_x11_glx_RenderMode_reply_data_item, f_n, byte_order); } static void glxFinish(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_Finish_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxFinish_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-Finish"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-Finish)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxPixelStoref(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; gfloat f_datum; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStoref_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStoref_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStoref_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxPixelStorei(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; int f_datum; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStorei_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStorei_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_PixelStorei_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxReadPixels(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_x; int f_y; int f_width; int f_height; int f_format; int f_type; int f_swap_bytes; int f_lsb_first; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_y = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_lsb_first = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_ReadPixels_lsb_first, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxReadPixels_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-ReadPixels"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-ReadPixels)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfByte(tvb, offsetp, t, hf_x11_glx_ReadPixels_reply_data, (f_length * 4), byte_order); } static void glxGetBooleanv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetBooleanv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetBooleanv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetBooleanv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetBooleanv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetBooleanv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetBooleanv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetBooleanv_reply_datum, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(15); listOfByte(tvb, offsetp, t, hf_x11_glx_GetBooleanv_reply_data, f_n, byte_order); } static void glxGetClipPlane(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_plane; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetClipPlane_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_plane = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetClipPlane_plane, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetClipPlane_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetClipPlane"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetClipPlane)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfDouble(tvb, offsetp, t, hf_x11_glx_GetClipPlane_reply_data, hf_x11_glx_GetClipPlane_reply_data_item, (f_length / 2), byte_order); } static void glxGetDoublev(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDoublev_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDoublev_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetDoublev_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gdouble f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDoublev"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetDoublev)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDoublev_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = DOUBLE(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetDoublev_reply_datum, tvb, *offsetp, 8, byte_order); *offsetp += 8; UNUSED(8); listOfDouble(tvb, offsetp, t, hf_x11_glx_GetDoublev_reply_data, hf_x11_glx_GetDoublev_reply_data_item, f_n, byte_order); } static void glxGetError(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetError_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetError_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_error; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetError"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetError)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_error = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetError_reply_error, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetFloatv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFloatv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFloatv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetFloatv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetFloatv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetFloatv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFloatv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetFloatv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetFloatv_reply_data, hf_x11_glx_GetFloatv_reply_data_item, f_n, byte_order); } static void glxGetIntegerv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetIntegerv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetIntegerv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetIntegerv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetIntegerv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetIntegerv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetIntegerv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetIntegerv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetIntegerv_reply_data, hf_x11_glx_GetIntegerv_reply_data_item, f_n, byte_order); } static void glxGetLightfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_light; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_light = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightfv_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetLightfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetLightfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetLightfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetLightfv_reply_data, hf_x11_glx_GetLightfv_reply_data_item, f_n, byte_order); } static void glxGetLightiv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_light; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightiv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_light = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightiv_light, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightiv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetLightiv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetLightiv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetLightiv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightiv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetLightiv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetLightiv_reply_data, hf_x11_glx_GetLightiv_reply_data_item, f_n, byte_order); } static void glxGetMapdv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_query; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapdv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapdv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_query = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapdv_query, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMapdv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gdouble f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMapdv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMapdv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapdv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = DOUBLE(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapdv_reply_datum, tvb, *offsetp, 8, byte_order); *offsetp += 8; UNUSED(8); listOfDouble(tvb, offsetp, t, hf_x11_glx_GetMapdv_reply_data, hf_x11_glx_GetMapdv_reply_data_item, f_n, byte_order); } static void glxGetMapfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_query; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_query = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapfv_query, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMapfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMapfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMapfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetMapfv_reply_data, hf_x11_glx_GetMapfv_reply_data_item, f_n, byte_order); } static void glxGetMapiv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_query; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapiv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapiv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_query = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapiv_query, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMapiv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMapiv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMapiv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapiv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMapiv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetMapiv_reply_data, hf_x11_glx_GetMapiv_reply_data_item, f_n, byte_order); } static void glxGetMaterialfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_face; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_face = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialfv_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMaterialfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMaterialfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMaterialfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetMaterialfv_reply_data, hf_x11_glx_GetMaterialfv_reply_data_item, f_n, byte_order); } static void glxGetMaterialiv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_face; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialiv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_face = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialiv_face, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialiv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMaterialiv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMaterialiv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMaterialiv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialiv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMaterialiv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetMaterialiv_reply_data, hf_x11_glx_GetMaterialiv_reply_data_item, f_n, byte_order); } static void glxGetPixelMapfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_map; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_map = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapfv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetPixelMapfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPixelMapfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetPixelMapfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetPixelMapfv_reply_data, hf_x11_glx_GetPixelMapfv_reply_data_item, f_n, byte_order); } static void glxGetPixelMapuiv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_map; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapuiv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_map = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapuiv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetPixelMapuiv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPixelMapuiv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetPixelMapuiv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapuiv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapuiv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_glx_GetPixelMapuiv_reply_data, hf_x11_glx_GetPixelMapuiv_reply_data_item, f_n, byte_order); } static void glxGetPixelMapusv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_map; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapusv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_map = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapusv_map, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetPixelMapusv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPixelMapusv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetPixelMapusv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapusv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPixelMapusv_reply_datum, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); listOfCard16(tvb, offsetp, t, hf_x11_glx_GetPixelMapusv_reply_data, hf_x11_glx_GetPixelMapusv_reply_data_item, f_n, byte_order); } static void glxGetPolygonStipple(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_lsb_first; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPolygonStipple_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_lsb_first = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetPolygonStipple_lsb_first, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetPolygonStipple_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPolygonStipple"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetPolygonStipple)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfByte(tvb, offsetp, t, hf_x11_glx_GetPolygonStipple_reply_data, (f_length * 4), byte_order); } static void glxGetString(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_name; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetString_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetString_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetString_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetString"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetString)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetString_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfByte(tvb, offsetp, t, hf_x11_glx_GetString_reply_string, f_n, byte_order); } static void glxGetTexEnvfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnvfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnvfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnvfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexEnvfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexEnvfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexEnvfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnvfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnvfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetTexEnvfv_reply_data, hf_x11_glx_GetTexEnvfv_reply_data_item, f_n, byte_order); } static void glxGetTexEnviv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnviv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnviv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnviv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexEnviv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexEnviv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexEnviv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnviv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexEnviv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetTexEnviv_reply_data, hf_x11_glx_GetTexEnviv_reply_data_item, f_n, byte_order); } static void glxGetTexGendv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_coord; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGendv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_coord = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGendv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGendv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexGendv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gdouble f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexGendv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexGendv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGendv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = DOUBLE(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGendv_reply_datum, tvb, *offsetp, 8, byte_order); *offsetp += 8; UNUSED(8); listOfDouble(tvb, offsetp, t, hf_x11_glx_GetTexGendv_reply_data, hf_x11_glx_GetTexGendv_reply_data_item, f_n, byte_order); } static void glxGetTexGenfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_coord; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGenfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_coord = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGenfv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGenfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexGenfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexGenfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexGenfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGenfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGenfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetTexGenfv_reply_data, hf_x11_glx_GetTexGenfv_reply_data_item, f_n, byte_order); } static void glxGetTexGeniv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_coord; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGeniv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_coord = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGeniv_coord, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGeniv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexGeniv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexGeniv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexGeniv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGeniv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexGeniv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetTexGeniv_reply_data, hf_x11_glx_GetTexGeniv_reply_data_item, f_n, byte_order); } static void glxGetTexImage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_level; int f_format; int f_type; int f_swap_bytes; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_level = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetTexImage_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; int f_depth; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexImage"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexImage)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_reply_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_depth = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexImage_reply_depth, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); listOfByte(tvb, offsetp, t, hf_x11_glx_GetTexImage_reply_data, (f_length * 4), byte_order); } static void glxGetTexParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetTexParameterfv_reply_data, hf_x11_glx_GetTexParameterfv_reply_data_item, f_n, byte_order); } static void glxGetTexParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetTexParameteriv_reply_data, hf_x11_glx_GetTexParameteriv_reply_data_item, f_n, byte_order); } static void glxGetTexLevelParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_level; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_level = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexLevelParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexLevelParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexLevelParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetTexLevelParameterfv_reply_data, hf_x11_glx_GetTexLevelParameterfv_reply_data_item, f_n, byte_order); } static void glxGetTexLevelParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_level; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_level = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetTexLevelParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetTexLevelParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetTexLevelParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetTexLevelParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetTexLevelParameteriv_reply_data, hf_x11_glx_GetTexLevelParameteriv_reply_data_item, f_n, byte_order); } static void glxIsList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_list; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsList_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_list = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsList_list, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxIsList_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; col_append_fstr(pinfo->cinfo, COL_INFO, "-IsList"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-IsList)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsList_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxFlush(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_Flush_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxAreTexturesResident(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_n; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_AreTexturesResident_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_AreTexturesResident_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_AreTexturesResident_textures, hf_x11_glx_AreTexturesResident_textures_item, f_n, byte_order); length -= f_n * 4; } static void glxAreTexturesResident_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; col_append_fstr(pinfo->cinfo, COL_INFO, "-AreTexturesResident"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-AreTexturesResident)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_AreTexturesResident_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_glx_AreTexturesResident_reply_data, (f_length * 4), byte_order); } static void glxDeleteTextures(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_n; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteTextures_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteTextures_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_DeleteTextures_textures, hf_x11_glx_DeleteTextures_textures_item, f_n, byte_order); length -= f_n * 4; } static void glxGenTextures(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_n; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenTextures_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenTextures_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGenTextures_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-GenTextures"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GenTextures)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfCard32(tvb, offsetp, t, hf_x11_glx_GenTextures_reply_data, hf_x11_glx_GenTextures_reply_data_item, f_length, byte_order); } static void glxIsTexture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_texture; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsTexture_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_texture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsTexture_texture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxIsTexture_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; col_append_fstr(pinfo->cinfo, COL_INFO, "-IsTexture"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-IsTexture)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsTexture_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetColorTable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_format; int f_type; int f_swap_bytes; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetColorTable_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetColorTable"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetColorTable)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTable_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_glx_GetColorTable_reply_data, (f_length * 4), byte_order); } static void glxGetColorTableParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetColorTableParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetColorTableParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetColorTableParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetColorTableParameterfv_reply_data, hf_x11_glx_GetColorTableParameterfv_reply_data_item, f_n, byte_order); } static void glxGetColorTableParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetColorTableParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetColorTableParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetColorTableParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetColorTableParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetColorTableParameteriv_reply_data, hf_x11_glx_GetColorTableParameteriv_reply_data_item, f_n, byte_order); } static void glxGetConvolutionFilter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_format; int f_type; int f_swap_bytes; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetConvolutionFilter_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetConvolutionFilter"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetConvolutionFilter)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionFilter_reply_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); listOfByte(tvb, offsetp, t, hf_x11_glx_GetConvolutionFilter_reply_data, (f_length * 4), byte_order); } static void glxGetConvolutionParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetConvolutionParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetConvolutionParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetConvolutionParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetConvolutionParameterfv_reply_data, hf_x11_glx_GetConvolutionParameterfv_reply_data_item, f_n, byte_order); } static void glxGetConvolutionParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetConvolutionParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetConvolutionParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetConvolutionParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetConvolutionParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetConvolutionParameteriv_reply_data, hf_x11_glx_GetConvolutionParameteriv_reply_data_item, f_n, byte_order); } static void glxGetSeparableFilter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_format; int f_type; int f_swap_bytes; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetSeparableFilter_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_row_w; int f_col_h; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSeparableFilter"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetSeparableFilter)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_row_w = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_reply_row_w, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_col_h = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetSeparableFilter_reply_col_h, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); listOfByte(tvb, offsetp, t, hf_x11_glx_GetSeparableFilter_reply_rows_and_cols, (f_length * 4), byte_order); } static void glxGetHistogram(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_format; int f_type; int f_swap_bytes; int f_reset; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_reset = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_reset, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetHistogram_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetHistogram"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetHistogram)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogram_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_glx_GetHistogram_reply_data, (f_length * 4), byte_order); } static void glxGetHistogramParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetHistogramParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetHistogramParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetHistogramParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetHistogramParameterfv_reply_data, hf_x11_glx_GetHistogramParameterfv_reply_data_item, f_n, byte_order); } static void glxGetHistogramParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetHistogramParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetHistogramParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetHistogramParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetHistogramParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetHistogramParameteriv_reply_data, hf_x11_glx_GetHistogramParameteriv_reply_data_item, f_n, byte_order); } static void glxGetMinmax(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_format; int f_type; int f_swap_bytes; int f_reset; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_swap_bytes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_swap_bytes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_reset = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmax_reset, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void glxGetMinmax_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMinmax"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMinmax)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfByte(tvb, offsetp, t, hf_x11_glx_GetMinmax_reply_data, (f_length * 4), byte_order); } static void glxGetMinmaxParameterfv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameterfv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameterfv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameterfv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMinmaxParameterfv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; gfloat f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMinmaxParameterfv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMinmaxParameterfv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameterfv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = FLOAT(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameterfv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfFloat(tvb, offsetp, t, hf_x11_glx_GetMinmaxParameterfv_reply_data, hf_x11_glx_GetMinmaxParameterfv_reply_data_item, f_n, byte_order); } static void glxGetMinmaxParameteriv(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameteriv_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameteriv_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameteriv_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetMinmaxParameteriv_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMinmaxParameteriv"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetMinmaxParameteriv)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameteriv_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetMinmaxParameteriv_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetMinmaxParameteriv_reply_data, hf_x11_glx_GetMinmaxParameteriv_reply_data_item, f_n, byte_order); } static void glxGetCompressedTexImageARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_level; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetCompressedTexImageARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetCompressedTexImageARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_level = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetCompressedTexImageARB_level, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetCompressedTexImageARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCompressedTexImageARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetCompressedTexImageARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetCompressedTexImageARB_reply_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_glx_GetCompressedTexImageARB_reply_data, (f_length * 4), byte_order); } static void glxDeleteQueriesARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_n; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteQueriesARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_DeleteQueriesARB_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_glx_DeleteQueriesARB_ids, hf_x11_glx_DeleteQueriesARB_ids_item, f_n, byte_order); length -= f_n * 4; } static void glxGenQueriesARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_n; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenQueriesARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GenQueriesARB_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGenQueriesARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-GenQueriesARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GenQueriesARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfCard32(tvb, offsetp, t, hf_x11_glx_GenQueriesARB_reply_data, hf_x11_glx_GenQueriesARB_reply_data_item, f_length, byte_order); } static void glxIsQueryARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_id; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsQueryARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsQueryARB_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxIsQueryARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ret_val; col_append_fstr(pinfo->cinfo, COL_INFO, "-IsQueryARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-IsQueryARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ret_val = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_IsQueryARB_reply_ret_val, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetQueryivARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_target; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryivARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_target = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryivARB_target, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryivARB_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetQueryivARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetQueryivARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetQueryivARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryivARB_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryivARB_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetQueryivARB_reply_data, hf_x11_glx_GetQueryivARB_reply_data_item, f_n, byte_order); } static void glxGetQueryObjectivARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_id; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectivARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectivARB_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectivARB_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetQueryObjectivARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetQueryObjectivARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetQueryObjectivARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectivARB_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectivARB_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfInt32(tvb, offsetp, t, hf_x11_glx_GetQueryObjectivARB_reply_data, hf_x11_glx_GetQueryObjectivARB_reply_data_item, f_n, byte_order); } static void glxGetQueryObjectuivARB(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_tag; int f_id; int f_pname; f_context_tag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectuivARB_context_tag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectuivARB_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pname = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectuivARB_pname, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void glxGetQueryObjectuivARB_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_n; int f_datum; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetQueryObjectuivARB"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (glx-GetQueryObjectuivARB)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); f_n = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectuivARB_reply_n, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_datum = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_glx_GetQueryObjectuivARB_reply_datum, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_glx_GetQueryObjectuivARB_reply_data, hf_x11_glx_GetQueryObjectuivARB_reply_data_item, f_n, byte_order); } static const value_string glx_extension_minor[] = { { 1, "Render" }, { 2, "RenderLarge" }, { 3, "CreateContext" }, { 4, "DestroyContext" }, { 5, "MakeCurrent" }, { 6, "IsDirect" }, { 7, "QueryVersion" }, { 8, "WaitGL" }, { 9, "WaitX" }, { 10, "CopyContext" }, { 11, "SwapBuffers" }, { 12, "UseXFont" }, { 13, "CreateGLXPixmap" }, { 14, "GetVisualConfigs" }, { 15, "DestroyGLXPixmap" }, { 16, "VendorPrivate" }, { 17, "VendorPrivateWithReply" }, { 18, "QueryExtensionsString" }, { 19, "QueryServerString" }, { 20, "ClientInfo" }, { 21, "GetFBConfigs" }, { 22, "CreatePixmap" }, { 23, "DestroyPixmap" }, { 24, "CreateNewContext" }, { 25, "QueryContext" }, { 26, "MakeContextCurrent" }, { 27, "CreatePbuffer" }, { 28, "DestroyPbuffer" }, { 29, "GetDrawableAttributes" }, { 30, "ChangeDrawableAttributes" }, { 31, "CreateWindow" }, { 32, "DeleteWindow" }, { 33, "SetClientInfoARB" }, { 34, "CreateContextAttribsARB" }, { 35, "SetClientInfo2ARB" }, { 101, "NewList" }, { 102, "EndList" }, { 103, "DeleteLists" }, { 104, "GenLists" }, { 105, "FeedbackBuffer" }, { 106, "SelectBuffer" }, { 107, "RenderMode" }, { 108, "Finish" }, { 109, "PixelStoref" }, { 110, "PixelStorei" }, { 111, "ReadPixels" }, { 112, "GetBooleanv" }, { 113, "GetClipPlane" }, { 114, "GetDoublev" }, { 115, "GetError" }, { 116, "GetFloatv" }, { 117, "GetIntegerv" }, { 118, "GetLightfv" }, { 119, "GetLightiv" }, { 120, "GetMapdv" }, { 121, "GetMapfv" }, { 122, "GetMapiv" }, { 123, "GetMaterialfv" }, { 124, "GetMaterialiv" }, { 125, "GetPixelMapfv" }, { 126, "GetPixelMapuiv" }, { 127, "GetPixelMapusv" }, { 128, "GetPolygonStipple" }, { 129, "GetString" }, { 130, "GetTexEnvfv" }, { 131, "GetTexEnviv" }, { 132, "GetTexGendv" }, { 133, "GetTexGenfv" }, { 134, "GetTexGeniv" }, { 135, "GetTexImage" }, { 136, "GetTexParameterfv" }, { 137, "GetTexParameteriv" }, { 138, "GetTexLevelParameterfv" }, { 139, "GetTexLevelParameteriv" }, { 141, "IsList" }, { 142, "Flush" }, { 143, "AreTexturesResident" }, { 144, "DeleteTextures" }, { 145, "GenTextures" }, { 146, "IsTexture" }, { 147, "GetColorTable" }, { 148, "GetColorTableParameterfv" }, { 149, "GetColorTableParameteriv" }, { 150, "GetConvolutionFilter" }, { 151, "GetConvolutionParameterfv" }, { 152, "GetConvolutionParameteriv" }, { 153, "GetSeparableFilter" }, { 154, "GetHistogram" }, { 155, "GetHistogramParameterfv" }, { 156, "GetHistogramParameteriv" }, { 157, "GetMinmax" }, { 158, "GetMinmaxParameterfv" }, { 159, "GetMinmaxParameteriv" }, { 160, "GetCompressedTexImageARB" }, { 161, "DeleteQueriesARB" }, { 162, "GenQueriesARB" }, { 163, "IsQueryARB" }, { 164, "GetQueryivARB" }, { 165, "GetQueryObjectivARB" }, { 166, "GetQueryObjectuivARB" }, { 0, NULL } }; const x11_event_info glx_events[] = { { "glx-PbufferClobber", glxPbufferClobber }, { NULL, NULL } }; static x11_reply_info glx_replies[] = { { 5, glxMakeCurrent_Reply }, { 6, glxIsDirect_Reply }, { 7, glxQueryVersion_Reply }, { 14, glxGetVisualConfigs_Reply }, { 17, glxVendorPrivateWithReply_Reply }, { 18, glxQueryExtensionsString_Reply }, { 19, glxQueryServerString_Reply }, { 21, glxGetFBConfigs_Reply }, { 25, glxQueryContext_Reply }, { 26, glxMakeContextCurrent_Reply }, { 29, glxGetDrawableAttributes_Reply }, { 104, glxGenLists_Reply }, { 107, glxRenderMode_Reply }, { 108, glxFinish_Reply }, { 111, glxReadPixels_Reply }, { 112, glxGetBooleanv_Reply }, { 113, glxGetClipPlane_Reply }, { 114, glxGetDoublev_Reply }, { 115, glxGetError_Reply }, { 116, glxGetFloatv_Reply }, { 117, glxGetIntegerv_Reply }, { 118, glxGetLightfv_Reply }, { 119, glxGetLightiv_Reply }, { 120, glxGetMapdv_Reply }, { 121, glxGetMapfv_Reply }, { 122, glxGetMapiv_Reply }, { 123, glxGetMaterialfv_Reply }, { 124, glxGetMaterialiv_Reply }, { 125, glxGetPixelMapfv_Reply }, { 126, glxGetPixelMapuiv_Reply }, { 127, glxGetPixelMapusv_Reply }, { 128, glxGetPolygonStipple_Reply }, { 129, glxGetString_Reply }, { 130, glxGetTexEnvfv_Reply }, { 131, glxGetTexEnviv_Reply }, { 132, glxGetTexGendv_Reply }, { 133, glxGetTexGenfv_Reply }, { 134, glxGetTexGeniv_Reply }, { 135, glxGetTexImage_Reply }, { 136, glxGetTexParameterfv_Reply }, { 137, glxGetTexParameteriv_Reply }, { 138, glxGetTexLevelParameterfv_Reply }, { 139, glxGetTexLevelParameteriv_Reply }, { 141, glxIsList_Reply }, { 143, glxAreTexturesResident_Reply }, { 145, glxGenTextures_Reply }, { 146, glxIsTexture_Reply }, { 147, glxGetColorTable_Reply }, { 148, glxGetColorTableParameterfv_Reply }, { 149, glxGetColorTableParameteriv_Reply }, { 150, glxGetConvolutionFilter_Reply }, { 151, glxGetConvolutionParameterfv_Reply }, { 152, glxGetConvolutionParameteriv_Reply }, { 153, glxGetSeparableFilter_Reply }, { 154, glxGetHistogram_Reply }, { 155, glxGetHistogramParameterfv_Reply }, { 156, glxGetHistogramParameteriv_Reply }, { 157, glxGetMinmax_Reply }, { 158, glxGetMinmaxParameterfv_Reply }, { 159, glxGetMinmaxParameteriv_Reply }, { 160, glxGetCompressedTexImageARB_Reply }, { 162, glxGenQueriesARB_Reply }, { 163, glxIsQueryARB_Reply }, { 164, glxGetQueryivARB_Reply }, { 165, glxGetQueryObjectivARB_Reply }, { 166, glxGetQueryObjectuivARB_Reply }, { 0, NULL } }; static void dispatch_glx(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(glx_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, glx_extension_minor, "")); switch (minor) { case 1: glxRender(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: glxRenderLarge(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: glxCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: glxDestroyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: glxMakeCurrent(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: glxIsDirect(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: glxQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: glxWaitGL(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: glxWaitX(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: glxCopyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: glxSwapBuffers(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: glxUseXFont(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: glxCreateGLXPixmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: glxGetVisualConfigs(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: glxDestroyGLXPixmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: glxVendorPrivate(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: glxVendorPrivateWithReply(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: glxQueryExtensionsString(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: glxQueryServerString(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: glxClientInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: glxGetFBConfigs(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: glxCreatePixmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: glxDestroyPixmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: glxCreateNewContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: glxQueryContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 26: glxMakeContextCurrent(tvb, pinfo, offsetp, t, byte_order, length); break; case 27: glxCreatePbuffer(tvb, pinfo, offsetp, t, byte_order, length); break; case 28: glxDestroyPbuffer(tvb, pinfo, offsetp, t, byte_order, length); break; case 29: glxGetDrawableAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 30: glxChangeDrawableAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 31: glxCreateWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 32: glxDeleteWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 33: glxSetClientInfoARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 34: glxCreateContextAttribsARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 35: glxSetClientInfo2ARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 101: glxNewList(tvb, pinfo, offsetp, t, byte_order, length); break; case 102: glxEndList(tvb, pinfo, offsetp, t, byte_order, length); break; case 103: glxDeleteLists(tvb, pinfo, offsetp, t, byte_order, length); break; case 104: glxGenLists(tvb, pinfo, offsetp, t, byte_order, length); break; case 105: glxFeedbackBuffer(tvb, pinfo, offsetp, t, byte_order, length); break; case 106: glxSelectBuffer(tvb, pinfo, offsetp, t, byte_order, length); break; case 107: glxRenderMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 108: glxFinish(tvb, pinfo, offsetp, t, byte_order, length); break; case 109: glxPixelStoref(tvb, pinfo, offsetp, t, byte_order, length); break; case 110: glxPixelStorei(tvb, pinfo, offsetp, t, byte_order, length); break; case 111: glxReadPixels(tvb, pinfo, offsetp, t, byte_order, length); break; case 112: glxGetBooleanv(tvb, pinfo, offsetp, t, byte_order, length); break; case 113: glxGetClipPlane(tvb, pinfo, offsetp, t, byte_order, length); break; case 114: glxGetDoublev(tvb, pinfo, offsetp, t, byte_order, length); break; case 115: glxGetError(tvb, pinfo, offsetp, t, byte_order, length); break; case 116: glxGetFloatv(tvb, pinfo, offsetp, t, byte_order, length); break; case 117: glxGetIntegerv(tvb, pinfo, offsetp, t, byte_order, length); break; case 118: glxGetLightfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 119: glxGetLightiv(tvb, pinfo, offsetp, t, byte_order, length); break; case 120: glxGetMapdv(tvb, pinfo, offsetp, t, byte_order, length); break; case 121: glxGetMapfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 122: glxGetMapiv(tvb, pinfo, offsetp, t, byte_order, length); break; case 123: glxGetMaterialfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 124: glxGetMaterialiv(tvb, pinfo, offsetp, t, byte_order, length); break; case 125: glxGetPixelMapfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 126: glxGetPixelMapuiv(tvb, pinfo, offsetp, t, byte_order, length); break; case 127: glxGetPixelMapusv(tvb, pinfo, offsetp, t, byte_order, length); break; case 128: glxGetPolygonStipple(tvb, pinfo, offsetp, t, byte_order, length); break; case 129: glxGetString(tvb, pinfo, offsetp, t, byte_order, length); break; case 130: glxGetTexEnvfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 131: glxGetTexEnviv(tvb, pinfo, offsetp, t, byte_order, length); break; case 132: glxGetTexGendv(tvb, pinfo, offsetp, t, byte_order, length); break; case 133: glxGetTexGenfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 134: glxGetTexGeniv(tvb, pinfo, offsetp, t, byte_order, length); break; case 135: glxGetTexImage(tvb, pinfo, offsetp, t, byte_order, length); break; case 136: glxGetTexParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 137: glxGetTexParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 138: glxGetTexLevelParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 139: glxGetTexLevelParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 141: glxIsList(tvb, pinfo, offsetp, t, byte_order, length); break; case 142: glxFlush(tvb, pinfo, offsetp, t, byte_order, length); break; case 143: glxAreTexturesResident(tvb, pinfo, offsetp, t, byte_order, length); break; case 144: glxDeleteTextures(tvb, pinfo, offsetp, t, byte_order, length); break; case 145: glxGenTextures(tvb, pinfo, offsetp, t, byte_order, length); break; case 146: glxIsTexture(tvb, pinfo, offsetp, t, byte_order, length); break; case 147: glxGetColorTable(tvb, pinfo, offsetp, t, byte_order, length); break; case 148: glxGetColorTableParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 149: glxGetColorTableParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 150: glxGetConvolutionFilter(tvb, pinfo, offsetp, t, byte_order, length); break; case 151: glxGetConvolutionParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 152: glxGetConvolutionParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 153: glxGetSeparableFilter(tvb, pinfo, offsetp, t, byte_order, length); break; case 154: glxGetHistogram(tvb, pinfo, offsetp, t, byte_order, length); break; case 155: glxGetHistogramParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 156: glxGetHistogramParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 157: glxGetMinmax(tvb, pinfo, offsetp, t, byte_order, length); break; case 158: glxGetMinmaxParameterfv(tvb, pinfo, offsetp, t, byte_order, length); break; case 159: glxGetMinmaxParameteriv(tvb, pinfo, offsetp, t, byte_order, length); break; case 160: glxGetCompressedTexImageARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 161: glxDeleteQueriesARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 162: glxGenQueriesARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 163: glxIsQueryARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 164: glxGetQueryivARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 165: glxGetQueryObjectivARB(tvb, pinfo, offsetp, t, byte_order, length); break; case 166: glxGetQueryObjectuivARB(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_glx(void) { set_handler("GLX", dispatch_glx, glx_errors, glx_events, glx_replies); } static void struct_ScreenSize(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_width; int f_height; int f_mwidth; int f_mheight; item = proto_tree_add_item(root, hf_x11_struct_ScreenSize, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenSize_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenSize_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mwidth = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenSize_mwidth, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mheight = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenSize_mheight, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static int struct_size_RefreshRates(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nRates; f_nRates = VALUE16(tvb, *offsetp + size + 0); size += f_nRates * 2; return size + 2; } static void struct_RefreshRates(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_nRates; item = proto_tree_add_item(root, hf_x11_struct_RefreshRates, tvb, *offsetp, struct_size_RefreshRates(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_nRates = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RefreshRates_nRates, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard16(tvb, offsetp, t, hf_x11_struct_RefreshRates_rates, hf_x11_struct_RefreshRates_rates_item, f_nRates, byte_order); } } static void randrQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryVersion_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryVersion_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void randrSetScreenConfig(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_timestamp; int f_config_timestamp; int f_sizeID; int f_rotation; int f_rate; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sizeID = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_sizeID, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetScreenConfig_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_rate = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_rate, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void randrSetScreenConfig_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_new_timestamp; int f_config_timestamp; int f_root; int f_subpixel_order; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetScreenConfig"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_SetScreenConfig_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-SetScreenConfig)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_new_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_reply_new_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_reply_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenConfig_reply_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_subpixel_order = field16(tvb, offsetp, t, hf_x11_randr_SetScreenConfig_reply_subpixel_order, byte_order); UNUSED(10); } static void randrSelectInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_enable; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SelectInput_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_enable = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_SelectInput_enable, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_SelectInput_enable_mask_ScreenChange, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SelectInput_enable_mask_CrtcChange, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SelectInput_enable_mask_OutputChange, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SelectInput_enable_mask_OutputProperty, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); } static void randrGetScreenInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetScreenInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_rotations; int f_root; int f_timestamp; int f_config_timestamp; int f_nSizes; int f_sizeID; int f_rotation; int f_rate; int f_nInfo; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenInfo"); REPLY(reply); f_rotations = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_rotations, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Rotate_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Rotate_90, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Rotate_180, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Rotate_270, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Reflect_X, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotations_mask_Reflect_Y, tvb, *offsetp, 1, byte_order); } *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetScreenInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nSizes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_nSizes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_sizeID = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_sizeID, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetScreenInfo_reply_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_rate = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_rate, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nInfo = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenInfo_reply_nInfo, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); struct_ScreenSize(tvb, offsetp, t, byte_order, f_nSizes); struct_RefreshRates(tvb, offsetp, t, byte_order, (f_nInfo - f_nSizes)); } static void randrGetScreenSizeRange(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenSizeRange_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetScreenSizeRange_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_min_width; int f_min_height; int f_max_width; int f_max_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenSizeRange"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetScreenSizeRange)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_min_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenSizeRange_reply_min_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_min_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenSizeRange_reply_min_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_max_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenSizeRange_reply_max_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_max_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenSizeRange_reply_max_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); } static void randrSetScreenSize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_width; int f_height; int f_mm_width; int f_mm_height; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenSize_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenSize_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenSize_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mm_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenSize_mm_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mm_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetScreenSize_mm_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void struct_ModeInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_id; int f_width; int f_height; int f_dot_clock; int f_hsync_start; int f_hsync_end; int f_htotal; int f_hskew; int f_vsync_start; int f_vsync_end; int f_vtotal; int f_name_len; int f_mode_flags; item = proto_tree_add_item(root, hf_x11_struct_ModeInfo, tvb, *offsetp, 32, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dot_clock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_dot_clock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hsync_start = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_hsync_start, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsync_end = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_hsync_end, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsync_start = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_vsync_start, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsync_end = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_vsync_end, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_name_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ModeInfo_name_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mode_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModeInfo_mode_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_HsyncPositive, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_HsyncNegative, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_VsyncPositive, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_VsyncNegative, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_DoubleScan, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_Csync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_CsyncPositive, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_CsyncNegative, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_HskewPresent, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_Bcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_PixelMultiplex, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_DoubleClock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModeInfo_mode_flags_mask_HalveClock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } } static void randrGetScreenResources(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetScreenResources_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_timestamp; int f_config_timestamp; int f_num_crtcs; int f_num_outputs; int f_num_modes; int f_names_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenResources"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetScreenResources)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_crtcs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_num_crtcs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_outputs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_num_outputs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_modes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_num_modes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_names_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResources_reply_names_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(8); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetScreenResources_reply_crtcs, hf_x11_randr_GetScreenResources_reply_crtcs_item, f_num_crtcs, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetScreenResources_reply_outputs, hf_x11_randr_GetScreenResources_reply_outputs_item, f_num_outputs, byte_order); struct_ModeInfo(tvb, offsetp, t, byte_order, f_num_modes); listOfByte(tvb, offsetp, t, hf_x11_randr_GetScreenResources_reply_names, f_names_len, byte_order); } static void randrGetOutputInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_config_timestamp; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetOutputInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_timestamp; int f_crtc; int f_mm_width; int f_mm_height; int f_connection; int f_subpixel_order; int f_num_crtcs; int f_num_modes; int f_num_preferred; int f_num_clones; int f_name_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetOutputInfo"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetOutputInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mm_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_mm_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mm_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_mm_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_connection = field8(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_connection, byte_order); f_subpixel_order = field8(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_subpixel_order, byte_order); f_num_crtcs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_num_crtcs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_modes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_num_modes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_preferred = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_num_preferred, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_clones = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_num_clones, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_name_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputInfo_reply_name_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard32(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_crtcs, hf_x11_randr_GetOutputInfo_reply_crtcs_item, f_num_crtcs, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_modes, hf_x11_randr_GetOutputInfo_reply_modes_item, f_num_modes, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_clones, hf_x11_randr_GetOutputInfo_reply_clones_item, f_num_clones, byte_order); listOfByte(tvb, offsetp, t, hf_x11_randr_GetOutputInfo_reply_name, f_name_len, byte_order); } static void randrListOutputProperties(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ListOutputProperties_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrListOutputProperties_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_atoms; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListOutputProperties"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-ListOutputProperties)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_atoms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ListOutputProperties_reply_num_atoms, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); listOfCard32(tvb, offsetp, t, hf_x11_randr_ListOutputProperties_reply_atoms, hf_x11_randr_ListOutputProperties_reply_atoms_item, f_num_atoms, byte_order); } static void randrQueryOutputProperty(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_property; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryOutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryOutputProperty_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrQueryOutputProperty_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_pending; int f_range; int f_immutable; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryOutputProperty"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-QueryOutputProperty)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pending = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryOutputProperty_reply_pending, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_range = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryOutputProperty_reply_range, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_immutable = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_QueryOutputProperty_reply_immutable, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(21); listOfInt32(tvb, offsetp, t, hf_x11_randr_QueryOutputProperty_reply_validValues, hf_x11_randr_QueryOutputProperty_reply_validValues_item, f_length, byte_order); } static void randrConfigureOutputProperty(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_property; int f_pending; int f_range; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ConfigureOutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ConfigureOutputProperty_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pending = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ConfigureOutputProperty_pending, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_range = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ConfigureOutputProperty_range, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfInt32(tvb, offsetp, t, hf_x11_randr_ConfigureOutputProperty_values, hf_x11_randr_ConfigureOutputProperty_values_item, (length - 16) / 4, byte_order); } static void randrChangeOutputProperty(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_property; int f_type; int f_format; int f_mode; int f_num_units; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ChangeOutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ChangeOutputProperty_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ChangeOutputProperty_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ChangeOutputProperty_format, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mode = field8(tvb, offsetp, t, hf_x11_randr_ChangeOutputProperty_mode, byte_order); UNUSED(2); f_num_units = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ChangeOutputProperty_num_units, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_randr_ChangeOutputProperty_data, ((f_num_units * f_format) / 8), byte_order); length -= ((f_num_units * f_format) / 8) * 1; } static void randrDeleteOutputProperty(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_property; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_DeleteOutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_DeleteOutputProperty_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetOutputProperty(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_property; int f_type; int f_long_offset; int f_long_length; int f_delete; int f_pending; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field32(tvb, offsetp, t, hf_x11_randr_GetOutputProperty_type, byte_order); f_long_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_long_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_long_length = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_long_length, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_delete = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_delete, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_pending = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_pending, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); } static void randrGetOutputProperty_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_format; int f_type; int f_bytes_after; int f_num_items; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetOutputProperty"); REPLY(reply); f_format = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_reply_format, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetOutputProperty)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field32(tvb, offsetp, t, hf_x11_randr_GetOutputProperty_reply_type, byte_order); f_bytes_after = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_reply_bytes_after, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_items = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputProperty_reply_num_items, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_randr_GetOutputProperty_reply_data, (f_num_items * (f_format / 8)), byte_order); } static void randrCreateMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_CreateMode_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_ModeInfo(tvb, offsetp, t, byte_order, 1); listOfByte(tvb, offsetp, t, hf_x11_randr_CreateMode_name, (length - 40) / 1, byte_order); } static void randrCreateMode_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_mode; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateMode"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-CreateMode)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_CreateMode_reply_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void randrDestroyMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_mode; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_DestroyMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrAddOutputMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_mode; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_AddOutputMode_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_AddOutputMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrDeleteOutputMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output; int f_mode; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_DeleteOutputMode_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_DeleteOutputMode_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetCrtcInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; int f_config_timestamp; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetCrtcInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_timestamp; int f_x; int f_y; int f_width; int f_height; int f_mode; int f_rotation; int f_rotations; int f_num_outputs; int f_num_possible_outputs; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCrtcInfo"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_GetCrtcInfo_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetCrtcInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_rotations = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_rotations, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_GetCrtcInfo_reply_rotations_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_num_outputs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_num_outputs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_possible_outputs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcInfo_reply_num_possible_outputs, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard32(tvb, offsetp, t, hf_x11_randr_GetCrtcInfo_reply_outputs, hf_x11_randr_GetCrtcInfo_reply_outputs_item, f_num_outputs, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetCrtcInfo_reply_possible, hf_x11_randr_GetCrtcInfo_reply_possible_item, f_num_possible_outputs, byte_order); } static void randrSetCrtcConfig(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; int f_timestamp; int f_config_timestamp; int f_x; int f_y; int f_mode; int f_rotation; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_SetCrtcConfig_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); listOfCard32(tvb, offsetp, t, hf_x11_randr_SetCrtcConfig_outputs, hf_x11_randr_SetCrtcConfig_outputs_item, (length - 28) / 4, byte_order); } static void randrSetCrtcConfig_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_timestamp; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetCrtcConfig"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_SetCrtcConfig_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-SetCrtcConfig)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcConfig_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void randrGetCrtcGammaSize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcGammaSize_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetCrtcGammaSize_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCrtcGammaSize"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetCrtcGammaSize)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcGammaSize_reply_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); } static void randrGetCrtcGamma(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcGamma_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetCrtcGamma_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCrtcGamma"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetCrtcGamma)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcGamma_reply_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); listOfCard16(tvb, offsetp, t, hf_x11_randr_GetCrtcGamma_reply_red, hf_x11_randr_GetCrtcGamma_reply_red_item, f_size, byte_order); listOfCard16(tvb, offsetp, t, hf_x11_randr_GetCrtcGamma_reply_green, hf_x11_randr_GetCrtcGamma_reply_green_item, f_size, byte_order); listOfCard16(tvb, offsetp, t, hf_x11_randr_GetCrtcGamma_reply_blue, hf_x11_randr_GetCrtcGamma_reply_blue_item, f_size, byte_order); } static void randrSetCrtcGamma(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; int f_size; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcGamma_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcGamma_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfCard16(tvb, offsetp, t, hf_x11_randr_SetCrtcGamma_red, hf_x11_randr_SetCrtcGamma_red_item, f_size, byte_order); length -= f_size * 2; listOfCard16(tvb, offsetp, t, hf_x11_randr_SetCrtcGamma_green, hf_x11_randr_SetCrtcGamma_green_item, f_size, byte_order); length -= f_size * 2; listOfCard16(tvb, offsetp, t, hf_x11_randr_SetCrtcGamma_blue, hf_x11_randr_SetCrtcGamma_blue_item, f_size, byte_order); length -= f_size * 2; } static void randrGetScreenResourcesCurrent(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetScreenResourcesCurrent_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_timestamp; int f_config_timestamp; int f_num_crtcs; int f_num_outputs; int f_num_modes; int f_names_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenResourcesCurrent"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetScreenResourcesCurrent)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_crtcs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_num_crtcs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_outputs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_num_outputs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_modes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_num_modes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_names_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetScreenResourcesCurrent_reply_names_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(8); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetScreenResourcesCurrent_reply_crtcs, hf_x11_randr_GetScreenResourcesCurrent_reply_crtcs_item, f_num_crtcs, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_randr_GetScreenResourcesCurrent_reply_outputs, hf_x11_randr_GetScreenResourcesCurrent_reply_outputs_item, f_num_outputs, byte_order); struct_ModeInfo(tvb, offsetp, t, byte_order, f_num_modes); listOfByte(tvb, offsetp, t, hf_x11_randr_GetScreenResourcesCurrent_reply_names, f_names_len, byte_order); } static void randrSetCrtcTransform(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; int f_filter_len; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcTransform_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_TRANSFORM(tvb, offsetp, t, byte_order, 1); f_filter_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetCrtcTransform_filter_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_randr_SetCrtcTransform_filter_name, f_filter_len, byte_order); length -= f_filter_len * 1; listOfInt32(tvb, offsetp, t, hf_x11_randr_SetCrtcTransform_filter_params, hf_x11_randr_SetCrtcTransform_filter_params_item, (length - 48) / 4, byte_order); } static void randrGetCrtcTransform(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetCrtcTransform_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_has_transforms; int f_pending_len; int f_pending_nparams; int f_current_len; int f_current_nparams; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCrtcTransform"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetCrtcTransform)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_TRANSFORM(tvb, offsetp, t, byte_order, 1); f_has_transforms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_reply_has_transforms, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); struct_TRANSFORM(tvb, offsetp, t, byte_order, 1); UNUSED(4); f_pending_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_reply_pending_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_pending_nparams = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_reply_pending_nparams, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_current_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_reply_current_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_current_nparams = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetCrtcTransform_reply_current_nparams, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_randr_GetCrtcTransform_reply_pending_filter_name, f_pending_len, byte_order); listOfInt32(tvb, offsetp, t, hf_x11_randr_GetCrtcTransform_reply_pending_params, hf_x11_randr_GetCrtcTransform_reply_pending_params_item, f_pending_nparams, byte_order); listOfByte(tvb, offsetp, t, hf_x11_randr_GetCrtcTransform_reply_current_filter_name, f_current_len, byte_order); listOfInt32(tvb, offsetp, t, hf_x11_randr_GetCrtcTransform_reply_current_params, hf_x11_randr_GetCrtcTransform_reply_current_params_item, f_current_nparams, byte_order); } static void randrGetPanning(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetPanning_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_timestamp; int f_left; int f_top; int f_width; int f_height; int f_track_left; int f_track_top; int f_track_width; int f_track_height; int f_border_left; int f_border_top; int f_border_right; int f_border_bottom; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPanning"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_GetPanning_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetPanning)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_track_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_track_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_track_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_track_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_border_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_border_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_right = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_border_right, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_bottom = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetPanning_reply_border_bottom, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void randrSetPanning(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_crtc; int f_timestamp; int f_left; int f_top; int f_width; int f_height; int f_track_left; int f_track_top; int f_track_width; int f_track_height; int f_border_left; int f_border_top; int f_border_right; int f_border_bottom; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_track_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_track_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_track_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_track_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_track_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_border_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_border_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_right = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_border_right, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_bottom = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_border_bottom, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void randrSetPanning_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_timestamp; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetPanning"); REPLY(reply); f_status = field8(tvb, offsetp, t, hf_x11_randr_SetPanning_reply_status, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-SetPanning)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetPanning_reply_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrSetOutputPrimary(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_output; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetOutputPrimary_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_SetOutputPrimary_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetOutputPrimary(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputPrimary_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrGetOutputPrimary_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_output; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetOutputPrimary"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (randr-GetOutputPrimary)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_GetOutputPrimary_reply_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void randrScreenChangeNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_rotation; int f_timestamp; int f_config_timestamp; int f_root; int f_request_window; int f_sizeID; int f_subpixel_order; int f_width; int f_height; int f_mwidth; int f_mheight; f_rotation = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_rotation, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Rotate_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Rotate_90, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Rotate_180, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Rotate_270, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Reflect_X, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_randr_ScreenChangeNotify_rotation_mask_Reflect_Y, tvb, *offsetp, 1, byte_order); } *offsetp += 1; CARD16(event_sequencenumber); f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_request_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_request_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sizeID = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_sizeID, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_subpixel_order = field16(tvb, offsetp, t, hf_x11_randr_ScreenChangeNotify_subpixel_order, byte_order); f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mwidth = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_mwidth, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mheight = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_randr_ScreenChangeNotify_mheight, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void struct_CrtcChange(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_timestamp; int f_window; int f_crtc; int f_mode; int f_rotation; int f_x; int f_y; int f_width; int f_height; item = proto_tree_add_item(root, hf_x11_struct_CrtcChange, tvb, *offsetp, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_CrtcChange_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_CrtcChange_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CrtcChange_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_OutputChange(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_timestamp; int f_config_timestamp; int f_window; int f_output; int f_crtc; int f_mode; int f_rotation; int f_connection; int f_subpixel_order; item = proto_tree_add_item(root, hf_x11_struct_OutputChange, tvb, *offsetp, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_config_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_config_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_crtc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_crtc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputChange_mode, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rotation = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_OutputChange_rotation, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Rotate_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Rotate_90, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Rotate_180, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Rotate_270, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Reflect_X, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_OutputChange_rotation_mask_Reflect_Y, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_connection = field8(tvb, offsetp, t, hf_x11_struct_OutputChange_connection, byte_order); f_subpixel_order = field8(tvb, offsetp, t, hf_x11_struct_OutputChange_subpixel_order, byte_order); } } static void struct_OutputProperty(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_window; int f_output; int f_atom; int f_timestamp; int f_status; item = proto_tree_add_item(root, hf_x11_struct_OutputProperty, tvb, *offsetp, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputProperty_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_output = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputProperty_output, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_atom = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputProperty_atom, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OutputProperty_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_struct_OutputProperty_status, byte_order); UNUSED(11); } } static void struct_NotifyData(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order, int count) { int i; int base = *offsetp; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_union_NotifyData, tvb, base, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); *offsetp = base; struct_CrtcChange(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_OutputChange(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_OutputProperty(tvb, offsetp, t, byte_order, 1); base += 28; } *offsetp = base; } static void randrNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_subCode; f_subCode = field8(tvb, offsetp, t, hf_x11_randr_Notify_subCode, byte_order); CARD16(event_sequencenumber); struct_NotifyData(tvb, offsetp, t, byte_order, 1); } static const value_string randr_extension_minor[] = { { 0, "QueryVersion" }, { 2, "SetScreenConfig" }, { 4, "SelectInput" }, { 5, "GetScreenInfo" }, { 6, "GetScreenSizeRange" }, { 7, "SetScreenSize" }, { 8, "GetScreenResources" }, { 9, "GetOutputInfo" }, { 10, "ListOutputProperties" }, { 11, "QueryOutputProperty" }, { 12, "ConfigureOutputProperty" }, { 13, "ChangeOutputProperty" }, { 14, "DeleteOutputProperty" }, { 15, "GetOutputProperty" }, { 16, "CreateMode" }, { 17, "DestroyMode" }, { 18, "AddOutputMode" }, { 19, "DeleteOutputMode" }, { 20, "GetCrtcInfo" }, { 21, "SetCrtcConfig" }, { 22, "GetCrtcGammaSize" }, { 23, "GetCrtcGamma" }, { 24, "SetCrtcGamma" }, { 25, "GetScreenResourcesCurrent" }, { 26, "SetCrtcTransform" }, { 27, "GetCrtcTransform" }, { 28, "GetPanning" }, { 29, "SetPanning" }, { 30, "SetOutputPrimary" }, { 31, "GetOutputPrimary" }, { 0, NULL } }; const x11_event_info randr_events[] = { { "randr-ScreenChangeNotify", randrScreenChangeNotify }, { "randr-Notify", randrNotify }, { NULL, NULL } }; static x11_reply_info randr_replies[] = { { 0, randrQueryVersion_Reply }, { 2, randrSetScreenConfig_Reply }, { 5, randrGetScreenInfo_Reply }, { 6, randrGetScreenSizeRange_Reply }, { 8, randrGetScreenResources_Reply }, { 9, randrGetOutputInfo_Reply }, { 10, randrListOutputProperties_Reply }, { 11, randrQueryOutputProperty_Reply }, { 15, randrGetOutputProperty_Reply }, { 16, randrCreateMode_Reply }, { 20, randrGetCrtcInfo_Reply }, { 21, randrSetCrtcConfig_Reply }, { 22, randrGetCrtcGammaSize_Reply }, { 23, randrGetCrtcGamma_Reply }, { 25, randrGetScreenResourcesCurrent_Reply }, { 27, randrGetCrtcTransform_Reply }, { 28, randrGetPanning_Reply }, { 29, randrSetPanning_Reply }, { 31, randrGetOutputPrimary_Reply }, { 0, NULL } }; static void dispatch_randr(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(randr_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, randr_extension_minor, "")); switch (minor) { case 0: randrQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: randrSetScreenConfig(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: randrSelectInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: randrGetScreenInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: randrGetScreenSizeRange(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: randrSetScreenSize(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: randrGetScreenResources(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: randrGetOutputInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: randrListOutputProperties(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: randrQueryOutputProperty(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: randrConfigureOutputProperty(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: randrChangeOutputProperty(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: randrDeleteOutputProperty(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: randrGetOutputProperty(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: randrCreateMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: randrDestroyMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: randrAddOutputMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: randrDeleteOutputMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: randrGetCrtcInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: randrSetCrtcConfig(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: randrGetCrtcGammaSize(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: randrGetCrtcGamma(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: randrSetCrtcGamma(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: randrGetScreenResourcesCurrent(tvb, pinfo, offsetp, t, byte_order, length); break; case 26: randrSetCrtcTransform(tvb, pinfo, offsetp, t, byte_order, length); break; case 27: randrGetCrtcTransform(tvb, pinfo, offsetp, t, byte_order, length); break; case 28: randrGetPanning(tvb, pinfo, offsetp, t, byte_order, length); break; case 29: randrSetPanning(tvb, pinfo, offsetp, t, byte_order, length); break; case 30: randrSetOutputPrimary(tvb, pinfo, offsetp, t, byte_order, length); break; case 31: randrGetOutputPrimary(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_randr(void) { set_handler("RANDR", dispatch_randr, randr_errors, randr_events, randr_replies); } static void struct_Range8(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_first; int f_last; item = proto_tree_add_item(root, hf_x11_struct_Range8, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_first = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range8_first, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_last = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range8_last, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_Range16(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_first; int f_last; item = proto_tree_add_item(root, hf_x11_struct_Range16, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_first = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range16_first, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_last = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range16_last, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_ExtRange(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_ExtRange, tvb, *offsetp, 6, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_Range8(tvb, offsetp, t, byte_order, 1); struct_Range16(tvb, offsetp, t, byte_order, 1); } } static void struct_Range(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_client_started; int f_client_died; item = proto_tree_add_item(root, hf_x11_struct_Range, tvb, *offsetp, 24, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_Range8(tvb, offsetp, t, byte_order, 1); struct_Range8(tvb, offsetp, t, byte_order, 1); struct_ExtRange(tvb, offsetp, t, byte_order, 1); struct_ExtRange(tvb, offsetp, t, byte_order, 1); struct_Range8(tvb, offsetp, t, byte_order, 1); struct_Range8(tvb, offsetp, t, byte_order, 1); struct_Range8(tvb, offsetp, t, byte_order, 1); f_client_started = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range_client_started, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_client_died = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Range_client_died, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static int struct_size_ClientInfo(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_num_ranges; f_num_ranges = VALUE32(tvb, *offsetp + size + 4); size += f_num_ranges * 24; return size + 8; } static void struct_ClientInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_client_resource; int f_num_ranges; item = proto_tree_add_item(root, hf_x11_struct_ClientInfo, tvb, *offsetp, struct_size_ClientInfo(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_client_resource = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ClientInfo_client_resource, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_ranges = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ClientInfo_num_ranges, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_Range(tvb, offsetp, t, byte_order, f_num_ranges); } } static void recordQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_QueryVersion_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_QueryVersion_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void recordQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (record-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_QueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_QueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void recordCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_element_header; int f_num_client_specs; int f_num_ranges; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_CreateContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_element_header = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_CreateContext_element_header, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_num_client_specs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_CreateContext_num_client_specs, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_ranges = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_CreateContext_num_ranges, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_record_CreateContext_client_specs, hf_x11_record_CreateContext_client_specs_item, f_num_client_specs, byte_order); length -= f_num_client_specs * 4; struct_Range(tvb, offsetp, t, byte_order, f_num_ranges); length -= f_num_ranges * 24; } static void recordRegisterClients(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_element_header; int f_num_client_specs; int f_num_ranges; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_RegisterClients_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_element_header = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_RegisterClients_element_header, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_num_client_specs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_RegisterClients_num_client_specs, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_ranges = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_RegisterClients_num_ranges, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_record_RegisterClients_client_specs, hf_x11_record_RegisterClients_client_specs_item, f_num_client_specs, byte_order); length -= f_num_client_specs * 4; struct_Range(tvb, offsetp, t, byte_order, f_num_ranges); length -= f_num_ranges * 24; } static void recordUnregisterClients(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_num_client_specs; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_UnregisterClients_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_client_specs = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_UnregisterClients_num_client_specs, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_record_UnregisterClients_client_specs, hf_x11_record_UnregisterClients_client_specs_item, f_num_client_specs, byte_order); length -= f_num_client_specs * 4; } static void recordGetContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_GetContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void recordGetContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_enabled; int f_element_header; int f_num_intercepted_clients; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetContext"); REPLY(reply); f_enabled = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_GetContext_reply_enabled, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (record-GetContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_element_header = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_GetContext_reply_element_header, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_num_intercepted_clients = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_GetContext_reply_num_intercepted_clients, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); struct_ClientInfo(tvb, offsetp, t, byte_order, f_num_intercepted_clients); } static void recordEnableContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void recordEnableContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_category; int f_element_header; int f_client_swapped; int f_xid_base; int f_server_time; int f_rec_sequence_num; col_append_fstr(pinfo->cinfo, COL_INFO, "-EnableContext"); REPLY(reply); f_category = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_category, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (record-EnableContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_element_header = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_element_header, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_client_swapped = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_client_swapped, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_xid_base = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_xid_base, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_server_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rec_sequence_num = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_EnableContext_reply_rec_sequence_num, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); listOfByte(tvb, offsetp, t, hf_x11_record_EnableContext_reply_data, (f_length * 4), byte_order); } static void recordDisableContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_DisableContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void recordFreeContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_record_FreeContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string record_extension_minor[] = { { 0, "QueryVersion" }, { 1, "CreateContext" }, { 2, "RegisterClients" }, { 3, "UnregisterClients" }, { 4, "GetContext" }, { 5, "EnableContext" }, { 6, "DisableContext" }, { 7, "FreeContext" }, { 0, NULL } }; const x11_event_info record_events[] = { { NULL, NULL } }; static x11_reply_info record_replies[] = { { 0, recordQueryVersion_Reply }, { 4, recordGetContext_Reply }, { 5, recordEnableContext_Reply }, { 0, NULL } }; static void dispatch_record(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(record_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, record_extension_minor, "")); switch (minor) { case 0: recordQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: recordCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: recordRegisterClients(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: recordUnregisterClients(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: recordGetContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: recordEnableContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: recordDisableContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: recordFreeContext(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_record(void) { set_handler("RECORD", dispatch_record, record_errors, record_events, record_replies); } static void renderQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryVersion_client_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryVersion_client_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (render-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void renderQueryPictFormats(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void renderQueryPictFormats_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_formats; int f_num_screens; int f_num_depths; int f_num_visuals; int f_num_subpixel; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryPictFormats"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (render-QueryPictFormats)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_formats = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictFormats_reply_num_formats, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_screens = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictFormats_reply_num_screens, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_depths = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictFormats_reply_num_depths, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_visuals = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictFormats_reply_num_visuals, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_subpixel = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictFormats_reply_num_subpixel, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); struct_PICTFORMINFO(tvb, offsetp, t, byte_order, f_num_formats); struct_PICTSCREEN(tvb, offsetp, t, byte_order, f_num_screens); listOfCard32(tvb, offsetp, t, hf_x11_render_QueryPictFormats_reply_subpixels, hf_x11_render_QueryPictFormats_reply_subpixels_item, f_num_subpixel, byte_order); } static void renderQueryPictIndexValues(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_format; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictIndexValues_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderQueryPictIndexValues_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_values; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryPictIndexValues"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (render-QueryPictIndexValues)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_values = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryPictIndexValues_reply_num_values, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_INDEXVALUE(tvb, offsetp, t, byte_order, f_num_values); } static void renderCreatePicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_pid; int f_drawable; int f_format; f_pid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreatePicture_pid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreatePicture_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreatePicture_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderChangePicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_ChangePicture_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderSetPictureClipRectangles(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_clip_x_origin; int f_clip_y_origin; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureClipRectangles_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_clip_x_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureClipRectangles_clip_x_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_clip_y_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureClipRectangles_clip_y_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_RECTANGLE(tvb, offsetp, t, byte_order, (length - 12) / 8); } static void renderFreePicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_FreePicture_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderComposite(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_mask; int f_dst; int f_src_x; int f_src_y; int f_mask_x; int f_mask_y; int f_dst_x; int f_dst_y; int f_width; int f_height; f_op = field8(tvb, offsetp, t, hf_x11_render_Composite_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask = field32(tvb, offsetp, t, hf_x11_render_Composite_mask, byte_order); f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mask_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_mask_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mask_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_mask_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dst_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_dst_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dst_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_dst_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Composite_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void renderTrapezoids(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_Trapezoids_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Trapezoids_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Trapezoids_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Trapezoids_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Trapezoids_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Trapezoids_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_TRAPEZOID(tvb, offsetp, t, byte_order, (length - 24) / 40); } static void renderTriangles(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_Triangles_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Triangles_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Triangles_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Triangles_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Triangles_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_Triangles_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_TRIANGLE(tvb, offsetp, t, byte_order, (length - 24) / 24); } static void renderTriStrip(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_TriStrip_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriStrip_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriStrip_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriStrip_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriStrip_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriStrip_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_POINTFIX(tvb, offsetp, t, byte_order, (length - 24) / 8); } static void renderTriFan(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_TriFan_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriFan_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriFan_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriFan_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriFan_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_TriFan_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_POINTFIX(tvb, offsetp, t, byte_order, (length - 24) / 8); } static void renderCreateGlyphSet(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_gsid; int f_format; f_gsid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateGlyphSet_gsid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateGlyphSet_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderReferenceGlyphSet(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_gsid; int f_existing; f_gsid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_ReferenceGlyphSet_gsid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_existing = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_ReferenceGlyphSet_existing, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderFreeGlyphSet(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glyphset; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_FreeGlyphSet_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderAddGlyphs(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glyphset; int f_glyphs_len; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_AddGlyphs_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glyphs_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_AddGlyphs_glyphs_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_render_AddGlyphs_glyphids, hf_x11_render_AddGlyphs_glyphids_item, f_glyphs_len, byte_order); length -= f_glyphs_len * 4; struct_GLYPHINFO(tvb, offsetp, t, byte_order, f_glyphs_len); length -= f_glyphs_len * 12; listOfByte(tvb, offsetp, t, hf_x11_render_AddGlyphs_data, (length - 12) / 1, byte_order); } static void renderFreeGlyphs(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_glyphset; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_FreeGlyphs_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_render_FreeGlyphs_glyphs, hf_x11_render_FreeGlyphs_glyphs_item, (length - 8) / 4, byte_order); } static void renderCompositeGlyphs8(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_glyphset; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_CompositeGlyphs8_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs8_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_render_CompositeGlyphs8_glyphcmds, (length - 28) / 1, byte_order); } static void renderCompositeGlyphs16(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_glyphset; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_CompositeGlyphs16_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs16_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_render_CompositeGlyphs16_glyphcmds, (length - 28) / 1, byte_order); } static void renderCompositeGlyphs32(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_src; int f_dst; int f_mask_format; int f_glyphset; int f_src_x; int f_src_y; f_op = field8(tvb, offsetp, t, hf_x11_render_CompositeGlyphs32_op, byte_order); UNUSED(3); f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mask_format = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_mask_format, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_glyphset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_glyphset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CompositeGlyphs32_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_render_CompositeGlyphs32_glyphcmds, (length - 28) / 1, byte_order); } static void renderFillRectangles(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_op; int f_dst; f_op = field8(tvb, offsetp, t, hf_x11_render_FillRectangles_op, byte_order); UNUSED(3); f_dst = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_FillRectangles_dst, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_COLOR(tvb, offsetp, t, byte_order, 1); struct_RECTANGLE(tvb, offsetp, t, byte_order, (length - 20) / 8); } static void renderCreateCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cid; int f_source; int f_x; int f_y; f_cid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateCursor_cid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateCursor_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateCursor_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateCursor_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void renderSetPictureTransform(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureTransform_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_TRANSFORM(tvb, offsetp, t, byte_order, 1); } static void renderQueryFilters(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryFilters_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void renderQueryFilters_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_aliases; int f_num_filters; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryFilters"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (render-QueryFilters)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_aliases = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryFilters_reply_num_aliases, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_filters = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_QueryFilters_reply_num_filters, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); listOfCard16(tvb, offsetp, t, hf_x11_render_QueryFilters_reply_aliases, hf_x11_render_QueryFilters_reply_aliases_item, f_num_aliases, byte_order); struct_STR(tvb, offsetp, t, byte_order, f_num_filters); } static void renderSetPictureFilter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_filter_len; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureFilter_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_filter_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_SetPictureFilter_filter_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_render_SetPictureFilter_filter, f_filter_len, byte_order); length -= f_filter_len * 1; listOfInt32(tvb, offsetp, t, hf_x11_render_SetPictureFilter_values, hf_x11_render_SetPictureFilter_values_item, (length - 12) / 4, byte_order); } static void renderCreateAnimCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cid; f_cid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateAnimCursor_cid, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_ANIMCURSORELT(tvb, offsetp, t, byte_order, (length - 8) / 8); } static void renderAddTraps(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_x_off; int f_y_off; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_AddTraps_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x_off = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_AddTraps_x_off, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_off = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_AddTraps_y_off, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_TRAP(tvb, offsetp, t, byte_order, (length - 12) / 24); } static void renderCreateSolidFill(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateSolidFill_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_COLOR(tvb, offsetp, t, byte_order, 1); } static void renderCreateLinearGradient(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_num_stops; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateLinearGradient_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_POINTFIX(tvb, offsetp, t, byte_order, 1); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); f_num_stops = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateLinearGradient_num_stops, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_render_CreateLinearGradient_stops, hf_x11_render_CreateLinearGradient_stops_item, f_num_stops, byte_order); length -= f_num_stops * 4; struct_COLOR(tvb, offsetp, t, byte_order, f_num_stops); length -= f_num_stops * 8; } static void renderCreateRadialGradient(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_inner_radius; int f_outer_radius; int f_num_stops; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateRadialGradient_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_POINTFIX(tvb, offsetp, t, byte_order, 1); struct_POINTFIX(tvb, offsetp, t, byte_order, 1); f_inner_radius = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateRadialGradient_inner_radius, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_outer_radius = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateRadialGradient_outer_radius, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_stops = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateRadialGradient_num_stops, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_render_CreateRadialGradient_stops, hf_x11_render_CreateRadialGradient_stops_item, f_num_stops, byte_order); length -= f_num_stops * 4; struct_COLOR(tvb, offsetp, t, byte_order, f_num_stops); length -= f_num_stops * 8; } static void renderCreateConicalGradient(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_angle; int f_num_stops; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateConicalGradient_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_POINTFIX(tvb, offsetp, t, byte_order, 1); f_angle = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateConicalGradient_angle, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_stops = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_render_CreateConicalGradient_num_stops, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfInt32(tvb, offsetp, t, hf_x11_render_CreateConicalGradient_stops, hf_x11_render_CreateConicalGradient_stops_item, f_num_stops, byte_order); length -= f_num_stops * 4; struct_COLOR(tvb, offsetp, t, byte_order, f_num_stops); length -= f_num_stops * 8; } static const value_string render_extension_minor[] = { { 0, "QueryVersion" }, { 1, "QueryPictFormats" }, { 2, "QueryPictIndexValues" }, { 4, "CreatePicture" }, { 5, "ChangePicture" }, { 6, "SetPictureClipRectangles" }, { 7, "FreePicture" }, { 8, "Composite" }, { 10, "Trapezoids" }, { 11, "Triangles" }, { 12, "TriStrip" }, { 13, "TriFan" }, { 17, "CreateGlyphSet" }, { 18, "ReferenceGlyphSet" }, { 19, "FreeGlyphSet" }, { 20, "AddGlyphs" }, { 22, "FreeGlyphs" }, { 23, "CompositeGlyphs8" }, { 24, "CompositeGlyphs16" }, { 25, "CompositeGlyphs32" }, { 26, "FillRectangles" }, { 27, "CreateCursor" }, { 28, "SetPictureTransform" }, { 29, "QueryFilters" }, { 30, "SetPictureFilter" }, { 31, "CreateAnimCursor" }, { 32, "AddTraps" }, { 33, "CreateSolidFill" }, { 34, "CreateLinearGradient" }, { 35, "CreateRadialGradient" }, { 36, "CreateConicalGradient" }, { 0, NULL } }; const x11_event_info render_events[] = { { NULL, NULL } }; static x11_reply_info render_replies[] = { { 0, renderQueryVersion_Reply }, { 1, renderQueryPictFormats_Reply }, { 2, renderQueryPictIndexValues_Reply }, { 29, renderQueryFilters_Reply }, { 0, NULL } }; static void dispatch_render(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(render_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, render_extension_minor, "")); switch (minor) { case 0: renderQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: renderQueryPictFormats(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: renderQueryPictIndexValues(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: renderCreatePicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: renderChangePicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: renderSetPictureClipRectangles(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: renderFreePicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: renderComposite(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: renderTrapezoids(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: renderTriangles(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: renderTriStrip(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: renderTriFan(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: renderCreateGlyphSet(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: renderReferenceGlyphSet(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: renderFreeGlyphSet(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: renderAddGlyphs(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: renderFreeGlyphs(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: renderCompositeGlyphs8(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: renderCompositeGlyphs16(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: renderCompositeGlyphs32(tvb, pinfo, offsetp, t, byte_order, length); break; case 26: renderFillRectangles(tvb, pinfo, offsetp, t, byte_order, length); break; case 27: renderCreateCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 28: renderSetPictureTransform(tvb, pinfo, offsetp, t, byte_order, length); break; case 29: renderQueryFilters(tvb, pinfo, offsetp, t, byte_order, length); break; case 30: renderSetPictureFilter(tvb, pinfo, offsetp, t, byte_order, length); break; case 31: renderCreateAnimCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 32: renderAddTraps(tvb, pinfo, offsetp, t, byte_order, length); break; case 33: renderCreateSolidFill(tvb, pinfo, offsetp, t, byte_order, length); break; case 34: renderCreateLinearGradient(tvb, pinfo, offsetp, t, byte_order, length); break; case 35: renderCreateRadialGradient(tvb, pinfo, offsetp, t, byte_order, length); break; case 36: renderCreateConicalGradient(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_render(void) { set_handler("RENDER", dispatch_render, render_errors, render_events, render_replies); } static void struct_Client(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_resource_base; int f_resource_mask; item = proto_tree_add_item(root, hf_x11_struct_Client, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_resource_base = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Client_resource_base, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_resource_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Client_resource_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_Type(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_resource_type; int f_count; item = proto_tree_add_item(root, hf_x11_struct_Type, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_resource_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Type_resource_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Type_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void resQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major; int f_client_minor; f_client_major = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryVersion_client_major, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_client_minor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryVersion_client_minor, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void resQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major; int f_server_minor; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (res-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryVersion_reply_server_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryVersion_reply_server_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void resQueryClients(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void resQueryClients_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_clients; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryClients"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (res-QueryClients)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_clients = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClients_reply_num_clients, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_Client(tvb, offsetp, t, byte_order, f_num_clients); } static void resQueryClientResources(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_xid; f_xid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClientResources_xid, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void resQueryClientResources_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_types; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryClientResources"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (res-QueryClientResources)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_types = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClientResources_reply_num_types, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_Type(tvb, offsetp, t, byte_order, f_num_types); } static void resQueryClientPixmapBytes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_xid; f_xid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClientPixmapBytes_xid, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void resQueryClientPixmapBytes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_bytes; int f_bytes_overflow; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryClientPixmapBytes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (res-QueryClientPixmapBytes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bytes = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClientPixmapBytes_reply_bytes, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bytes_overflow = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_res_QueryClientPixmapBytes_reply_bytes_overflow, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string res_extension_minor[] = { { 0, "QueryVersion" }, { 1, "QueryClients" }, { 2, "QueryClientResources" }, { 3, "QueryClientPixmapBytes" }, { 0, NULL } }; const x11_event_info res_events[] = { { NULL, NULL } }; static x11_reply_info res_replies[] = { { 0, resQueryVersion_Reply }, { 1, resQueryClients_Reply }, { 2, resQueryClientResources_Reply }, { 3, resQueryClientPixmapBytes_Reply }, { 0, NULL } }; static void dispatch_res(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(res_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, res_extension_minor, "")); switch (minor) { case 0: resQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: resQueryClients(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: resQueryClientResources(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: resQueryClientPixmapBytes(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_res(void) { set_handler("X-Resource", dispatch_res, res_errors, res_events, res_replies); } static void screensaverQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryVersion_client_major_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_client_minor_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryVersion_client_minor_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); } static void screensaverQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major_version; int f_server_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (screensaver-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryVersion_reply_server_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryVersion_reply_server_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); } static void screensaverQueryInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void screensaverQueryInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_state; int f_saver_window; int f_ms_until_server; int f_ms_since_user_input; int f_event_mask; int f_kind; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryInfo"); REPLY(reply); f_state = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_state, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (screensaver-QueryInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_saver_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_saver_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ms_until_server = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_ms_until_server, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ms_since_user_input = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_ms_since_user_input, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_event_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_event_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_kind = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_QueryInfo_reply_kind, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; UNUSED(7); } static void screensaverSelectInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_event_mask; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SelectInput_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_event_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SelectInput_event_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void screensaverSetAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_x; int f_y; int f_width; int f_height; int f_border_width; int f_class; int f_depth; int f_visual; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_border_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_border_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_class = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_class, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_SetAttributes_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void screensaverUnsetAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_UnsetAttributes_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void screensaverSuspend(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_suspend; f_suspend = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Suspend_suspend, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void screensaverNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_code; int f_state; int f_sequence_number; int f_time; int f_root; int f_window; int f_kind; int f_forced; f_code = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_code, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_state = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_state, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; UNUSED(1); f_sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_sequence_number, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_kind = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_kind, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; f_forced = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_screensaver_Notify_forced, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(14); } static const value_string screensaver_extension_minor[] = { { 0, "QueryVersion" }, { 1, "QueryInfo" }, { 2, "SelectInput" }, { 3, "SetAttributes" }, { 4, "UnsetAttributes" }, { 5, "Suspend" }, { 0, NULL } }; const x11_event_info screensaver_events[] = { { "screensaver-Notify", screensaverNotify }, { NULL, NULL } }; static x11_reply_info screensaver_replies[] = { { 0, screensaverQueryVersion_Reply }, { 1, screensaverQueryInfo_Reply }, { 0, NULL } }; static void dispatch_screensaver(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(screensaver_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, screensaver_extension_minor, "")); switch (minor) { case 0: screensaverQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: screensaverQueryInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: screensaverSelectInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: screensaverSetAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: screensaverUnsetAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: screensaverSuspend(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_screensaver(void) { set_handler("MIT-SCREEN-SAVER", dispatch_screensaver, screensaver_errors, screensaver_events, screensaver_replies); } static void shapeNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_shape_kind; int f_affected_window; int f_extents_x; int f_extents_y; int f_extents_width; int f_extents_height; int f_server_time; int f_shaped; f_shape_kind = field8(tvb, offsetp, t, hf_x11_shape_Notify_shape_kind, byte_order); CARD16(event_sequencenumber); f_affected_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_affected_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_extents_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_extents_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_extents_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_extents_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_extents_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_extents_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_extents_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_extents_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_server_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_shaped = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Notify_shaped, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(11); } static void shapeQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void shapeQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shape-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void shapeRectangles(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_operation; int f_destination_kind; int f_ordering; int f_destination_window; int f_x_offset; int f_y_offset; f_operation = field8(tvb, offsetp, t, hf_x11_shape_Rectangles_operation, byte_order); f_destination_kind = field8(tvb, offsetp, t, hf_x11_shape_Rectangles_destination_kind, byte_order); f_ordering = field8(tvb, offsetp, t, hf_x11_shape_Rectangles_ordering, byte_order); UNUSED(1); f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Rectangles_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Rectangles_x_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Rectangles_y_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_RECTANGLE(tvb, offsetp, t, byte_order, (length - 16) / 8); } static void shapeMask(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_operation; int f_destination_kind; int f_destination_window; int f_x_offset; int f_y_offset; int f_source_bitmap; f_operation = field8(tvb, offsetp, t, hf_x11_shape_Mask_operation, byte_order); f_destination_kind = field8(tvb, offsetp, t, hf_x11_shape_Mask_destination_kind, byte_order); UNUSED(2); f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Mask_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Mask_x_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Mask_y_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_source_bitmap = field32(tvb, offsetp, t, hf_x11_shape_Mask_source_bitmap, byte_order); } static void shapeCombine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_operation; int f_destination_kind; int f_source_kind; int f_destination_window; int f_x_offset; int f_y_offset; int f_source_window; f_operation = field8(tvb, offsetp, t, hf_x11_shape_Combine_operation, byte_order); f_destination_kind = field8(tvb, offsetp, t, hf_x11_shape_Combine_destination_kind, byte_order); f_source_kind = field8(tvb, offsetp, t, hf_x11_shape_Combine_source_kind, byte_order); UNUSED(1); f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Combine_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Combine_x_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Combine_y_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_source_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Combine_source_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shapeOffset(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_destination_kind; int f_destination_window; int f_x_offset; int f_y_offset; f_destination_kind = field8(tvb, offsetp, t, hf_x11_shape_Offset_destination_kind, byte_order); UNUSED(3); f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Offset_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Offset_x_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_Offset_y_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void shapeQueryExtents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_destination_window; f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shapeQueryExtents_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_bounding_shaped; int f_clip_shaped; int f_bounding_shape_extents_x; int f_bounding_shape_extents_y; int f_bounding_shape_extents_width; int f_bounding_shape_extents_height; int f_clip_shape_extents_x; int f_clip_shape_extents_y; int f_clip_shape_extents_width; int f_clip_shape_extents_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryExtents"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shape-QueryExtents)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bounding_shaped = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_bounding_shaped, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_clip_shaped = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_clip_shaped, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_bounding_shape_extents_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_bounding_shape_extents_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bounding_shape_extents_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_bounding_shape_extents_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bounding_shape_extents_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_bounding_shape_extents_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bounding_shape_extents_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_bounding_shape_extents_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_clip_shape_extents_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_clip_shape_extents_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_clip_shape_extents_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_clip_shape_extents_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_clip_shape_extents_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_clip_shape_extents_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_clip_shape_extents_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_QueryExtents_reply_clip_shape_extents_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void shapeSelectInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_destination_window; int f_enable; f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_SelectInput_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_enable = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_SelectInput_enable, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void shapeInputSelected(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_destination_window; f_destination_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_InputSelected_destination_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shapeInputSelected_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_enabled; col_append_fstr(pinfo->cinfo, COL_INFO, "-InputSelected"); REPLY(reply); f_enabled = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_InputSelected_reply_enabled, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shape-InputSelected)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shapeGetRectangles(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_source_kind; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_GetRectangles_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_source_kind = field8(tvb, offsetp, t, hf_x11_shape_GetRectangles_source_kind, byte_order); UNUSED(3); } static void shapeGetRectangles_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ordering; int f_rectangles_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetRectangles"); REPLY(reply); f_ordering = field8(tvb, offsetp, t, hf_x11_shape_GetRectangles_reply_ordering, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shape-GetRectangles)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_rectangles_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shape_GetRectangles_reply_rectangles_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_RECTANGLE(tvb, offsetp, t, byte_order, f_rectangles_len); } static const value_string shape_extension_minor[] = { { 0, "QueryVersion" }, { 1, "Rectangles" }, { 2, "Mask" }, { 3, "Combine" }, { 4, "Offset" }, { 5, "QueryExtents" }, { 6, "SelectInput" }, { 7, "InputSelected" }, { 8, "GetRectangles" }, { 0, NULL } }; const x11_event_info shape_events[] = { { "shape-Notify", shapeNotify }, { NULL, NULL } }; static x11_reply_info shape_replies[] = { { 0, shapeQueryVersion_Reply }, { 5, shapeQueryExtents_Reply }, { 7, shapeInputSelected_Reply }, { 8, shapeGetRectangles_Reply }, { 0, NULL } }; static void dispatch_shape(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(shape_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, shape_extension_minor, "")); switch (minor) { case 0: shapeQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: shapeRectangles(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: shapeMask(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: shapeCombine(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: shapeOffset(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: shapeQueryExtents(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: shapeSelectInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: shapeInputSelected(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: shapeGetRectangles(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_shape(void) { set_handler("SHAPE", dispatch_shape, shape_errors, shape_events, shape_replies); } static void shmCompletion(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_drawable; int f_minor_event; int f_major_event; int f_shmseg; int f_offset; UNUSED(1); CARD16(event_sequencenumber); f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Completion_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_event = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Completion_minor_event, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_major_event = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Completion_major_event, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; UNUSED(1); f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Completion_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Completion_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shmQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void shmQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_shared_pixmaps; int f_major_version; int f_minor_version; int f_uid; int f_gid; int f_pixmap_format; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); f_shared_pixmaps = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_shared_pixmaps, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shm-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_uid = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_uid, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_gid = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_gid, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_pixmap_format = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_QueryVersion_reply_pixmap_format, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(15); } static void shmAttach(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_shmseg; int f_shmid; int f_read_only; f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Attach_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_shmid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Attach_shmid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_read_only = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Attach_read_only, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void shmDetach(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_shmseg; f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_Detach_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shmPutImage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_gc; int f_total_width; int f_total_height; int f_src_x; int f_src_y; int f_src_width; int f_src_height; int f_dst_x; int f_dst_y; int f_depth; int f_format; int f_send_event; int f_shmseg; int f_offset; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_total_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_total_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_total_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_total_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_src_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_src_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dst_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_dst_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dst_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_dst_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_format = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_format, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_send_event = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_send_event, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_PutImage_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shmGetImage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_x; int f_y; int f_width; int f_height; int f_plane_mask; int f_format; int f_shmseg; int f_offset; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_plane_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_plane_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_format, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shmGetImage_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_depth; int f_visual; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetImage"); REPLY(reply); f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_reply_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (shm-GetImage)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_reply_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_GetImage_reply_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void shmCreatePixmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_pid; int f_drawable; int f_width; int f_height; int f_depth; int f_shmseg; int f_offset; f_pid = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_pid, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_shm_CreatePixmap_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string shm_extension_minor[] = { { 0, "QueryVersion" }, { 1, "Attach" }, { 2, "Detach" }, { 3, "PutImage" }, { 4, "GetImage" }, { 5, "CreatePixmap" }, { 0, NULL } }; const x11_event_info shm_events[] = { { "shm-Completion", shmCompletion }, { NULL, NULL } }; static x11_reply_info shm_replies[] = { { 0, shmQueryVersion_Reply }, { 4, shmGetImage_Reply }, { 0, NULL } }; static void dispatch_shm(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(shm_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, shm_extension_minor, "")); switch (minor) { case 0: shmQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: shmAttach(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: shmDetach(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: shmPutImage(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: shmGetImage(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: shmCreatePixmap(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_shm(void) { set_handler("MIT-SHM", dispatch_shm, shm_errors, shm_events, shm_replies); } static void struct_INT64(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_hi; int f_lo; item = proto_tree_add_item(root, hf_x11_struct_INT64, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_hi = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INT64_hi, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_lo = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_INT64_lo, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static int struct_size_SYSTEMCOUNTER(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_name_len; f_name_len = VALUE16(tvb, *offsetp + size + 12); size += f_name_len * 1; return size + 14; } static void struct_SYSTEMCOUNTER(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_counter; int f_name_len; item = proto_tree_add_item(root, hf_x11_struct_SYSTEMCOUNTER, tvb, *offsetp, struct_size_SYSTEMCOUNTER(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SYSTEMCOUNTER_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); f_name_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SYSTEMCOUNTER_name_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_struct_SYSTEMCOUNTER_name, f_name_len, byte_order); } } static void struct_TRIGGER(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_counter; int f_wait_type; int f_test_type; item = proto_tree_add_item(root, hf_x11_struct_TRIGGER, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TRIGGER_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_wait_type = field32(tvb, offsetp, t, hf_x11_struct_TRIGGER_wait_type, byte_order); struct_INT64(tvb, offsetp, t, byte_order, 1); f_test_type = field32(tvb, offsetp, t, hf_x11_struct_TRIGGER_test_type, byte_order); } } static void struct_WAITCONDITION(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_WAITCONDITION, tvb, *offsetp, 28, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); struct_TRIGGER(tvb, offsetp, t, byte_order, 1); struct_INT64(tvb, offsetp, t, byte_order, 1); } } static void syncInitialize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_desired_major_version; int f_desired_minor_version; f_desired_major_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_Initialize_desired_major_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_desired_minor_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_Initialize_desired_minor_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void syncInitialize_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-Initialize"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-Initialize)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_Initialize_reply_major_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_minor_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_Initialize_reply_minor_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(22); } static void syncListSystemCounters(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void syncListSystemCounters_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_counters_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListSystemCounters"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-ListSystemCounters)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_counters_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_ListSystemCounters_reply_counters_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_SYSTEMCOUNTER(tvb, offsetp, t, byte_order, f_counters_len); } static void syncCreateCounter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_id; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CreateCounter_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); } static void syncDestroyCounter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_counter; f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_DestroyCounter_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryCounter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_counter; f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_QueryCounter_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryCounter_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryCounter"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-QueryCounter)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); } static void syncAwait(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { struct_WAITCONDITION(tvb, offsetp, t, byte_order, (length - 4) / 28); } static void syncChangeCounter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_counter; f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_ChangeCounter_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); } static void syncSetCounter(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_counter; f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_SetCounter_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); } static void syncCreateAlarm(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_id; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CreateAlarm_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncChangeAlarm(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_id; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_ChangeAlarm_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncDestroyAlarm(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_alarm; f_alarm = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_DestroyAlarm_alarm, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryAlarm(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_alarm; f_alarm = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_QueryAlarm_alarm, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryAlarm_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_events; int f_state; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryAlarm"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-QueryAlarm)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_TRIGGER(tvb, offsetp, t, byte_order, 1); struct_INT64(tvb, offsetp, t, byte_order, 1); f_events = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_QueryAlarm_reply_events, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_state = field8(tvb, offsetp, t, hf_x11_sync_QueryAlarm_reply_state, byte_order); UNUSED(2); } static void syncSetPriority(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_id; int f_priority; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_SetPriority_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_priority = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_SetPriority_priority, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncGetPriority(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_id; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_GetPriority_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncGetPriority_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_priority; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPriority"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-GetPriority)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_priority = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_GetPriority_reply_priority, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncCreateFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_fence; int f_initially_triggered; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CreateFence_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_fence = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CreateFence_fence, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_initially_triggered = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CreateFence_initially_triggered, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void syncTriggerFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_fence; f_fence = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_TriggerFence_fence, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncResetFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_fence; f_fence = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_ResetFence_fence, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncDestroyFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_fence; f_fence = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_DestroyFence_fence, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_fence; f_fence = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_QueryFence_fence, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void syncQueryFence_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_triggered; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryFence"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (sync-QueryFence)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_triggered = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_QueryFence_reply_triggered, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); } static void syncAwaitFence(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { listOfCard32(tvb, offsetp, t, hf_x11_sync_AwaitFence_fence_list, hf_x11_sync_AwaitFence_fence_list_item, (length - 4) / 4, byte_order); } static void syncCounterNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_kind; int f_counter; int f_timestamp; int f_count; int f_destroyed; f_kind = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CounterNotify_kind, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_counter = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CounterNotify_counter, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); struct_INT64(tvb, offsetp, t, byte_order, 1); f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CounterNotify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CounterNotify_count, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_destroyed = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_CounterNotify_destroyed, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); } static void syncAlarmNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_kind; int f_alarm; int f_timestamp; int f_state; f_kind = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_AlarmNotify_kind, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_alarm = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_AlarmNotify_alarm, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_INT64(tvb, offsetp, t, byte_order, 1); struct_INT64(tvb, offsetp, t, byte_order, 1); f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_sync_AlarmNotify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_state = field8(tvb, offsetp, t, hf_x11_sync_AlarmNotify_state, byte_order); UNUSED(3); } static const value_string sync_extension_minor[] = { { 0, "Initialize" }, { 1, "ListSystemCounters" }, { 2, "CreateCounter" }, { 3, "SetCounter" }, { 4, "ChangeCounter" }, { 5, "QueryCounter" }, { 6, "DestroyCounter" }, { 7, "Await" }, { 8, "CreateAlarm" }, { 9, "ChangeAlarm" }, { 10, "QueryAlarm" }, { 11, "DestroyAlarm" }, { 12, "SetPriority" }, { 13, "GetPriority" }, { 14, "CreateFence" }, { 15, "TriggerFence" }, { 16, "ResetFence" }, { 17, "DestroyFence" }, { 18, "QueryFence" }, { 19, "AwaitFence" }, { 0, NULL } }; const x11_event_info sync_events[] = { { "sync-CounterNotify", syncCounterNotify }, { "sync-AlarmNotify", syncAlarmNotify }, { NULL, NULL } }; static x11_reply_info sync_replies[] = { { 0, syncInitialize_Reply }, { 1, syncListSystemCounters_Reply }, { 5, syncQueryCounter_Reply }, { 10, syncQueryAlarm_Reply }, { 13, syncGetPriority_Reply }, { 18, syncQueryFence_Reply }, { 0, NULL } }; static void dispatch_sync(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(sync_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, sync_extension_minor, "")); switch (minor) { case 0: syncInitialize(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: syncListSystemCounters(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: syncCreateCounter(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: syncSetCounter(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: syncChangeCounter(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: syncQueryCounter(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: syncDestroyCounter(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: syncAwait(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: syncCreateAlarm(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: syncChangeAlarm(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: syncQueryAlarm(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: syncDestroyAlarm(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: syncSetPriority(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: syncGetPriority(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: syncCreateFence(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: syncTriggerFence(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: syncResetFence(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: syncDestroyFence(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: syncQueryFence(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: syncAwaitFence(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_sync(void) { set_handler("SYNC", dispatch_sync, sync_errors, sync_events, sync_replies); } static void xc_miscGetVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetVersion_client_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_client_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetVersion_client_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xc_miscGetVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major_version; int f_server_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xc_misc-GetVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetVersion_reply_server_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetVersion_reply_server_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xc_miscGetXIDRange(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xc_miscGetXIDRange_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_start_id; int f_count; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetXIDRange"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xc_misc-GetXIDRange)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_start_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetXIDRange_reply_start_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetXIDRange_reply_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xc_miscGetXIDList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_count; f_count = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetXIDList_count, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xc_miscGetXIDList_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_ids_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetXIDList"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xc_misc-GetXIDList)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ids_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xc_misc_GetXIDList_reply_ids_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_xc_misc_GetXIDList_reply_ids, hf_x11_xc_misc_GetXIDList_reply_ids_item, f_ids_len, byte_order); } static const value_string xc_misc_extension_minor[] = { { 0, "GetVersion" }, { 1, "GetXIDRange" }, { 2, "GetXIDList" }, { 0, NULL } }; const x11_event_info xc_misc_events[] = { { NULL, NULL } }; static x11_reply_info xc_misc_replies[] = { { 0, xc_miscGetVersion_Reply }, { 1, xc_miscGetXIDRange_Reply }, { 2, xc_miscGetXIDList_Reply }, { 0, NULL } }; static void dispatch_xc_misc(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xc_misc_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xc_misc_extension_minor, "")); switch (minor) { case 0: xc_miscGetVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xc_miscGetXIDRange(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xc_miscGetXIDList(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xc_misc(void) { set_handler("XC-MISC", dispatch_xc_misc, xc_misc_errors, xc_misc_events, xc_misc_replies); } static void xevieQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_QueryVersion_client_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_client_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_QueryVersion_client_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xevieQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major_version; int f_server_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xevie-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_QueryVersion_reply_server_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_QueryVersion_reply_server_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); } static void xevieStart(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_Start_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xevieStart_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-Start"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xevie-Start)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); } static void xevieEnd(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cmap; f_cmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_End_cmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xevieEnd_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-End"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xevie-End)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); } static void struct_Event(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_Event, tvb, *offsetp, 32, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); UNUSED(32); } } static void xevieSend(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_data_type; struct_Event(tvb, offsetp, t, byte_order, 1); f_data_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_Send_data_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(64); } static void xevieSend_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-Send"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xevie-Send)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); } static void xevieSelectInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_event_mask; f_event_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xevie_SelectInput_event_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xevieSelectInput_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-SelectInput"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xevie-SelectInput)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); } static const value_string xevie_extension_minor[] = { { 0, "QueryVersion" }, { 1, "Start" }, { 2, "End" }, { 3, "Send" }, { 4, "SelectInput" }, { 0, NULL } }; const x11_event_info xevie_events[] = { { NULL, NULL } }; static x11_reply_info xevie_replies[] = { { 0, xevieQueryVersion_Reply }, { 1, xevieStart_Reply }, { 2, xevieEnd_Reply }, { 3, xevieSend_Reply }, { 4, xevieSelectInput_Reply }, { 0, NULL } }; static void dispatch_xevie(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xevie_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xevie_extension_minor, "")); switch (minor) { case 0: xevieQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xevieStart(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xevieEnd(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xevieSend(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xevieSelectInput(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xevie(void) { set_handler("XEVIE", dispatch_xevie, xevie_errors, xevie_events, xevie_replies); } static void struct_DrmClipRect(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_x1; int f_y1; int f_x2; int f_x3; item = proto_tree_add_item(root, hf_x11_struct_DrmClipRect, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_x1 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DrmClipRect_x1, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y1 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DrmClipRect_y1, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x2 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DrmClipRect_x2, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x3 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DrmClipRect_x3, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void xf86driQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xf86driQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_dri_major_version; int f_dri_minor_version; int f_dri_minor_patch; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dri_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_QueryVersion_reply_dri_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dri_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_QueryVersion_reply_dri_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dri_minor_patch = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_QueryVersion_reply_dri_minor_patch, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driQueryDirectRenderingCapable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_QueryDirectRenderingCapable_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driQueryDirectRenderingCapable_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_is_capable; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryDirectRenderingCapable"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-QueryDirectRenderingCapable)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_is_capable = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_QueryDirectRenderingCapable_reply_is_capable, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xf86driOpenConnection(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driOpenConnection_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_sarea_handle_low; int f_sarea_handle_high; int f_bus_id_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-OpenConnection"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-OpenConnection)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sarea_handle_low = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_sarea_handle_low, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_sarea_handle_high = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_sarea_handle_high, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bus_id_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_bus_id_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_xf86dri_OpenConnection_reply_bus_id, f_bus_id_len, byte_order); } static void xf86driCloseConnection(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CloseConnection_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driGetClientDriverName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetClientDriverName_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driGetClientDriverName_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_client_driver_major_version; int f_client_driver_minor_version; int f_client_driver_patch_version; int f_client_driver_name_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetClientDriverName"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-GetClientDriverName)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_driver_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetClientDriverName_reply_client_driver_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_driver_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetClientDriverName_reply_client_driver_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_driver_patch_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetClientDriverName_reply_client_driver_patch_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_driver_name_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetClientDriverName_reply_client_driver_name_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); listOfByte(tvb, offsetp, t, hf_x11_xf86dri_GetClientDriverName_reply_client_driver_name, f_client_driver_name_len, byte_order); } static void xf86driCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_visual; int f_context; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_hw_context; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-CreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hw_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_reply_hw_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driDestroyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_context; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_DestroyContext_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_DestroyContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driCreateDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_drawable; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateDrawable_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateDrawable_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driCreateDrawable_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_hw_drawable_handle; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateDrawable"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-CreateDrawable)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hw_drawable_handle = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_CreateDrawable_reply_hw_drawable_handle, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driDestroyDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_drawable; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_DestroyDrawable_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_DestroyDrawable_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driGetDrawableInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_drawable; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driGetDrawableInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_drawable_table_index; int f_drawable_table_stamp; int f_drawable_origin_X; int f_drawable_origin_Y; int f_drawable_size_W; int f_drawable_size_H; int f_num_clip_rects; int f_back_x; int f_back_y; int f_num_back_clip_rects; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDrawableInfo"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-GetDrawableInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable_table_index = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_table_index, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable_table_stamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_table_stamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable_origin_X = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_origin_X, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drawable_origin_Y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_origin_Y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drawable_size_W = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_size_W, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drawable_size_H = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_drawable_size_H, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_clip_rects = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_num_clip_rects, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_back_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_back_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_back_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_back_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_back_clip_rects = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDrawableInfo_reply_num_back_clip_rects, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_DrmClipRect(tvb, offsetp, t, byte_order, f_num_clip_rects); struct_DrmClipRect(tvb, offsetp, t, byte_order, f_num_back_clip_rects); } static void xf86driGetDeviceInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driGetDeviceInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_framebuffer_handle_low; int f_framebuffer_handle_high; int f_framebuffer_origin_offset; int f_framebuffer_size; int f_framebuffer_stride; int f_device_private_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceInfo"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-GetDeviceInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_framebuffer_handle_low = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_framebuffer_handle_low, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_framebuffer_handle_high = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_framebuffer_handle_high, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_framebuffer_origin_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_framebuffer_origin_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_framebuffer_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_framebuffer_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_framebuffer_stride = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_framebuffer_stride, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_device_private_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_GetDeviceInfo_reply_device_private_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_xf86dri_GetDeviceInfo_reply_device_private, hf_x11_xf86dri_GetDeviceInfo_reply_device_private_item, f_device_private_size, byte_order); } static void xf86driAuthConnection(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_magic; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_AuthConnection_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_magic = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_AuthConnection_magic, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86driAuthConnection_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_authenticated; col_append_fstr(pinfo->cinfo, COL_INFO, "-AuthConnection"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86dri-AuthConnection)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_authenticated = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86dri_AuthConnection_reply_authenticated, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string xf86dri_extension_minor[] = { { 0, "QueryVersion" }, { 1, "QueryDirectRenderingCapable" }, { 2, "OpenConnection" }, { 3, "CloseConnection" }, { 4, "GetClientDriverName" }, { 5, "CreateContext" }, { 6, "DestroyContext" }, { 7, "CreateDrawable" }, { 8, "DestroyDrawable" }, { 9, "GetDrawableInfo" }, { 10, "GetDeviceInfo" }, { 11, "AuthConnection" }, { 0, NULL } }; const x11_event_info xf86dri_events[] = { { NULL, NULL } }; static x11_reply_info xf86dri_replies[] = { { 0, xf86driQueryVersion_Reply }, { 1, xf86driQueryDirectRenderingCapable_Reply }, { 2, xf86driOpenConnection_Reply }, { 4, xf86driGetClientDriverName_Reply }, { 5, xf86driCreateContext_Reply }, { 7, xf86driCreateDrawable_Reply }, { 9, xf86driGetDrawableInfo_Reply }, { 10, xf86driGetDeviceInfo_Reply }, { 11, xf86driAuthConnection_Reply }, { 0, NULL } }; static void dispatch_xf86dri(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xf86dri_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xf86dri_extension_minor, "")); switch (minor) { case 0: xf86driQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xf86driQueryDirectRenderingCapable(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xf86driOpenConnection(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xf86driCloseConnection(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xf86driGetClientDriverName(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xf86driCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xf86driDestroyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xf86driCreateDrawable(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xf86driDestroyDrawable(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xf86driGetDrawableInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xf86driGetDeviceInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xf86driAuthConnection(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xf86dri(void) { set_handler("XFree86-DRI", dispatch_xf86dri, xf86dri_errors, xf86dri_events, xf86dri_replies); } static void xf86vidmodeQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xf86vidmodeQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_QueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_QueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xf86vidmodeGetModeLine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetModeLine_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_dotclock; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetModeLine"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetModeLine)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetModeLine_reply_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetModeLine_reply_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_GetModeLine_reply_private, f_privsize, byte_order); } static void xf86vidmodeModModeLine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ModModeLine_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ModModeLine_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_ModModeLine_private, f_privsize, byte_order); length -= f_privsize * 1; } static void xf86vidmodeSwitchMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_zoom; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchMode_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_zoom = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchMode_zoom, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xf86vidmodeGetMonitor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetMonitor_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetMonitor_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_vendor_length; int f_model_length; int f_num_hsync; int f_num_vsync; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMonitor"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetMonitor)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vendor_length = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetMonitor_reply_vendor_length, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_model_length = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetMonitor_reply_model_length, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_hsync = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetMonitor_reply_num_hsync, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_vsync = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetMonitor_reply_num_vsync, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_xf86vidmode_GetMonitor_reply_hsync, hf_x11_xf86vidmode_GetMonitor_reply_hsync_item, f_num_hsync, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xf86vidmode_GetMonitor_reply_vsync, hf_x11_xf86vidmode_GetMonitor_reply_vsync_item, f_num_vsync, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_GetMonitor_reply_vendor, f_vendor_length, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_GetMonitor_reply_alignment_pad, (((f_vendor_length + 3 ) & (~3)) - f_vendor_length), byte_order); listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_GetMonitor_reply_model, f_model_length, byte_order); } static void xf86vidmodeLockModeSwitch(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_lock; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_LockModeSwitch_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_lock = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_LockModeSwitch_lock, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xf86vidmodeGetAllModeLines(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetAllModeLines_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetAllModeLines_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_modecount; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetAllModeLines"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetAllModeLines)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_modecount = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetAllModeLines_reply_modecount, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ModeInfo(tvb, offsetp, t, byte_order, f_modecount); } static void xf86vidmodeAddModeLine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_dotclock; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; int f_after_dotclock; int f_after_hdisplay; int f_after_hsyncstart; int f_after_hsyncend; int f_after_htotal; int f_after_hskew; int f_after_vdisplay; int f_after_vsyncstart; int f_after_vsyncend; int f_after_vtotal; int f_after_flags; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_after_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_after_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_after_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_after_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_AddModeLine_after_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_AddModeLine_after_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_AddModeLine_private, f_privsize, byte_order); length -= f_privsize * 1; } static void xf86vidmodeDeleteModeLine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_dotclock; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_DeleteModeLine_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_DeleteModeLine_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_DeleteModeLine_private, f_privsize, byte_order); length -= f_privsize * 1; } static void xf86vidmodeValidateModeLine(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_dotclock; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_ValidateModeLine_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_ValidateModeLine_private, f_privsize, byte_order); length -= f_privsize * 1; } static void xf86vidmodeValidateModeLine_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-ValidateModeLine"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-ValidateModeLine)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_ValidateModeLine_reply_status, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void xf86vidmodeSwitchToMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_dotclock; int f_hdisplay; int f_hsyncstart; int f_hsyncend; int f_htotal; int f_hskew; int f_vdisplay; int f_vsyncstart; int f_vsyncend; int f_vtotal; int f_flags; int f_privsize; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dotclock = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_dotclock, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_hdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_hdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_hsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_hsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_htotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_htotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_hskew = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_hskew, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vdisplay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_vdisplay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncstart = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_vsyncstart, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vsyncend = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_vsyncend, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vtotal = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_vtotal, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Positive_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Negative_HSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Positive_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Negative_VSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Interlace, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Composite_Sync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Positive_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Negative_CSync, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_HSkew, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Broadcast, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Pixmux, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Double_Clock, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_SwitchToMode_flags_mask_Half_Clock, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(12); f_privsize = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SwitchToMode_privsize, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xf86vidmode_SwitchToMode_private, f_privsize, byte_order); length -= f_privsize * 1; } static void xf86vidmodeGetViewPort(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetViewPort_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetViewPort_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_x; int f_y; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetViewPort"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetViewPort)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetViewPort_reply_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_y = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetViewPort_reply_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void xf86vidmodeSetViewPort(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_x; int f_y; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetViewPort_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_x = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetViewPort_x, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_y = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetViewPort_y, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xf86vidmodeGetDotClocks(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetDotClocks_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetDotClocks_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_flags; int f_clocks; int f_maxclocks; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDotClocks"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetDotClocks)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_GetDotClocks_reply_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetDotClocks_reply_flags_mask_Programable, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_clocks = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetDotClocks_reply_clocks, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_maxclocks = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetDotClocks_reply_maxclocks, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_xf86vidmode_GetDotClocks_reply_clock, hf_x11_xf86vidmode_GetDotClocks_reply_clock_item, ((1 - (f_flags & 1)) * f_clocks), byte_order); } static void xf86vidmodeSetClientVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major; int f_minor; f_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetClientVersion_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetClientVersion_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xf86vidmodeSetGamma(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_red; int f_green; int f_blue; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGamma_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_red = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGamma_red, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_green = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGamma_green, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_blue = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGamma_blue, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); } static void xf86vidmodeGetGamma(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGamma_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(26); } static void xf86vidmodeGetGamma_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_red; int f_green; int f_blue; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetGamma"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetGamma)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_red = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGamma_reply_red, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_green = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGamma_reply_green, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_blue = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGamma_reply_blue, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); } static void xf86vidmodeGetGammaRamp(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_size; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGammaRamp_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGammaRamp_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xf86vidmodeGetGammaRamp_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetGammaRamp"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetGammaRamp)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGammaRamp_reply_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_GetGammaRamp_reply_red, hf_x11_xf86vidmode_GetGammaRamp_reply_red_item, ((f_size + 1) & (~1)), byte_order); listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_GetGammaRamp_reply_green, hf_x11_xf86vidmode_GetGammaRamp_reply_green_item, ((f_size + 1) & (~1)), byte_order); listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_GetGammaRamp_reply_blue, hf_x11_xf86vidmode_GetGammaRamp_reply_blue_item, ((f_size + 1) & (~1)), byte_order); } static void xf86vidmodeSetGammaRamp(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; int f_size; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGammaRamp_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_SetGammaRamp_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_SetGammaRamp_red, hf_x11_xf86vidmode_SetGammaRamp_red_item, ((f_size + 1) & (~1)), byte_order); length -= ((f_size + 1) & (~1)) * 2; listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_SetGammaRamp_green, hf_x11_xf86vidmode_SetGammaRamp_green_item, ((f_size + 1) & (~1)), byte_order); length -= ((f_size + 1) & (~1)) * 2; listOfCard16(tvb, offsetp, t, hf_x11_xf86vidmode_SetGammaRamp_blue, hf_x11_xf86vidmode_SetGammaRamp_blue_item, ((f_size + 1) & (~1)), byte_order); length -= ((f_size + 1) & (~1)) * 2; } static void xf86vidmodeGetGammaRampSize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGammaRampSize_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetGammaRampSize_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetGammaRampSize"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetGammaRampSize)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetGammaRampSize_reply_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); } static void xf86vidmodeGetPermissions(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_screen; f_screen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xf86vidmode_GetPermissions_screen, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xf86vidmodeGetPermissions_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_permissions; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPermissions"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xf86vidmode-GetPermissions)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_permissions = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xf86vidmode_GetPermissions_reply_permissions, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetPermissions_reply_permissions_mask_Read, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xf86vidmode_GetPermissions_reply_permissions_mask_Write, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(20); } static const value_string xf86vidmode_extension_minor[] = { { 0, "QueryVersion" }, { 1, "GetModeLine" }, { 2, "ModModeLine" }, { 3, "SwitchMode" }, { 4, "GetMonitor" }, { 5, "LockModeSwitch" }, { 6, "GetAllModeLines" }, { 7, "AddModeLine" }, { 8, "DeleteModeLine" }, { 9, "ValidateModeLine" }, { 10, "SwitchToMode" }, { 11, "GetViewPort" }, { 12, "SetViewPort" }, { 13, "GetDotClocks" }, { 14, "SetClientVersion" }, { 15, "SetGamma" }, { 16, "GetGamma" }, { 17, "GetGammaRamp" }, { 18, "SetGammaRamp" }, { 19, "GetGammaRampSize" }, { 20, "GetPermissions" }, { 0, NULL } }; const x11_event_info xf86vidmode_events[] = { { NULL, NULL } }; static x11_reply_info xf86vidmode_replies[] = { { 0, xf86vidmodeQueryVersion_Reply }, { 1, xf86vidmodeGetModeLine_Reply }, { 4, xf86vidmodeGetMonitor_Reply }, { 6, xf86vidmodeGetAllModeLines_Reply }, { 9, xf86vidmodeValidateModeLine_Reply }, { 11, xf86vidmodeGetViewPort_Reply }, { 13, xf86vidmodeGetDotClocks_Reply }, { 16, xf86vidmodeGetGamma_Reply }, { 17, xf86vidmodeGetGammaRamp_Reply }, { 19, xf86vidmodeGetGammaRampSize_Reply }, { 20, xf86vidmodeGetPermissions_Reply }, { 0, NULL } }; static void dispatch_xf86vidmode(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xf86vidmode_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xf86vidmode_extension_minor, "")); switch (minor) { case 0: xf86vidmodeQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xf86vidmodeGetModeLine(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xf86vidmodeModModeLine(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xf86vidmodeSwitchMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xf86vidmodeGetMonitor(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xf86vidmodeLockModeSwitch(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xf86vidmodeGetAllModeLines(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xf86vidmodeAddModeLine(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xf86vidmodeDeleteModeLine(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xf86vidmodeValidateModeLine(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xf86vidmodeSwitchToMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xf86vidmodeGetViewPort(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xf86vidmodeSetViewPort(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xf86vidmodeGetDotClocks(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xf86vidmodeSetClientVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xf86vidmodeSetGamma(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xf86vidmodeGetGamma(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xf86vidmodeGetGammaRamp(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xf86vidmodeSetGammaRamp(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xf86vidmodeGetGammaRampSize(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xf86vidmodeGetPermissions(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xf86vidmode(void) { set_handler("XFree86-VidModeExtension", dispatch_xf86vidmode, xf86vidmode_errors, xf86vidmode_events, xf86vidmode_replies); } static void xfixesQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major_version; int f_client_minor_version; f_client_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_QueryVersion_client_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_client_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_QueryVersion_client_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xfixes-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_QueryVersion_reply_major_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_QueryVersion_reply_minor_version, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); } static void xfixesChangeSaveSet(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_mode; int f_target; int f_map; int f_window; f_mode = field8(tvb, offsetp, t, hf_x11_xfixes_ChangeSaveSet_mode, byte_order); f_target = field8(tvb, offsetp, t, hf_x11_xfixes_ChangeSaveSet_target, byte_order); f_map = field8(tvb, offsetp, t, hf_x11_xfixes_ChangeSaveSet_map, byte_order); UNUSED(1); f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ChangeSaveSet_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesSelectionNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_subtype; int f_window; int f_owner; int f_selection; int f_timestamp; int f_selection_timestamp; f_subtype = field8(tvb, offsetp, t, hf_x11_xfixes_SelectionNotify_subtype, byte_order); CARD16(event_sequencenumber); f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectionNotify_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_owner = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectionNotify_owner, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_selection = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectionNotify_selection, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectionNotify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_selection_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectionNotify_selection_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); } static void xfixesSelectSelectionInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_selection; int f_event_mask; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectSelectionInput_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_selection = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectSelectionInput_selection, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_event_mask = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xfixes_SelectSelectionInput_event_mask, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_SelectSelectionInput_event_mask_mask_SetSelectionOwner, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_SelectSelectionInput_event_mask_mask_SelectionWindowDestroy, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_SelectSelectionInput_event_mask_mask_SelectionClientClose, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } static void xfixesCursorNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_subtype; int f_window; int f_cursor_serial; int f_timestamp; int f_name; f_subtype = field8(tvb, offsetp, t, hf_x11_xfixes_CursorNotify_subtype, byte_order); CARD16(event_sequencenumber); f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CursorNotify_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_cursor_serial = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CursorNotify_cursor_serial, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_timestamp = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CursorNotify_timestamp, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name = field32(tvb, offsetp, t, hf_x11_xfixes_CursorNotify_name, byte_order); UNUSED(12); } static void xfixesSelectCursorInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_event_mask; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SelectCursorInput_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_event_mask = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xfixes_SelectCursorInput_event_mask, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_SelectCursorInput_event_mask_mask_DisplayCursor, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } static void xfixesGetCursorImage(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xfixesGetCursorImage_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_x; int f_y; int f_width; int f_height; int f_xhot; int f_yhot; int f_cursor_serial; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCursorImage"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xfixes-GetCursorImage)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_xhot = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_xhot, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_yhot = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_yhot, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_cursor_serial = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImage_reply_cursor_serial, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); listOfCard32(tvb, offsetp, t, hf_x11_xfixes_GetCursorImage_reply_cursor_image, hf_x11_xfixes_GetCursorImage_reply_cursor_image_item, (f_width * f_height), byte_order); } static void xfixesCreateRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_RECTANGLE(tvb, offsetp, t, byte_order, (length - 8) / 8); } static void xfixesCreateRegionFromBitmap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_bitmap; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromBitmap_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_bitmap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromBitmap_bitmap, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesCreateRegionFromWindow(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_window; int f_kind; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromWindow_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromWindow_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_kind = field8(tvb, offsetp, t, hf_x11_xfixes_CreateRegionFromWindow_kind, byte_order); UNUSED(3); } static void xfixesCreateRegionFromGC(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_gc; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromGC_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromGC_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesCreateRegionFromPicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_picture; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromPicture_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreateRegionFromPicture_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesDestroyRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_DestroyRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesSetRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_RECTANGLE(tvb, offsetp, t, byte_order, (length - 8) / 8); } static void xfixesCopyRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source; int f_destination; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CopyRegion_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CopyRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesUnionRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source1; int f_source2; int f_destination; f_source1 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_UnionRegion_source1, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_source2 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_UnionRegion_source2, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_UnionRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesIntersectRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source1; int f_source2; int f_destination; f_source1 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_IntersectRegion_source1, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_source2 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_IntersectRegion_source2, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_IntersectRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesSubtractRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source1; int f_source2; int f_destination; f_source1 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SubtractRegion_source1, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_source2 = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SubtractRegion_source2, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SubtractRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesInvertRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source; int f_destination; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_InvertRegion_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_RECTANGLE(tvb, offsetp, t, byte_order, 1); f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_InvertRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesTranslateRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; int f_dx; int f_dy; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_TranslateRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dx = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_TranslateRegion_dx, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_dy = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_TranslateRegion_dy, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xfixesRegionExtents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source; int f_destination; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_RegionExtents_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_RegionExtents_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesFetchRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_region; f_region = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_FetchRegion_region, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesFetchRegion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-FetchRegion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xfixes-FetchRegion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_RECTANGLE(tvb, offsetp, t, byte_order, 1); UNUSED(16); struct_RECTANGLE(tvb, offsetp, t, byte_order, (f_length / 2)); } static void xfixesSetGCClipRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_gc; int f_region; int f_x_origin; int f_y_origin; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetGCClipRegion_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_region = field32(tvb, offsetp, t, hf_x11_xfixes_SetGCClipRegion_region, byte_order); f_x_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetGCClipRegion_x_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetGCClipRegion_y_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xfixesSetWindowShapeRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_dest; int f_dest_kind; int f_x_offset; int f_y_offset; int f_region; f_dest = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetWindowShapeRegion_dest, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dest_kind = field8(tvb, offsetp, t, hf_x11_xfixes_SetWindowShapeRegion_dest_kind, byte_order); UNUSED(3); f_x_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetWindowShapeRegion_x_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_offset = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetWindowShapeRegion_y_offset, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_region = field32(tvb, offsetp, t, hf_x11_xfixes_SetWindowShapeRegion_region, byte_order); } static void xfixesSetPictureClipRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_picture; int f_region; int f_x_origin; int f_y_origin; f_picture = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetPictureClipRegion_picture, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_region = field32(tvb, offsetp, t, hf_x11_xfixes_SetPictureClipRegion_region, byte_order); f_x_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetPictureClipRegion_x_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_origin = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetPictureClipRegion_y_origin, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xfixesSetCursorName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cursor; int f_nbytes; f_cursor = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetCursorName_cursor, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nbytes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_SetCursorName_nbytes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xfixes_SetCursorName_name, f_nbytes, byte_order); length -= f_nbytes * 1; } static void xfixesGetCursorName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cursor; f_cursor = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorName_cursor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesGetCursorName_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_atom; int f_nbytes; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCursorName"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xfixes-GetCursorName)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_atom = field32(tvb, offsetp, t, hf_x11_xfixes_GetCursorName_reply_atom, byte_order); f_nbytes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorName_reply_nbytes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(18); listOfByte(tvb, offsetp, t, hf_x11_xfixes_GetCursorName_reply_name, f_nbytes, byte_order); } static void xfixesGetCursorImageAndName(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xfixesGetCursorImageAndName_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_x; int f_y; int f_width; int f_height; int f_xhot; int f_yhot; int f_cursor_serial; int f_cursor_atom; int f_nbytes; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCursorImageAndName"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xfixes-GetCursorImageAndName)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_xhot = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_xhot, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_yhot = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_yhot, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_cursor_serial = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_cursor_serial, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_cursor_atom = field32(tvb, offsetp, t, hf_x11_xfixes_GetCursorImageAndName_reply_cursor_atom, byte_order); f_nbytes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_GetCursorImageAndName_reply_nbytes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xfixes_GetCursorImageAndName_reply_name, f_nbytes, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xfixes_GetCursorImageAndName_reply_cursor_image, hf_x11_xfixes_GetCursorImageAndName_reply_cursor_image_item, (f_width * f_height), byte_order); } static void xfixesChangeCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source; int f_destination; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ChangeCursor_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ChangeCursor_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesChangeCursorByName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_src; int f_nbytes; f_src = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ChangeCursorByName_src, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nbytes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ChangeCursorByName_nbytes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xfixes_ChangeCursorByName_name, f_nbytes, byte_order); length -= f_nbytes * 1; } static void xfixesExpandRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_source; int f_destination; int f_left; int f_right; int f_top; int f_bottom; f_source = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_source, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_right = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_right, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bottom = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ExpandRegion_bottom, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xfixesHideCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_HideCursor_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesShowCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_ShowCursor_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xfixesCreatePointerBarrier(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_barrier; int f_window; int f_x1; int f_y1; int f_x2; int f_y2; int f_directions; int f_num_devices; f_barrier = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_barrier, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_x1 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_x1, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y1 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_y1, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_x2 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_x2, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y2 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_y2, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_directions = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_directions, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_CreatePointerBarrier_directions_mask_PositiveX, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_CreatePointerBarrier_directions_mask_PositiveY, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_CreatePointerBarrier_directions_mask_NegativeX, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xfixes_CreatePointerBarrier_directions_mask_NegativeY, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(2); f_num_devices = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_CreatePointerBarrier_num_devices, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard16(tvb, offsetp, t, hf_x11_xfixes_CreatePointerBarrier_devices, hf_x11_xfixes_CreatePointerBarrier_devices_item, f_num_devices, byte_order); length -= f_num_devices * 2; } static void xfixesDeletePointerBarrier(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_barrier; f_barrier = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xfixes_DeletePointerBarrier_barrier, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string xfixes_extension_minor[] = { { 0, "QueryVersion" }, { 1, "ChangeSaveSet" }, { 2, "SelectSelectionInput" }, { 3, "SelectCursorInput" }, { 4, "GetCursorImage" }, { 5, "CreateRegion" }, { 6, "CreateRegionFromBitmap" }, { 7, "CreateRegionFromWindow" }, { 8, "CreateRegionFromGC" }, { 9, "CreateRegionFromPicture" }, { 10, "DestroyRegion" }, { 11, "SetRegion" }, { 12, "CopyRegion" }, { 13, "UnionRegion" }, { 14, "IntersectRegion" }, { 15, "SubtractRegion" }, { 16, "InvertRegion" }, { 17, "TranslateRegion" }, { 18, "RegionExtents" }, { 19, "FetchRegion" }, { 20, "SetGCClipRegion" }, { 21, "SetWindowShapeRegion" }, { 22, "SetPictureClipRegion" }, { 23, "SetCursorName" }, { 24, "GetCursorName" }, { 25, "GetCursorImageAndName" }, { 26, "ChangeCursor" }, { 27, "ChangeCursorByName" }, { 28, "ExpandRegion" }, { 29, "HideCursor" }, { 30, "ShowCursor" }, { 31, "CreatePointerBarrier" }, { 32, "DeletePointerBarrier" }, { 0, NULL } }; const x11_event_info xfixes_events[] = { { "xfixes-SelectionNotify", xfixesSelectionNotify }, { "xfixes-CursorNotify", xfixesCursorNotify }, { NULL, NULL } }; static x11_reply_info xfixes_replies[] = { { 0, xfixesQueryVersion_Reply }, { 4, xfixesGetCursorImage_Reply }, { 19, xfixesFetchRegion_Reply }, { 24, xfixesGetCursorName_Reply }, { 25, xfixesGetCursorImageAndName_Reply }, { 0, NULL } }; static void dispatch_xfixes(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xfixes_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xfixes_extension_minor, "")); switch (minor) { case 0: xfixesQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xfixesChangeSaveSet(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xfixesSelectSelectionInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xfixesSelectCursorInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xfixesGetCursorImage(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xfixesCreateRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xfixesCreateRegionFromBitmap(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xfixesCreateRegionFromWindow(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xfixesCreateRegionFromGC(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xfixesCreateRegionFromPicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xfixesDestroyRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xfixesSetRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xfixesCopyRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xfixesUnionRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xfixesIntersectRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xfixesSubtractRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xfixesInvertRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xfixesTranslateRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xfixesRegionExtents(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xfixesFetchRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xfixesSetGCClipRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: xfixesSetWindowShapeRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: xfixesSetPictureClipRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: xfixesSetCursorName(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: xfixesGetCursorName(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: xfixesGetCursorImageAndName(tvb, pinfo, offsetp, t, byte_order, length); break; case 26: xfixesChangeCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 27: xfixesChangeCursorByName(tvb, pinfo, offsetp, t, byte_order, length); break; case 28: xfixesExpandRegion(tvb, pinfo, offsetp, t, byte_order, length); break; case 29: xfixesHideCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 30: xfixesShowCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 31: xfixesCreatePointerBarrier(tvb, pinfo, offsetp, t, byte_order, length); break; case 32: xfixesDeletePointerBarrier(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xfixes(void) { set_handler("XFIXES", dispatch_xfixes, xfixes_errors, xfixes_events, xfixes_replies); } static void struct_ScreenInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_x_org; int f_y_org; int f_width; int f_height; item = proto_tree_add_item(root, hf_x11_struct_ScreenInfo, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_x_org = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenInfo_x_org, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_y_org = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenInfo_y_org, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenInfo_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ScreenInfo_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void xineramaQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major; int f_minor; f_major = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_QueryVersion_major, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_minor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_QueryVersion_minor, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xineramaQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major; int f_minor; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_QueryVersion_reply_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_QueryVersion_reply_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xineramaGetState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetState_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaGetState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_state; int f_window; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetState"); REPLY(reply); f_state = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetState_reply_state, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-GetState)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetState_reply_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaGetScreenCount(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenCount_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaGetScreenCount_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_screen_count; int f_window; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenCount"); REPLY(reply); f_screen_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenCount_reply_screen_count, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-GetScreenCount)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenCount_reply_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaGetScreenSize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_screen; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaGetScreenSize_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; int f_window; int f_screen; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetScreenSize"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-GetScreenSize)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_reply_width, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_height = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_reply_height, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_reply_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_screen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_GetScreenSize_reply_screen, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaIsActive(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xineramaIsActive_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_state; col_append_fstr(pinfo->cinfo, COL_INFO, "-IsActive"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-IsActive)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_state = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_IsActive_reply_state, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xineramaQueryScreens(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xineramaQueryScreens_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryScreens"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinerama-QueryScreens)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_number = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinerama_QueryScreens_reply_number, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ScreenInfo(tvb, offsetp, t, byte_order, f_number); } static const value_string xinerama_extension_minor[] = { { 0, "QueryVersion" }, { 1, "GetState" }, { 2, "GetScreenCount" }, { 3, "GetScreenSize" }, { 4, "IsActive" }, { 5, "QueryScreens" }, { 0, NULL } }; const x11_event_info xinerama_events[] = { { NULL, NULL } }; static x11_reply_info xinerama_replies[] = { { 0, xineramaQueryVersion_Reply }, { 1, xineramaGetState_Reply }, { 2, xineramaGetScreenCount_Reply }, { 3, xineramaGetScreenSize_Reply }, { 4, xineramaIsActive_Reply }, { 5, xineramaQueryScreens_Reply }, { 0, NULL } }; static void dispatch_xinerama(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xinerama_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xinerama_extension_minor, "")); switch (minor) { case 0: xineramaQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xineramaGetState(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xineramaGetScreenCount(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xineramaGetScreenSize(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xineramaIsActive(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xineramaQueryScreens(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xinerama(void) { set_handler("XINERAMA", dispatch_xinerama, xinerama_errors, xinerama_events, xinerama_replies); } static void xinputGetExtensionVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_name_len; f_name_len = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetExtensionVersion_name_len, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xinput_GetExtensionVersion_name, f_name_len, byte_order); length -= f_name_len * 1; } static void xinputGetExtensionVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major; int f_server_minor; int f_present; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetExtensionVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetExtensionVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetExtensionVersion_reply_server_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetExtensionVersion_reply_server_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_present = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetExtensionVersion_reply_present, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(19); } static void struct_DeviceInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_device_type; int f_device_id; int f_num_class_info; int f_device_use; item = proto_tree_add_item(root, hf_x11_struct_DeviceInfo, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_device_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceInfo_device_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceInfo_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_class_info = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceInfo_num_class_info, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device_use = field8(tvb, offsetp, t, hf_x11_struct_DeviceInfo_device_use, byte_order); UNUSED(1); } } static void xinputListInputDevices(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xinputListInputDevices_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_devices_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListInputDevices"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-ListInputDevices)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_devices_len = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ListInputDevices_reply_devices_len, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); struct_DeviceInfo(tvb, offsetp, t, byte_order, f_devices_len); } static void struct_InputClassInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_class_id; int f_event_type_base; item = proto_tree_add_item(root, hf_x11_struct_InputClassInfo, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_class_id = field8(tvb, offsetp, t, hf_x11_struct_InputClassInfo_class_id, byte_order); f_event_type_base = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_InputClassInfo_event_type_base, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void xinputOpenDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_OpenDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputOpenDevice_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_classes; col_append_fstr(pinfo->cinfo, COL_INFO, "-OpenDevice"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-OpenDevice)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_OpenDevice_reply_num_classes, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); struct_InputClassInfo(tvb, offsetp, t, byte_order, f_num_classes); } static void xinputCloseDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_CloseDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputSetDeviceMode(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_mode; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceMode_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mode = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceMode_mode, byte_order); UNUSED(2); } static void xinputSetDeviceMode_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDeviceMode"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-SetDeviceMode)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceMode_reply_status, byte_order); UNUSED(23); } static void xinputSelectExtensionEvent(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_num_classes; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SelectExtensionEvent_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SelectExtensionEvent_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfCard32(tvb, offsetp, t, hf_x11_xinput_SelectExtensionEvent_classes, hf_x11_xinput_SelectExtensionEvent_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputGetSelectedExtensionEvents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetSelectedExtensionEvents_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xinputGetSelectedExtensionEvents_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_this_classes; int f_num_all_classes; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSelectedExtensionEvents"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetSelectedExtensionEvents)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_this_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetSelectedExtensionEvents_reply_num_this_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_all_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetSelectedExtensionEvents_reply_num_all_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GetSelectedExtensionEvents_reply_this_classes, hf_x11_xinput_GetSelectedExtensionEvents_reply_this_classes_item, f_num_this_classes, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GetSelectedExtensionEvents_reply_all_classes, hf_x11_xinput_GetSelectedExtensionEvents_reply_all_classes_item, f_num_all_classes, byte_order); } static void xinputChangeDeviceDontPropagateList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_num_classes; int f_mode; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceDontPropagateList_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceDontPropagateList_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mode = field8(tvb, offsetp, t, hf_x11_xinput_ChangeDeviceDontPropagateList_mode, byte_order); UNUSED(1); listOfCard32(tvb, offsetp, t, hf_x11_xinput_ChangeDeviceDontPropagateList_classes, hf_x11_xinput_ChangeDeviceDontPropagateList_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputGetDeviceDontPropagateList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceDontPropagateList_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xinputGetDeviceDontPropagateList_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_classes; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceDontPropagateList"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceDontPropagateList)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceDontPropagateList_reply_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GetDeviceDontPropagateList_reply_classes, hf_x11_xinput_GetDeviceDontPropagateList_reply_classes_item, f_num_classes, byte_order); } static void xinputGetDeviceMotionEvents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_start; int f_stop; int f_device_id; f_start = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceMotionEvents_start, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_stop = field32(tvb, offsetp, t, hf_x11_xinput_GetDeviceMotionEvents_stop, byte_order); f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceMotionEvents_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGetDeviceMotionEvents_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_coords; int f_num_axes; int f_device_mode; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceMotionEvents"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceMotionEvents)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_coords = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceMotionEvents_reply_num_coords, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_axes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceMotionEvents_reply_num_axes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GetDeviceMotionEvents_reply_device_mode, byte_order); UNUSED(18); } static void xinputChangeKeyboardDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeKeyboardDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputChangeKeyboardDevice_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-ChangeKeyboardDevice"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-ChangeKeyboardDevice)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_ChangeKeyboardDevice_reply_status, byte_order); UNUSED(23); } static void xinputChangePointerDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_x_axis; int f_y_axis; int f_device_id; f_x_axis = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangePointerDevice_x_axis, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_y_axis = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangePointerDevice_y_axis, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangePointerDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); } static void xinputChangePointerDevice_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-ChangePointerDevice"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-ChangePointerDevice)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_ChangePointerDevice_reply_status, byte_order); UNUSED(23); } static void xinputGrabDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_grab_window; int f_time; int f_num_classes; int f_this_device_mode; int f_other_device_mode; int f_owner_events; int f_device_id; f_grab_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDevice_grab_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_time = field32(tvb, offsetp, t, hf_x11_xinput_GrabDevice_time, byte_order); f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDevice_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_this_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDevice_this_device_mode, byte_order); f_other_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDevice_other_device_mode, byte_order); f_owner_events = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDevice_owner_events, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GrabDevice_classes, hf_x11_xinput_GrabDevice_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputGrabDevice_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-GrabDevice"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GrabDevice)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_GrabDevice_reply_status, byte_order); UNUSED(23); } static void xinputUngrabDevice(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_time; int f_device_id; f_time = field32(tvb, offsetp, t, hf_x11_xinput_UngrabDevice_time, byte_order); f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDevice_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGrabDeviceKey(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_grab_window; int f_num_classes; int f_modifiers; int f_modifier_device; int f_grabbed_device; int f_key; int f_this_device_mode; int f_other_device_mode; int f_owner_events; f_grab_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_grab_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_modifiers = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_modifiers, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceKey_modifiers_mask_Any, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_modifier_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_modifier_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_grabbed_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_grabbed_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_key = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceKey_key, byte_order); f_this_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceKey_this_device_mode, byte_order); f_other_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceKey_other_device_mode, byte_order); f_owner_events = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceKey_owner_events, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GrabDeviceKey_classes, hf_x11_xinput_GrabDeviceKey_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputUngrabDeviceKey(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_grabWindow; int f_modifiers; int f_modifier_device; int f_key; int f_grabbed_device; f_grabWindow = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceKey_grabWindow, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_modifiers = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceKey_modifiers, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceKey_modifiers_mask_Any, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_modifier_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceKey_modifier_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_key = field8(tvb, offsetp, t, hf_x11_xinput_UngrabDeviceKey_key, byte_order); f_grabbed_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceKey_grabbed_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGrabDeviceButton(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_grab_window; int f_grabbed_device; int f_modifier_device; int f_num_classes; int f_modifiers; int f_this_device_mode; int f_other_device_mode; int f_button; int f_owner_events; f_grab_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_grab_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_grabbed_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_grabbed_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_modifier_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_modifier_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_modifiers = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_modifiers, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_GrabDeviceButton_modifiers_mask_Any, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_this_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceButton_this_device_mode, byte_order); f_other_device_mode = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceButton_other_device_mode, byte_order); f_button = field8(tvb, offsetp, t, hf_x11_xinput_GrabDeviceButton_button, byte_order); f_owner_events = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GrabDeviceButton_owner_events, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GrabDeviceButton_classes, hf_x11_xinput_GrabDeviceButton_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputUngrabDeviceButton(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_grab_window; int f_modifiers; int f_modifier_device; int f_button; int f_grabbed_device; f_grab_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceButton_grab_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_modifiers = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceButton_modifiers, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xinput_UngrabDeviceButton_modifiers_mask_Any, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_modifier_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceButton_modifier_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_button = field8(tvb, offsetp, t, hf_x11_xinput_UngrabDeviceButton_button, byte_order); f_grabbed_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_UngrabDeviceButton_grabbed_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputAllowDeviceEvents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_time; int f_mode; int f_device_id; f_time = field32(tvb, offsetp, t, hf_x11_xinput_AllowDeviceEvents_time, byte_order); f_mode = field8(tvb, offsetp, t, hf_x11_xinput_AllowDeviceEvents_mode, byte_order); f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_AllowDeviceEvents_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGetDeviceFocus(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceFocus_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputGetDeviceFocus_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_focus; int f_time; int f_revert_to; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceFocus"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceFocus)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_focus = field32(tvb, offsetp, t, hf_x11_xinput_GetDeviceFocus_reply_focus, byte_order); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceFocus_reply_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_revert_to = field8(tvb, offsetp, t, hf_x11_xinput_GetDeviceFocus_reply_revert_to, byte_order); UNUSED(15); } static void xinputSetDeviceFocus(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_focus; int f_time; int f_revert_to; int f_device_id; f_focus = field32(tvb, offsetp, t, hf_x11_xinput_SetDeviceFocus_focus, byte_order); f_time = field32(tvb, offsetp, t, hf_x11_xinput_SetDeviceFocus_time, byte_order); f_revert_to = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceFocus_revert_to, byte_order); f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceFocus_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGetFeedbackControl(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetFeedbackControl_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputGetFeedbackControl_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_feedback; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetFeedbackControl"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetFeedbackControl)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_feedback = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetFeedbackControl_reply_num_feedback, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); } static void xinputGetDeviceKeyMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_first_keycode; int f_count; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceKeyMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_first_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceKeyMapping_first_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceKeyMapping_count, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputGetDeviceKeyMapping_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_keysyms_per_keycode; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceKeyMapping"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceKeyMapping)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_keysyms_per_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceKeyMapping_reply_keysyms_per_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); listOfCard32(tvb, offsetp, t, hf_x11_xinput_GetDeviceKeyMapping_reply_keysyms, hf_x11_xinput_GetDeviceKeyMapping_reply_keysyms_item, f_length, byte_order); } static void xinputChangeDeviceKeyMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_first_keycode; int f_keysyms_per_keycode; int f_keycode_count; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceKeyMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_first_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceKeyMapping_first_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keysyms_per_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceKeyMapping_keysyms_per_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keycode_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceKeyMapping_keycode_count, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfCard32(tvb, offsetp, t, hf_x11_xinput_ChangeDeviceKeyMapping_keysyms, hf_x11_xinput_ChangeDeviceKeyMapping_keysyms_item, (f_keycode_count * f_keysyms_per_keycode), byte_order); length -= (f_keycode_count * f_keysyms_per_keycode) * 4; } static void xinputGetDeviceModifierMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceModifierMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputGetDeviceModifierMapping_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_keycodes_per_modifier; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceModifierMapping"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceModifierMapping)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_keycodes_per_modifier = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceModifierMapping_reply_keycodes_per_modifier, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); listOfByte(tvb, offsetp, t, hf_x11_xinput_GetDeviceModifierMapping_reply_keymaps, (f_keycodes_per_modifier * 8), byte_order); } static void xinputSetDeviceModifierMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_keycodes_per_modifier; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceModifierMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keycodes_per_modifier = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceModifierMapping_keycodes_per_modifier, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); listOfByte(tvb, offsetp, t, hf_x11_xinput_SetDeviceModifierMapping_keymaps, (f_keycodes_per_modifier * 8), byte_order); length -= (f_keycodes_per_modifier * 8) * 1; } static void xinputSetDeviceModifierMapping_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDeviceModifierMapping"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-SetDeviceModifierMapping)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceModifierMapping_reply_status, byte_order); UNUSED(23); } static void xinputGetDeviceButtonMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceButtonMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputGetDeviceButtonMapping_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_map_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceButtonMapping"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceButtonMapping)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_map_size = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceButtonMapping_reply_map_size, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); listOfByte(tvb, offsetp, t, hf_x11_xinput_GetDeviceButtonMapping_reply_map, f_map_size, byte_order); } static void xinputSetDeviceButtonMapping(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_map_size; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceButtonMapping_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_map_size = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceButtonMapping_map_size, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xinput_SetDeviceButtonMapping_map, f_map_size, byte_order); length -= f_map_size * 1; } static void xinputSetDeviceButtonMapping_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDeviceButtonMapping"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-SetDeviceButtonMapping)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceButtonMapping_reply_status, byte_order); UNUSED(23); } static void xinputQueryDeviceState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_QueryDeviceState_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xinputQueryDeviceState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_classes; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryDeviceState"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-QueryDeviceState)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_classes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_QueryDeviceState_reply_num_classes, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); } static void xinputSendExtensionEvent(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_destination; int f_device_id; int f_propagate; int f_num_classes; int f_num_events; f_destination = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SendExtensionEvent_destination, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SendExtensionEvent_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_propagate = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SendExtensionEvent_propagate, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_classes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SendExtensionEvent_num_classes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_events = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SendExtensionEvent_num_events, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); listOfByte(tvb, offsetp, t, hf_x11_xinput_SendExtensionEvent_events, (f_num_events * 32), byte_order); length -= (f_num_events * 32) * 1; listOfCard32(tvb, offsetp, t, hf_x11_xinput_SendExtensionEvent_classes, hf_x11_xinput_SendExtensionEvent_classes_item, f_num_classes, byte_order); length -= f_num_classes * 4; } static void xinputDeviceBell(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_feedback_id; int f_feedback_class; int f_percent; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceBell_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_feedback_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceBell_feedback_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_feedback_class = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceBell_feedback_class, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_percent = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceBell_percent, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputSetDeviceValuators(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device_id; int f_first_valuator; int f_num_valuators; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceValuators_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_first_valuator = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceValuators_first_valuator, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_valuators = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_SetDeviceValuators_num_valuators, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); listOfInt32(tvb, offsetp, t, hf_x11_xinput_SetDeviceValuators_valuators, hf_x11_xinput_SetDeviceValuators_valuators_item, f_num_valuators, byte_order); length -= f_num_valuators * 4; } static void xinputSetDeviceValuators_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDeviceValuators"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-SetDeviceValuators)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_SetDeviceValuators_reply_status, byte_order); UNUSED(23); } static void xinputGetDeviceControl(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_control_id; int f_device_id; f_control_id = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceControl_control_id, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_GetDeviceControl_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); } static void xinputGetDeviceControl_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceControl"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xinput-GetDeviceControl)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status = field8(tvb, offsetp, t, hf_x11_xinput_GetDeviceControl_reply_status, byte_order); UNUSED(23); } static void xinputDeviceValuator(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; int f_device_state; int f_num_valuators; int f_first_valuator; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceValuator_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_device_state = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceValuator_device_state, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_valuators = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceValuator_num_valuators, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_first_valuator = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceValuator_first_valuator, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfInt32(tvb, offsetp, t, hf_x11_xinput_DeviceValuator_valuators, hf_x11_xinput_DeviceValuator_valuators_item, 6, byte_order); } static void xinputDeviceKeyPress(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_detail; int f_time; int f_root; int f_event; int f_child; int f_root_x; int f_root_y; int f_event_x; int f_event_y; int f_state; int f_same_screen; int f_device_id; f_detail = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_detail, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_event = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_event, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_child = field32(tvb, offsetp, t, hf_x11_xinput_DeviceKeyPress_child, byte_order); f_root_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_root_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_root_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_root_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_event_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_event_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_event_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_event_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_state = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_state, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_same_screen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_same_screen, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyPress_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xinputFocusIn(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_detail; int f_time; int f_window; int f_mode; int f_device_id; f_detail = field8(tvb, offsetp, t, hf_x11_xinput_FocusIn_detail, byte_order); CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_FocusIn_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_FocusIn_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mode = field8(tvb, offsetp, t, hf_x11_xinput_FocusIn_mode, byte_order); f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_FocusIn_device_id, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(18); } static void xinputDeviceStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; int f_time; int f_num_keys; int f_num_buttons; int f_num_valuators; int f_classes_reported; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_keys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_num_keys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_buttons = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_num_buttons, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_valuators = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_num_valuators, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_classes_reported = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceStateNotify_classes_reported, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xinput_DeviceStateNotify_buttons, 4, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xinput_DeviceStateNotify_keys, 4, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xinput_DeviceStateNotify_valuators, hf_x11_xinput_DeviceStateNotify_valuators_item, 3, byte_order); } static void xinputDeviceMappingNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; int f_request; int f_first_keycode; int f_count; int f_time; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceMappingNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); f_request = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceMappingNotify_request, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_first_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceMappingNotify_first_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceMappingNotify_count, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceMappingNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void xinputChangeDeviceNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; int f_time; int f_request; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_request = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_ChangeDeviceNotify_request, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(23); } static void xinputDeviceKeyStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceKeyStateNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); listOfByte(tvb, offsetp, t, hf_x11_xinput_DeviceKeyStateNotify_keys, 28, byte_order); } static void xinputDeviceButtonStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_device_id; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DeviceButtonStateNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; CARD16(event_sequencenumber); listOfByte(tvb, offsetp, t, hf_x11_xinput_DeviceButtonStateNotify_buttons, 28, byte_order); } static void xinputDevicePresenceNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_time; int f_devchange; int f_device_id; int f_control; UNUSED(1); CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DevicePresenceNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_devchange = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DevicePresenceNotify_devchange, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; f_device_id = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DevicePresenceNotify_device_id, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; f_control = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xinput_DevicePresenceNotify_control, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); } static const value_string xinput_extension_minor[] = { { 1, "GetExtensionVersion" }, { 2, "ListInputDevices" }, { 3, "OpenDevice" }, { 4, "CloseDevice" }, { 5, "SetDeviceMode" }, { 6, "SelectExtensionEvent" }, { 7, "GetSelectedExtensionEvents" }, { 8, "ChangeDeviceDontPropagateList" }, { 9, "GetDeviceDontPropagateList" }, { 10, "GetDeviceMotionEvents" }, { 11, "ChangeKeyboardDevice" }, { 12, "ChangePointerDevice" }, { 13, "GrabDevice" }, { 14, "UngrabDevice" }, { 15, "GrabDeviceKey" }, { 16, "UngrabDeviceKey" }, { 17, "GrabDeviceButton" }, { 18, "UngrabDeviceButton" }, { 19, "AllowDeviceEvents" }, { 20, "GetDeviceFocus" }, { 21, "SetDeviceFocus" }, { 22, "GetFeedbackControl" }, { 24, "GetDeviceKeyMapping" }, { 25, "ChangeDeviceKeyMapping" }, { 26, "GetDeviceModifierMapping" }, { 27, "SetDeviceModifierMapping" }, { 28, "GetDeviceButtonMapping" }, { 29, "SetDeviceButtonMapping" }, { 30, "QueryDeviceState" }, { 31, "SendExtensionEvent" }, { 32, "DeviceBell" }, { 33, "SetDeviceValuators" }, { 34, "GetDeviceControl" }, { 0, NULL } }; const x11_event_info xinput_events[] = { { "xinput-DeviceValuator", xinputDeviceValuator }, { "xinput-DeviceKeyPress", xinputDeviceKeyPress }, { "xinput-FocusIn", xinputFocusIn }, { "xinput-DeviceStateNotify", xinputDeviceStateNotify }, { "xinput-DeviceMappingNotify", xinputDeviceMappingNotify }, { "xinput-ChangeDeviceNotify", xinputChangeDeviceNotify }, { "xinput-DeviceKeyStateNotify", xinputDeviceKeyStateNotify }, { "xinput-DeviceButtonStateNotify", xinputDeviceButtonStateNotify }, { "xinput-DevicePresenceNotify", xinputDevicePresenceNotify }, { NULL, NULL } }; static x11_reply_info xinput_replies[] = { { 1, xinputGetExtensionVersion_Reply }, { 2, xinputListInputDevices_Reply }, { 3, xinputOpenDevice_Reply }, { 5, xinputSetDeviceMode_Reply }, { 7, xinputGetSelectedExtensionEvents_Reply }, { 9, xinputGetDeviceDontPropagateList_Reply }, { 10, xinputGetDeviceMotionEvents_Reply }, { 11, xinputChangeKeyboardDevice_Reply }, { 12, xinputChangePointerDevice_Reply }, { 13, xinputGrabDevice_Reply }, { 20, xinputGetDeviceFocus_Reply }, { 22, xinputGetFeedbackControl_Reply }, { 24, xinputGetDeviceKeyMapping_Reply }, { 26, xinputGetDeviceModifierMapping_Reply }, { 27, xinputSetDeviceModifierMapping_Reply }, { 28, xinputGetDeviceButtonMapping_Reply }, { 29, xinputSetDeviceButtonMapping_Reply }, { 30, xinputQueryDeviceState_Reply }, { 33, xinputSetDeviceValuators_Reply }, { 34, xinputGetDeviceControl_Reply }, { 0, NULL } }; static void dispatch_xinput(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xinput_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xinput_extension_minor, "")); switch (minor) { case 1: xinputGetExtensionVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xinputListInputDevices(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xinputOpenDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xinputCloseDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xinputSetDeviceMode(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xinputSelectExtensionEvent(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xinputGetSelectedExtensionEvents(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xinputChangeDeviceDontPropagateList(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xinputGetDeviceDontPropagateList(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xinputGetDeviceMotionEvents(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xinputChangeKeyboardDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xinputChangePointerDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xinputGrabDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xinputUngrabDevice(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xinputGrabDeviceKey(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xinputUngrabDeviceKey(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xinputGrabDeviceButton(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xinputUngrabDeviceButton(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xinputAllowDeviceEvents(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xinputGetDeviceFocus(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: xinputSetDeviceFocus(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: xinputGetFeedbackControl(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: xinputGetDeviceKeyMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: xinputChangeDeviceKeyMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 26: xinputGetDeviceModifierMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 27: xinputSetDeviceModifierMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 28: xinputGetDeviceButtonMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 29: xinputSetDeviceButtonMapping(tvb, pinfo, offsetp, t, byte_order, length); break; case 30: xinputQueryDeviceState(tvb, pinfo, offsetp, t, byte_order, length); break; case 31: xinputSendExtensionEvent(tvb, pinfo, offsetp, t, byte_order, length); break; case 32: xinputDeviceBell(tvb, pinfo, offsetp, t, byte_order, length); break; case 33: xinputSetDeviceValuators(tvb, pinfo, offsetp, t, byte_order, length); break; case 34: xinputGetDeviceControl(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xinput(void) { set_handler("XInputExtension", dispatch_xinput, xinput_errors, xinput_events, xinput_replies); } static void struct_AXOption(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order, int count) { int i; int base = *offsetp; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_fbopt; int f_skopt; item = proto_tree_add_item(root, hf_x11_union_AXOption, tvb, base, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); *offsetp = base; f_fbopt = field16(tvb, offsetp, t, hf_x11_union_AXOption_fbopt, byte_order); *offsetp = base; f_skopt = field16(tvb, offsetp, t, hf_x11_union_AXOption_skopt, byte_order); base += 2; } *offsetp = base; } static void struct_IndicatorMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_flags; int f_whichGroups; int f_groups; int f_whichMods; int f_mods; int f_realMods; int f_vmods; int f_ctrls; item = proto_tree_add_item(root, hf_x11_struct_IndicatorMap, tvb, *offsetp, 12, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_flags = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_flags, byte_order); f_whichGroups = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_whichGroups, byte_order); f_groups = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_groups, byte_order); f_whichMods = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_whichMods, byte_order); f_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_ctrls = field32(tvb, offsetp, t, hf_x11_struct_IndicatorMap_ctrls, byte_order); } } static void struct_ModDef(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_mask; int f_realMods; int f_vmods; item = proto_tree_add_item(root, hf_x11_struct_ModDef, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } } static void struct_KeyName(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_KeyName, tvb, *offsetp, 1, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); listOfByte(tvb, offsetp, t, hf_x11_struct_KeyName_name, 4, byte_order); } } static void struct_KeyAlias(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_KeyAlias, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); listOfByte(tvb, offsetp, t, hf_x11_struct_KeyAlias_real, 4, byte_order); listOfByte(tvb, offsetp, t, hf_x11_struct_KeyAlias_alias, 4, byte_order); } } static int struct_size_CountedString16(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_length; f_length = VALUE16(tvb, *offsetp + size + 0); size += f_length * 1; return size + 3; } static void struct_CountedString16(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_length; item = proto_tree_add_item(root, hf_x11_struct_CountedString16, tvb, *offsetp, struct_size_CountedString16(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_length = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CountedString16_length, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_struct_CountedString16_string, f_length, byte_order); UNUSED(1); } } static void struct_KTMapEntry(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_active; int f_level; int f_mods_mask; int f_mods_mods; int f_mods_vmods; item = proto_tree_add_item(root, hf_x11_struct_KTMapEntry, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_active = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KTMapEntry_active, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_level = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KTMapEntry_level, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mods_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mods_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mods_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); } } static int struct_size_KeyType(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nMapEntries; int f_hasPreserve; f_nMapEntries = VALUE8(tvb, *offsetp + size + 5); f_hasPreserve = VALUE8(tvb, *offsetp + size + 6); size += f_nMapEntries * 8; size += (f_hasPreserve * f_nMapEntries) * 4; return size + 8; } static void struct_KeyType(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_mods_mask; int f_mods_mods; int f_mods_vmods; int f_numLevels; int f_nMapEntries; int f_hasPreserve; item = proto_tree_add_item(root, hf_x11_struct_KeyType, tvb, *offsetp, struct_size_KeyType(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_mods_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mods_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mods_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_numLevels = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeyType_numLevels, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nMapEntries = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeyType_nMapEntries, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_hasPreserve = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeyType_hasPreserve, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); struct_KTMapEntry(tvb, offsetp, t, byte_order, f_nMapEntries); struct_ModDef(tvb, offsetp, t, byte_order, (f_hasPreserve * f_nMapEntries)); } } static int struct_size_KeySymMap(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nSyms; f_nSyms = VALUE16(tvb, *offsetp + size + 6); size += f_nSyms * 4; return size + 8; } static void struct_KeySymMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_groupInfo; int f_width; int f_nSyms; item = proto_tree_add_item(root, hf_x11_struct_KeySymMap, tvb, *offsetp, struct_size_KeySymMap(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); listOfByte(tvb, offsetp, t, hf_x11_struct_KeySymMap_kt_index, 4, byte_order); f_groupInfo = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeySymMap_groupInfo, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_width = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeySymMap_width, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeySymMap_nSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfCard32(tvb, offsetp, t, hf_x11_struct_KeySymMap_syms, hf_x11_struct_KeySymMap_syms_item, f_nSyms, byte_order); } } static void struct_CommonBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_data; item = proto_tree_add_item(root, hf_x11_struct_CommonBehavior, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonBehavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_data = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonBehavior_data, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_DefaultBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; item = proto_tree_add_item(root, hf_x11_struct_DefaultBehavior, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DefaultBehavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); } } static void struct_RadioGroupBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_group; item = proto_tree_add_item(root, hf_x11_struct_RadioGroupBehavior, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RadioGroupBehavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_group = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_RadioGroupBehavior_group, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_Overlay1Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_key; item = proto_tree_add_item(root, hf_x11_struct_Overlay1Behavior, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay1Behavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_key = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay1Behavior_key, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_Overlay2Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_key; item = proto_tree_add_item(root, hf_x11_struct_Overlay2Behavior, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay2Behavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_key = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay2Behavior_key, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order, int count) { int i; int base = *offsetp; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; item = proto_tree_add_item(root, hf_x11_union_Behavior, tvb, base, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); *offsetp = base; struct_CommonBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_DefaultBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_DefaultBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_RadioGroupBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_Overlay1Behavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_Overlay2Behavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_DefaultBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_RadioGroupBehavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_Overlay1Behavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_Overlay2Behavior(tvb, offsetp, t, byte_order, 1); *offsetp = base; f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_union_Behavior_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; base += 2; } *offsetp = base; } static void struct_SetBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_keycode; item = proto_tree_add_item(root, hf_x11_struct_SetBehavior, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SetBehavior_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; struct_Behavior(tvb, offsetp, t, byte_order, 1); UNUSED(1); } } static void struct_SetExplicit(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_keycode; int f_explicit; item = proto_tree_add_item(root, hf_x11_struct_SetExplicit, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SetExplicit_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_explicit = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetExplicit_explicit, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_Interpret, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_AutoRepeat, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_Behavior, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_VModMap, tvb, *offsetp, 1, byte_order); } *offsetp += 1; } } static void struct_KeyModMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_keycode; int f_mods; item = proto_tree_add_item(root, hf_x11_struct_KeyModMap, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeyModMap_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyModMap_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; } } static void struct_KeyVModMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_keycode; int f_vmods; item = proto_tree_add_item(root, hf_x11_struct_KeyVModMap, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KeyVModMap_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyVModMap_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } } static void struct_KTSetMapEntry(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_level; int f_realMods; int f_virtualMods; item = proto_tree_add_item(root, hf_x11_struct_KTSetMapEntry, tvb, *offsetp, 4, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_level = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_level, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } } static int struct_size_SetKeyType(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nMapEntries; int f_preserve; f_nMapEntries = VALUE8(tvb, *offsetp + size + 5); f_preserve = VALUE8(tvb, *offsetp + size + 6); size += f_nMapEntries * 4; size += (f_preserve * f_nMapEntries) * 4; return size + 8; } static void struct_SetKeyType(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_mask; int f_realMods; int f_virtualMods; int f_numLevels; int f_nMapEntries; int f_preserve; item = proto_tree_add_item(root, hf_x11_struct_SetKeyType, tvb, *offsetp, struct_size_SetKeyType(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_numLevels = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SetKeyType_numLevels, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nMapEntries = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SetKeyType_nMapEntries, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_preserve = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SetKeyType_preserve, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); struct_KTSetMapEntry(tvb, offsetp, t, byte_order, f_nMapEntries); struct_KTSetMapEntry(tvb, offsetp, t, byte_order, (f_preserve * f_nMapEntries)); } } static int struct_size_Property(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_valueLength; int f_nameLength; f_nameLength = VALUE16(tvb, *offsetp + size + 0); size += f_nameLength * 1; f_valueLength = VALUE16(tvb, *offsetp + size + 2); size += f_valueLength * 1; return size + 4; } static void struct_Property(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_nameLength; int f_valueLength; item = proto_tree_add_item(root, hf_x11_struct_Property, tvb, *offsetp, struct_size_Property(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_nameLength = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Property_nameLength, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_struct_Property_name, f_nameLength, byte_order); f_valueLength = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Property_valueLength, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_struct_Property_value, f_valueLength, byte_order); } } static int struct_size_Outline(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nPoints; f_nPoints = VALUE8(tvb, *offsetp + size + 0); size += f_nPoints * 4; return size + 4; } static void struct_Outline(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_nPoints; int f_cornerRadius; item = proto_tree_add_item(root, hf_x11_struct_Outline, tvb, *offsetp, struct_size_Outline(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_nPoints = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Outline_nPoints, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_cornerRadius = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Outline_cornerRadius, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_POINT(tvb, offsetp, t, byte_order, f_nPoints); } } static int struct_size_Shape(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int i, off; int f_nOutlines; f_nOutlines = VALUE8(tvb, *offsetp + size + 4); for (i = 0; i < f_nOutlines; i++) { off = (*offsetp) + size + 8; size += struct_size_Outline(tvb, &off, byte_order); } return size + 8; } static void struct_Shape(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_nOutlines; int f_primaryNdx; int f_approxNdx; item = proto_tree_add_item(root, hf_x11_struct_Shape, tvb, *offsetp, struct_size_Shape(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Shape_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nOutlines = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Shape_nOutlines, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_primaryNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Shape_primaryNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_approxNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Shape_approxNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); struct_Outline(tvb, offsetp, t, byte_order, f_nOutlines); } } static void struct_Key(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_gap; int f_shapeNdx; int f_colorNdx; item = proto_tree_add_item(root, hf_x11_struct_Key, tvb, *offsetp, 5, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); listOfByte(tvb, offsetp, t, hf_x11_struct_Key_name, 4, byte_order); f_gap = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Key_gap, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_shapeNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Key_shapeNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_colorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Key_colorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_OverlayKey(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_struct_OverlayKey, tvb, *offsetp, 2, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); listOfByte(tvb, offsetp, t, hf_x11_struct_OverlayKey_over, 4, byte_order); listOfByte(tvb, offsetp, t, hf_x11_struct_OverlayKey_under, 4, byte_order); } } static int struct_size_OverlayRow(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nKeys; f_nKeys = VALUE8(tvb, *offsetp + size + 1); size += f_nKeys * 2; return size + 4; } static void struct_OverlayRow(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_rowUnder; int f_nKeys; item = proto_tree_add_item(root, hf_x11_struct_OverlayRow, tvb, *offsetp, struct_size_OverlayRow(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_rowUnder = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OverlayRow_rowUnder, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_OverlayRow_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_OverlayKey(tvb, offsetp, t, byte_order, f_nKeys); } } static int struct_size_Overlay(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int i, off; int f_nRows; f_nRows = VALUE8(tvb, *offsetp + size + 4); for (i = 0; i < f_nRows; i++) { off = (*offsetp) + size + 8; size += struct_size_OverlayRow(tvb, &off, byte_order); } return size + 8; } static void struct_Overlay(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_nRows; item = proto_tree_add_item(root, hf_x11_struct_Overlay, tvb, *offsetp, struct_size_Overlay(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nRows = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Overlay_nRows, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); struct_OverlayRow(tvb, offsetp, t, byte_order, f_nRows); } } static int struct_size_Row(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nKeys; f_nKeys = VALUE8(tvb, *offsetp + size + 4); size += f_nKeys * 5; return size + 8; } static void struct_Row(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_top; int f_left; int f_nKeys; int f_vertical; item = proto_tree_add_item(root, hf_x11_struct_Row, tvb, *offsetp, struct_size_Row(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Row_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Row_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Row_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_vertical = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Row_vertical, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_Key(tvb, offsetp, t, byte_order, f_nKeys); } } static void struct_CommonDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_type; int f_priority; int f_top; int f_left; int f_angle; item = proto_tree_add_item(root, hf_x11_struct_CommonDoodad, tvb, *offsetp, 12, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonDoodad_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_CommonDoodad_type, byte_order); f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonDoodad_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonDoodad_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonDoodad_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_CommonDoodad_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; } } static void struct_ShapeDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_type; int f_priority; int f_top; int f_left; int f_angle; int f_colorNdx; int f_shapeNdx; item = proto_tree_add_item(root, hf_x11_struct_ShapeDoodad, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_ShapeDoodad_type, byte_order); f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_colorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_colorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_shapeNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_shapeNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(6); } } static void struct_TextDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_type; int f_priority; int f_top; int f_left; int f_angle; int f_width; int f_height; int f_colorNdx; item = proto_tree_add_item(root, hf_x11_struct_TextDoodad, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_TextDoodad_type, byte_order); f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_colorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_TextDoodad_colorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); struct_CountedString16(tvb, offsetp, t, byte_order, 1); struct_CountedString16(tvb, offsetp, t, byte_order, 1); } } static void struct_IndicatorDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_type; int f_priority; int f_top; int f_left; int f_angle; int f_shapeNdx; int f_onColorNdx; int f_offColorNdx; item = proto_tree_add_item(root, hf_x11_struct_IndicatorDoodad, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_IndicatorDoodad_type, byte_order); f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_shapeNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_shapeNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_onColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_onColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_offColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_offColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(5); } } static void struct_LogoDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_type; int f_priority; int f_top; int f_left; int f_angle; int f_colorNdx; int f_shapeNdx; item = proto_tree_add_item(root, hf_x11_struct_LogoDoodad, tvb, *offsetp, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_LogoDoodad_type, byte_order); f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_colorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_colorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_shapeNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_LogoDoodad_shapeNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(6); struct_CountedString16(tvb, offsetp, t, byte_order, 1); } } static void struct_Doodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order, int count) { int i; int base = *offsetp; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; item = proto_tree_add_item(root, hf_x11_union_Doodad, tvb, base, 20, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); *offsetp = base; struct_CommonDoodad(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_ShapeDoodad(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_TextDoodad(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_IndicatorDoodad(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_LogoDoodad(tvb, offsetp, t, byte_order, 1); base += 20; } *offsetp = base; } static int struct_size_Section(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int i, off; int f_nOverlays; int f_nDoodads; int f_nRows; f_nRows = VALUE8(tvb, *offsetp + size + 15); f_nDoodads = VALUE8(tvb, *offsetp + size + 16); f_nOverlays = VALUE8(tvb, *offsetp + size + 17); for (i = 0; i < f_nRows; i++) { off = (*offsetp) + size + 20; size += struct_size_Row(tvb, &off, byte_order); } size += f_nDoodads * 20; for (i = 0; i < f_nOverlays; i++) { off = (*offsetp) + size + 20; size += struct_size_Overlay(tvb, &off, byte_order); } return size + 20; } static void struct_Section(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_top; int f_left; int f_width; int f_height; int f_angle; int f_priority; int f_nRows; int f_nDoodads; int f_nOverlays; item = proto_tree_add_item(root, hf_x11_struct_Section, tvb, *offsetp, struct_size_Section(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_top = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_top, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_left = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_left, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_angle = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_angle, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_priority = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_priority, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nRows = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_nRows, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nDoodads = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_nDoodads, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nOverlays = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Section_nOverlays, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_Row(tvb, offsetp, t, byte_order, f_nRows); struct_Doodad(tvb, offsetp, t, byte_order, f_nDoodads); struct_Overlay(tvb, offsetp, t, byte_order, f_nOverlays); } } static int struct_size_Listing(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_length; f_length = VALUE16(tvb, *offsetp + size + 2); size += f_length * 1; return size + 4; } static void struct_Listing(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_flags; int f_length; item = proto_tree_add_item(root, hf_x11_struct_Listing, tvb, *offsetp, struct_size_Listing(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_flags = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Listing_flags, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_length = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Listing_length, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_struct_Listing_string, f_length, byte_order); } } static int struct_size_DeviceLedInfo(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_mapsPresent; int f_namesPresent; f_namesPresent = VALUE32(tvb, *offsetp + size + 4); f_mapsPresent = VALUE32(tvb, *offsetp + size + 8); size += popcount(f_namesPresent) * 4; size += popcount(f_mapsPresent) * 12; return size + 20; } static void struct_DeviceLedInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_ledClass; int f_ledID; int f_namesPresent; int f_mapsPresent; int f_physIndicators; int f_state; item = proto_tree_add_item(root, hf_x11_struct_DeviceLedInfo, tvb, *offsetp, struct_size_DeviceLedInfo(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_ledClass = field16(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_ledClass, byte_order); f_ledID = field16(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_ledID, byte_order); f_namesPresent = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_namesPresent, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mapsPresent = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_mapsPresent, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_physIndicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_physIndicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_state = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_state, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfCard32(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_names, hf_x11_struct_DeviceLedInfo_names_item, popcount(f_namesPresent), byte_order); struct_IndicatorMap(tvb, offsetp, t, byte_order, popcount(f_mapsPresent)); } } static void struct_SANoAction(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; item = proto_tree_add_item(root, hf_x11_struct_SANoAction, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SANoAction_type, byte_order); UNUSED(7); } } static void struct_SASetMods(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_mask; int f_realMods; int f_vmodsHigh; int f_vmodsLow; item = proto_tree_add_item(root, hf_x11_struct_SASetMods, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetMods_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_ClearLocks, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_LatchToLock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_GroupAbsolute, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsHigh = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_vmodsHigh, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_8, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_9, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_10, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_11, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_12, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_13, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_14, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_15, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsLow = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_vmodsLow, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_6, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_7, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(2); } } static void struct_SASetGroup(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_group; item = proto_tree_add_item(root, hf_x11_struct_SASetGroup, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetGroup_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetGroup_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_ClearLocks, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_LatchToLock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_GroupAbsolute, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_group = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SASetGroup_group, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(5); } } static void struct_SAMovePtr(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_xHigh; int f_xLow; int f_yHigh; int f_yLow; item = proto_tree_add_item(root, hf_x11_struct_SAMovePtr, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SAMovePtr_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAMovePtr_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_NoAcceleration, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_MoveAbsoluteX, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_MoveAbsoluteY, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_xHigh = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAMovePtr_xHigh, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_xLow = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAMovePtr_xLow, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_yHigh = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAMovePtr_yHigh, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_yLow = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAMovePtr_yLow, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); } } static void struct_SAPtrBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_count; int f_button; item = proto_tree_add_item(root, hf_x11_struct_SAPtrBtn, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SAPtrBtn_type, byte_order); f_flags = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_flags, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_count, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_button = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_button, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(4); } } static void struct_SALockPtrBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_button; item = proto_tree_add_item(root, hf_x11_struct_SALockPtrBtn, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SALockPtrBtn_type, byte_order); f_flags = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SALockPtrBtn_flags, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_button = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SALockPtrBtn_button, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(4); } } static void struct_SASetPtrDflt(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_affect; int f_value; item = proto_tree_add_item(root, hf_x11_struct_SASetPtrDflt, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetPtrDflt_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_flags_mask_AffectDfltButton, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_flags_mask_DfltBtnAbsolute, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_affect = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_affect, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_affect_mask_AffectDfltButton, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_affect_mask_DfltBtnAbsolute, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_value = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_value, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(4); } } static void struct_SAIsoLock(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_mask; int f_realMods; int f_group; int f_affect; int f_vmodsHigh; int f_vmodsLow; item = proto_tree_add_item(root, hf_x11_struct_SAIsoLock, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SAIsoLock_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_NoLock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_NoUnlock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_GroupAbsolute, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_ISODfltIsGroup, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_group = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SAIsoLock_group, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_affect = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_affect, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Ctrls, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Ptr, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Group, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Mods, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsHigh = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_vmodsHigh, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_8, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_9, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_10, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_11, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_12, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_13, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_14, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_15, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsLow = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_vmodsLow, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_6, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_7, tvb, *offsetp, 1, byte_order); } *offsetp += 1; } } static void struct_SATerminate(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; item = proto_tree_add_item(root, hf_x11_struct_SATerminate, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SATerminate_type, byte_order); UNUSED(7); } } static void struct_SASwitchScreen(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_newScreen; item = proto_tree_add_item(root, hf_x11_struct_SASwitchScreen, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SASwitchScreen_type, byte_order); f_flags = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SASwitchScreen_flags, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_newScreen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SASwitchScreen_newScreen, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(5); } } static void struct_SASetControls(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_boolCtrlsHigh; int f_boolCtrlsLow; item = proto_tree_add_item(root, hf_x11_struct_SASetControls, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetControls_type, byte_order); UNUSED(3); f_boolCtrlsHigh = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetControls_boolCtrlsHigh, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_AccessXFeedback, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_AudibleBell, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_Overlay1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_Overlay2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_IgnoreGroupLock, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_boolCtrlsLow = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetControls_boolCtrlsLow, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_RepeatKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_SlowKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_BounceKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_StickyKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_MouseKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_MouseKeysAccel, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_AccessXKeys, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_AccessXTimeout, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(2); } } static void struct_SAActionMessage(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; item = proto_tree_add_item(root, hf_x11_struct_SAActionMessage, tvb, *offsetp, 3, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SAActionMessage_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAActionMessage_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_OnPress, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_OnRelease, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_GenKeyEvent, tvb, *offsetp, 1, byte_order); } *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_struct_SAActionMessage_message, 6, byte_order); } } static void struct_SARedirectKey(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_newkey; int f_mask; int f_realModifiers; int f_vmodsMaskHigh; int f_vmodsMaskLow; int f_vmodsHigh; int f_vmodsLow; item = proto_tree_add_item(root, hf_x11_struct_SARedirectKey, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SARedirectKey_type, byte_order); f_newkey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SARedirectKey_newkey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_mask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_realModifiers = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_realModifiers, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsMaskHigh = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsMaskHigh, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_8, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_9, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_10, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_11, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_12, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_13, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_14, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_15, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsMaskLow = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsMaskLow, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_6, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_7, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsHigh = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsHigh, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_8, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_9, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_10, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_11, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_12, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_13, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_14, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_15, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_vmodsLow = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsLow, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_0, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_6, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_7, tvb, *offsetp, 1, byte_order); } *offsetp += 1; } } static void struct_SADeviceBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_count; int f_button; int f_device; item = proto_tree_add_item(root, hf_x11_struct_SADeviceBtn, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SADeviceBtn_type, byte_order); f_flags = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_flags, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_count = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_count, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_button = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_button, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } } static void struct_SALockDeviceBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_flags; int f_button; int f_device; item = proto_tree_add_item(root, hf_x11_struct_SALockDeviceBtn, tvb, *offsetp, 5, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SALockDeviceBtn_type, byte_order); f_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_SALockDeviceBtn_flags_mask_NoLock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_SALockDeviceBtn_flags_mask_NoUnlock, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_button = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_button, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_SADeviceValuator(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; int f_device; int f_val1what; int f_val1index; int f_val1value; int f_val2what; int f_val2index; int f_val2value; item = proto_tree_add_item(root, hf_x11_struct_SADeviceValuator, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_type = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_type, byte_order); f_device = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_device, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_val1what = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_val1what, byte_order); f_val1index = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val1index, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_val1value = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val1value, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_val2what = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_val2what, byte_order); f_val2index = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val2index, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_val2value = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val2value, tvb, *offsetp, 1, byte_order); *offsetp += 1; } } static void struct_Action(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order, int count) { int i; int base = *offsetp; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_type; item = proto_tree_add_item(root, hf_x11_union_Action, tvb, base, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); *offsetp = base; struct_SANoAction(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetMods(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetMods(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetMods(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetGroup(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetGroup(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetGroup(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SAMovePtr(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SAPtrBtn(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SALockPtrBtn(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetPtrDflt(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SAIsoLock(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SATerminate(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASwitchScreen(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetControls(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SASetControls(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SAActionMessage(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SARedirectKey(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SADeviceBtn(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SALockDeviceBtn(tvb, offsetp, t, byte_order, 1); *offsetp = base; struct_SADeviceValuator(tvb, offsetp, t, byte_order, 1); *offsetp = base; f_type = field8(tvb, offsetp, t, hf_x11_union_Action_type, byte_order); base += 8; } *offsetp = base; } static void xkbUseExtension(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_wantedMajor; int f_wantedMinor; f_wantedMajor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_UseExtension_wantedMajor, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_wantedMinor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_UseExtension_wantedMinor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xkbUseExtension_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_supported; int f_serverMajor; int f_serverMinor; col_append_fstr(pinfo->cinfo, COL_INFO, "-UseExtension"); REPLY(reply); f_supported = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_supported, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-UseExtension)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_serverMajor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_serverMajor, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_serverMinor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_serverMinor, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(20); } static void xkbSelectEvents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_affectWhich; int f_clear; int f_selectAll; int f_affectMap; int f_map; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_affectWhich = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_affectWhich, byte_order); f_clear = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_clear, byte_order); f_selectAll = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_selectAll, byte_order); f_affectMap = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_affectMap, byte_order); f_map = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_map, byte_order); if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 0)) != 0) { int f_affectNewKeyboard; int f_newKeyboardDetails; f_affectNewKeyboard = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_DeviceID, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_newKeyboardDetails = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_DeviceID, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 2)) != 0) { int f_affectState; int f_stateDetails; f_affectState = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_StateNotify_affectState, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatGrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_LookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatLookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_PointerButtons, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_stateDetails = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_StateNotify_stateDetails, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatGrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_LookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatLookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_PointerButtons, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 3)) != 0) { int f_affectCtrls; int f_ctrlDetails; f_affectCtrls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_GroupsWrap, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_InternalMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_IgnoreLockMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_PerKeyRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_ControlsEnabled, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_ctrlDetails = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_GroupsWrap, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_InternalMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_IgnoreLockMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_PerKeyRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_ControlsEnabled, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 4)) != 0) { int f_affectIndicatorState; int f_indicatorStateDetails; f_affectIndicatorState = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorStateNotify_affectIndicatorState, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_indicatorStateDetails = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorStateNotify_indicatorStateDetails, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 5)) != 0) { int f_affectIndicatorMap; int f_indicatorMapDetails; f_affectIndicatorMap = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorMapNotify_affectIndicatorMap, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_indicatorMapDetails = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorMapNotify_indicatorMapDetails, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 6)) != 0) { int f_affectNames; int f_namesDetails; f_affectNames = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NamesNotify_affectNames, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Symbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_PhysSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Compat, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyTypeNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KTLevelNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyAliases, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_VirtualModNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_GroupNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_RGNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_namesDetails = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Symbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_PhysSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Compat, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyTypeNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KTLevelNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyAliases, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_VirtualModNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_GroupNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_RGNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 7)) != 0) { int f_affectCompat; int f_compatDetails; f_affectCompat = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat_mask_SymInterp, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat_mask_GroupCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_compatDetails = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails_mask_SymInterp, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails_mask_GroupCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 8)) != 0) { int f_affectBell; int f_bellDetails; f_affectBell = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_BellNotify_affectBell, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_bellDetails = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_BellNotify_bellDetails, tvb, *offsetp, 1, byte_order); *offsetp += 1; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 9)) != 0) { int f_affectMsgDetails; int f_msgDetails; f_affectMsgDetails = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ActionMessage_affectMsgDetails, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_msgDetails = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ActionMessage_msgDetails, tvb, *offsetp, 1, byte_order); *offsetp += 1; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 10)) != 0) { int f_affectAccessX; int f_accessXDetails; f_affectAccessX = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKPress, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKRelease, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_BKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_BKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_AXKWarning, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_accessXDetails = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKPress, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKRelease, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_BKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_BKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_AXKWarning, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 11)) != 0) { int f_affectExtDev; int f_extdevDetails; f_affectExtDev = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_extdevDetails = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; } } static void xkbBell(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_bellClass; int f_bellID; int f_percent; int f_forceSound; int f_eventOnly; int f_pitch; int f_duration; int f_name; int f_window; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bellClass = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_bellClass, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_bellID = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_bellID, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_percent = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_percent, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_forceSound = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_forceSound, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_eventOnly = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_eventOnly, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_pitch = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_pitch, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_duration = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_duration, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_Bell_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xkbGetState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetState_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xkbGetState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_mods; int f_baseMods; int f_latchedMods; int f_lockedMods; int f_group; int f_lockedGroup; int f_baseGroup; int f_latchedGroup; int f_compatState; int f_grabMods; int f_compatGrabMods; int f_lookupMods; int f_compatLookupMods; int f_ptrBtnState; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetState"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetState_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetState)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_baseMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_baseMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_latchedMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_latchedMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_lockedMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_lockedMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_group = field8(tvb, offsetp, t, hf_x11_xkb_GetState_reply_group, byte_order); f_lockedGroup = field8(tvb, offsetp, t, hf_x11_xkb_GetState_reply_lockedGroup, byte_order); f_baseGroup = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetState_reply_baseGroup, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_latchedGroup = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetState_reply_latchedGroup, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_compatState = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatState, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_grabMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_grabMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_compatGrabMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatGrabMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_lookupMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_lookupMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lookupMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_compatLookupMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatLookupMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_ptrBtnState = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_ptrBtnState, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button5, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(6); } static void xkbLatchLockState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_affectModLocks; int f_modLocks; int f_lockGroup; int f_groupLock; int f_affectModLatches; int f_latchGroup; int f_groupLatch; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_LatchLockState_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_affectModLocks = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_affectModLocks, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_modLocks = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_modLocks, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_lockGroup = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_LatchLockState_lockGroup, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupLock = field8(tvb, offsetp, t, hf_x11_xkb_LatchLockState_groupLock, byte_order); f_affectModLatches = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_affectModLatches, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_latchGroup = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_LatchLockState_latchGroup, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupLatch = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_LatchLockState_groupLatch, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xkbGetControls(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xkbGetControls_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_mouseKeysDfltBtn; int f_numGroups; int f_groupsWrap; int f_internalModsMask; int f_ignoreLockModsMask; int f_internalModsRealMods; int f_ignoreLockModsRealMods; int f_internalModsVmods; int f_ignoreLockModsVmods; int f_repeatDelay; int f_repeatInterval; int f_slowKeysDelay; int f_debounceDelay; int f_mouseKeysDelay; int f_mouseKeysInterval; int f_mouseKeysTimeToMax; int f_mouseKeysMaxSpeed; int f_mouseKeysCurve; int f_accessXTimeout; int f_accessXTimeoutMask; int f_accessXTimeoutValues; int f_enabledControls; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetControls"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetControls)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mouseKeysDfltBtn = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysDfltBtn, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_numGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_numGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupsWrap = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_groupsWrap, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_internalModsMask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsMask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_ignoreLockModsMask = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsMask, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_internalModsRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_ignoreLockModsRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_internalModsVmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsVmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_ignoreLockModsVmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_repeatDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_repeatDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_repeatInterval = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_repeatInterval, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_slowKeysDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_slowKeysDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_debounceDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_debounceDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysInterval = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysInterval, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysTimeToMax = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysTimeToMax, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysMaxSpeed = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysMaxSpeed, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysCurve = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysCurve, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_AXOption(tvb, offsetp, t, byte_order, 1); f_accessXTimeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_accessXTimeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_AXOption(tvb, offsetp, t, byte_order, 1); struct_AXOption(tvb, offsetp, t, byte_order, 1); UNUSED(2); f_accessXTimeoutMask = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_accessXTimeoutMask, byte_order); f_accessXTimeoutValues = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_accessXTimeoutValues, byte_order); f_enabledControls = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_enabledControls, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_perKeyRepeat, 32, byte_order); } static void xkbSetControls(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_affectInternalRealMods; int f_internalRealMods; int f_affectIgnoreLockRealMods; int f_ignoreLockRealMods; int f_affectInternalVirtualMods; int f_internalVirtualMods; int f_affectIgnoreLockVirtualMods; int f_ignoreLockVirtualMods; int f_mouseKeysDfltBtn; int f_groupsWrap; int f_affectEnabledControls; int f_enabledControls; int f_changeControls; int f_repeatDelay; int f_repeatInterval; int f_slowKeysDelay; int f_debounceDelay; int f_mouseKeysDelay; int f_mouseKeysInterval; int f_mouseKeysTimeToMax; int f_mouseKeysMaxSpeed; int f_mouseKeysCurve; int f_accessXTimeout; int f_accessXTimeoutMask; int f_accessXTimeoutValues; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_affectInternalRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectInternalRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_internalRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_internalRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_affectIgnoreLockRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectIgnoreLockRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_ignoreLockRealMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_ignoreLockRealMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_affectInternalVirtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectInternalVirtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_internalVirtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_internalVirtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_affectIgnoreLockVirtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockVirtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_ignoreLockVirtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_ignoreLockVirtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockVirtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_mouseKeysDfltBtn = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysDfltBtn, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupsWrap = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_groupsWrap, tvb, *offsetp, 1, byte_order); *offsetp += 1; struct_AXOption(tvb, offsetp, t, byte_order, 1); UNUSED(2); f_affectEnabledControls = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_affectEnabledControls, byte_order); f_enabledControls = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_enabledControls, byte_order); f_changeControls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_changeControls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_GroupsWrap, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_InternalMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_IgnoreLockMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_PerKeyRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_ControlsEnabled, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_repeatDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_repeatDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_repeatInterval = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_repeatInterval, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_slowKeysDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_slowKeysDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_debounceDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_debounceDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysInterval = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysInterval, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysTimeToMax = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysTimeToMax, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysMaxSpeed = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysMaxSpeed, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mouseKeysCurve = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysCurve, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_accessXTimeout = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetControls_accessXTimeout, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_accessXTimeoutMask = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_accessXTimeoutMask, byte_order); f_accessXTimeoutValues = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_accessXTimeoutValues, byte_order); struct_AXOption(tvb, offsetp, t, byte_order, 1); struct_AXOption(tvb, offsetp, t, byte_order, 1); listOfByte(tvb, offsetp, t, hf_x11_xkb_SetControls_perKeyRepeat, 32, byte_order); length -= 32 * 1; } static void xkbGetMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_full; int f_partial; int f_firstType; int f_nTypes; int f_firstKeySym; int f_nKeySyms; int f_firstKeyAction; int f_nKeyActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_virtualMods; int f_firstKeyExplicit; int f_nKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_full = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_full, byte_order); f_partial = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_partial, byte_order); f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetMap_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); } static void xkbGetMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_minKeyCode; int f_maxKeyCode; int f_present; int f_firstType; int f_nTypes; int f_totalTypes; int f_firstKeySym; int f_totalSyms; int f_nKeySyms; int f_firstKeyAction; int f_totalActions; int f_nKeyActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_totalKeyBehaviors; int f_firstKeyExplicit; int f_nKeyExplicit; int f_totalKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_totalModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_totalVModMapKeys; int f_virtualMods; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMap"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetMap)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(2); f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_present, byte_order); f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalActions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalActions, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; if ((f_present & (1 << 0)) != 0) { struct_KeyType(tvb, offsetp, t, byte_order, f_nTypes); } if ((f_present & (1 << 1)) != 0) { struct_KeySymMap(tvb, offsetp, t, byte_order, f_nKeySyms); } if ((f_present & (1 << 4)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_KeyActions_acts_rtrn_count, f_nKeyActions, byte_order); struct_Action(tvb, offsetp, t, byte_order, f_totalActions); } if ((f_present & (1 << 5)) != 0) { struct_SetBehavior(tvb, offsetp, t, byte_order, f_totalKeyBehaviors); } if ((f_present & (1 << 6)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_VirtualMods_vmods_rtrn, f_nVModMapKeys, byte_order); } if ((f_present & (1 << 3)) != 0) { struct_SetExplicit(tvb, offsetp, t, byte_order, f_totalKeyExplicit); } if ((f_present & (1 << 2)) != 0) { struct_KeyModMap(tvb, offsetp, t, byte_order, f_totalModMapKeys); } if ((f_present & (1 << 7)) != 0) { struct_KeyVModMap(tvb, offsetp, t, byte_order, f_totalVModMapKeys); } } static void xkbSetMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_present; int f_flags; int f_minKeyCode; int f_maxKeyCode; int f_firstType; int f_nTypes; int f_firstKeySym; int f_nKeySyms; int f_totalSyms; int f_firstKeyAction; int f_nKeyActions; int f_totalActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_totalKeyBehaviors; int f_firstKeyExplicit; int f_nKeyExplicit; int f_totalKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_totalModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_totalVModMapKeys; int f_virtualMods; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_present = field16(tvb, offsetp, t, hf_x11_xkb_SetMap_present, byte_order); f_flags = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetMap_flags, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_flags_mask_ResizeTypes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_flags_mask_RecomputeActions, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalActions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalActions, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetMap_totalVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetMap_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; if ((f_present & (1 << 0)) != 0) { struct_SetKeyType(tvb, offsetp, t, byte_order, f_nTypes); length -= f_nTypes * 0; } if ((f_present & (1 << 1)) != 0) { struct_KeySymMap(tvb, offsetp, t, byte_order, f_nKeySyms); length -= f_nKeySyms * 0; } if ((f_present & (1 << 4)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_SetMap_KeyActions_actionsCount, f_nKeyActions, byte_order); length -= f_nKeyActions * 1; struct_Action(tvb, offsetp, t, byte_order, f_totalActions); length -= f_totalActions * 8; } if ((f_present & (1 << 5)) != 0) { struct_SetBehavior(tvb, offsetp, t, byte_order, f_totalKeyBehaviors); length -= f_totalKeyBehaviors * 4; } if ((f_present & (1 << 6)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_SetMap_VirtualMods_vmods, f_nVModMapKeys, byte_order); length -= f_nVModMapKeys * 1; } if ((f_present & (1 << 3)) != 0) { struct_SetExplicit(tvb, offsetp, t, byte_order, f_totalKeyExplicit); length -= f_totalKeyExplicit * 2; } if ((f_present & (1 << 2)) != 0) { struct_KeyModMap(tvb, offsetp, t, byte_order, f_totalModMapKeys); length -= f_totalModMapKeys * 2; } if ((f_present & (1 << 7)) != 0) { struct_KeyVModMap(tvb, offsetp, t, byte_order, f_totalVModMapKeys); length -= f_totalVModMapKeys * 4; } } static void xkbGetCompatMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_groups; int f_getAllSI; int f_firstSI; int f_nSI; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_groups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_groups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_getAllSI = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_getAllSI, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_firstSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_nSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xkbGetCompatMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_groupsRtrn; int f_firstSIRtrn; int f_nSIRtrn; int f_nTotalSI; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCompatMap"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetCompatMap)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_groupsRtrn = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_groupsRtrn, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_firstSIRtrn = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_firstSIRtrn, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSIRtrn = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_nSIRtrn, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nTotalSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_nTotalSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); listOfByte(tvb, offsetp, t, hf_x11_xkb_GetCompatMap_reply_si_rtrn, (16 * f_nSIRtrn), byte_order); struct_ModDef(tvb, offsetp, t, byte_order, popcount(f_groupsRtrn)); } static void xkbSetCompatMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_recomputeActions; int f_truncateSI; int f_groups; int f_firstSI; int f_nSI; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(1); f_recomputeActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_recomputeActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_truncateSI = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_truncateSI, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_groups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_firstSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_firstSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_nSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xkb_SetCompatMap_si, (16 * f_nSI), byte_order); length -= (16 * f_nSI) * 1; struct_ModDef(tvb, offsetp, t, byte_order, popcount(f_groups)); length -= popcount(f_groups) * 4; } static void xkbGetIndicatorState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); } static void xkbGetIndicatorState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_state; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetIndicatorState"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetIndicatorState)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_state = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_reply_state, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); } static void xkbGetIndicatorMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_which; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_which = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_which, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xkbGetIndicatorMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_which; int f_realIndicators; int f_nIndicators; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetIndicatorMap"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetIndicatorMap)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_which = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_which, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_realIndicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_realIndicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nIndicators = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_nIndicators, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(15); struct_IndicatorMap(tvb, offsetp, t, byte_order, f_nIndicators); } static void xkbSetIndicatorMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_which; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetIndicatorMap_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_which = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetIndicatorMap_which, tvb, *offsetp, 4, byte_order); *offsetp += 4; struct_IndicatorMap(tvb, offsetp, t, byte_order, popcount(f_which)); length -= popcount(f_which) * 12; } static void xkbGetNamedIndicator(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_ledClass; int f_ledID; int f_indicator; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_GetNamedIndicator_ledClass, byte_order); f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_GetNamedIndicator_ledID, byte_order); UNUSED(2); f_indicator = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_indicator, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xkbGetNamedIndicator_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_indicator; int f_found; int f_on; int f_realIndicator; int f_ndx; int f_map_flags; int f_map_whichGroups; int f_map_groups; int f_map_whichMods; int f_map_mods; int f_map_realMods; int f_map_vmod; int f_map_ctrls; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetNamedIndicator"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetNamedIndicator)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_indicator = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_indicator, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_found = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_found, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_on = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_on, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_realIndicator = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_realIndicator, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_ndx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_ndx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_map_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_LEDDrivesKB, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_NoAutomatic, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_NoExplicit, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_whichGroups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseBase, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseLatched, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseLocked, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseEffective, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_groups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_groups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_groups_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_whichMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseBase, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseLatched, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseLocked, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseEffective, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_vmod = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_vmod, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_map_ctrls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(3); } static void xkbSetNamedIndicator(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_ledClass; int f_ledID; int f_indicator; int f_setState; int f_on; int f_setMap; int f_createMap; int f_map_flags; int f_map_whichGroups; int f_map_groups; int f_map_whichMods; int f_map_realMods; int f_map_vmods; int f_map_ctrls; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_SetNamedIndicator_ledClass, byte_order); f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_SetNamedIndicator_ledID, byte_order); UNUSED(2); f_indicator = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_indicator, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_setState = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_setState, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_on = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_on, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_setMap = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_setMap, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_createMap = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_createMap, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_map_flags = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_flags, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_LEDDrivesKB, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_NoAutomatic, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_NoExplicit, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_whichGroups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_whichGroups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseBase, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseLatched, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseLocked, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseEffective, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_groups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_groups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_groups_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_whichMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_whichMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseBase, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseLatched, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseLocked, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseEffective, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseCompat, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_realMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_realMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_map_vmods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_vmods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_map_ctrls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_ctrls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } static void xkbGetNames(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_which; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_which = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_which, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Keycodes, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Geometry, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Symbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_PhysSymbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Types, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Compat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KTLevelNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_IndicatorNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyAliases, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_VirtualModNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_GroupNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_RGNames, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } static void xkbGetNames_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_which; int f_minKeyCode; int f_maxKeyCode; int f_nTypes; int f_groupNames; int f_virtualMods; int f_firstKey; int f_nKeys; int f_indicators; int f_nRadioGroups; int f_nKeyAliases; int f_nKTLevels; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetNames"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetNames)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_which = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_which, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Keycodes, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Geometry, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Symbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_PhysSymbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Types, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Compat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyTypeNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KTLevelNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_IndicatorNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyAliases, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_VirtualModNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_GroupNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_RGNames, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupNames = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_groupNames, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_firstKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_indicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_indicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nRadioGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nRadioGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyAliases = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKeyAliases, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKTLevels = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKTLevels, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(4); if ((f_which & (1 << 0)) != 0) { int f_keycodesName; f_keycodesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Keycodes_keycodesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 1)) != 0) { int f_geometryName; f_geometryName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Geometry_geometryName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 2)) != 0) { int f_symbolsName; f_symbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Symbols_symbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 3)) != 0) { int f_physSymbolsName; f_physSymbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 4)) != 0) { int f_typesName; f_typesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Types_typesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 5)) != 0) { int f_compatName; f_compatName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Compat_compatName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 6)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KeyTypeNames_typeNames, hf_x11_xkb_GetNames_reply_KeyTypeNames_typeNames_item, f_nTypes, byte_order); } if ((f_which & (1 << 7)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KTLevelNames_nLevelsPerType, f_nTypes, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KTLevelNames_ktLevelNames, hf_x11_xkb_GetNames_reply_KTLevelNames_ktLevelNames_item, (length - 56) / 4, byte_order); } if ((f_which & (1 << 8)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_IndicatorNames_indicatorNames, hf_x11_xkb_GetNames_reply_IndicatorNames_indicatorNames_item, popcount(f_indicators), byte_order); } if ((f_which & (1 << 11)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_VirtualModNames_virtualModNames, hf_x11_xkb_GetNames_reply_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), byte_order); } if ((f_which & (1 << 12)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_GroupNames_groups, hf_x11_xkb_GetNames_reply_GroupNames_groups_item, popcount(f_groupNames), byte_order); } if ((f_which & (1 << 9)) != 0) { struct_KeyName(tvb, offsetp, t, byte_order, f_nKeys); } if ((f_which & (1 << 10)) != 0) { struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); } if ((f_which & (1 << 13)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_RGNames_radioGroupNames, hf_x11_xkb_GetNames_reply_RGNames_radioGroupNames_item, f_nRadioGroups, byte_order); } } static void xkbSetNames(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_virtualMods; int f_which; int f_firstType; int f_nTypes; int f_firstKTLevelt; int f_nKTLevels; int f_indicators; int f_groupNames; int f_nRadioGroups; int f_firstKey; int f_nKeys; int f_nKeyAliases; int f_totalKTLevelNames; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_which = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_which, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Keycodes, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Geometry, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Symbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_PhysSymbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Types, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Compat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KTLevelNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_IndicatorNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyAliases, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_VirtualModNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_GroupNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_RGNames, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKTLevelt = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_firstKTLevelt, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKTLevels = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_nKTLevels, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_indicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_indicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_groupNames = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_groupNames, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_nRadioGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_nRadioGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_firstKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyAliases = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_nKeyAliases, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_totalKTLevelNames = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_totalKTLevelNames, tvb, *offsetp, 2, byte_order); *offsetp += 2; if ((f_which & (1 << 0)) != 0) { int f_keycodesName; f_keycodesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_Keycodes_keycodesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 1)) != 0) { int f_geometryName; f_geometryName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_Geometry_geometryName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 2)) != 0) { int f_symbolsName; f_symbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_Symbols_symbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 3)) != 0) { int f_physSymbolsName; f_physSymbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 4)) != 0) { int f_typesName; f_typesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_Types_typesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 5)) != 0) { int f_compatName; f_compatName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetNames_Compat_compatName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 6)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_KeyTypeNames_typeNames, hf_x11_xkb_SetNames_KeyTypeNames_typeNames_item, f_nTypes, byte_order); length -= f_nTypes * 4; } if ((f_which & (1 << 7)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_SetNames_KTLevelNames_nLevelsPerType, f_nKTLevels, byte_order); length -= f_nKTLevels * 1; listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_KTLevelNames_ktLevelNames, hf_x11_xkb_SetNames_KTLevelNames_ktLevelNames_item, (length - 52) / 4, byte_order); length -= (length - 52) / 4 * 4; } if ((f_which & (1 << 8)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_IndicatorNames_indicatorNames, hf_x11_xkb_SetNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), byte_order); length -= popcount(f_indicators) * 4; } if ((f_which & (1 << 11)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_VirtualModNames_virtualModNames, hf_x11_xkb_SetNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), byte_order); length -= popcount(f_virtualMods) * 4; } if ((f_which & (1 << 12)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_GroupNames_groups, hf_x11_xkb_SetNames_GroupNames_groups_item, popcount(f_groupNames), byte_order); length -= popcount(f_groupNames) * 4; } if ((f_which & (1 << 9)) != 0) { struct_KeyName(tvb, offsetp, t, byte_order, f_nKeys); length -= f_nKeys * 1; } if ((f_which & (1 << 10)) != 0) { struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); length -= f_nKeyAliases * 2; } if ((f_which & (1 << 13)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_RGNames_radioGroupNames, hf_x11_xkb_SetNames_RGNames_radioGroupNames_item, f_nRadioGroups, byte_order); length -= f_nRadioGroups * 4; } } static void xkbGetGeometry(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_name; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xkbGetGeometry_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_name; int f_found; int f_widthMM; int f_heightMM; int f_nProperties; int f_nColors; int f_nShapes; int f_nSections; int f_nDoodads; int f_nKeyAliases; int f_baseColorNdx; int f_labelColorNdx; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetGeometry"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetGeometry)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_found = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_found, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_widthMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_widthMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_heightMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_heightMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nProperties = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nProperties, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nColors = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nColors, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nShapes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nShapes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSections = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nSections, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nDoodads = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nDoodads, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyAliases = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nKeyAliases, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_baseColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_baseColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_labelColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_labelColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; struct_CountedString16(tvb, offsetp, t, byte_order, 1); struct_Property(tvb, offsetp, t, byte_order, f_nProperties); struct_CountedString16(tvb, offsetp, t, byte_order, f_nColors); struct_Shape(tvb, offsetp, t, byte_order, f_nShapes); struct_Section(tvb, offsetp, t, byte_order, f_nSections); struct_Doodad(tvb, offsetp, t, byte_order, f_nDoodads); struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); } static void xkbSetGeometry(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_nShapes; int f_nSections; int f_name; int f_widthMM; int f_heightMM; int f_nProperties; int f_nColors; int f_nDoodads; int f_nKeyAliases; int f_baseColorNdx; int f_labelColorNdx; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nShapes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nShapes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nSections = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nSections, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_widthMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_widthMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_heightMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_heightMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nProperties = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nProperties, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nColors = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nColors, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nDoodads = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nDoodads, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyAliases = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nKeyAliases, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_baseColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_baseColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_labelColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetGeometry_labelColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); struct_CountedString16(tvb, offsetp, t, byte_order, 1); struct_Property(tvb, offsetp, t, byte_order, f_nProperties); length -= f_nProperties * 0; struct_CountedString16(tvb, offsetp, t, byte_order, f_nColors); length -= f_nColors * 0; struct_Shape(tvb, offsetp, t, byte_order, f_nShapes); length -= f_nShapes * 0; struct_Section(tvb, offsetp, t, byte_order, f_nSections); length -= f_nSections * 0; struct_Doodad(tvb, offsetp, t, byte_order, f_nDoodads); length -= f_nDoodads * 20; struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); length -= f_nKeyAliases * 2; } static void xkbPerClientFlags(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_change; int f_value; int f_ctrlsToChange; int f_autoCtrls; int f_autoCtrlsValues; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_change = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_change, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_DetectableAutoRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_GrabsUseXKBState, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_AutoResetControls, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_SendEventUsesXKBState, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_value = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_value, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_DetectableAutoRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_GrabsUseXKBState, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_AutoResetControls, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_SendEventUsesXKBState, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_ctrlsToChange = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_ctrlsToChange, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_autoCtrls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_autoCtrls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_autoCtrlsValues = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_autoCtrlsValues, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; } static void xkbPerClientFlags_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_supported; int f_value; int f_autoCtrls; int f_autoCtrlsValues; col_append_fstr(pinfo->cinfo, COL_INFO, "-PerClientFlags"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-PerClientFlags)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_supported = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_supported, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_DetectableAutoRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_GrabsUseXKBState, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_AutoResetControls, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_SendEventUsesXKBState, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_value = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_value, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_DetectableAutoRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_GrabsUseXKBState, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_AutoResetControls, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_SendEventUsesXKBState, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_autoCtrls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_autoCtrls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_autoCtrlsValues = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; UNUSED(8); } static void xkbListComponents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_maxNames; int f_keymapsSpecLen; int f_keycodesSpecLen; int f_typesSpecLen; int f_compatMapSpecLen; int f_symbolsSpecLen; int f_geometrySpecLen; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_maxNames = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_maxNames, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_keymapsSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_keymapsSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_keymapsSpec, f_keymapsSpecLen, byte_order); length -= f_keymapsSpecLen * 1; f_keycodesSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_keycodesSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_keycodesSpec, f_keycodesSpecLen, byte_order); length -= f_keycodesSpecLen * 1; f_typesSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_typesSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_typesSpec, f_typesSpecLen, byte_order); length -= f_typesSpecLen * 1; f_compatMapSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_compatMapSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_compatMapSpec, f_compatMapSpecLen, byte_order); length -= f_compatMapSpecLen * 1; f_symbolsSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_symbolsSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_symbolsSpec, f_symbolsSpecLen, byte_order); length -= f_symbolsSpecLen * 1; f_geometrySpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_geometrySpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_geometrySpec, f_geometrySpecLen, byte_order); length -= f_geometrySpecLen * 1; } static void xkbListComponents_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_nKeymaps; int f_nKeycodes; int f_nTypes; int f_nCompatMaps; int f_nSymbols; int f_nGeometries; int f_extra; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListComponents"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-ListComponents)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nKeymaps = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nKeymaps, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeycodes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nKeycodes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nTypes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nTypes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nCompatMaps = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nCompatMaps, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSymbols = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nSymbols, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nGeometries = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nGeometries, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_extra = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_extra, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(10); struct_Listing(tvb, offsetp, t, byte_order, f_nKeymaps); struct_Listing(tvb, offsetp, t, byte_order, f_nKeycodes); struct_Listing(tvb, offsetp, t, byte_order, f_nTypes); struct_Listing(tvb, offsetp, t, byte_order, f_nCompatMaps); struct_Listing(tvb, offsetp, t, byte_order, f_nSymbols); struct_Listing(tvb, offsetp, t, byte_order, f_nGeometries); } static void xkbGetKbdByName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_need; int f_want; int f_load; int f_keymapsSpecLen; int f_keycodesSpecLen; int f_typesSpecLen; int f_compatMapSpecLen; int f_symbolsSpecLen; int f_geometrySpecLen; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_need = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_need, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_CompatMap, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_ClientSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_ServerSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_OtherNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_want = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_want, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_CompatMap, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_ClientSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_ServerSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_OtherNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_load = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_load, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_keymapsSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_keymapsSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_keymapsSpec, f_keymapsSpecLen, byte_order); length -= f_keymapsSpecLen * 1; f_keycodesSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_keycodesSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_keycodesSpec, f_keycodesSpecLen, byte_order); length -= f_keycodesSpecLen * 1; f_typesSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_typesSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_typesSpec, f_typesSpecLen, byte_order); length -= f_typesSpecLen * 1; f_compatMapSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_compatMapSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_compatMapSpec, f_compatMapSpecLen, byte_order); length -= f_compatMapSpecLen * 1; f_symbolsSpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_symbolsSpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_symbolsSpec, f_symbolsSpecLen, byte_order); length -= f_symbolsSpecLen * 1; f_geometrySpecLen = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_geometrySpecLen, tvb, *offsetp, 1, byte_order); *offsetp += 1; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_geometrySpec, f_geometrySpecLen, byte_order); length -= f_geometrySpecLen * 1; } static void xkbGetKbdByName_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_minKeyCode; int f_maxKeyCode; int f_loaded; int f_newKeyboard; int f_found; int f_reported; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetKbdByName"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetKbdByName)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_loaded = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_loaded, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_newKeyboard = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_newKeyboard, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_found = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_found, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_CompatMap, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_ClientSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_ServerSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_OtherNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_reported = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_reported, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_CompatMap, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_ClientSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_ServerSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_OtherNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(16); if ((f_reported & (1 << 0)) != 0) { int f_getmap_type; int f_typeDeviceID; int f_getmap_sequence; int f_getmap_length; int f_typeMinKeyCode; int f_typeMaxKeyCode; int f_present; int f_firstType; int f_nTypes; int f_totalTypes; int f_firstKeySym; int f_totalSyms; int f_nKeySyms; int f_firstKeyAction; int f_totalActions; int f_nKeyActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_totalKeyBehaviors; int f_firstKeyExplicit; int f_nKeyExplicit; int f_totalKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_totalModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_totalVModMapKeys; int f_virtualMods; f_getmap_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_getmap_type, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_typeDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_getmap_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_getmap_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_getmap_length = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_getmap_length, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(2); f_typeMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_typeMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_present, byte_order); f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalActions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalActions, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; if ((f_present & (1 << 0)) != 0) { struct_KeyType(tvb, offsetp, t, byte_order, f_nTypes); } if ((f_present & (1 << 1)) != 0) { struct_KeySymMap(tvb, offsetp, t, byte_order, f_nKeySyms); } if ((f_present & (1 << 4)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_KeyActions_acts_rtrn_count, f_nKeyActions, byte_order); struct_Action(tvb, offsetp, t, byte_order, f_totalActions); } if ((f_present & (1 << 5)) != 0) { struct_SetBehavior(tvb, offsetp, t, byte_order, f_totalKeyBehaviors); } if ((f_present & (1 << 6)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_VirtualMods_vmods_rtrn, f_nVModMapKeys, byte_order); } if ((f_present & (1 << 3)) != 0) { struct_SetExplicit(tvb, offsetp, t, byte_order, f_totalKeyExplicit); } if ((f_present & (1 << 2)) != 0) { struct_KeyModMap(tvb, offsetp, t, byte_order, f_totalModMapKeys); } if ((f_present & (1 << 7)) != 0) { struct_KeyVModMap(tvb, offsetp, t, byte_order, f_totalVModMapKeys); } } if ((f_reported & (1 << 1)) != 0) { int f_compatDeviceID; int f_groupsRtrn; int f_firstSIRtrn; int f_nSIRtrn; int f_nTotalSI; f_compatDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_compatDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupsRtrn = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); f_firstSIRtrn = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_firstSIRtrn, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSIRtrn = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_nSIRtrn, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nTotalSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_nTotalSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_CompatMap_si_rtrn, (16 * f_nSIRtrn), byte_order); struct_ModDef(tvb, offsetp, t, byte_order, popcount(f_groupsRtrn)); } if ((f_reported & (1 << 2)) != 0) { int f_clientDeviceID; int f_clientMinKeyCode; int f_clientMaxKeyCode; int f_present; int f_firstType; int f_nTypes; int f_totalTypes; int f_firstKeySym; int f_totalSyms; int f_nKeySyms; int f_firstKeyAction; int f_totalActions; int f_nKeyActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_totalKeyBehaviors; int f_firstKeyExplicit; int f_nKeyExplicit; int f_totalKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_totalModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_totalVModMapKeys; int f_virtualMods; f_clientDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_clientMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_clientMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_present, byte_order); f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalActions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalActions, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; if ((f_present & (1 << 0)) != 0) { struct_KeyType(tvb, offsetp, t, byte_order, f_nTypes); } if ((f_present & (1 << 1)) != 0) { struct_KeySymMap(tvb, offsetp, t, byte_order, f_nKeySyms); } if ((f_present & (1 << 4)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_KeyActions_acts_rtrn_count, f_nKeyActions, byte_order); struct_Action(tvb, offsetp, t, byte_order, f_totalActions); } if ((f_present & (1 << 5)) != 0) { struct_SetBehavior(tvb, offsetp, t, byte_order, f_totalKeyBehaviors); } if ((f_present & (1 << 6)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_VirtualMods_vmods_rtrn, f_nVModMapKeys, byte_order); } if ((f_present & (1 << 3)) != 0) { struct_SetExplicit(tvb, offsetp, t, byte_order, f_totalKeyExplicit); } if ((f_present & (1 << 2)) != 0) { struct_KeyModMap(tvb, offsetp, t, byte_order, f_totalModMapKeys); } if ((f_present & (1 << 7)) != 0) { struct_KeyVModMap(tvb, offsetp, t, byte_order, f_totalVModMapKeys); } } if ((f_reported & (1 << 3)) != 0) { int f_serverDeviceID; int f_serverMinKeyCode; int f_serverMaxKeyCode; int f_present; int f_firstType; int f_nTypes; int f_totalTypes; int f_firstKeySym; int f_totalSyms; int f_nKeySyms; int f_firstKeyAction; int f_totalActions; int f_nKeyActions; int f_firstKeyBehavior; int f_nKeyBehaviors; int f_totalKeyBehaviors; int f_firstKeyExplicit; int f_nKeyExplicit; int f_totalKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_totalModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_totalVModMapKeys; int f_virtualMods; f_serverDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_serverMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_serverMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_present, byte_order); f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalSyms = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalSyms, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAction = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyAction, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalActions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalActions, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyBehaviors = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalKeyBehaviors, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; if ((f_present & (1 << 0)) != 0) { struct_KeyType(tvb, offsetp, t, byte_order, f_nTypes); } if ((f_present & (1 << 1)) != 0) { struct_KeySymMap(tvb, offsetp, t, byte_order, f_nKeySyms); } if ((f_present & (1 << 4)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_KeyActions_acts_rtrn_count, f_nKeyActions, byte_order); struct_Action(tvb, offsetp, t, byte_order, f_totalActions); } if ((f_present & (1 << 5)) != 0) { struct_SetBehavior(tvb, offsetp, t, byte_order, f_totalKeyBehaviors); } if ((f_present & (1 << 6)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_VirtualMods_vmods_rtrn, f_nVModMapKeys, byte_order); } if ((f_present & (1 << 3)) != 0) { struct_SetExplicit(tvb, offsetp, t, byte_order, f_totalKeyExplicit); } if ((f_present & (1 << 2)) != 0) { struct_KeyModMap(tvb, offsetp, t, byte_order, f_totalModMapKeys); } if ((f_present & (1 << 7)) != 0) { struct_KeyVModMap(tvb, offsetp, t, byte_order, f_totalVModMapKeys); } } if ((f_reported & (1 << 4)) != 0) { int f_indicatorDeviceID; int f_which; int f_realIndicators; int f_nIndicators; f_indicatorDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_indicatorDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_which = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_which, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_realIndicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_realIndicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nIndicators = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_nIndicators, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(15); struct_IndicatorMap(tvb, offsetp, t, byte_order, f_nIndicators); } if ((f_reported & (1 << 5)) != 0) { int f_keyDeviceID; int f_which; int f_keyMinKeyCode; int f_keyMaxKeyCode; int f_nTypes; int f_groupNames; int f_virtualMods; int f_firstKey; int f_nKeys; int f_indicators; int f_nRadioGroups; int f_nKeyAliases; int f_nKTLevels; f_keyDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_which = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_which, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Keycodes, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Geometry, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Symbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_PhysSymbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Types, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Compat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KTLevelNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_IndicatorNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyAliases, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_VirtualModNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_GroupNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_RGNames, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_keyMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keyMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupNames = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_firstKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_indicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_indicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nRadioGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nRadioGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyAliases = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKeyAliases, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKTLevels = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKTLevels, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(4); if ((f_which & (1 << 0)) != 0) { int f_keycodesName; f_keycodesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Keycodes_keycodesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 1)) != 0) { int f_geometryName; f_geometryName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Geometry_geometryName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 2)) != 0) { int f_symbolsName; f_symbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Symbols_symbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 3)) != 0) { int f_physSymbolsName; f_physSymbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 4)) != 0) { int f_typesName; f_typesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Types_typesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 5)) != 0) { int f_compatName; f_compatName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Compat_compatName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 6)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KeyTypeNames_typeNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_KeyTypeNames_typeNames_item, f_nTypes, byte_order); } if ((f_which & (1 << 7)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_nLevelsPerType, f_nKTLevels, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_ktLevelNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_ktLevelNames_item, (length - 237) / 4, byte_order); } if ((f_which & (1 << 8)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_IndicatorNames_indicatorNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), byte_order); } if ((f_which & (1 << 11)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_VirtualModNames_virtualModNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), byte_order); } if ((f_which & (1 << 12)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_GroupNames_groups, hf_x11_xkb_GetKbdByName_reply_KeyNames_GroupNames_groups_item, popcount(f_groupNames), byte_order); } if ((f_which & (1 << 9)) != 0) { struct_KeyName(tvb, offsetp, t, byte_order, f_nKeys); } if ((f_which & (1 << 10)) != 0) { struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); } if ((f_which & (1 << 13)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_RGNames_radioGroupNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_RGNames_radioGroupNames_item, f_nRadioGroups, byte_order); } } if ((f_reported & (1 << 7)) != 0) { int f_otherDeviceID; int f_which; int f_otherMinKeyCode; int f_otherMaxKeyCode; int f_nTypes; int f_groupNames; int f_virtualMods; int f_firstKey; int f_nKeys; int f_indicators; int f_nRadioGroups; int f_nKeyAliases; int f_nKTLevels; f_otherDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_which = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_which, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Keycodes, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Geometry, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Symbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_PhysSymbols, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Types, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Compat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KTLevelNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_IndicatorNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyAliases, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_VirtualModNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_GroupNames, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_RGNames, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_otherMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_otherMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_groupNames = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_firstKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_indicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_indicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nRadioGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nRadioGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyAliases = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKeyAliases, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKTLevels = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKTLevels, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(4); if ((f_which & (1 << 0)) != 0) { int f_keycodesName; f_keycodesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Keycodes_keycodesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 1)) != 0) { int f_geometryName; f_geometryName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Geometry_geometryName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 2)) != 0) { int f_symbolsName; f_symbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Symbols_symbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 3)) != 0) { int f_physSymbolsName; f_physSymbolsName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 4)) != 0) { int f_typesName; f_typesName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Types_typesName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 5)) != 0) { int f_compatName; f_compatName = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Compat_compatName, tvb, *offsetp, 4, byte_order); *offsetp += 4; } if ((f_which & (1 << 6)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KeyTypeNames_typeNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_KeyTypeNames_typeNames_item, f_nTypes, byte_order); } if ((f_which & (1 << 7)) != 0) { listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_nLevelsPerType, f_nKTLevels, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_ktLevelNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_ktLevelNames_item, (length - 286) / 4, byte_order); } if ((f_which & (1 << 8)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_IndicatorNames_indicatorNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), byte_order); } if ((f_which & (1 << 11)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_VirtualModNames_virtualModNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), byte_order); } if ((f_which & (1 << 12)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_GroupNames_groups, hf_x11_xkb_GetKbdByName_reply_OtherNames_GroupNames_groups_item, popcount(f_groupNames), byte_order); } if ((f_which & (1 << 9)) != 0) { struct_KeyName(tvb, offsetp, t, byte_order, f_nKeys); } if ((f_which & (1 << 10)) != 0) { struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); } if ((f_which & (1 << 13)) != 0) { listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_RGNames_radioGroupNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_RGNames_radioGroupNames_item, f_nRadioGroups, byte_order); } } if ((f_reported & (1 << 6)) != 0) { int f_geometryDeviceID; int f_name; int f_geometryFound; int f_widthMM; int f_heightMM; int f_nProperties; int f_nColors; int f_nShapes; int f_nSections; int f_nDoodads; int f_nKeyAliases; int f_baseColorNdx; int f_labelColorNdx; f_geometryDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_geometryDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_geometryFound = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_geometryFound, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_widthMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_widthMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_heightMM = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_heightMM, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nProperties = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nProperties, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nColors = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nColors, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nShapes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nShapes, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSections = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nSections, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nDoodads = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nDoodads, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nKeyAliases = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nKeyAliases, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_baseColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_baseColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_labelColorNdx = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_labelColorNdx, tvb, *offsetp, 1, byte_order); *offsetp += 1; struct_CountedString16(tvb, offsetp, t, byte_order, 1); struct_Property(tvb, offsetp, t, byte_order, f_nProperties); struct_CountedString16(tvb, offsetp, t, byte_order, f_nColors); struct_Shape(tvb, offsetp, t, byte_order, f_nShapes); struct_Section(tvb, offsetp, t, byte_order, f_nSections); struct_Doodad(tvb, offsetp, t, byte_order, f_nDoodads); struct_KeyAlias(tvb, offsetp, t, byte_order, f_nKeyAliases); } } static void xkbGetDeviceInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_wanted; int f_allButtons; int f_firstButton; int f_nButtons; int f_ledClass; int f_ledID; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_wanted = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_wanted, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_allButtons = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_allButtons, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstButton = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_firstButton, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nButtons = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_nButtons, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_ledClass, byte_order); f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_ledID, byte_order); } static void xkbGetDeviceInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_deviceID; int f_present; int f_supported; int f_unsupported; int f_nDeviceLedFBs; int f_firstBtnWanted; int f_nBtnsWanted; int f_firstBtnRtrn; int f_nBtnsRtrn; int f_totalBtns; int f_hasOwnState; int f_dfltKbdFB; int f_dfltLedFB; int f_devType; int f_nameLen; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceInfo"); REPLY(reply); f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-GetDeviceInfo)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_present = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_present, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_supported = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_supported, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_unsupported = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_unsupported, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_nDeviceLedFBs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nDeviceLedFBs, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_firstBtnWanted = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_firstBtnWanted, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nBtnsWanted = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nBtnsWanted, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstBtnRtrn = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_firstBtnRtrn, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nBtnsRtrn = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nBtnsRtrn, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_totalBtns = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_totalBtns, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_hasOwnState = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_hasOwnState, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_dfltKbdFB = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_dfltKbdFB, byte_order); f_dfltLedFB = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_dfltLedFB, byte_order); UNUSED(2); f_devType = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_devType, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nameLen = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nameLen, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_name, f_nameLen, byte_order); struct_Action(tvb, offsetp, t, byte_order, f_nBtnsRtrn); struct_DeviceLedInfo(tvb, offsetp, t, byte_order, f_nDeviceLedFBs); } static void xkbSetDeviceInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_deviceSpec; int f_firstBtn; int f_nBtns; int f_change; int f_nDeviceLedFBs; f_deviceSpec = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_deviceSpec, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_firstBtn = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_firstBtn, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nBtns = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_nBtns, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_change = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_change, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_nDeviceLedFBs = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_nDeviceLedFBs, tvb, *offsetp, 2, byte_order); *offsetp += 2; struct_Action(tvb, offsetp, t, byte_order, f_nBtns); length -= f_nBtns * 8; struct_DeviceLedInfo(tvb, offsetp, t, byte_order, f_nDeviceLedFBs); length -= f_nDeviceLedFBs * 0; } static void xkbSetDebuggingFlags(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_msgLength; int f_affectFlags; int f_flags; int f_affectCtrls; int f_ctrls; f_msgLength = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_msgLength, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); f_affectFlags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_affectFlags, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_flags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_flags, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_affectCtrls = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_affectCtrls, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ctrls = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_ctrls, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xkb_SetDebuggingFlags_message, f_msgLength, byte_order); length -= f_msgLength * 1; } static void xkbSetDebuggingFlags_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_currentFlags; int f_currentCtrls; int f_supportedFlags; int f_supportedCtrls; col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDebuggingFlags"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xkb-SetDebuggingFlags)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_currentFlags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_currentFlags, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_currentCtrls = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_currentCtrls, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_supportedFlags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_supportedFlags, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_supportedCtrls = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_supportedCtrls, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); } static void xkbNewKeyboardNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_oldDeviceID; int f_minKeyCode; int f_maxKeyCode; int f_oldMinKeyCode; int f_oldMaxKeyCode; int f_requestMajor; int f_requestMinor; int f_changed; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_oldDeviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldDeviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_oldMinKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldMinKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_oldMaxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldMaxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMajor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_requestMajor, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMinor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_requestMinor, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_changed = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_changed, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_DeviceID, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(14); } static void xkbMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_ptrBtnActions; int f_changed; int f_minKeyCode; int f_maxKeyCode; int f_firstType; int f_nTypes; int f_firstKeySym; int f_nKeySyms; int f_firstKeyAct; int f_nKeyActs; int f_firstKeyBehavior; int f_nKeyBehavior; int f_firstKeyExplicit; int f_nKeyExplicit; int f_firstModMapKey; int f_nModMapKeys; int f_firstVModMapKey; int f_nVModMapKeys; int f_virtualMods; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_ptrBtnActions = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_ptrBtnActions, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_changed = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_MapNotify_changed, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyTypes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeySyms, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_ModifierMap, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_ExplicitComponents, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyBehaviors, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_VirtualMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_VirtualModMap, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_minKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_minKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_maxKeyCode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_maxKeyCode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeySym = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeySym, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeySyms = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeySyms, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyAct = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyAct, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyActs = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyActs, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyBehavior = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyBehavior, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyExplicit = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyExplicit, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstVModMapKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstVModMapKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nVModMapKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_MapNotify_nVModMapKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_virtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_MapNotify_virtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); } static void xkbStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_mods; int f_baseMods; int f_latchedMods; int f_lockedMods; int f_group; int f_baseGroup; int f_latchedGroup; int f_lockedGroup; int f_compatState; int f_grabMods; int f_compatGrabMods; int f_lookupMods; int f_compatLoockupMods; int f_ptrBtnState; int f_changed; int f_keycode; int f_eventType; int f_requestMajor; int f_requestMinor; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_baseMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_baseMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_latchedMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_latchedMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_lockedMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_lockedMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_group = field8(tvb, offsetp, t, hf_x11_xkb_StateNotify_group, byte_order); f_baseGroup = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_baseGroup, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_latchedGroup = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_latchedGroup, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_lockedGroup = field8(tvb, offsetp, t, hf_x11_xkb_StateNotify_lockedGroup, byte_order); f_compatState = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatState, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_grabMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_grabMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_compatGrabMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatGrabMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_lookupMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_lookupMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_compatLoockupMods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatLoockupMods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_ptrBtnState = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_ptrBtnState, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Shift, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Lock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Control, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button5, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_changed = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_changed, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupBase, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupLatch, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupLock, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatState, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatGrabMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_LookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatLookupMods, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_PointerButtons, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_eventType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_eventType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMajor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_requestMajor, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMinor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_StateNotify_requestMinor, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xkbControlsNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_numGroups; int f_changedControls; int f_enabledControls; int f_enabledControlChanges; int f_keycode; int f_eventType; int f_requestMajor; int f_requestMinor; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_numGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_numGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_changedControls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_changedControls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_GroupsWrap, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_InternalMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_IgnoreLockMods, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_PerKeyRepeat, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_ControlsEnabled, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_enabledControls = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_enabledControls, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_enabledControlChanges = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_enabledControlChanges, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_RepeatKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_SlowKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_BounceKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_StickyKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_MouseKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_MouseKeysAccel, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXKeys, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXTimeoutMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXFeedbackMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AudibleBellMask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_Overlay1Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_Overlay2Mask, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_eventType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_eventType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMajor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_requestMajor, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_requestMinor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_requestMinor, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(4); } static void xkbIndicatorStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_state; int f_stateChanged; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_state = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_state, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_stateChanged = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_stateChanged, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); } static void xkbIndicatorMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_state; int f_mapChanged; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_state = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_state, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_mapChanged = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_mapChanged, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); } static void xkbNamesNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_changed; int f_firstType; int f_nTypes; int f_firstLevelName; int f_nLevelNames; int f_nRadioGroups; int f_nKeyAliases; int f_changedGroupNames; int f_changedVirtualMods; int f_firstKey; int f_nKeys; int f_changedIndicators; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_changed = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changed, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Keycodes, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Geometry, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Symbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_PhysSymbols, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Types, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Compat, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyTypeNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KTLevelNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyAliases, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_VirtualModNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_GroupNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_RGNames, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstType, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nTypes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nTypes, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_firstLevelName = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstLevelName, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nLevelNames = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nLevelNames, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_nRadioGroups = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nRadioGroups, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeyAliases = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nKeyAliases, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_changedGroupNames = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedGroupNames, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_changedVirtualMods = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedVirtualMods, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_0, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_1, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_2, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_3, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_4, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_5, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_6, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_7, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_8, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_9, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_10, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_11, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_12, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_13, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_14, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_15, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_firstKey = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstKey, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nKeys = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nKeys, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_changedIndicators = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedIndicators, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(4); } static void xkbCompatMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_changedGroups; int f_firstSI; int f_nSI; int f_nTotalSI; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_changedGroups = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_changedGroups, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group4, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_firstSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_firstSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_nSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_nTotalSI = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_nTotalSI, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); } static void xkbBellNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_bellClass; int f_bellID; int f_percent; int f_pitch; int f_duration; int f_name; int f_window; int f_eventOnly; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_bellClass = field8(tvb, offsetp, t, hf_x11_xkb_BellNotify_bellClass, byte_order); f_bellID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_bellID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_percent = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_percent, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_pitch = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_pitch, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_duration = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_duration, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_eventOnly = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_BellNotify_eventOnly, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(7); } static void xkbActionMessage(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_keycode; int f_press; int f_keyEventFollows; int f_mods; int f_group; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_press = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_press, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keyEventFollows = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ActionMessage_keyEventFollows, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_mods = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ActionMessage_mods, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Shift, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Lock, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Control, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_1, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_2, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_3, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_4, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_5, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Any, tvb, *offsetp, 1, byte_order); } *offsetp += 1; f_group = field8(tvb, offsetp, t, hf_x11_xkb_ActionMessage_group, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xkb_ActionMessage_message, 8, byte_order); UNUSED(10); } static void xkbAccessXNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_keycode; int f_detailt; int f_slowKeysDelay; int f_debounceDelay; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_keycode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_keycode, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_detailt = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_detailt, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKPress, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKRelease, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_BKAccept, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_BKReject, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_AXKWarning, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_slowKeysDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_slowKeysDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_debounceDelay = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_debounceDelay, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(16); } static void xkbExtensionDeviceNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_xkbType; int f_sequence; int f_time; int f_deviceID; int f_reason; int f_ledClass; int f_ledID; int f_ledsDefined; int f_ledState; int f_firstButton; int f_nButtons; int f_supported; int f_unsupported; f_xkbType = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_xkbType, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_sequence = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_sequence, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_deviceID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_deviceID, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_reason = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_reason, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_ExtensionDeviceNotify_ledClass, byte_order); f_ledID = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledID, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_ledsDefined = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledsDefined, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_ledState = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledState, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_firstButton = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_firstButton, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_nButtons = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_nButtons, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_supported = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_supported, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; f_unsupported = VALUE16(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_unsupported, tvb, *offsetp, 2, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_Keyboards, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_ButtonActions, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorNames, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorMaps, tvb, *offsetp, 2, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorState, tvb, *offsetp, 2, byte_order); } *offsetp += 2; UNUSED(2); } static const value_string xkb_extension_minor[] = { { 0, "UseExtension" }, { 1, "SelectEvents" }, { 3, "Bell" }, { 4, "GetState" }, { 5, "LatchLockState" }, { 6, "GetControls" }, { 7, "SetControls" }, { 8, "GetMap" }, { 9, "SetMap" }, { 10, "GetCompatMap" }, { 11, "SetCompatMap" }, { 12, "GetIndicatorState" }, { 13, "GetIndicatorMap" }, { 14, "SetIndicatorMap" }, { 15, "GetNamedIndicator" }, { 16, "SetNamedIndicator" }, { 17, "GetNames" }, { 18, "SetNames" }, { 19, "GetGeometry" }, { 20, "SetGeometry" }, { 21, "PerClientFlags" }, { 22, "ListComponents" }, { 23, "GetKbdByName" }, { 24, "GetDeviceInfo" }, { 25, "SetDeviceInfo" }, { 101, "SetDebuggingFlags" }, { 0, NULL } }; const x11_event_info xkb_events[] = { { "xkb-NewKeyboardNotify", xkbNewKeyboardNotify }, { "xkb-MapNotify", xkbMapNotify }, { "xkb-StateNotify", xkbStateNotify }, { "xkb-ControlsNotify", xkbControlsNotify }, { "xkb-IndicatorStateNotify", xkbIndicatorStateNotify }, { "xkb-IndicatorMapNotify", xkbIndicatorMapNotify }, { "xkb-NamesNotify", xkbNamesNotify }, { "xkb-CompatMapNotify", xkbCompatMapNotify }, { "xkb-BellNotify", xkbBellNotify }, { "xkb-ActionMessage", xkbActionMessage }, { "xkb-AccessXNotify", xkbAccessXNotify }, { "xkb-ExtensionDeviceNotify", xkbExtensionDeviceNotify }, { NULL, NULL } }; static x11_reply_info xkb_replies[] = { { 0, xkbUseExtension_Reply }, { 4, xkbGetState_Reply }, { 6, xkbGetControls_Reply }, { 8, xkbGetMap_Reply }, { 10, xkbGetCompatMap_Reply }, { 12, xkbGetIndicatorState_Reply }, { 13, xkbGetIndicatorMap_Reply }, { 15, xkbGetNamedIndicator_Reply }, { 17, xkbGetNames_Reply }, { 19, xkbGetGeometry_Reply }, { 21, xkbPerClientFlags_Reply }, { 22, xkbListComponents_Reply }, { 23, xkbGetKbdByName_Reply }, { 24, xkbGetDeviceInfo_Reply }, { 101, xkbSetDebuggingFlags_Reply }, { 0, NULL } }; static void dispatch_xkb(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xkb_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xkb_extension_minor, "")); switch (minor) { case 0: xkbUseExtension(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xkbSelectEvents(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xkbBell(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xkbGetState(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xkbLatchLockState(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xkbGetControls(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xkbSetControls(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xkbGetMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xkbSetMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xkbGetCompatMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xkbSetCompatMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xkbGetIndicatorState(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xkbGetIndicatorMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xkbSetIndicatorMap(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xkbGetNamedIndicator(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xkbSetNamedIndicator(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xkbGetNames(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xkbSetNames(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xkbGetGeometry(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xkbSetGeometry(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: xkbPerClientFlags(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: xkbListComponents(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: xkbGetKbdByName(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: xkbGetDeviceInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 25: xkbSetDeviceInfo(tvb, pinfo, offsetp, t, byte_order, length); break; case 101: xkbSetDebuggingFlags(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xkb(void) { set_handler("XKEYBOARD", dispatch_xkb, xkb_errors, xkb_events, xkb_replies); } static int struct_size_PRINTER(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_nameLen; int f_descLen; f_nameLen = VALUE32(tvb, *offsetp + size + 0); size += f_nameLen * 1; f_descLen = VALUE32(tvb, *offsetp + size + 4); size += f_descLen * 1; return size + 8; } static void struct_PRINTER(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_nameLen; int f_descLen; item = proto_tree_add_item(root, hf_x11_struct_PRINTER, tvb, *offsetp, struct_size_PRINTER(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_nameLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PRINTER_nameLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_struct_PRINTER_name, f_nameLen, byte_order); f_descLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_PRINTER_descLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_struct_PRINTER_description, f_descLen, byte_order); } } static void xprintPrintQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xprintPrintQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintQueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintQueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintQueryVersion_reply_major_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintQueryVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xprintPrintGetPrinterList(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_printerNameLen; int f_localeLen; f_printerNameLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPrinterList_printerNameLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_localeLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPrinterList_localeLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintGetPrinterList_printer_name, f_printerNameLen, byte_order); length -= f_printerNameLen * 1; listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintGetPrinterList_locale, f_localeLen, byte_order); length -= f_localeLen * 1; } static void xprintPrintGetPrinterList_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_listCount; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetPrinterList"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetPrinterList)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_listCount = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPrinterList_reply_listCount, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_PRINTER(tvb, offsetp, t, byte_order, f_listCount); } static void xprintPrintRehashPrinterList(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xprintCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_id; int f_printerNameLen; int f_localeLen; f_context_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_CreateContext_context_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_printerNameLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_CreateContext_printerNameLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_localeLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_CreateContext_localeLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xprint_CreateContext_printerName, f_printerNameLen, byte_order); length -= f_printerNameLen * 1; listOfByte(tvb, offsetp, t, hf_x11_xprint_CreateContext_locale, f_localeLen, byte_order); length -= f_localeLen * 1; } static void xprintPrintSetContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xprintPrintGetContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetContext_reply_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintDestroyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintDestroyContext_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetScreenOfContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xprintPrintGetScreenOfContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_root; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetScreenOfContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetScreenOfContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetScreenOfContext_reply_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintStartJob(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_output_mode; f_output_mode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintStartJob_output_mode, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xprintPrintEndJob(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cancel; f_cancel = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintEndJob_cancel, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xprintPrintStartDoc(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_driver_mode; f_driver_mode = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintStartDoc_driver_mode, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xprintPrintEndDoc(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cancel; f_cancel = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintEndDoc_cancel, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xprintPrintPutDocumentData(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_len_data; int f_len_fmt; int f_len_options; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintPutDocumentData_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_len_data = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintPutDocumentData_len_data, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_len_fmt = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintPutDocumentData_len_fmt, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_len_options = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintPutDocumentData_len_options, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintPutDocumentData_data, f_len_data, byte_order); length -= f_len_data * 1; listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintPutDocumentData_doc_format, (length - 16) / 1, byte_order); listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintPutDocumentData_options, (length - 16) / 1, byte_order); } static void xprintPrintGetDocumentData(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_max_bytes; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetDocumentData_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_max_bytes = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetDocumentData_max_bytes, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetDocumentData_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status_code; int f_finished_flag; int f_dataLen; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetDocumentData"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetDocumentData)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_status_code = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetDocumentData_reply_status_code, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_finished_flag = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetDocumentData_reply_finished_flag, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_dataLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetDocumentData_reply_dataLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(12); listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintGetDocumentData_reply_data, f_dataLen, byte_order); } static void xprintPrintStartPage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintStartPage_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintEndPage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_cancel; f_cancel = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintEndPage_cancel, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xprintPrintSelectInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSelectInput_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintInputSelected(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintInputSelected_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintInputSelected_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintInputSelected"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintInputSelected)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_pool; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetAttributes_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pool = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetAttributes_pool, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xprintPrintGetAttributes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_stringLen; int f_attributes; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetAttributes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetAttributes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_stringLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetAttributes_reply_stringLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); f_attributes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetAttributes_reply_attributes, tvb, *offsetp, 1, ENC_ASCII|ENC_NA); *offsetp += 1; } static void xprintPrintGetOneAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_nameLen; int f_pool; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetOneAttributes_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_nameLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetOneAttributes_nameLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pool = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetOneAttributes_pool, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintGetOneAttributes_name, f_nameLen, byte_order); length -= f_nameLen * 1; } static void xprintPrintGetOneAttributes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_valueLen; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetOneAttributes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetOneAttributes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_valueLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetOneAttributes_reply_valueLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintGetOneAttributes_reply_value, f_valueLen, byte_order); } static void xprintPrintSetAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_stringLen; int f_pool; int f_rule; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetAttributes_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_stringLen = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetAttributes_stringLen, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_pool = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetAttributes_pool, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_rule = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetAttributes_rule, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_xprint_PrintSetAttributes_attributes, (length - 16) / 1, byte_order); } static void xprintPrintGetPageDimensions(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetPageDimensions_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width; int f_height; int f_offset_x; int f_offset_y; int f_reproducible_width; int f_reproducible_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetPageDimensions"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetPageDimensions)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_offset_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_offset_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_offset_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_offset_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_reproducible_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_reproducible_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_reproducible_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetPageDimensions_reply_reproducible_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xprintPrintQueryScreens(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xprintPrintQueryScreens_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_listCount; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintQueryScreens"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintQueryScreens)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_listCount = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintQueryScreens_reply_listCount, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_xprint_PrintQueryScreens_reply_roots, hf_x11_xprint_PrintQueryScreens_reply_roots_item, f_listCount, byte_order); } static void xprintPrintSetImageResolution(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; int f_image_resolution; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetImageResolution_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_image_resolution = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetImageResolution_image_resolution, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xprintPrintSetImageResolution_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_status; int f_previous_resolutions; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintSetImageResolution"); REPLY(reply); f_status = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetImageResolution_reply_status, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintSetImageResolution)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_previous_resolutions = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintSetImageResolution_reply_previous_resolutions, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xprintPrintGetImageResolution(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetImageResolution_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xprintPrintGetImageResolution_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_image_resolution; col_append_fstr(pinfo->cinfo, COL_INFO, "-PrintGetImageResolution"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xprint-PrintGetImageResolution)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_image_resolution = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_PrintGetImageResolution_reply_image_resolution, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xprintNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_detail; int f_context; int f_cancel; f_detail = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_Notify_detail, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_Notify_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_cancel = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_Notify_cancel, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xprintAttributNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_detail; int f_context; f_detail = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_AttributNotify_detail, tvb, *offsetp, 1, byte_order); *offsetp += 1; CARD16(event_sequencenumber); f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xprint_AttributNotify_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static const value_string xprint_extension_minor[] = { { 0, "PrintQueryVersion" }, { 1, "PrintGetPrinterList" }, { 2, "CreateContext" }, { 3, "PrintSetContext" }, { 4, "PrintGetContext" }, { 5, "PrintDestroyContext" }, { 6, "PrintGetScreenOfContext" }, { 7, "PrintStartJob" }, { 8, "PrintEndJob" }, { 9, "PrintStartDoc" }, { 10, "PrintEndDoc" }, { 11, "PrintPutDocumentData" }, { 12, "PrintGetDocumentData" }, { 13, "PrintStartPage" }, { 14, "PrintEndPage" }, { 15, "PrintSelectInput" }, { 16, "PrintInputSelected" }, { 17, "PrintGetAttributes" }, { 18, "PrintSetAttributes" }, { 19, "PrintGetOneAttributes" }, { 20, "PrintRehashPrinterList" }, { 21, "PrintGetPageDimensions" }, { 22, "PrintQueryScreens" }, { 23, "PrintSetImageResolution" }, { 24, "PrintGetImageResolution" }, { 0, NULL } }; const x11_event_info xprint_events[] = { { "xprint-Notify", xprintNotify }, { "xprint-AttributNotify", xprintAttributNotify }, { NULL, NULL } }; static x11_reply_info xprint_replies[] = { { 0, xprintPrintQueryVersion_Reply }, { 1, xprintPrintGetPrinterList_Reply }, { 4, xprintPrintGetContext_Reply }, { 6, xprintPrintGetScreenOfContext_Reply }, { 12, xprintPrintGetDocumentData_Reply }, { 16, xprintPrintInputSelected_Reply }, { 17, xprintPrintGetAttributes_Reply }, { 19, xprintPrintGetOneAttributes_Reply }, { 21, xprintPrintGetPageDimensions_Reply }, { 22, xprintPrintQueryScreens_Reply }, { 23, xprintPrintSetImageResolution_Reply }, { 24, xprintPrintGetImageResolution_Reply }, { 0, NULL } }; static void dispatch_xprint(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xprint_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xprint_extension_minor, "")); switch (minor) { case 0: xprintPrintQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xprintPrintGetPrinterList(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xprintCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xprintPrintSetContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xprintPrintGetContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xprintPrintDestroyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xprintPrintGetScreenOfContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xprintPrintStartJob(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xprintPrintEndJob(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xprintPrintStartDoc(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xprintPrintEndDoc(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xprintPrintPutDocumentData(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xprintPrintGetDocumentData(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xprintPrintStartPage(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xprintPrintEndPage(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xprintPrintSelectInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xprintPrintInputSelected(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xprintPrintGetAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xprintPrintSetAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xprintPrintGetOneAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xprintPrintRehashPrinterList(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: xprintPrintGetPageDimensions(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: xprintPrintQueryScreens(tvb, pinfo, offsetp, t, byte_order, length); break; case 23: xprintPrintSetImageResolution(tvb, pinfo, offsetp, t, byte_order, length); break; case 24: xprintPrintGetImageResolution(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xprint(void) { set_handler("XpExtension", dispatch_xprint, xprint_errors, xprint_events, xprint_replies); } static void xselinuxQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_client_major; int f_client_minor; f_client_major = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_QueryVersion_client_major, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_client_minor = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_QueryVersion_client_minor, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xselinuxQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_server_major; int f_server_minor; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_server_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_QueryVersion_reply_server_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_server_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_QueryVersion_reply_server_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xselinuxSetDeviceCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetDeviceCreateContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetDeviceCreateContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetDeviceCreateContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetDeviceCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceCreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetDeviceCreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetDeviceCreateContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetDeviceCreateContext_reply_context, f_context_len, byte_order); } static void xselinuxSetDeviceContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device; int f_context_len; f_device = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetDeviceContext_device, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetDeviceContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetDeviceContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetDeviceContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_device; f_device = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetDeviceContext_device, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetDeviceContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetDeviceContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetDeviceContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetDeviceContext_reply_context, f_context_len, byte_order); } static void xselinuxSetWindowCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetWindowCreateContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetWindowCreateContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetWindowCreateContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetWindowCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetWindowCreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetWindowCreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetWindowCreateContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetWindowCreateContext_reply_context, f_context_len, byte_order); } static void xselinuxGetWindowContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetWindowContext_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetWindowContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetWindowContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetWindowContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetWindowContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetWindowContext_reply_context, f_context_len, byte_order); } static int struct_size_ListItem(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_object_context_len; int f_data_context_len; f_object_context_len = VALUE32(tvb, *offsetp + size + 4); f_data_context_len = VALUE32(tvb, *offsetp + size + 8); size += f_object_context_len * 1; size += f_data_context_len * 1; return size + 12; } static void struct_ListItem(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_name; int f_object_context_len; int f_data_context_len; item = proto_tree_add_item(root, hf_x11_struct_ListItem, tvb, *offsetp, struct_size_ListItem(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_name = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ListItem_name, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_object_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ListItem_object_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_data_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ListItem_data_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_struct_ListItem_object_context, f_object_context_len, byte_order); listOfByte(tvb, offsetp, t, hf_x11_struct_ListItem_data_context, f_data_context_len, byte_order); } } static void xselinuxSetPropertyCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetPropertyCreateContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetPropertyCreateContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetPropertyCreateContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetPropertyCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPropertyCreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetPropertyCreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyCreateContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetPropertyCreateContext_reply_context, f_context_len, byte_order); } static void xselinuxSetPropertyUseContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetPropertyUseContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetPropertyUseContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetPropertyUseContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetPropertyUseContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPropertyUseContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetPropertyUseContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyUseContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetPropertyUseContext_reply_context, f_context_len, byte_order); } static void xselinuxGetPropertyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_property; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyContext_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyContext_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetPropertyContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPropertyContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetPropertyContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetPropertyContext_reply_context, f_context_len, byte_order); } static void xselinuxGetPropertyDataContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_property; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyDataContext_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_property = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyDataContext_property, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetPropertyDataContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPropertyDataContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetPropertyDataContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetPropertyDataContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetPropertyDataContext_reply_context, f_context_len, byte_order); } static void xselinuxListProperties(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_ListProperties_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxListProperties_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_properties_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListProperties"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-ListProperties)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_properties_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_ListProperties_reply_properties_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ListItem(tvb, offsetp, t, byte_order, f_properties_len); } static void xselinuxSetSelectionCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetSelectionCreateContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetSelectionCreateContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetSelectionCreateContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetSelectionCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSelectionCreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetSelectionCreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionCreateContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetSelectionCreateContext_reply_context, f_context_len, byte_order); } static void xselinuxSetSelectionUseContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_len; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_SetSelectionUseContext_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_xselinux_SetSelectionUseContext_context, f_context_len, byte_order); length -= f_context_len * 1; } static void xselinuxGetSelectionUseContext(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxGetSelectionUseContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSelectionUseContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetSelectionUseContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionUseContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetSelectionUseContext_reply_context, f_context_len, byte_order); } static void xselinuxGetSelectionContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_selection; f_selection = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionContext_selection, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetSelectionContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSelectionContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetSelectionContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetSelectionContext_reply_context, f_context_len, byte_order); } static void xselinuxGetSelectionDataContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_selection; f_selection = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionDataContext_selection, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetSelectionDataContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetSelectionDataContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetSelectionDataContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetSelectionDataContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetSelectionDataContext_reply_context, f_context_len, byte_order); } static void xselinuxListSelections(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xselinuxListSelections_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_selections_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListSelections"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-ListSelections)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_selections_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_ListSelections_reply_selections_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ListItem(tvb, offsetp, t, byte_order, f_selections_len); } static void xselinuxGetClientContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_resource; f_resource = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetClientContext_resource, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xselinuxGetClientContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_context_len; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetClientContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xselinux-GetClientContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_len = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xselinux_GetClientContext_reply_context_len, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfByte(tvb, offsetp, t, hf_x11_xselinux_GetClientContext_reply_context, f_context_len, byte_order); } static const value_string xselinux_extension_minor[] = { { 0, "QueryVersion" }, { 1, "SetDeviceCreateContext" }, { 2, "GetDeviceCreateContext" }, { 3, "SetDeviceContext" }, { 4, "GetDeviceContext" }, { 5, "SetWindowCreateContext" }, { 6, "GetWindowCreateContext" }, { 7, "GetWindowContext" }, { 8, "SetPropertyCreateContext" }, { 9, "GetPropertyCreateContext" }, { 10, "SetPropertyUseContext" }, { 11, "GetPropertyUseContext" }, { 12, "GetPropertyContext" }, { 13, "GetPropertyDataContext" }, { 14, "ListProperties" }, { 15, "SetSelectionCreateContext" }, { 16, "GetSelectionCreateContext" }, { 17, "SetSelectionUseContext" }, { 18, "GetSelectionUseContext" }, { 19, "GetSelectionContext" }, { 20, "GetSelectionDataContext" }, { 21, "ListSelections" }, { 22, "GetClientContext" }, { 0, NULL } }; const x11_event_info xselinux_events[] = { { NULL, NULL } }; static x11_reply_info xselinux_replies[] = { { 0, xselinuxQueryVersion_Reply }, { 2, xselinuxGetDeviceCreateContext_Reply }, { 4, xselinuxGetDeviceContext_Reply }, { 6, xselinuxGetWindowCreateContext_Reply }, { 7, xselinuxGetWindowContext_Reply }, { 9, xselinuxGetPropertyCreateContext_Reply }, { 11, xselinuxGetPropertyUseContext_Reply }, { 12, xselinuxGetPropertyContext_Reply }, { 13, xselinuxGetPropertyDataContext_Reply }, { 14, xselinuxListProperties_Reply }, { 16, xselinuxGetSelectionCreateContext_Reply }, { 18, xselinuxGetSelectionUseContext_Reply }, { 19, xselinuxGetSelectionContext_Reply }, { 20, xselinuxGetSelectionDataContext_Reply }, { 21, xselinuxListSelections_Reply }, { 22, xselinuxGetClientContext_Reply }, { 0, NULL } }; static void dispatch_xselinux(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xselinux_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xselinux_extension_minor, "")); switch (minor) { case 0: xselinuxQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xselinuxSetDeviceCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xselinuxGetDeviceCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xselinuxSetDeviceContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xselinuxGetDeviceContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xselinuxSetWindowCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xselinuxGetWindowCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xselinuxGetWindowContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xselinuxSetPropertyCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xselinuxGetPropertyCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xselinuxSetPropertyUseContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xselinuxGetPropertyUseContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xselinuxGetPropertyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xselinuxGetPropertyDataContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xselinuxListProperties(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xselinuxSetSelectionCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xselinuxGetSelectionCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xselinuxSetSelectionUseContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xselinuxGetSelectionUseContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xselinuxGetSelectionContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 20: xselinuxGetSelectionDataContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 21: xselinuxListSelections(tvb, pinfo, offsetp, t, byte_order, length); break; case 22: xselinuxGetClientContext(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xselinux(void) { set_handler("SELinux", dispatch_xselinux, xselinux_errors, xselinux_events, xselinux_replies); } static void xtestGetVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_major_version; int f_minor_version; f_major_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_GetVersion_major_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(1); f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_GetVersion_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xtestGetVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major_version; int f_minor_version; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetVersion"); REPLY(reply); f_major_version = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_GetVersion_reply_major_version, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xtest-GetVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor_version = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_GetVersion_reply_minor_version, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xtestCompareCursor(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; int f_cursor; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_CompareCursor_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_cursor = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_CompareCursor_cursor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xtestCompareCursor_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_same; col_append_fstr(pinfo->cinfo, COL_INFO, "-CompareCursor"); REPLY(reply); f_same = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_CompareCursor_reply_same, tvb, *offsetp, 1, byte_order); *offsetp += 1; sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xtest-CompareCursor)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xtestFakeInput(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_type; int f_detail; int f_time; int f_root; int f_rootX; int f_rootY; int f_deviceid; f_type = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_type, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; f_detail = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_detail, tvb, *offsetp, 1, ENC_NA); *offsetp += 1; UNUSED(2); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_root = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_root, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(8); f_rootX = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_rootX, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_rootY = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_rootY, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(7); f_deviceid = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_FakeInput_deviceid, tvb, *offsetp, 1, byte_order); *offsetp += 1; } static void xtestGrabControl(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_impervious; f_impervious = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xtest_GrabControl_impervious, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static const value_string xtest_extension_minor[] = { { 0, "GetVersion" }, { 1, "CompareCursor" }, { 2, "FakeInput" }, { 3, "GrabControl" }, { 0, NULL } }; const x11_event_info xtest_events[] = { { NULL, NULL } }; static x11_reply_info xtest_replies[] = { { 0, xtestGetVersion_Reply }, { 1, xtestCompareCursor_Reply }, { 0, NULL } }; static void dispatch_xtest(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xtest_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xtest_extension_minor, "")); switch (minor) { case 0: xtestGetVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xtestCompareCursor(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xtestFakeInput(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xtestGrabControl(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xtest(void) { set_handler("XTEST", dispatch_xtest, xtest_errors, xtest_events, xtest_replies); } static void struct_Rational(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_numerator; int f_denominator; item = proto_tree_add_item(root, hf_x11_struct_Rational, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_numerator = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Rational_numerator, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_denominator = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Rational_denominator, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void struct_Format(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_visual; int f_depth; item = proto_tree_add_item(root, hf_x11_struct_Format, tvb, *offsetp, 8, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_visual = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Format_visual, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_Format_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } } static int struct_size_AdaptorInfo(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_name_size; int f_num_formats; f_name_size = VALUE16(tvb, *offsetp + size + 4); f_num_formats = VALUE16(tvb, *offsetp + size + 8); size += f_name_size * 1; size += f_num_formats * 8; return size + 12; } static void struct_AdaptorInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_base_id; int f_name_size; int f_num_ports; int f_num_formats; int f_type; item = proto_tree_add_item(root, hf_x11_struct_AdaptorInfo, tvb, *offsetp, struct_size_AdaptorInfo(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_base_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AdaptorInfo_base_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AdaptorInfo_name_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_ports = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AdaptorInfo_num_ports, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_formats = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AdaptorInfo_num_formats, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_type = VALUE8(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_AdaptorInfo_type, tvb, *offsetp, 1, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_AdaptorInfo_type_mask_InputMask, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_AdaptorInfo_type_mask_OutputMask, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_AdaptorInfo_type_mask_VideoMask, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_AdaptorInfo_type_mask_StillMask, tvb, *offsetp, 1, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_AdaptorInfo_type_mask_ImageMask, tvb, *offsetp, 1, byte_order); } *offsetp += 1; UNUSED(1); listOfByte(tvb, offsetp, t, hf_x11_struct_AdaptorInfo_name, f_name_size, byte_order); struct_Format(tvb, offsetp, t, byte_order, f_num_formats); } } static int struct_size_EncodingInfo(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_name_size; f_name_size = VALUE16(tvb, *offsetp + size + 4); size += f_name_size * 1; return size + 20; } static void struct_EncodingInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_encoding; int f_name_size; int f_width; int f_height; item = proto_tree_add_item(root, hf_x11_struct_EncodingInfo, tvb, *offsetp, struct_size_EncodingInfo(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_encoding = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_EncodingInfo_encoding, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_name_size = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_EncodingInfo_name_size, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_EncodingInfo_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_EncodingInfo_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(2); struct_Rational(tvb, offsetp, t, byte_order, 1); listOfByte(tvb, offsetp, t, hf_x11_struct_EncodingInfo_name, f_name_size, byte_order); } } static int struct_size_AttributeInfo(tvbuff_t *tvb, int *offsetp, guint byte_order _U_) { int size = 0; int f_size; f_size = VALUE32(tvb, *offsetp + size + 12); size += f_size * 1; return size + 16; } static void struct_AttributeInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_flags; int f_min; int f_max; int f_size; item = proto_tree_add_item(root, hf_x11_struct_AttributeInfo, tvb, *offsetp, struct_size_AttributeInfo(tvb, offsetp, byte_order), ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_flags = VALUE32(tvb, *offsetp); { proto_item *ti = proto_tree_add_item(t, hf_x11_struct_AttributeInfo_flags, tvb, *offsetp, 4, byte_order); proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle); proto_tree_add_item(bitmask_tree, hf_x11_struct_AttributeInfo_flags_mask_Gettable, tvb, *offsetp, 4, byte_order); proto_tree_add_item(bitmask_tree, hf_x11_struct_AttributeInfo_flags_mask_Settable, tvb, *offsetp, 4, byte_order); } *offsetp += 4; f_min = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AttributeInfo_min, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_max = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AttributeInfo_max, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_AttributeInfo_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_struct_AttributeInfo_name, f_size, byte_order); } } static void struct_ImageFormatInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_id; int f_type; int f_byte_order; int f_bpp; int f_num_planes; int f_depth; int f_red_mask; int f_green_mask; int f_blue_mask; int f_format; int f_y_sample_bits; int f_u_sample_bits; int f_v_sample_bits; int f_vhorz_y_period; int f_vhorz_u_period; int f_vhorz_v_period; int f_vvert_y_period; int f_vvert_u_period; int f_vvert_v_period; int f_vscanline_order; item = proto_tree_add_item(root, hf_x11_struct_ImageFormatInfo, tvb, *offsetp, 82, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_type = field8(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_type, byte_order); f_byte_order = field8(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_byte_order, byte_order); UNUSED(2); listOfByte(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_guid, 16, byte_order); f_bpp = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_bpp, tvb, *offsetp, 1, byte_order); *offsetp += 1; f_num_planes = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_num_planes, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(2); f_depth = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_depth, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); f_red_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_red_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_green_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_green_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_blue_mask = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_blue_mask, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_format = field8(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_format, byte_order); UNUSED(3); f_y_sample_bits = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_y_sample_bits, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_u_sample_bits = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_u_sample_bits, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_v_sample_bits = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_v_sample_bits, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vhorz_y_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vhorz_y_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vhorz_u_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vhorz_u_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vhorz_v_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vhorz_v_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vvert_y_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vvert_y_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vvert_u_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vvert_u_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vvert_v_period = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_ImageFormatInfo_vvert_v_period, tvb, *offsetp, 4, byte_order); *offsetp += 4; listOfByte(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_vcomp_order, 32, byte_order); f_vscanline_order = field8(tvb, offsetp, t, hf_x11_struct_ImageFormatInfo_vscanline_order, byte_order); UNUSED(11); } } static void xvVideoNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_reason; int f_time; int f_drawable; int f_port; f_reason = field8(tvb, offsetp, t, hf_x11_xv_VideoNotify_reason, byte_order); CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_VideoNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_VideoNotify_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_VideoNotify_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvPortNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, guint byte_order) { int f_time; int f_port; int f_attribute; int f_value; UNUSED(1); CARD16(event_sequencenumber); f_time = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PortNotify_time, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PortNotify_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_attribute = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PortNotify_attribute, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_value = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PortNotify_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvQueryExtension(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xvQueryExtension_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major; int f_minor; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryExtension"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryExtension)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryExtension_reply_major, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_minor = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryExtension_reply_minor, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvQueryAdaptors(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_window; f_window = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryAdaptors_window, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvQueryAdaptors_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_adaptors; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryAdaptors"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryAdaptors)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_adaptors = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryAdaptors_reply_num_adaptors, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); struct_AdaptorInfo(tvb, offsetp, t, byte_order, f_num_adaptors); } static void xvQueryEncodings(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryEncodings_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvQueryEncodings_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_encodings; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryEncodings"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryEncodings)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_encodings = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryEncodings_reply_num_encodings, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(22); struct_EncodingInfo(tvb, offsetp, t, byte_order, f_num_encodings); } static void xvGrabPort(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_time; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GrabPort_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_time = field32(tvb, offsetp, t, hf_x11_xv_GrabPort_time, byte_order); } static void xvGrabPort_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_result; col_append_fstr(pinfo->cinfo, COL_INFO, "-GrabPort"); REPLY(reply); f_result = field8(tvb, offsetp, t, hf_x11_xv_GrabPort_reply_result, byte_order); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-GrabPort)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvUngrabPort(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_time; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_UngrabPort_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_time = field32(tvb, offsetp, t, hf_x11_xv_UngrabPort_time, byte_order); } static void xvPutVideo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_vid_x; int f_vid_y; int f_vid_w; int f_vid_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vid_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_vid_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_vid_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_vid_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_vid_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutVideo_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvPutStill(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_vid_x; int f_vid_y; int f_vid_w; int f_vid_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vid_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_vid_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_vid_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_vid_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_vid_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutStill_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvGetVideo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_vid_x; int f_vid_y; int f_vid_w; int f_vid_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vid_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_vid_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_vid_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_vid_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_vid_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetVideo_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvGetStill(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_vid_x; int f_vid_y; int f_vid_w; int f_vid_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vid_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_vid_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_vid_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_vid_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_vid_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetStill_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvStopVideo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_StopVideo_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_StopVideo_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvSelectVideoNotify(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_drawable; int f_onoff; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SelectVideoNotify_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_onoff = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SelectVideoNotify_onoff, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xvSelectPortNotify(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_onoff; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SelectPortNotify_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_onoff = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SelectPortNotify_onoff, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xvQueryBestSize(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_vid_w; int f_vid_h; int f_drw_w; int f_drw_h; int f_motion; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_vid_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_vid_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_vid_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_vid_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_motion = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_motion, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static void xvQueryBestSize_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_actual_width; int f_actual_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryBestSize"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryBestSize)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_actual_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_reply_actual_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_actual_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryBestSize_reply_actual_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvSetPortAttribute(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_attribute; int f_value; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SetPortAttribute_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_attribute = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SetPortAttribute_attribute, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_value = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_SetPortAttribute_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvGetPortAttribute(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_attribute; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetPortAttribute_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_attribute = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetPortAttribute_attribute, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvGetPortAttribute_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_value; col_append_fstr(pinfo->cinfo, COL_INFO, "-GetPortAttribute"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-GetPortAttribute)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_value = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_GetPortAttribute_reply_value, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvQueryPortAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryPortAttributes_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvQueryPortAttributes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_attributes; int f_text_size; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryPortAttributes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryPortAttributes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_attributes = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryPortAttributes_reply_num_attributes, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_text_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryPortAttributes_reply_text_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(16); struct_AttributeInfo(tvb, offsetp, t, byte_order, f_num_attributes); } static void xvListImageFormats(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ListImageFormats_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvListImageFormats_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_formats; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListImageFormats"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-ListImageFormats)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_formats = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ListImageFormats_reply_num_formats, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ImageFormatInfo(tvb, offsetp, t, byte_order, f_num_formats); } static void xvQueryImageAttributes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_id; int f_width; int f_height; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvQueryImageAttributes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num_planes; int f_data_size; int f_width; int f_height; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryImageAttributes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xv-QueryImageAttributes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num_planes = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_reply_num_planes, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_data_size = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_reply_data_size, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_reply_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_QueryImageAttributes_reply_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_xv_QueryImageAttributes_reply_pitches, hf_x11_xv_QueryImageAttributes_reply_pitches_item, f_num_planes, byte_order); listOfCard32(tvb, offsetp, t, hf_x11_xv_QueryImageAttributes_reply_offsets, hf_x11_xv_QueryImageAttributes_reply_offsets_item, f_num_planes, byte_order); } static void xvPutImage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_id; int f_src_x; int f_src_y; int f_src_w; int f_src_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; int f_width; int f_height; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_src_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_src_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_PutImage_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_xv_PutImage_data, (length - 40) / 1, byte_order); } static void xvShmPutImage(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port; int f_drawable; int f_gc; int f_shmseg; int f_id; int f_offset; int f_src_x; int f_src_y; int f_src_w; int f_src_h; int f_drw_x; int f_drw_y; int f_drw_w; int f_drw_h; int f_width; int f_height; int f_send_event; f_port = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_port, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_drawable = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_drawable, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_gc = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_gc, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_shmseg = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_shmseg, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_offset = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_offset, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_src_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_src_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_src_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_src_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_src_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_src_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_x = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_drw_x, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_y = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_drw_y, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_w = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_drw_w, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_drw_h = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_drw_h, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_send_event = VALUE8(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xv_ShmPutImage_send_event, tvb, *offsetp, 1, byte_order); *offsetp += 1; UNUSED(3); } static const value_string xv_extension_minor[] = { { 0, "QueryExtension" }, { 1, "QueryAdaptors" }, { 2, "QueryEncodings" }, { 3, "GrabPort" }, { 4, "UngrabPort" }, { 5, "PutVideo" }, { 6, "PutStill" }, { 7, "GetVideo" }, { 8, "GetStill" }, { 9, "StopVideo" }, { 10, "SelectVideoNotify" }, { 11, "SelectPortNotify" }, { 12, "QueryBestSize" }, { 13, "SetPortAttribute" }, { 14, "GetPortAttribute" }, { 15, "QueryPortAttributes" }, { 16, "ListImageFormats" }, { 17, "QueryImageAttributes" }, { 18, "PutImage" }, { 19, "ShmPutImage" }, { 0, NULL } }; const x11_event_info xv_events[] = { { "xv-VideoNotify", xvVideoNotify }, { "xv-PortNotify", xvPortNotify }, { NULL, NULL } }; static x11_reply_info xv_replies[] = { { 0, xvQueryExtension_Reply }, { 1, xvQueryAdaptors_Reply }, { 2, xvQueryEncodings_Reply }, { 3, xvGrabPort_Reply }, { 12, xvQueryBestSize_Reply }, { 14, xvGetPortAttribute_Reply }, { 15, xvQueryPortAttributes_Reply }, { 16, xvListImageFormats_Reply }, { 17, xvQueryImageAttributes_Reply }, { 0, NULL } }; static void dispatch_xv(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xv_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xv_extension_minor, "")); switch (minor) { case 0: xvQueryExtension(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xvQueryAdaptors(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xvQueryEncodings(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xvGrabPort(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xvUngrabPort(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xvPutVideo(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xvPutStill(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xvGetVideo(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xvGetStill(tvb, pinfo, offsetp, t, byte_order, length); break; case 9: xvStopVideo(tvb, pinfo, offsetp, t, byte_order, length); break; case 10: xvSelectVideoNotify(tvb, pinfo, offsetp, t, byte_order, length); break; case 11: xvSelectPortNotify(tvb, pinfo, offsetp, t, byte_order, length); break; case 12: xvQueryBestSize(tvb, pinfo, offsetp, t, byte_order, length); break; case 13: xvSetPortAttribute(tvb, pinfo, offsetp, t, byte_order, length); break; case 14: xvGetPortAttribute(tvb, pinfo, offsetp, t, byte_order, length); break; case 15: xvQueryPortAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 16: xvListImageFormats(tvb, pinfo, offsetp, t, byte_order, length); break; case 17: xvQueryImageAttributes(tvb, pinfo, offsetp, t, byte_order, length); break; case 18: xvPutImage(tvb, pinfo, offsetp, t, byte_order, length); break; case 19: xvShmPutImage(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xv(void) { set_handler("XVideo", dispatch_xv, xv_errors, xv_events, xv_replies); } static void struct_SurfaceInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, guint byte_order _U_, int count) { int i; for (i = 0; i < count; i++) { proto_item *item; proto_tree *t; int f_id; int f_chroma_format; int f_pad0; int f_max_width; int f_max_height; int f_subpicture_max_width; int f_subpicture_max_height; int f_mc_type; int f_flags; item = proto_tree_add_item(root, hf_x11_struct_SurfaceInfo, tvb, *offsetp, 24, ENC_NA); t = proto_item_add_subtree(item, ett_x11_rectangle); f_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_chroma_format = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_chroma_format, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_pad0 = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_pad0, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_max_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_max_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_max_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_max_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_subpicture_max_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_subpicture_max_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_subpicture_max_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_subpicture_max_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_mc_type = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_mc_type, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_flags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_struct_SurfaceInfo_flags, tvb, *offsetp, 4, byte_order); *offsetp += 4; } } static void xvmcQueryVersion(tvbuff_t *tvb _U_, packet_info *pinfo _U_, int *offsetp _U_, proto_tree *t _U_, guint byte_order _U_, int length _U_) { } static void xvmcQueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_major; int f_minor; col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-QueryVersion)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_major = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_QueryVersion_reply_major, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_minor = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_QueryVersion_reply_minor, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcListSurfaceTypes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port_id; f_port_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_ListSurfaceTypes_port_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcListSurfaceTypes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListSurfaceTypes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-ListSurfaceTypes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_ListSurfaceTypes_reply_num, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_SurfaceInfo(tvb, offsetp, t, byte_order, f_num); } static void xvmcCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_id; int f_port_id; int f_surface_id; int f_width; int f_height; int f_flags; f_context_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_context_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_port_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_port_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_surface_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_surface_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_flags = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_flags, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcCreateContext_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width_actual; int f_height_actual; int f_flags_return; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateContext"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-CreateContext)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width_actual = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_reply_width_actual, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height_actual = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_reply_height_actual, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_flags_return = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateContext_reply_flags_return, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); listOfCard32(tvb, offsetp, t, hf_x11_xvmc_CreateContext_reply_priv_data, hf_x11_xvmc_CreateContext_reply_priv_data_item, f_length, byte_order); } static void xvmcDestroyContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_context_id; f_context_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_DestroyContext_context_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcCreateSurface(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_surface_id; int f_context_id; f_surface_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSurface_surface_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSurface_context_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcCreateSurface_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateSurface"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-CreateSurface)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(24); listOfCard32(tvb, offsetp, t, hf_x11_xvmc_CreateSurface_reply_priv_data, hf_x11_xvmc_CreateSurface_reply_priv_data_item, f_length, byte_order); } static void xvmcDestroySurface(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_surface_id; f_surface_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_DestroySurface_surface_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcCreateSubpicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_subpicture_id; int f_context; int f_xvimage_id; int f_width; int f_height; f_subpicture_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_subpicture_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_context = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_context, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_xvimage_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_xvimage_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_width, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_height, tvb, *offsetp, 2, byte_order); *offsetp += 2; } static void xvmcCreateSubpicture_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_width_actual; int f_height_actual; int f_num_palette_entries; int f_entry_bytes; col_append_fstr(pinfo->cinfo, COL_INFO, "-CreateSubpicture"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-CreateSubpicture)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_width_actual = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_reply_width_actual, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_height_actual = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_reply_height_actual, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_num_palette_entries = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_reply_num_palette_entries, tvb, *offsetp, 2, byte_order); *offsetp += 2; f_entry_bytes = VALUE16(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_CreateSubpicture_reply_entry_bytes, tvb, *offsetp, 2, byte_order); *offsetp += 2; listOfByte(tvb, offsetp, t, hf_x11_xvmc_CreateSubpicture_reply_component_order, 4, byte_order); UNUSED(12); listOfCard32(tvb, offsetp, t, hf_x11_xvmc_CreateSubpicture_reply_priv_data, hf_x11_xvmc_CreateSubpicture_reply_priv_data_item, f_length, byte_order); } static void xvmcDestroySubpicture(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_subpicture_id; f_subpicture_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_DestroySubpicture_subpicture_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcListSubpictureTypes(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, guint byte_order, int length _U_) { int f_port_id; int f_surface_id; f_port_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_ListSubpictureTypes_port_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_surface_id = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_ListSubpictureTypes_surface_id, tvb, *offsetp, 4, byte_order); *offsetp += 4; } static void xvmcListSubpictureTypes_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int f_length, length, sequence_number; int f_num; col_append_fstr(pinfo->cinfo, COL_INFO, "-ListSubpictureTypes"); REPLY(reply); UNUSED(1); sequence_number = VALUE16(tvb, *offsetp); proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number, "sequencenumber: %d (xvmc-ListSubpictureTypes)", sequence_number); *offsetp += 2; f_length = VALUE32(tvb, *offsetp); length = f_length * 4 + 32; proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, byte_order); *offsetp += 4; f_num = VALUE32(tvb, *offsetp); proto_tree_add_item(t, hf_x11_xvmc_ListSubpictureTypes_reply_num, tvb, *offsetp, 4, byte_order); *offsetp += 4; UNUSED(20); struct_ImageFormatInfo(tvb, offsetp, t, byte_order, f_num); } static const value_string xvmc_extension_minor[] = { { 0, "QueryVersion" }, { 1, "ListSurfaceTypes" }, { 2, "CreateContext" }, { 3, "DestroyContext" }, { 4, "CreateSurface" }, { 5, "DestroySurface" }, { 6, "CreateSubpicture" }, { 7, "DestroySubpicture" }, { 8, "ListSubpictureTypes" }, { 0, NULL } }; const x11_event_info xvmc_events[] = { { NULL, NULL } }; static x11_reply_info xvmc_replies[] = { { 0, xvmcQueryVersion_Reply }, { 1, xvmcListSurfaceTypes_Reply }, { 2, xvmcCreateContext_Reply }, { 4, xvmcCreateSurface_Reply }, { 6, xvmcCreateSubpicture_Reply }, { 8, xvmcListSubpictureTypes_Reply }, { 0, NULL } }; static void dispatch_xvmc(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, guint byte_order) { int minor, length; minor = CARD8(xvmc_extension_minor); length = REQUEST_LENGTH(); col_append_fstr(pinfo->cinfo, COL_INFO, "-%s", val_to_str(minor, xvmc_extension_minor, "")); switch (minor) { case 0: xvmcQueryVersion(tvb, pinfo, offsetp, t, byte_order, length); break; case 1: xvmcListSurfaceTypes(tvb, pinfo, offsetp, t, byte_order, length); break; case 2: xvmcCreateContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 3: xvmcDestroyContext(tvb, pinfo, offsetp, t, byte_order, length); break; case 4: xvmcCreateSurface(tvb, pinfo, offsetp, t, byte_order, length); break; case 5: xvmcDestroySurface(tvb, pinfo, offsetp, t, byte_order, length); break; case 6: xvmcCreateSubpicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 7: xvmcDestroySubpicture(tvb, pinfo, offsetp, t, byte_order, length); break; case 8: xvmcListSubpictureTypes(tvb, pinfo, offsetp, t, byte_order, length); break; /* No need for a default case here, since Unknown is printed above, and UNDECODED() is taken care of by dissect_x11_request */ } } static void register_xvmc(void) { set_handler("XVideo-MotionCompensation", dispatch_xvmc, xvmc_errors, xvmc_events, xvmc_replies); } static void register_x11_extensions(void) { register_bigreq(); register_composite(); register_damage(); register_dpms(); register_dri2(); register_ge(); register_glx(); register_randr(); register_record(); register_render(); register_res(); register_screensaver(); register_shape(); register_shm(); register_sync(); register_xc_misc(); register_xevie(); register_xf86dri(); register_xf86vidmode(); register_xfixes(); register_xinerama(); register_xinput(); register_xkb(); register_xprint(); register_xselinux(); register_xtest(); register_xv(); register_xvmc(); }