/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	nfssys.h,v $
 * Revision 4.2.2.2  92/02/26  15:43:40  Charles_Briggs
 * 	Pool merge
 * 	[92/02/23  12:41:50  Charles_Briggs]
 * 
 * 	Merged in vnode sleep locks
 * 	[92/02/19  11:37:26  Charles_Briggs]
 * 
 * Revision 4.2  91/09/19  22:51:16  devbld
 * 	Adding ODE Headers
 * 
 * $EndLog$
 */
/*	
 *	@(#)$RCSfile: nfssys.h,v $ $Revision: 4.2.2.2 $ (DEC) $Date: 92/02/26 15:43:40 $
 */ 
/*
 */
/*
 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC.
 * ALL RIGHTS RESERVED
 */
/*
 * OSF/1 Release 1.0
 */
/*
 * Common functions for loadable NFS system calls.  Temporary
 * until we have general loadable system calls.
 */

#ifndef	_NFS_NFSSYS_H_
#define	_NFS_NFSSYS_H_


#define NULL_FUNC		(int (*)(int))0

udecl_simple_lock_data(,nfs_sys_lock)	/* for dynamic loading of nfs */
#define	NFS_SYS_LOCK()		usimple_lock(&nfs_sys_lock)
#define	NFS_SYS_UNLOCK()	usimple_unlock(&nfs_sys_lock)
#define	NFS_SYS_LOCK_INIT()	usimple_lock_init(&nfs_sys_lock)

lock_data_t	nfs_daemon_lock;	/* for dynamic loading/unloading */
#define	NFSD_LOCK()		lock_write(&nfs_daemon_lock)
#define	NFSD_UNLOCK()		lock_write_done(&nfs_daemon_lock)
#define	NFSD_LOCK_INIT()	lock_init2(&nfs_daemon_lock, TRUE, LTYPE_NFSD)

udecl_simple_lock_data(,asyncdaemon_lock)
#define	ASYNCD_LOCK()		usimple_lock(&asyncdaemon_lock)
#define	ASYNCD_UNLOCK()		usimple_unlock(&asyncdaemon_lock)
#define	ASYNCD_LOCK_INIT()	usimple_lock_init(&asyncdaemon_lock)

#endif	/* _NFS_NFSSYS_H_ */
