/*static char *SCCSID = "@(#)align32.h	6.2 91/06/17";*/
/*static char *SCCSID = "@(#)align32.h	6.2 91/06/17";*/


/************************************************************************
 *
 * DOS32A.H - Prototypes of functions used by the NT-aligned API's for
 *	      packing and unpacking of structures.
 *
 ************************************************************************/




extern int PackGEA( PGEA2LIST pGEA2List, PVOID pTMP );
extern int PackFEA( PFEA2LIST pFEA2List );
extern ULONG UnpackGEA( PGEALIST pGEAList, PULONG poError );
extern BOOL UnpackFEA( PFEALIST pFEAList, PFEA2LIST pFEA2List, ULONG cbMaxSize, PULONG poError );
extern void memmove(PVOID pDst, PVOID pSrc, ULONG cBytes);
extern void FFNAlign(PVOID ffndata, PVOID pfindbuf );

#define Dos32POpen		DOS32POPEN
#define Dos32PProtectOpen		DOS32PPROTECTOPEN
#define Dos32PQueryFileInfo	DOS32PQUERYFILEINFO
#define Dos32PProtectQueryFileInfo	DOS32PPROTECTQUERYFILEINFO
#define Dos32PSetFileInfo	DOS32PSETFILEINFO
#define Dos32PProtectSetFileInfo	DOS32PPROTECTSETFILEINFO
#define Dos32PQueryPathInfo	DOS32PQUERYPATHINFO
#define Dos32PSetPathInfo	DOS32PSETPATHINFO
#define Dos32PEnumAttribute	DOS32PENUMATTRIBUTE
#define Dos32PProtectEnumAttribute	DOS32PPROTECTENUMATTRIBUTE
#define Dos32PCreateDir		DOS32PCREATEDIR
#define Dos32PQueryFSAttach	DOS32PQUERYFSATTACH
#define Dos32PFindFirst		DOS32PFINDFIRST
#define Dos32PFindNext		DOS32PFINDNEXT

/*
#define Dos32Open		DOS32OPEN
#define Dos32ProtectOpen		DOS32PROTECTOPEN
#define Dos32QueryFileInfo	DOS32QUERYFILEINFO
#define Dos32ProtectQueryFileInfo	DOS32PROTECTQUERYFILEINFO
#define Dos32SetFileInfo	DOS32SETFILEINFO
#define Dos32ProtectSetFileInfo	DOS32PROTECTSETFILEINFO
#define Dos32QueryPathInfo	DOS32QUERYPATHINFO
#define Dos32SetPathInfo	DOS32SETPATHINFO
#define Dos32EnumAttribute	DOS32ENUMATTRIBUTE
#define Dos32ProtectEnumAttribute	DOS32PROTECTENUMATTRIBUTE
#define Dos32CreateDir		DOS32CREATEDIR
#define Dos32QueryFSAttach	DOS32QUERYFSATTACH
#define Dos32FindFirst		DOS32FINDFIRST
#define Dos32FindNext		DOS32FINDNEXT
*/

APIRET	APIENTRY	Dos32POpen(PSZ pszFile, PHFILE pHfile, PULONG pulAction, ULONG cbSize, ULONG attr, ULONG flag, ULONG mode, PEAOP peaop );
APIRET	APIENTRY	Dos32PProtectOpen(PSZ pszFile, PHFILE pHfile, PULONG pulAction, ULONG cbSize, ULONG attr, ULONG flag, ULONG mode, PEAOP peaop, PFHLOCK pfhFileHandleLockID);
APIRET	APIENTRY	Dos32PQueryFileInfo(HFILE hFile, ULONG infolevel, PVOID pBuf, ULONG cbBuf);
APIRET	APIENTRY	Dos32PProtectQueryFileInfo(HFILE hFile, ULONG infolevel, PVOID pBuf, ULONG cbBuf, FHLOCK fhFileHandleLockID);
APIRET	APIENTRY	Dos32PSetFileInfo(HFILE hFile, ULONG infolevel, PVOID pBuf, ULONG cbBuf);
APIRET	APIENTRY	Dos32PProtectSetFileInfo(HFILE hFile, ULONG infolevel, PVOID pBuf, ULONG cbBuf, FHLOCK fhFileHandleLockID);
APIRET	APIENTRY	Dos32PQueryPathInfo(PSZ pszPath, ULONG infolevel, PVOID pBuf, ULONG cbBuf);
APIRET	APIENTRY	Dos32PSetPathInfo(PSZ pszPath, ULONG infolevel, PVOID pBuf, ULONG cbBuf, ULONG usFlags);
APIRET	APIENTRY	Dos32PEnumAttribute(ULONG fRefType, PVOID pFileRef, ULONG iStartEntry, PVOID pEnumBuf, ULONG cbBuf, PULONG pcbActual, ULONG infoLevel);
APIRET	APIENTRY	Dos32PProtectEnumAttribute(ULONG fRefType, PVOID pFileRef, ULONG iStartEntry, PVOID pEnumBuf, ULONG cbBuf, PULONG pcbActual, ULONG infoLevel, FHLOCK fhFileHandleLockID);
APIRET	APIENTRY	Dos32PCreateDir(PSZ pszDir, PEAOP peaop);
APIRET	APIENTRY	Dos32PQueryFSAttach(PSZ pszDevice, ULONG ordinal, ULONG infolevel, PVOID pFSAttr, PULONG cbFSAttr);
APIRET	APIENTRY	Dos32PFindNext( HDIR, PVOID, ULONG, PULONG, PVOID, PVOID, PULONG  );
APIRET	APIENTRY	Dos32PFindFirst( PSZ, PHDIR, ULONG, PVOID, ULONG, PULONG, ULONG, PVOID, PVOID, PULONG  );

/*


APIRET	APIENTRY Dos32CreateDir(PSZ pszDirName, PEAOP2	peaop2 );
APIRET	APIENTRY Dos32EnumAttribute(   ULONG ulRefType,
			    PVOID pvFile,
			    ULONG ulEntry,
			    PVOID pvBuf,
			    ULONG cbBuf,
			    PULONG pulCount,
			    ULONG ulInfoLevel ) {

APIRET	APIENTRY Dos32ProtectEnumAttribute(   ULONG ulRefType,
			    PVOID pvFile,
			    ULONG ulEntry,
			    PVOID pvBuf,
			    ULONG cbBuf,
			    PULONG pulCount,
			    ULONG ulInfoLevel,
			    FHLOCK fhFileHandleLockID ) {


APIRET	APIENTRY Dos32aOpen( PSZ     pszFileName,
		 PHFILE	 phf,
		 PULONG	 pulAction,
		 ULONG	 cbFile,
		 ULONG	 ulAttribute,
		 ULONG	 fsOpenFlags,
		 ULONG	 fsOpenMode,
		 PEAOP2	 peaop2 ) {


APIRET	APIENTRY Dos32aProtectOpen( PSZ     pszFileName,
		 PHFILE	 phf,
		 PULONG	 pulAction,
		 ULONG	 cbFile,
		 ULONG	 ulAttribute,
		 ULONG	 fsOpenFlags,
		 ULONG	 fsOpenMode,
		 PEAOP2	 peaop2,
		 PFHLOCK	 pfhFileHandleLockID ) {

APIRET	APIENTRY Dos32QueryFileInfo(   HFILE   hf,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf ) {

APIRET	APIENTRY Dos32ProtectQueryFileInfo(   HFILE   hf,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf,
			    FHLOCK fhFileHandleLockID ) {


APIRET	APIENTRY Dos32QueryPathInfo(   PSZ     pszPathName,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf ) {



APIRET	APIENTRY Dos32QueryFSAttach(   PSZ     pszDeviceName,
			    ULONG   ulOrdinal,
			    ULONG   ulFSAInfoLevel,
			    PFSQBUFFER2 pfsqb,
			    PULONG  pcbBuffLength) {

APIRET	APIENTRY Dos32SetFileInfo(     HFILE   hf,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf ) {

APIRET	APIENTRY Dos32ProtectSetFileInfo(     HFILE   hf,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf,
			    FHLOCK fhFileHandleLockID ) {

APIRET	APIENTRY Dos32SetPathInfo(     PSZ     pszPathName,
			    ULONG   ulInfoLevel,
			    PVOID   pInfoBuf,
			    ULONG   cbInfoBuf,
			    ULONG   flOptions ) {


#pragma alloc_text(CODE32, Dos32CreateDir)


*/
