struct BITMAPFILEHEADER
{
	WORD    bfType; 
	dword   bfSize; 
	word    bfReserved1; 
	word    bfReserved2; 
	dword   bfOffBits; 
};

struct BITMAPINFOHEADER
{
	dword  biSize; 
	long   biWidth; 
	long   biHeight; 
	word   biPlanes; 
	word   biBitCount 
	dword  biCompression; 
	dword  biSizeImage; 
	long   biXPelsPerMeter; 
	long   biYPelsPerMeter; 
	dword  biClrUsed; 
	dword  biClrImportant; 
};

struct ICONDIRENTRY {
	byte bWidth;
	byte bHeight;
	byte bColorCount;
	byte bReserved;
	word wPlanes;
	word wBitCount;
	dword dwBytesInRes;
	dword dwImageOffset;
};

struct CURSORDIRENTRY {
	byte bWidth;
	byte bHeight;
	byte bColorCount;
	byte bReserved;
	word wXHotspot;
	word wYHotspot;
	dword dwBytesInRes;
	dword dwImageOffset;
};

struct ANIHEADER {
	dword cbSizeof;
	dword cFrames;
	dword cSteps;
	dword cx , cy;
	dword cBitCount , cPlanes;
	dword jifRate;
	dword fl;
};

struct FONTINFO {
    WORD  dfType;
    short dfPoints;
    short dfVertRes;
    short dfHorizRes;
    short dfAscent;
    short dfInternalLeading;
    short dfExternalLeading;
    byte dfItalic;
    byte dfUnderline;
    byte dfStrikeOut;
    short dfWeight;
    byte dfCharSet;
    short dfPixWidth;
    short dfPixHeight;
    byte dfPitchAndFamily;
    short dfAvgWidth;
    short dfMaxWidth;
    byte dfFirstChar;
    byte dfLastChar;
    byte dfDefaultChar;
    byte dfBreakChar;
    short dfWidthbytes;
    dword dfDevice;
    dword dfFace;
    dword dfBitsPointer;
    dword dfBitsOffset;
    byte dfReserved;
    long  dfFlags;
    short dfAspace;
    short dfBspace;
    short dfCspace;
    long  dfReserved;
    long  dfReserved1 [4];
};