1    | #ifndef READ_THREAD
2    | #define READ_THREAD
3    | 
4    | /***************************************
5    |   $Revision: 1.5 $
6    | 
7    |   Thread module (th)
8    | 
9    |   Status: NOT REVUED, NOT TESTED
10   | 
11   |   ******************/ /******************
12   |   Copyright (c) 1999                              RIPE NCC
13   |  
14   |   All Rights Reserved
15   |   
16   |   Permission to use, copy, modify, and distribute this software and its
17   |   documentation for any purpose and without fee is hereby granted,
18   |   provided that the above copyright notice appear in all copies and that
19   |   both that copyright notice and this permission notice appear in
20   |   supporting documentation, and that the name of the author not be
21   |   used in advertising or publicity pertaining to distribution of the
22   |   software without specific, written prior permission.
23   |   
24   |   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
25   |   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
26   |   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
27   |   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
28   |   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
29   |   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
30   |   ***************************************/
31   | #include <pthread.h>       /* Posix thread library */
32   | 
33   | typedef struct _rwlock {
34   |   pthread_mutex_t rw_mutex;
35   |   pthread_cond_t rw_cond;
36   |   int rw_count;
37   | } rw_lock_t;
38   | 
39   | 
40   | void TH_acquire_read_lock(rw_lock_t *prw_lock);
41   | void TH_release_read_lock(rw_lock_t *prw_lock);
42   | void TH_acquire_write_lock(rw_lock_t *prw_lock);
43   | void TH_release_write_lock(rw_lock_t *prw_lock);
44   | void TH_init_read_write_lock(rw_lock_t *prw_lock);
45   | void TH_do_whois(void *arg);
46   | void TH_do_config(void *arg);
47   | int TH_get_id(void);
48   | char *TH_to_string(void);
49   | void TH_run(int sock, void *do_function);
50   | void TH_run2(void *function);
51   | 
52   | #endif /* READ_THREAD */