#ifndef __PCIVME_FIFO_H__
#define __PCIVME_FIFO_H__
//-------------------------------------------------------------------------
// WINNT driver for PCIVME interface from ARW Elektronik, Germany ---------
// header for functions for a fast fifo (first in first out) implementation
//
// (c) 1999-2004 ARW Elektronik
//
// this source code is published under GPL (Open Source). You can use, redistrubute and
// modify it unless this header is not modified or deleted. No warranty is given that
// this software will work like expected.
// This product is not authorized for use as critical component in life support systems
// wihout the express written approval of ARW Elektronik Germany.
//
// Please announce changes and hints to ARW Elektronik
//
// $Log: pcivme_fifo.h,v $
// Revision 1.3 2004/07/24 07:07:26 klaus
// Update copyright to 2004
//
// Revision 1.2 2003/11/15 19:12:50 klaus
// Update copyright to 2003
//
// Revision 1.1.1.1 2003/11/14 23:16:33 klaus
// First put into repository
//
// Revision 1.3 2002/10/27 16:17:48 klaus
// Typing bug fixed caused at log addition
//
// Revision 1.2 2002/10/27 16:11:02 klaus
// Added CVS log into header
//
// what who when
// started AR 06.10.99
//
NTSTATUS InitializeFIFO(USHORT CountOfElements, PVOID *pHandle);
int PushElement(PVOID Handle, UCHAR bElement);
int PullElement(PVOID Handle, UCHAR *pbElement);
int NumberOfElements(PVOID Handle);
BOOLEAN CheckAndClearOverflow(PVOID Handle);
void DestroyFIFO(PVOID Handle);
#endif // __PCIVME_FIFO_H__