ioex.h

Go to the documentation of this file.
#ifndef __IOEX_H__
#define __IOEX_H__

/* By Peter O., Public domain */

#include "user.h"
DWORD XRead(LPVOID file, IOSTRUCT *ios, DWORD offset, LPVOID b, DWORD sz);
DWORD XWrite(LPVOID file, IOSTRUCT *ios, DWORD offset, LPVOID b, DWORD sz);

DWORD ReadEndian(
  LPVOID file,
  IOSTRUCT *ios,
  DWORD offset,
  DWORD sz,
  BOOL big,
  BOOL xread,
  DWORD *psz
);
DWORD WriteEndian(
  LPVOID file,
  IOSTRUCT *ios,
  DWORD offset,
  DWORD x,
  DWORD sz,
  BOOL big,
  BOOL xwrite
);
LONG ReadEndianSigned(
  LPVOID file,
  IOSTRUCT *ios,
  DWORD offset,
  DWORD sz,
  BOOL big,
  BOOL xread,
  DWORD *psz
);

#define ReadLE(file,ios,sz)            ReadEndian(file,ios,0,sz,FALSE,FALSE,NULL)
#define ReadBE(file,ios,sz)            ReadEndian(file,ios,0,sz,TRUE,FALSE,NULL)

#define ReadLESigned(file,ios,sz)  ReadEndianSigned(file,ios,0,sz,FALSE,FALSE,NULL)
#define ReadBESigned(file,ios,sz)  ReadEndianSigned(file,ios,0,sz,TRUE,FALSE,NULL)

#define WriteLE(file,ios,x,sz)            WriteEndian(file,ios,0,x,sz,FALSE,FALSE)
#define WriteBE(file,ios,x,sz)            WriteEndian(file,ios,0,x,sz,TRUE,FALSE)

#define WriteLESigned(file,ios,x,sz)            WriteEndian(file,ios,0,(DWORD)((LONG)(x)),sz,FALSE,FALSE)
#define WriteBESigned(file,ios,x,sz)            WriteEndian(file,ios,0,(DWORD)((LONG)(x)),sz,TRUE,FALSE)

#define XReadLE(file,ios,offset,sz)            ReadEndian(file,ios,offset,sz,FALSE,TRUE,NULL)
#define XReadBE(file,ios,offset,sz)            ReadEndian(file,ios,offset,sz,TRUE,TRUE,NULL)

#define XReadLESigned(file,ios,offset,sz)  ReadEndianSigned(file,ios,offset,sz,FALSE,TRUE,NULL)
#define XReadBESigned(file,ios,offset,sz)  ReadEndianSigned(file,ios,offset,sz,TRUE,TRUE,NULL)

#define XWriteLE(file,ios,offset,x,sz)            WriteEndian(file,ios,offset,x,sz,FALSE,TRUE)
#define XWriteBE(file,ios,offset,x,sz)            WriteEndian(file,ios,offset,x,sz,TRUE,TRUE)

#define XWriteLESigned(file,ios,offset,x,sz)            WriteEndian(file,ios,offset,(DWORD)((LONG)(x)),sz,FALSE,TRUE)
#define XWriteBESigned(file,ios,offset,x,sz)            WriteEndian(file,ios,offset,(DWORD)((LONG)(x)),sz,TRUE,TRUE)

#endif

Generated on Thu Mar 27 01:46:53 2008 for Item Arrays by  doxygen 1.4.6-NO