/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	lv_pvq.h,v $
 * Revision 4.2  91/09/19  22:31:56  devbld
 * Adding ODE Headers
 * 
 * $EndLog$
 */
/*	
 *	@(#)$RCSfile: lv_pvq.h,v $ $Revision: 4.2 $ (DEC) $Date: 91/09/19 22:31:56 $
 */ 
/*
 */
/*
 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC.
 * ALL RIGHTS RESERVED
 */
/*
 * OSF/1 Release 1.0
 */
#ifndef _LV_PVQ_H_
#define _LV_PVQ_H_

/*
 *  queues, and macros for manipulating them.
 */

struct lv_pvqueue {
	struct pvol *lv_pvhead;
	struct pvol **lv_pvtail;
	int	lv_pvcount;
};

#include "lv_qmacros.h"		/* helpful macro definitions */
	/* Q is always a "pointer to a struct lv_pvqueue", E is a "pointer
	 * to an element of the queue" */
#define LV_PVQUEUE_APPEND(Q,E)	Q_APPEND_PROTO(Q,E,\
					lv_pvhead,lv_pvtail,pv_cache_next,\
					lv_pvcount)
#define LV_PVQUEUE_FETCH(Q,E)	Q_FETCH_PROTO(Q,E,\
					lv_pvhead,lv_pvtail,pv_cache_next,\
					lv_pvcount)
#define LV_PVQUEUE_INIT(Q)	Q_INIT_PROTO(Q,lv_pvhead,lv_pvtail,lv_pvcount)

#endif  /* _LV_PVQ_H_ */
