/usr/include/fcitx-utils/utils.h is in fcitx-libs-dev 1:4.2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | /***************************************************************************
* Copyright (C) 2002~2005 by Yuking *
* yuking_net@sohu.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
/**
* @file utils.h
* @author CS Slayer wengxt@gmail.com
*
* @brief Misc function for Fcitx
*
*/
#ifndef _FCITX_UTILS_H_
#define _FCITX_UTILS_H_
#include <stdio.h>
#include <fcitx-utils/utarray.h>
#include <fcitx-utils/uthash.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief A hash set for string
**/
typedef struct _FcitxStringHashSet {
/**
* @brief String in Hash Set
**/
char *name;
/**
* @brief UT Hash handle
**/
UT_hash_handle hh;
} FcitxStringHashSet;
/**
* @brief Custom bsearch, it can search the most near value.
*
* @param key
* @param base
* @param nmemb
* @param size
* @param accurate
* @param compar
*
* @return
*/
void *fcitx_utils_custom_bsearch(const void *key, const void *base,
size_t nmemb, size_t size, int accurate,
int (*compar)(const void *, const void *));
/**
* @brief Fork twice to run as daemon
*
* @return void
**/
void fcitx_utils_init_as_daemon();
/**
* @brief Count the file line number
*
* @param fpDict file pointer
* @return int line number
**/
int fcitx_utils_calculate_record_number(FILE* fpDict);
/**
* @brief new empty string list
*
* @return UT_array*
**/
UT_array* fcitx_utils_new_string_list();
/**
* @brief Split a string by delm
*
* @param str input string
* @param delm character as delimiter
* @return UT_array* a new utarray for store the split string
**/
UT_array* fcitx_utils_split_string(const char *str, char delm);
/**
* @brief append a string with printf format
*
* @param list string list
* @param fmt printf fmt
* @return void
**/
void fcitx_utils_string_list_printf_append(UT_array* list, const char* fmt,...);
/**
* @brief Join string list with delm
*
* @param list string list
* @param delm delm
* @return char* return string, need to be free'd
**/
char* fcitx_utils_join_string_list(UT_array* list, char delm);
/**
* @brief Helper function for free the SplitString Output
*
* @param list the SplitString Output
* @return void
* @see SplitString
**/
void fcitx_utils_free_string_list(UT_array *list);
/**
* @brief Free String Hash Set
*
* @param sset String Hash Set
* @return void
*
* @since 4.1.3
**/
void fcitx_utils_free_string_hash_set(FcitxStringHashSet* sset);
/**
* @brief Trim the input string's white space
*
* @param s input string
* @return char* new malloced string, need to free'd by caller
**/
char* fcitx_utils_trim(const char *s);
/**
* @brief Malloc and memset all memory to zero
*
* @param bytes malloc size
* @return void* malloced pointer
**/
void* fcitx_utils_malloc0(size_t bytes);
/**
* @brief Get Display number
*
* @return int
**/
int fcitx_utils_get_display_number();
/**
* @brief Get current language code, result need to be free'd
*
* @return char*
**/
char* fcitx_utils_get_current_langcode();
/**
* @brief Get Current Process Name
*
* @return char*
**/
char* fcitx_utils_get_process_name();
#ifdef __cplusplus
}
#endif
#endif
// kate: indent-mode cstyle; space-indent on; indent-width 0;
|