[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git] / glib / gthread.h
index fc927da..3f026f6 100644 (file)
@@ -12,9 +12,7 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * GLib at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#ifndef __G_THREAD_H__
+#define __G_THREAD_H__
+
 #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
 #error "Only <glib.h> can be included directly."
 #endif
 
-#ifndef __G_THREAD_H__
-#define __G_THREAD_H__
-
 #include <glib/gatomic.h>
 #include <glib/gerror.h>
 
 G_BEGIN_DECLS
 
 #define G_THREAD_ERROR g_thread_error_quark ()
+GLIB_AVAILABLE_IN_ALL
 GQuark g_thread_error_quark (void);
 
 typedef enum
@@ -137,62 +136,100 @@ struct _GOnce
 #  define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name))
 #endif /* !G_DEBUG_LOCKS */
 
+GLIB_AVAILABLE_IN_2_32
 GThread *       g_thread_ref                    (GThread        *thread);
+GLIB_AVAILABLE_IN_2_32
 void            g_thread_unref                  (GThread        *thread);
+GLIB_AVAILABLE_IN_2_32
 GThread *       g_thread_new                    (const gchar    *name,
                                                  GThreadFunc     func,
                                                  gpointer        data);
+GLIB_AVAILABLE_IN_2_32
 GThread *       g_thread_try_new                (const gchar    *name,
                                                  GThreadFunc     func,
                                                  gpointer        data,
                                                  GError        **error);
+GLIB_AVAILABLE_IN_ALL
 GThread *       g_thread_self                   (void);
+GLIB_AVAILABLE_IN_ALL
 void            g_thread_exit                   (gpointer        retval);
+GLIB_AVAILABLE_IN_ALL
 gpointer        g_thread_join                   (GThread        *thread);
+GLIB_AVAILABLE_IN_ALL
 void            g_thread_yield                  (void);
 
 
+GLIB_AVAILABLE_IN_2_32
 void            g_mutex_init                    (GMutex         *mutex);
+GLIB_AVAILABLE_IN_2_32
 void            g_mutex_clear                   (GMutex         *mutex);
+GLIB_AVAILABLE_IN_ALL
 void            g_mutex_lock                    (GMutex         *mutex);
+GLIB_AVAILABLE_IN_ALL
 gboolean        g_mutex_trylock                 (GMutex         *mutex);
+GLIB_AVAILABLE_IN_ALL
 void            g_mutex_unlock                  (GMutex         *mutex);
 
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_init                  (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_clear                 (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_writer_lock           (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 gboolean        g_rw_lock_writer_trylock        (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_writer_unlock         (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_reader_lock           (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 gboolean        g_rw_lock_reader_trylock        (GRWLock        *rw_lock);
+GLIB_AVAILABLE_IN_2_32
 void            g_rw_lock_reader_unlock         (GRWLock        *rw_lock);
 
+GLIB_AVAILABLE_IN_2_32
 void            g_rec_mutex_init                (GRecMutex      *rec_mutex);
+GLIB_AVAILABLE_IN_2_32
 void            g_rec_mutex_clear               (GRecMutex      *rec_mutex);
+GLIB_AVAILABLE_IN_2_32
 void            g_rec_mutex_lock                (GRecMutex      *rec_mutex);
+GLIB_AVAILABLE_IN_2_32
 gboolean        g_rec_mutex_trylock             (GRecMutex      *rec_mutex);
+GLIB_AVAILABLE_IN_2_32
 void            g_rec_mutex_unlock              (GRecMutex      *rec_mutex);
 
+GLIB_AVAILABLE_IN_2_32
 void            g_cond_init                     (GCond          *cond);
+GLIB_AVAILABLE_IN_2_32
 void            g_cond_clear                    (GCond          *cond);
+GLIB_AVAILABLE_IN_ALL
 void            g_cond_wait                     (GCond          *cond,
                                                  GMutex         *mutex);
+GLIB_AVAILABLE_IN_ALL
 void            g_cond_signal                   (GCond          *cond);
+GLIB_AVAILABLE_IN_ALL
 void            g_cond_broadcast                (GCond          *cond);
+GLIB_AVAILABLE_IN_2_32
 gboolean        g_cond_wait_until               (GCond          *cond,
                                                  GMutex         *mutex,
                                                  gint64          end_time);
 
+GLIB_AVAILABLE_IN_ALL
 gpointer        g_private_get                   (GPrivate       *key);
+GLIB_AVAILABLE_IN_ALL
 void            g_private_set                   (GPrivate       *key,
                                                  gpointer        value);
+GLIB_AVAILABLE_IN_2_32
 void            g_private_replace               (GPrivate       *key,
                                                  gpointer        value);
 
+GLIB_AVAILABLE_IN_ALL
 gpointer        g_once_impl                     (GOnce          *once,
                                                  GThreadFunc     func,
                                                  gpointer        arg);
+GLIB_AVAILABLE_IN_ALL
 gboolean        g_once_init_enter               (volatile void  *location);
+GLIB_AVAILABLE_IN_ALL
 void            g_once_init_leave               (volatile void  *location,
                                                  gsize           result);
 
@@ -226,6 +263,9 @@ void            g_once_init_leave               (volatile void  *location,
   (g_once_init_leave((location), (gsize) (result)))
 #endif
 
+GLIB_AVAILABLE_IN_2_36
+guint          g_get_num_processors (void);
+
 G_END_DECLS
 
 #endif /* __G_THREAD_H__ */