/*static char *SCCSID = "@(#)pr_fsini.h 6.6 92/02/21";*/
#include "PR_FSINI.NAM"
/* Prototypes for all FSINIT functions */

/* stage 1 initialization functions */

        extern INT far OurFSIni (PCHAR pcParm,
                                 ULONG DevHelp,
                                 ULONG far *pMiniFSD);

        extern USHORT near GetCmdLine (PCHAR pcParms);

        extern USHORT near GetDefaultCacheSize (void);

        extern USHORT near GetCodePageInfo (void);

        extern void near InitLookAside (void);

/* routines used for init time chkdsk support */

typedef USHORT (far pascal *pChkFN)(USHORT argc,
                            UCHAR far * far *argv,
                            UCHAR far * far *envp);
        extern void near AutoCheck(unsigned long automask,
                                   unsigned long forcemask);         // @83390
        extern void near CheckDirty(int drive, BOOL force);          // @83390
        extern int near CheckDirtyRdSec(unsigned uHnd,               // @82381
                                        ULONG ulSector,
                                        void far *pBuffer,
                                        USHORT usSecCount,
                                        PUSHORT pusBytesRead);
        extern int near LoadChkdsk(void);
        extern void near UnloadChkdsk(int fAll);
        extern int _cdecl near CallChkdsk(void far *stk,
                             pChkFN pfnChk,
                             int ac,
                             char far * far *av,
                             char far * far *envp);



/* stage 2 initialization functions */

        extern INT far Init2 (PFRAME pfrm);

        extern INT far CacheInit (PFRAME pfrm);

        extern USHORT far FixInMem (void);

        extern USHORT far FreeInit1 (void);

        extern void InitBufNodeList (void);

        extern USHORT near InitCP (PFRAME pfrm);

        extern void LinkUp (PBUFNODE pbuf,
                            PBLOCK pblk,
                            ULONG cul);

#ifndef INCL_PB_IFS_INCLUDED
#define VOL_REOPEN_DATA void
#endif
        extern INT far pascal ReopenFilesGuts (struct sffsd far *psffsd,
                                                VOL_REOPEN_DATA far *pvrd,
                                                PFRAME pfrm);


        extern INT far pascal ReopenFiles (struct sffsd far *psffsd,
                                            VOL_REOPEN_DATA far *pvrd );

/* volume mounting functions */

        extern void far CountBit (PBYTE pbBitMap,
                                  USHORT cusBytes,
                                  PBANDTAB pbtb);

        extern void far DirtyMountMessage(PVOLTAB pvol, PFRAME pfrm);

        extern USHORT far FreeInit2 (void);

        extern BOOL RHD (PUSHORT    pcRemain,
                         PLSN       plsnNext,
                         PLSN far * pNextHotFix,
                         PLSN       plsnHotFix,
                         PFRAME     pfrm);

        extern INT far MFS (SHANDLE hVPB,
                            USHORT fsOper,
                            struct vpfsi far *pvpfsi,
                            ULONG csecMax,
                            PFRAME pfrm);

        extern PVOID AllocBandTabBuff(UINT cb, PFRAME pfrm);

        extern void FreeBandTabBuff( PVOID pv );

        extern void RetVolTab (PVOLTAB pvol);

        extern USHORT MountCP (PVOLTAB pVol, PFRAME pfrm);

        extern USHORT AddCodePages (PVOLTAB pVol, PFRAME pfrm);

        extern USHORT SaveCodePage (PVOLTAB pVol,
                                    USHORT iCodePage,
                                    PFRAME pfrm);

        extern TeftiInit ();
        extern void Test (void);

#include "PR_FSINI.SEG"
