mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
9ef1a740c2
macros into our namespace and limit use to headers. A subsequent round will add macros to separately handle forward declarations of variables from declaration of function prototypes. The last round will add additional macros for declaring actual variables and functions.
163 lines
4.1 KiB
C
163 lines
4.1 KiB
C
/* $OpenLDAP$ */
|
|
/*
|
|
* Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms are permitted only
|
|
* as authorized by the OpenLDAP Public License. A copy of this
|
|
* license is available at http://www.OpenLDAP.org/license.html or
|
|
* in file LICENSE in the top-level directory of the distribution.
|
|
*/
|
|
/* ldap_pvt_thread.h - ldap threads header file NG */
|
|
|
|
#ifndef _LDAP_PVT_THREAD_H
|
|
#define _LDAP_PVT_THREAD_H
|
|
|
|
#include "ldap_cdefs.h"
|
|
#include "ldap_int_thread.h"
|
|
|
|
LDAP_BEGIN_DECL
|
|
|
|
typedef ldap_int_thread_t ldap_pvt_thread_t;
|
|
typedef ldap_int_thread_mutex_t ldap_pvt_thread_mutex_t;
|
|
typedef ldap_int_thread_cond_t ldap_pvt_thread_cond_t;
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_initialize LDAP_P(( void ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_destroy LDAP_P(( void ));
|
|
|
|
LDAP_F( unsigned int )
|
|
ldap_pvt_thread_sleep LDAP_P(( unsigned int s ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_get_concurrency LDAP_P(( void ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_set_concurrency LDAP_P(( int ));
|
|
|
|
#define LDAP_PVT_THREAD_CREATE_JOINABLE 0
|
|
#define LDAP_PVT_THREAD_CREATE_DETACHED 1
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_create LDAP_P((
|
|
ldap_pvt_thread_t * thread,
|
|
int detach,
|
|
void *(*start_routine)( void * ),
|
|
void *arg));
|
|
|
|
LDAP_F( void )
|
|
ldap_pvt_thread_exit LDAP_P(( void *retval ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_join LDAP_P(( ldap_pvt_thread_t thread, void **status ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_kill LDAP_P(( ldap_pvt_thread_t thread, int signo ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_yield LDAP_P(( void ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_cond_init LDAP_P(( ldap_pvt_thread_cond_t *cond ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_cond_destroy LDAP_P(( ldap_pvt_thread_cond_t *cond ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_cond_signal LDAP_P(( ldap_pvt_thread_cond_t *cond ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_cond_broadcast LDAP_P(( ldap_pvt_thread_cond_t *cond ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_cond_wait LDAP_P((
|
|
ldap_pvt_thread_cond_t *cond,
|
|
ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_mutex_init LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_mutex_destroy LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_mutex_lock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_mutex_trylock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_mutex_unlock LDAP_P(( ldap_pvt_thread_mutex_t *mutex ));
|
|
|
|
#ifndef LDAP_THREAD_HAVE_RDWR
|
|
typedef struct ldap_int_thread_rdwr_s * ldap_pvt_thread_rdwr_t;
|
|
#endif
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_init LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_destroy LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_rlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_rtrylock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_runlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_wlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_wtrylock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_wunlock LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
#ifdef LDAP_DEBUG
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_readers LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_writers LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_rdwr_active LDAP_P((ldap_pvt_thread_rdwr_t *rdwrp));
|
|
#endif /* LDAP_DEBUG */
|
|
|
|
#define LDAP_PVT_THREAD_EINVAL EINVAL
|
|
#define LDAP_PVT_THREAD_EBUSY EINVAL
|
|
|
|
typedef ldap_int_thread_pool_t ldap_pvt_thread_pool_t;
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_pool_init LDAP_P((
|
|
ldap_pvt_thread_pool_t *pool_out,
|
|
int max_concurrency,
|
|
int max_pending ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_pool_submit LDAP_P((
|
|
ldap_pvt_thread_pool_t *pool,
|
|
void *(*start_routine)( void * ),
|
|
void *arg ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_pool_backload LDAP_P((
|
|
ldap_pvt_thread_pool_t *pool ));
|
|
|
|
LDAP_F( int )
|
|
ldap_pvt_thread_pool_destroy LDAP_P((
|
|
ldap_pvt_thread_pool_t *pool,
|
|
int run_pending ));
|
|
|
|
|
|
LDAP_END_DECL
|
|
|
|
#endif /* _LDAP_THREAD_H */
|