Coherent4.2.10/include/kernel/_lock.h

/* (-lgl
 *	Coherent 386 release 4.2
 *	Copyright (c) 1982, 1993 by Mark Williams Company.
 *	All rights reserved. May not be copied without permission.
 *	For copying permission and licensing info, write licensing@mwc.com
 -lgl) */

#ifndef	__KERNEL__LOCK_H__
#define	__KERNEL__LOCK_H__

/*
 * This internal header file defines the internal data type "__lock_t",
 * exactly equivalent to the basic lock type "lock_t", but given an internal
 * name so that header files can refer to it without exporting its name
 * into the user's namespace.
 */

typedef struct __basic_lock	__lock_t;


/*
 * Range of valid lock hierarchy values.  Because DDI/DKI library routines
 * often need locks of their own, we also define hierarchy values here that
 * are suitable for those other operations and that are greater than any
 * hierarchy value we will permit a driver.
 *
 * The hierarchy range is here because it is fixed, and because it may be
 * convenient to use the following definitions as the basis of other
 * definitions within kernel headers without importing <sys/ksynch.h>
 *
 * Note that the maximum values are inclusive.
 */

enum {
	__MIN_HIERARCHY__ = 1,
	__MAX_DDI_HIERARCHY__ = 32,
	__MAX_HIERARCHY__ = 40
};


/*
 * The official DDI/DKI type of a lock hierarchy value is "unsigned char".  To
 * make things clearer in function prototypes, we define our own internal type
 * for lock hierarchy values.
 */

typedef	unsigned char		__lkhier_t;

#endif	/* ! defined (__KERNEL__LOCK_H__) */