mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
/* lfn.h -
|
|
*
|
|
* declaration of lfn aware functions
|
|
*/
|
|
|
|
#define CCHMAXFILE MAXPATHLEN // max size of a long name
|
|
#define CCHMAXPATHCOMP 256
|
|
#define LFNCANON_MASK 1
|
|
#define PATHLEN1_1 13
|
|
|
|
#define FILE_83_CI 0
|
|
#define FILE_83_CS 1
|
|
#define FILE_LONG 2
|
|
|
|
#define ERROR_OOM 8
|
|
|
|
// we need to add an extra field to distinguish DOS vs. LFNs
|
|
|
|
typedef struct {
|
|
HANDLE hFindFile; // handle returned by FindFirstFile()
|
|
DWORD dwAttrFilter; // search attribute mask.
|
|
DWORD err; // error info if failure.
|
|
WIN32_FIND_DATA fd; // FindFirstFile() data strucrure;
|
|
INT nSpaceLeft; // Space left for deeper paths
|
|
} LFNDTA, *LPLFNDTA, * PLFNDTA;
|
|
|
|
VOID LFNInit( VOID );
|
|
VOID InvalidateVolTypes( VOID );
|
|
|
|
DWORD GetNameType(LPTSTR);
|
|
BOOL IsLFN(LPTSTR pName);
|
|
BOOL IsLFNDrive(LPTSTR);
|
|
|
|
BOOL WFFindFirst(LPLFNDTA lpFind, LPTSTR lpName, DWORD dwAttrFilter);
|
|
BOOL WFFindNext(LPLFNDTA);
|
|
BOOL WFFindClose(LPLFNDTA);
|
|
|
|
|
|
DWORD I_LFNCanon( USHORT CanonType, LPTSTR InFile, LPTSTR OutFile );
|
|
DWORD LFNParse(LPTSTR,LPTSTR,LPTSTR);
|
|
WORD I_LFNEditName( LPTSTR lpSrc, LPTSTR lpEd, LPTSTR lpRes, INT iResBufSize );
|
|
|
|
BOOL WFIsDir(LPTSTR);
|
|
BOOL LFNMergePath(LPTSTR,LPTSTR);
|
|
|
|
BOOL IsLFNSelected(VOID);
|
|
|
|
|
|
|