Branch data Line data Source code
1 : : /* 2 : : * Copyright © 2018 Endless Mobile, Inc. 3 : : * 4 : : * SPDX-License-Identifier: LGPL-2.1-or-later 5 : : * 6 : : * This library is free software; you can redistribute it and/or 7 : : * modify it under the terms of the GNU Lesser General Public 8 : : * License as published by the Free Software Foundation; either 9 : : * version 2.1 of the License, or (at your option) any later version. 10 : : * 11 : : * This library is distributed in the hope that it will be useful, 12 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 : : * Lesser General Public License for more details. 15 : : * 16 : : * You should have received a copy of the GNU Lesser General Public 17 : : * License along with this library; if not, see <http://www.gnu.org/licenses/>. 18 : : * 19 : : * Author: Philip Withnall <withnall@endlessm.com> 20 : : */ 21 : : 22 : : #ifndef __G_UTILS_PRIVATE_H__ 23 : : #define __G_UTILS_PRIVATE_H__ 24 : : 25 : : #include "glibconfig.h" 26 : : #include "gtypes.h" 27 : : #include "gtestutils.h" 28 : : 29 : : #include <time.h> 30 : : 31 : : G_BEGIN_DECLS 32 : : 33 : : void g_set_user_dirs (const gchar *first_dir_type, 34 : : ...) G_GNUC_NULL_TERMINATED; 35 : : 36 : : /* Returns the smallest power of 2 greater than or equal to n, 37 : : * or 0 if such power does not fit in a gsize 38 : : */ 39 : : static inline gsize 40 : 658706 : g_nearest_pow (gsize num) 41 : : { 42 : 658706 : gsize n = num - 1; 43 : : 44 : 658706 : g_assert (num > 0 && num <= G_MAXSIZE / 2); 45 : : 46 : 658706 : n |= n >> 1; 47 : 658706 : n |= n >> 2; 48 : 658706 : n |= n >> 4; 49 : 658706 : n |= n >> 8; 50 : 658706 : n |= n >> 16; 51 : : #if GLIB_SIZEOF_SIZE_T == 8 52 : 658706 : n |= n >> 32; 53 : : #endif 54 : : 55 : 658706 : return n + 1; 56 : : } 57 : : 58 : : void _g_unset_cached_tmp_dir (void); 59 : : 60 : : gboolean _g_localtime (time_t timet, struct tm *tm); 61 : : 62 : : gboolean g_set_prgname_once (const gchar *prgname); 63 : : 64 : : G_END_DECLS 65 : : 66 : : #endif /* __G_UTILS_PRIVATE_H__ */