Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
glib-2.0 /
glib /
Delete
Unzip
Name
Size
Permission
Date
Action
deprecated
[ DIR ]
drwxr-xr-x
2024-03-12 14:18
galloca.h
3.82
KB
-rw-r--r--
2022-06-06 13:28
garray.h
8.78
KB
-rw-r--r--
2022-06-06 13:28
gasyncqueue.h
5.53
KB
-rw-r--r--
2022-06-06 13:28
gatomic.h
14.42
KB
-rw-r--r--
2022-06-06 13:28
gbacktrace.h
2.46
KB
-rw-r--r--
2022-06-06 13:28
gbase64.h
2.27
KB
-rw-r--r--
2022-06-06 13:28
gbitlock.h
2.83
KB
-rw-r--r--
2022-06-06 13:28
gbookmarkfile.h
9.45
KB
-rw-r--r--
2022-06-06 13:28
gbytes.h
3.25
KB
-rw-r--r--
2022-06-06 13:28
gcharset.h
1.34
KB
-rw-r--r--
2022-06-06 13:28
gchecksum.h
3.68
KB
-rw-r--r--
2022-06-06 13:28
gconvert.h
6.84
KB
-rw-r--r--
2022-06-06 13:28
gdataset.h
6.1
KB
-rw-r--r--
2022-06-06 13:28
gdate.h
11.38
KB
-rw-r--r--
2022-06-06 13:28
gdatetime.h
11.81
KB
-rw-r--r--
2022-06-06 13:28
gdir.h
2.04
KB
-rw-r--r--
2022-06-06 13:28
genviron.h
2.82
KB
-rw-r--r--
2022-06-06 13:28
gerror.h
3.89
KB
-rw-r--r--
2022-06-06 13:28
gfileutils.h
6.64
KB
-rw-r--r--
2022-06-06 13:28
ggettext.h
2.37
KB
-rw-r--r--
2022-06-06 13:28
ghash.h
7.37
KB
-rw-r--r--
2022-06-06 13:28
ghmac.h
3.39
KB
-rw-r--r--
2022-06-06 13:28
ghook.h
6.21
KB
-rw-r--r--
2022-06-06 13:28
ghostutils.h
1.42
KB
-rw-r--r--
2022-06-06 13:28
gi18n-lib.h
1.34
KB
-rw-r--r--
2022-06-06 13:28
gi18n.h
1.14
KB
-rw-r--r--
2022-06-06 13:28
giochannel.h
13.97
KB
-rw-r--r--
2022-06-06 13:28
gkeyfile.h
14.48
KB
-rw-r--r--
2022-06-06 13:28
glib-autocleanups.h
4.04
KB
-rw-r--r--
2022-06-06 13:28
glist.h
5.68
KB
-rw-r--r--
2022-06-06 13:28
gmacros.h
16.61
KB
-rw-r--r--
2022-06-06 13:28
gmain.h
22.03
KB
-rw-r--r--
2022-06-06 13:28
gmappedfile.h
1.96
KB
-rw-r--r--
2022-06-06 13:28
gmarkup.h
10.63
KB
-rw-r--r--
2022-06-06 13:28
gmem.h
12.89
KB
-rw-r--r--
2022-06-06 13:28
gmessages.h
25.04
KB
-rw-r--r--
2022-06-06 13:28
gnode.h
8.91
KB
-rw-r--r--
2022-06-06 13:28
goption.h
15.65
KB
-rw-r--r--
2022-06-06 13:28
gpattern.h
1.74
KB
-rw-r--r--
2022-06-06 13:28
gpoll.h
4.03
KB
-rw-r--r--
2022-06-06 13:28
gprimes.h
1.65
KB
-rw-r--r--
2022-06-06 13:28
gprintf.h
1.94
KB
-rw-r--r--
2022-06-06 13:28
gqsort.h
1.46
KB
-rw-r--r--
2022-06-06 13:28
gquark.h
2.62
KB
-rw-r--r--
2022-06-06 13:28
gqueue.h
6.97
KB
-rw-r--r--
2022-06-06 13:28
grand.h
3.11
KB
-rw-r--r--
2022-06-06 13:28
gregex.h
27.5
KB
-rw-r--r--
2022-06-06 13:28
gscanner.h
8.47
KB
-rw-r--r--
2022-06-06 13:28
gsequence.h
8.6
KB
-rw-r--r--
2022-06-06 13:28
gshell.h
1.78
KB
-rw-r--r--
2022-06-06 13:28
gslice.h
3.81
KB
-rw-r--r--
2022-06-06 13:28
gslist.h
5.46
KB
-rw-r--r--
2022-06-06 13:28
gspawn.h
13.99
KB
-rw-r--r--
2022-06-06 13:28
gstdio.h
4.74
KB
-rw-r--r--
2022-06-06 13:28
gstrfuncs.h
11.2
KB
-rw-r--r--
2022-06-06 13:28
gstring.h
7.78
KB
-rw-r--r--
2022-06-06 13:28
gstringchunk.h
2.08
KB
-rw-r--r--
2022-06-06 13:28
gtestutils.h
23.27
KB
-rw-r--r--
2022-06-06 13:28
gthread.h
11.34
KB
-rw-r--r--
2022-06-06 13:28
gthreadpool.h
3.73
KB
-rw-r--r--
2022-06-06 13:28
gtimer.h
2.31
KB
-rw-r--r--
2022-06-06 13:28
gtimezone.h
3.41
KB
-rw-r--r--
2022-06-06 13:28
gtrashstack.h
1.74
KB
-rw-r--r--
2022-06-06 13:28
gtree.h
4.09
KB
-rw-r--r--
2022-06-06 13:28
gtypes.h
18.98
KB
-rw-r--r--
2022-06-06 13:28
gunicode.h
37.75
KB
-rw-r--r--
2022-06-06 13:28
gurifuncs.h
2.65
KB
-rw-r--r--
2022-06-06 13:28
gutils.h
10.98
KB
-rw-r--r--
2022-06-06 13:28
gvariant.h
28.83
KB
-rw-r--r--
2022-06-06 13:28
gvarianttype.h
12.8
KB
-rw-r--r--
2022-06-06 13:28
gversion.h
1.93
KB
-rw-r--r--
2022-06-06 13:28
gversionmacros.h
14.16
KB
-rw-r--r--
2022-06-06 13:28
gwin32.h
5.34
KB
-rw-r--r--
2022-06-06 13:28
Save
Rename
/* * Copyright © 2011 Ryan Lortie * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2 of the * licence, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. * * Author: Ryan Lortie <desrt@desrt.ca> */ #ifndef __G_ATOMIC_H__ #define __G_ATOMIC_H__ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only <glib.h> can be included directly." #endif #include <glib/gtypes.h> G_BEGIN_DECLS GLIB_AVAILABLE_IN_ALL gint g_atomic_int_get (const volatile gint *atomic); GLIB_AVAILABLE_IN_ALL void g_atomic_int_set (volatile gint *atomic, gint newval); GLIB_AVAILABLE_IN_ALL void g_atomic_int_inc (volatile gint *atomic); GLIB_AVAILABLE_IN_ALL gboolean g_atomic_int_dec_and_test (volatile gint *atomic); GLIB_AVAILABLE_IN_ALL gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic, gint oldval, gint newval); GLIB_AVAILABLE_IN_ALL gint g_atomic_int_add (volatile gint *atomic, gint val); GLIB_AVAILABLE_IN_2_30 guint g_atomic_int_and (volatile guint *atomic, guint val); GLIB_AVAILABLE_IN_2_30 guint g_atomic_int_or (volatile guint *atomic, guint val); GLIB_AVAILABLE_IN_ALL guint g_atomic_int_xor (volatile guint *atomic, guint val); GLIB_AVAILABLE_IN_ALL gpointer g_atomic_pointer_get (const volatile void *atomic); GLIB_AVAILABLE_IN_ALL void g_atomic_pointer_set (volatile void *atomic, gpointer newval); GLIB_AVAILABLE_IN_ALL gboolean g_atomic_pointer_compare_and_exchange (volatile void *atomic, gpointer oldval, gpointer newval); GLIB_AVAILABLE_IN_ALL gssize g_atomic_pointer_add (volatile void *atomic, gssize val); GLIB_AVAILABLE_IN_2_30 gsize g_atomic_pointer_and (volatile void *atomic, gsize val); GLIB_AVAILABLE_IN_2_30 gsize g_atomic_pointer_or (volatile void *atomic, gsize val); GLIB_AVAILABLE_IN_ALL gsize g_atomic_pointer_xor (volatile void *atomic, gsize val); GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_int_add) gint g_atomic_int_exchange_and_add (volatile gint *atomic, gint val); G_END_DECLS #if defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) /* We prefer the new C11-style atomic extension of GCC if available */ #if defined(__ATOMIC_SEQ_CST) && !defined(__clang__) #define g_atomic_int_get(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ *(atomic) : 0); \ (gint) __atomic_load_4 ((atomic), __ATOMIC_SEQ_CST); \ })) #define g_atomic_int_set(atomic, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (newval) : 0); \ __atomic_store_4 ((atomic), (newval), __ATOMIC_SEQ_CST); \ })) #if GLIB_SIZEOF_VOID_P == 8 #define g_atomic_pointer_get(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (gpointer) __atomic_load_8 ((atomic), __ATOMIC_SEQ_CST); \ })) #define g_atomic_pointer_set(atomic, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ __atomic_store_8 ((atomic), (gsize) (newval), __ATOMIC_SEQ_CST); \ })) #else /* GLIB_SIZEOF_VOID_P == 8 */ #define g_atomic_pointer_get(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (gpointer) __atomic_load_4 ((atomic), __ATOMIC_SEQ_CST); \ })) #define g_atomic_pointer_set(atomic, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ __atomic_store_4 ((atomic), (gsize) (newval), __ATOMIC_SEQ_CST); \ })) #endif /* GLIB_SIZEOF_VOID_P == 8 */ #else /* defined(__ATOMIC_SEQ_CST) */ #define g_atomic_int_get(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ *(atomic) : 0); \ __sync_synchronize (); \ (gint) *(atomic); \ })) #define g_atomic_int_set(atomic, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (newval) : 0); \ *(atomic) = (newval); \ __sync_synchronize (); \ })) #define g_atomic_pointer_get(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ __sync_synchronize (); \ (gpointer) *(atomic); \ })) #define g_atomic_pointer_set(atomic, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ *(atomic) = (__typeof__ (*(atomic))) (gsize) (newval); \ __sync_synchronize (); \ })) #endif /* !defined(__ATOMIC_SEQ_CST) */ #define g_atomic_int_inc(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ *(atomic) : 0); \ (void) __sync_fetch_and_add ((atomic), 1); \ })) #define g_atomic_int_dec_and_test(atomic) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ *(atomic) : 0); \ __sync_fetch_and_sub ((atomic), 1) == 1; \ })) #define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (newval) ^ (oldval) : 0); \ (gboolean) __sync_bool_compare_and_swap ((atomic), (oldval), (newval)); \ })) #define g_atomic_int_add(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (val) : 0); \ (gint) __sync_fetch_and_add ((atomic), (val)); \ })) #define g_atomic_int_and(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (val) : 0); \ (guint) __sync_fetch_and_and ((atomic), (val)); \ })) #define g_atomic_int_or(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (val) : 0); \ (guint) __sync_fetch_and_or ((atomic), (val)); \ })) #define g_atomic_int_xor(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \ (void) (0 ? *(atomic) ^ (val) : 0); \ (guint) __sync_fetch_and_xor ((atomic), (val)); \ })) #define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ (gboolean) __sync_bool_compare_and_swap ((atomic), (oldval), (newval)); \ })) #define g_atomic_pointer_add(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ (void) (0 ? (val) ^ (val) : 0); \ (gssize) __sync_fetch_and_add ((atomic), (val)); \ })) #define g_atomic_pointer_and(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ (void) (0 ? (val) ^ (val) : 0); \ (gsize) __sync_fetch_and_and ((atomic), (val)); \ })) #define g_atomic_pointer_or(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ (void) (0 ? (val) ^ (val) : 0); \ (gsize) __sync_fetch_and_or ((atomic), (val)); \ })) #define g_atomic_pointer_xor(atomic, val) \ (G_GNUC_EXTENSION ({ \ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ (void) (0 ? (gpointer) *(atomic) : 0); \ (void) (0 ? (val) ^ (val) : 0); \ (gsize) __sync_fetch_and_xor ((atomic), (val)); \ })) #else /* defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) */ #define g_atomic_int_get(atomic) \ (g_atomic_int_get ((gint *) (atomic))) #define g_atomic_int_set(atomic, newval) \ (g_atomic_int_set ((gint *) (atomic), (gint) (newval))) #define g_atomic_int_compare_and_exchange(atomic, oldval, newval) \ (g_atomic_int_compare_and_exchange ((gint *) (atomic), (oldval), (newval))) #define g_atomic_int_add(atomic, val) \ (g_atomic_int_add ((gint *) (atomic), (val))) #define g_atomic_int_and(atomic, val) \ (g_atomic_int_and ((guint *) (atomic), (val))) #define g_atomic_int_or(atomic, val) \ (g_atomic_int_or ((guint *) (atomic), (val))) #define g_atomic_int_xor(atomic, val) \ (g_atomic_int_xor ((guint *) (atomic), (val))) #define g_atomic_int_inc(atomic) \ (g_atomic_int_inc ((gint *) (atomic))) #define g_atomic_int_dec_and_test(atomic) \ (g_atomic_int_dec_and_test ((gint *) (atomic))) #define g_atomic_pointer_get(atomic) \ (g_atomic_pointer_get (atomic)) #define g_atomic_pointer_set(atomic, newval) \ (g_atomic_pointer_set ((atomic), (gpointer) (newval))) #define g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) \ (g_atomic_pointer_compare_and_exchange ((atomic), (gpointer) (oldval), (gpointer) (newval))) #define g_atomic_pointer_add(atomic, val) \ (g_atomic_pointer_add ((atomic), (gssize) (val))) #define g_atomic_pointer_and(atomic, val) \ (g_atomic_pointer_and ((atomic), (gsize) (val))) #define g_atomic_pointer_or(atomic, val) \ (g_atomic_pointer_or ((atomic), (gsize) (val))) #define g_atomic_pointer_xor(atomic, val) \ (g_atomic_pointer_xor ((atomic), (gsize) (val))) #endif /* defined(__GNUC__) && defined(G_ATOMIC_OP_USE_GCC_BUILTINS) */ #endif /* __G_ATOMIC_H__ */