client-constants.h (2821B)
1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20#ifndef _GUAC_CLIENT_CONSTANTS_H 21#define _GUAC_CLIENT_CONSTANTS_H 22 23/** 24 * Constants related to the Guacamole client structure, guac_client. 25 * 26 * @file client-constants.h 27 */ 28 29/** 30 * The maximum number of inbound or outbound streams supported by any one 31 * guac_client. 32 */ 33#define GUAC_CLIENT_MAX_STREAMS 64 34 35/** 36 * The index of a closed stream. 37 */ 38#define GUAC_CLIENT_CLOSED_STREAM_INDEX -1 39 40/** 41 * The character prefix which identifies a client ID. 42 */ 43#define GUAC_CLIENT_ID_PREFIX '$' 44 45/** 46 * The flag set in the mouse button mask when the left mouse button is down. 47 */ 48#define GUAC_CLIENT_MOUSE_LEFT 0x01 49 50/** 51 * The flag set in the mouse button mask when the middle mouse button is down. 52 */ 53#define GUAC_CLIENT_MOUSE_MIDDLE 0x02 54 55/** 56 * The flag set in the mouse button mask when the right mouse button is down. 57 */ 58#define GUAC_CLIENT_MOUSE_RIGHT 0x04 59 60/** 61 * The flag set in the mouse button mask when the mouse scrollwheel is scrolled 62 * up. Note that mouse scrollwheels are actually sets of two buttons. One 63 * button is pressed and released for an upward scroll, and the other is 64 * pressed and released for a downward scroll. Some mice may actually implement 65 * these as separate buttons, not a wheel. 66 */ 67#define GUAC_CLIENT_MOUSE_SCROLL_UP 0x08 68 69/** 70 * The flag set in the mouse button mask when the mouse scrollwheel is scrolled 71 * down. Note that mouse scrollwheels are actually sets of two buttons. One 72 * button is pressed and released for an upward scroll, and the other is 73 * pressed and released for a downward scroll. Some mice may actually implement 74 * these as separate buttons, not a wheel. 75 */ 76#define GUAC_CLIENT_MOUSE_SCROLL_DOWN 0x10 77 78/** 79 * The minimum number of buffers to create before allowing free'd buffers to 80 * be reclaimed. In the case a protocol rapidly creates, uses, and destroys 81 * buffers, this can prevent unnecessary reuse of the same buffer (which 82 * would make draw operations unnecessarily synchronous). 83 */ 84#define GUAC_BUFFER_POOL_INITIAL_SIZE 1024 85 86#endif 87