cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

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