1dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz/* 2dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * Copyright 2009 VMware, Inc. 3dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * All Rights Reserved. 4dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * 5dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * Permission is hereby granted, free of charge, to any person obtaining a 6dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * copy of this software and associated documentation files (the "Software"), 7dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * to deal in the Software without restriction, including without limitation 8dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * on the rights to use, copy, modify, merge, publish, distribute, sub 9dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * license, and/or sell copies of the Software, and to permit persons to whom 10dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * the Software is furnished to do so, subject to the following conditions: 11dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * 12dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * The above copyright notice and this permission notice (including the next 13dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * paragraph) shall be included in all copies or substantial portions of the 14dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * Software. 15dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * 16dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 19dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * VMWARE AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 20dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 21dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 22dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * USE OR OTHER DEALINGS IN THE SOFTWARE. 23dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz */ 24dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 25dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz/* 26dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * This file holds structs decelerations and function prototypes for one of 27dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * the rbug extensions. Implementation of the functions is in the same folder 28dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * in the c file matching this file's name. 29dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * 30dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * The structs what is returned from the demarshal functions. The functions 31dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * starting rbug_send_* encodes a call to the write format and sends that to 32dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * the supplied connection, while functions starting with rbug_demarshal_* 33dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * demarshal data from the wire protocol. 34dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * 35dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz * Structs and functions ending with _reply are replies to requests. 36dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz */ 37dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 38dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz#ifndef _RBUG_PROTO_CONTEXT_H_ 39dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz#define _RBUG_PROTO_CONTEXT_H_ 40dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 41fc3bac8a407dc2a2804236e1e2b813a3991fa84fAaron Watry#include "rbug_proto.h" 42fc3bac8a407dc2a2804236e1e2b813a3991fa84fAaron Watry#include "rbug_core.h" 43dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 44384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantztypedef enum 45384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz{ 46384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz RBUG_BLOCK_BEFORE = 1, 47384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz RBUG_BLOCK_AFTER = 2, 48f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz RBUG_BLOCK_RULE = 4, 49f8ca25e02faa094218e741af041464728347574fVinson Lee RBUG_BLOCK_MASK = 7 50384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz} rbug_block_t; 51dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 52dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_list 53dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 54dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 55dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz}; 56dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 57dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_info 58dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 59dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 60dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context; 61dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz}; 62dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 63384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_block 64384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz{ 65384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz struct rbug_header header; 66384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_context_t context; 67384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t block; 68384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz}; 69384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 70384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_step 71dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 72dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 73dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context; 74384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t step; 75dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz}; 76dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 77384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_unblock 78dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 79dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 80dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context; 81384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t unblock; 82384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz}; 83384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 84f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantzstruct rbug_proto_context_draw_rule 85f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz{ 86f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz struct rbug_header header; 87f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_context_t context; 88f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_shader_t vertex; 89f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_shader_t fragment; 90f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_texture_t texture; 91f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_texture_t surface; 92f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_block_t block; 93f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz}; 94f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz 95f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantzstruct rbug_proto_context_flush 96f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz{ 97f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz struct rbug_header header; 98f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_context_t context; 99f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz}; 100f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz 101dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_list_reply 102dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 103dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 104dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t serial; 105dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t *contexts; 106dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t contexts_len; 107dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz}; 108dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 109dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_info_reply 110dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz{ 111dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz struct rbug_header header; 112dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t serial; 113384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_shader_t vertex; 114384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_shader_t fragment; 115f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_texture_t *texs; 116f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz uint32_t texs_len; 117dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_texture_t *cbufs; 118dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t cbufs_len; 119384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_texture_t zsbuf; 120384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t blocker; 121384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t blocked; 122384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz}; 123384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 124384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_blocked 125384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz{ 126384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz struct rbug_header header; 127384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_context_t context; 128384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t block; 129dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz}; 130dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 131dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzint rbug_send_context_list(struct rbug_connection *__con, 132dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 133dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 134dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzint rbug_send_context_info(struct rbug_connection *__con, 135dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context, 136dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 137dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 138384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzint rbug_send_context_draw_block(struct rbug_connection *__con, 139dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context, 140384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t block, 141dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 142dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 143384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzint rbug_send_context_draw_step(struct rbug_connection *__con, 144384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_context_t context, 145384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t step, 146384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz uint32_t *__serial); 147384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 148384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzint rbug_send_context_draw_unblock(struct rbug_connection *__con, 149dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t context, 150384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t unblock, 151dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 152dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 153f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantzint rbug_send_context_draw_rule(struct rbug_connection *__con, 154f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_context_t context, 155f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_shader_t vertex, 156f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_shader_t fragment, 157f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_texture_t texture, 158f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_texture_t surface, 159f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz rbug_block_t block, 160f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz uint32_t *__serial); 161f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantz 162384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzint rbug_send_context_flush(struct rbug_connection *__con, 163384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_context_t context, 164384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz uint32_t *__serial); 165384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 166dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzint rbug_send_context_list_reply(struct rbug_connection *__con, 167dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t serial, 168dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_context_t *contexts, 169dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t contexts_len, 170dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 171dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 172dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzint rbug_send_context_info_reply(struct rbug_connection *__con, 173dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t serial, 174384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_shader_t vertex, 175384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_shader_t fragment, 176f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz rbug_texture_t *texs, 177f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz uint32_t texs_len, 178dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz rbug_texture_t *cbufs, 179dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t cbufs_len, 180384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_texture_t zsbuf, 181384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t blocker, 182384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t blocked, 183dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz uint32_t *__serial); 184dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 185384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzint rbug_send_context_draw_blocked(struct rbug_connection *__con, 186384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_context_t context, 187384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz rbug_block_t block, 188384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz uint32_t *__serial); 189384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 190dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_list * rbug_demarshal_context_list(struct rbug_proto_header *header); 191dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 192dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_info * rbug_demarshal_context_info(struct rbug_proto_header *header); 193dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 194384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_block * rbug_demarshal_context_draw_block(struct rbug_proto_header *header); 195dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 196384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_step * rbug_demarshal_context_draw_step(struct rbug_proto_header *header); 197384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 198384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_unblock * rbug_demarshal_context_draw_unblock(struct rbug_proto_header *header); 199384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 200f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantzstruct rbug_proto_context_draw_rule * rbug_demarshal_context_draw_rule(struct rbug_proto_header *header); 201f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz 202f3cf3d2fc2c0cb09cb1c18c08a135009904166b7Jakob Bornecrantzstruct rbug_proto_context_flush * rbug_demarshal_context_flush(struct rbug_proto_header *header); 203f0c21c02945f8379decfa3b2f294651d6b5af8efJakob Bornecrantz 204dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_list_reply * rbug_demarshal_context_list_reply(struct rbug_proto_header *header); 205dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 206dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantzstruct rbug_proto_context_info_reply * rbug_demarshal_context_info_reply(struct rbug_proto_header *header); 207dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz 208384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantzstruct rbug_proto_context_draw_blocked * rbug_demarshal_context_draw_blocked(struct rbug_proto_header *header); 209384bbe278d7e634cf1af5f786bfbde651c14df62Jakob Bornecrantz 210dfa4ebcbcc9c7e9e7562f73a4ddc367756623e5eJakob Bornecrantz#endif 211