--- /dev/null
+#ifndef _LTHREAD_RDWR_H
+#define _LTHREAD_RDWR_H 1
+
+/********************************************************
+ * An example source module to accompany...
+ *
+ * "Using POSIX Threads: Programming with Pthreads"
+ * by Brad nichols, Dick Buttlar, Jackie Farrell
+ * O'Reilly & Associates, Inc.
+ *
+ ********************************************************
+ *
+ * Include file for reader/writer locks
+ *
+ */
+
+typedef struct rdwr_var {
+ int readers_reading;
+ int writer_writing;
+ pthread_mutex_t mutex;
+ pthread_cond_t lock_free;
+} pthread_rdwr_t;
+
+typedef void * pthread_rdwrattr_t;
+
+#define pthread_rdwrattr_default NULL;
+
+int pthread_rdwr_init_np(pthread_rdwr_t *rdwrp, pthread_rdwrattr_t *attrp);
+int pthread_rdwr_rlock_np(pthread_rdwr_t *rdwrp);
+int pthread_rdwr_runlock_np(pthread_rdwr_t *rdwrp);
+int pthread_rdwr_wlock_np(pthread_rdwr_t *rdwrp);
+int pthread_rdwr_wunlock_np(pthread_rdwr_t *rdwrp);
+
+#endif /* _LTHREAD_RDWR_H */