Listing 1 Header for readers/writers lock

/* @(#) RWLock.h 1995-07-15 - Readers/writer lock.
 * Copyright (c) 1995 by JR (John Rogers).
 *
 * AUTHOR - JR (John Rogers, 72634.2402@CompuServe.com)
 */

#ifndef RWLOCK_H
#define RWLOCK_H

/*lint -strong(AJX,RWLock_T) */
/* DO NOT USE CONTENTS OF THIS TYPE! */
#define RWLock_T void   /* "RWLock_T *" -> "void *". */

/***** FUNCTIONS (ALPHABETICAL ORDER) *****/

int  /* Returns 0 if OK; -1 (& sets errno) on error. */
CloseRWLock(RWLock_T *);

/* MakeRWLock returns look pointer, or returns NULL and
 * sets errno on error. */
RWLock_T *
MakeRWLock(const char *);  /* Lock name. */

int  /* Returns 0 if OK; -1 (& sets errno) on error. */
RdLock(RWLock_T *);

int  /* Returns 0 if OK; -1 (& sets errno) on error. */
RdUnlock(RWLock_T *);

int  /* Returns 0 if OK; -1 (& sets errno) on error. */
WrtLock(RWLock_T *);

int  /* Returns 0 if OK; -1 (& sets errno) on error. */
WrtUnlock(RWLock_T *);

#endif
/* End of File */