#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__