#ifndef BITMASK_H
#define BITMASK_H

#define WIN32_LEAN_AND_MEAN
#include <windows.h> /* For TYPES */

/* Bit array type */
typedef struct
{
	UINT	m_nSize;
	UCHAR*	m_lpBits;
} BITS, * LPBITS;

/* Bit functions */
LPBITS	NewBits(UINT nLength /* in bits */);
void	DeleteBits(LPBITS lpBits);
BOOL	TestBit(LPBITS lpBits, UINT nBit);
void	SetBit(LPBITS lpBits, UINT nBit);
void	ClearBit(LPBITS lpBits, UINT nBit);
void	SetAllBits(LPBITS lpBits, BOOL bSet);
int 	FindBit(LPBITS lpBits, int nStartPos, BOOL bSet);

/* Linked list type */
typedef struct
{
	LPVOID  data;
	LPVOID  next;
	LPVOID  prev;
} NODE, * LPNODE;

/* Linked list functions */

#endif /* BITMASK_H */
