cscg24-guacamole

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

socket-types.h (1477B)


      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_SOCKET_TYPES_H
     21#define _GUAC_SOCKET_TYPES_H
     22
     23/**
     24 * Type definitions related to the guac_socket object.
     25 *
     26 * @file socket-types.h
     27 */
     28
     29/**
     30 * The core I/O object of Guacamole. guac_socket provides buffered input and
     31 * output as well as convenience methods for efficiently writing base64 data.
     32 */
     33typedef struct guac_socket guac_socket;
     34
     35/**
     36 * Possible current states of a guac_socket.
     37 */
     38typedef enum guac_socket_state {
     39
     40    /**
     41     * The socket is open and can be written to / read from.
     42     */
     43    GUAC_SOCKET_OPEN,
     44
     45    /**
     46     * The socket is closed. Reads and writes will fail.
     47     */
     48    GUAC_SOCKET_CLOSED
     49
     50} guac_socket_state;
     51
     52#endif
     53