NT4/private/utils/uhpfs/inc/hpfsacl.hxx
2020-09-30 17:12:29 +02:00

73 lines
1.1 KiB
C++

#if !defined(HPFS_ACL_DEFINED)
#define HPFS_ACL_DEFINED
#include "fnode.hxx"
#include "verify.hxx"
//
// Forward references
//
DECLARE_CLASS( DEFERRED_ACTIONS_LIST );
DECLARE_CLASS( HPFS_ACL );
DECLARE_CLASS( HPFS_SA );
DECLARE_CLASS( LOG_IO_DP_DRIVE );
DECLARE_CLASS( MESSAGE );
DECLARE_CLASS( HPFS_PATH );
DECLARE_CLASS( HPFS_ORPHANS );
class HPFS_ACL : public OBJECT {
public:
DECLARE_CONSTRUCTOR( HPFS_ACL );
VIRTUAL
~HPFS_ACL(
);
BOOLEAN
Initialize(
PLOG_IO_DP_DRIVE Drive,
_FNODE* FnodeData,
LBN FnodeLbn
);
VERIFY_RETURN_CODE
VerifyAndFix(
IN HPFS_SA* SuperArea,
IN PDEFERRED_ACTIONS_LIST DeferredActions,
IN PHPFS_PATH CurrentPath,
IN OUT PMESSAGE Message,
IN OUT PBOOLEAN ErrorsDetected,
IN BOOLEAN UpdateAllowed = FALSE,
IN OUT PHPFS_ORPHANS OrphansList = NULL
);
NONVIRTUAL
BOOLEAN
QueryFnodeModified(
);
NONVIRTUAL
BOOLEAN
FindAndResolveHotfix(
IN PHPFS_SA SuperArea
);
private:
PLOG_IO_DP_DRIVE _Drive;
_FNODE* _FnodeData;
LBN _FnodeLbn;
BOOLEAN _FnodeModified;
};
#endif