common.h (1678B)
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 21#ifndef _GUAC_TERMINAL_COMMON_H 22#define _GUAC_TERMINAL_COMMON_H 23 24/** 25 * Miscellaneous terminal function definitions. 26 * 27 * @file common.h 28 */ 29 30#include "types.h" 31 32#include <stdbool.h> 33 34/** 35 * Returns the closest value to the value given that is also 36 * within the given range. 37 */ 38int guac_terminal_fit_to_range(int value, int min, int max); 39 40/** 41 * Encodes the given codepoint as UTF-8, storing the result within the 42 * provided buffer, and returning the number of bytes stored. 43 */ 44int guac_terminal_encode_utf8(int codepoint, char* utf8); 45 46/** 47 * Returns whether a codepoint has a corresponding glyph, or is rendered 48 * as a blank space. 49 */ 50bool guac_terminal_has_glyph(int codepoint); 51 52/** 53 * Similar to write, but automatically retries the write operation until 54 * an error occurs. 55 */ 56int guac_terminal_write_all(int fd, const char* buffer, int size); 57 58#endif 59