blob: 1caa6bcb10ada665b7693a1bdb5dccb4a88608b9 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
#ifndef _GUAC_CLIENT_TYPES_H
#define _GUAC_CLIENT_TYPES_H
/**
* Type definitions related to the Guacamole client structure, guac_client.
*
* @file client-types.h
*/
/**
* Guacamole proxy client.
*
* Represents a Guacamole proxy client (the client which communicates to
* a server on behalf of Guacamole, on behalf of the web-client).
*/
typedef struct guac_client guac_client;
/**
* Possible current states of the Guacamole client. Currently, the only
* two states are GUAC_CLIENT_RUNNING and GUAC_CLIENT_STOPPING.
*/
typedef enum guac_client_state {
/**
* The state of the client from when it has been allocated by the main
* daemon until it is killed or disconnected.
*/
GUAC_CLIENT_RUNNING,
/**
* The state of the client when a stop has been requested, signalling the
* I/O threads to shutdown.
*/
GUAC_CLIENT_STOPPING
} guac_client_state;
/**
* All supported log levels used by the logging subsystem of each Guacamole
* client. With the exception of GUAC_LOG_TRACE, these log levels correspond to
* a subset of the log levels defined by RFC 5424.
*/
typedef enum guac_client_log_level {
/**
* Fatal errors.
*/
GUAC_LOG_ERROR = 3,
/**
* Non-fatal conditions that indicate problems.
*/
GUAC_LOG_WARNING = 4,
/**
* Informational messages of general interest to users or administrators.
*/
GUAC_LOG_INFO = 6,
/**
* Informational messages which can be useful for debugging, but are
* otherwise not useful to users or administrators. It is expected that
* debug level messages, while verbose, will not negatively affect
* performance.
*/
GUAC_LOG_DEBUG = 7,
/**
* Informational messages which can be useful for debugging, like
* GUAC_LOG_DEBUG, but which are so low-level that they may affect
* performance.
*/
GUAC_LOG_TRACE = 8
} guac_client_log_level;
#endif