client-types.h (2761B)
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_TYPES_H 21#define _GUAC_CLIENT_TYPES_H 22 23/** 24 * Type definitions related to the Guacamole client structure, guac_client. 25 * 26 * @file client-types.h 27 */ 28 29/** 30 * Guacamole proxy client. 31 * 32 * Represents a Guacamole proxy client (the client which communicates to 33 * a server on behalf of Guacamole, on behalf of the web-client). 34 */ 35typedef struct guac_client guac_client; 36 37/** 38 * Possible current states of the Guacamole client. Currently, the only 39 * two states are GUAC_CLIENT_RUNNING and GUAC_CLIENT_STOPPING. 40 */ 41typedef enum guac_client_state { 42 43 /** 44 * The state of the client from when it has been allocated by the main 45 * daemon until it is killed or disconnected. 46 */ 47 GUAC_CLIENT_RUNNING, 48 49 /** 50 * The state of the client when a stop has been requested, signalling the 51 * I/O threads to shutdown. 52 */ 53 GUAC_CLIENT_STOPPING 54 55} guac_client_state; 56 57/** 58 * All supported log levels used by the logging subsystem of each Guacamole 59 * client. With the exception of GUAC_LOG_TRACE, these log levels correspond to 60 * a subset of the log levels defined by RFC 5424. 61 */ 62typedef enum guac_client_log_level { 63 64 /** 65 * Fatal errors. 66 */ 67 GUAC_LOG_ERROR = 3, 68 69 /** 70 * Non-fatal conditions that indicate problems. 71 */ 72 GUAC_LOG_WARNING = 4, 73 74 /** 75 * Informational messages of general interest to users or administrators. 76 */ 77 GUAC_LOG_INFO = 6, 78 79 /** 80 * Informational messages which can be useful for debugging, but are 81 * otherwise not useful to users or administrators. It is expected that 82 * debug level messages, while verbose, will not negatively affect 83 * performance. 84 */ 85 GUAC_LOG_DEBUG = 7, 86 87 /** 88 * Informational messages which can be useful for debugging, like 89 * GUAC_LOG_DEBUG, but which are so low-level that they may affect 90 * performance. 91 */ 92 GUAC_LOG_TRACE = 8 93 94} guac_client_log_level; 95 96#endif 97