/*static char *SCCSID = "@(#)pr_dir.h   6.2 91/01/14";*/
/*      SCCSID = "@(#)pr_dir.h  6.2 91/01/14"
 *
 *      IBM/Microsoft Confidential
 *
 *      Copyright (c) IBM Corporation 1987, 1989
 *      Copyright (c) Microsoft Corporation 1987, 1989
 *
 *      All Rights Reserved
 *
 */

/*
 *  PR_DIR.H
 *
 *    DESCRIPTION
 *
 *      Prototype for directory functions
 *
 *
 *  REVISION HISTORY (in reverse chronological order)
 *  -----------------------------------------------------------------------
 *   9/26/92    Frank Schroeder Added prdrRawDirRec parameter to GetFirstDE
 *                              and GetNextDE for MSCDEX support.
 *  11/30/89    Brian Andrew    Return error from CopyRawDEtoDE
 *  8/4/89      Brian Andrew    Initial Blank Template
 *
 *
 *  TO DO
 *  -------------------------------------------------------------------------
 *
 */

/*
 *  Prototype file for directory entry operations
 */


extern USHORT GetNextDE (
                                        PDIR_ENTRY      pdeDstDe,
                                        PDIR_ENTRY      pdePrevDE,
                                        PVOL_DEP_DATA   pvddVolData,
                                        SHANDLE         hVPB,
                                        USHORT          usParmFlags,
                                        PRAW_DIR_REC    prdrRawDirRec);

extern USHORT GetFirstDE (
                                        PDIR_ENTRY      pdeDstDE,
                                        PPATH_ENTRY     ppePathEntry,
                                        PVOL_DEP_DATA   pvddVolData,
                                        SHANDLE         hVPB,
                                        USHORT          usParmFlags,
                                        PRAW_DIR_REC    prdrRawDirRec);

extern USHORT FillDE (
                                PDIR_ENTRY      pdeDstDE,
                                PDIR_ENTRY      pdePrevDE,
                                PRAW_DIR_REC    prdeRawDE,
                                SECT_NUM        snThisSector,
                                SECT_OFFSET     soOffset,
                                BOOL            fISOVol);

extern USHORT CopyRawDEtoDE (
                                PDIR_ENTRY       pdeDst,
                                PRAW_DIR_REC     prdeRawSrc,
                                BOOL             fISOVol);

extern VOID MakePseudoDE (
                                PDIR_ENTRY   pdeDst,
                                PPATH_ENTRY  ppeSrc,
                                USHORT       cbLbSize);

extern USHORT FindNextFile (
                                UCHAR           FAR *pString,
                                USHORT              afFileAttr,
                                PDIR_ENTRY          pdeFirstDE,
                                PDIR_ENTRY          pdePrevDE,
                                BOOL                fFirstFile,
                                PVOL_DEP_DATA       pvddVolData,
                                SHANDLE             hVPB);

extern USHORT GetParentDE (
                                PVOL_DEP_DATA       pvddVolData,
                                PCDFSI              pcdfsi,
                                PDIR_ENTRY          pdeFirstDE,
                                USHORT              cbBaseOffset,
                                UCHAR           FAR *pszName,
                                USHORT              cbNameLen,
                                USHORT              iCurDirEnd,
                                PDIR_DEP_DATA       pdddDirData);

extern VOID LastSector (
                                PDIR_ENTRY  pdeDirEntry,
                                USHORT      cbLBSize);



