1 /* Copyright © 2017-2018 Apple Inc. All rights reserved.
3 * lf_hfs_dirops_handler.h
6 * Created by Yakov Ben Zaken on 31/12/2017.
9 #ifndef lf_hfs_dirpos_handler_h
10 #define lf_hfs_dirpos_handler_h
12 #include "lf_hfs_common.h"
13 #include "lf_hfs_catalog.h"
15 #define MAX_UTF8_NAME_LENGTH (NAME_MAX*3+1)
17 int LFHFS_MkDir ( UVFSFileNode psDirNode
, const char *pcName
, const UVFSFileAttributes
*psFileAttr
, UVFSFileNode
*ppsOutNode
);
18 int LFHFS_RmDir ( UVFSFileNode psDirNode
, const char *pcUTF8Name
);
19 int LFHFS_Remove ( UVFSFileNode psDirNode
, const char *pcUTF8Name
, UVFSFileNode victimNode
);
20 int LFHFS_Lookup ( UVFSFileNode psDirNode
, const char *pcUTF8Name
, UVFSFileNode
*ppsOutNode
);
21 int LFHFS_ReadDir ( UVFSFileNode psDirNode
, void* pvBuf
, size_t iBufLen
, uint64_t uCookie
, size_t *iReadBytes
, uint64_t *puVerifier
);
22 int LFHFS_ReadDirAttr ( UVFSFileNode psDirNode
, void *pvBuf
, size_t iBufLen
, uint64_t uCookie
, size_t *iReadBytes
, uint64_t *puVerifier
);
23 int LFHFS_ScanDir ( UVFSFileNode psDirNode
, scandir_matching_request_t
* psMatchingCriteria
, scandir_matching_reply_t
* psMatchingResult
);
24 int LFHFS_ScanIDs ( UVFSFileNode psNode
, __unused
uint64_t uRequestedAttributes
, const uint64_t* puFileIDArray
, unsigned int iFileIDCount
, scanids_match_block_t fMatchCallback
);
26 int DIROPS_RemoveInternal( UVFSFileNode psDirNode
, const char *pcUTF8Name
);
27 int DIROPS_LookupInternal( UVFSFileNode psDirNode
, const char *pcUTF8Name
, UVFSFileNode
*ppsOutNode
);
28 #endif /* lf_hfs_dirpos_handler_h */