2 * File handling declarations
4 * Copyright 1996 Alexandre Julliard
14 #define MAX_PATHNAME_LEN 1024
23 DWORD type
; /* Type for win32 apps */
26 /* Definition of a full DOS file name */
29 char long_name
[MAX_PATHNAME_LEN
]; /* Long pathname in Unix format */
30 char short_name
[MAX_PATHNAME_LEN
]; /* Short pathname in DOS 8.3 format */
34 #define IS_END_OF_NAME(ch) (!(ch) || ((ch) == '/') || ((ch) == '\\'))
38 extern void FILE_Destroy( K32OBJ
*ptr
);
39 extern void FILE_SetDosError(void);
40 extern HFILE32
FILE_DupUnixHandle( int fd
);
41 extern BOOL32
FILE_Stat( LPCSTR unixName
, BY_HANDLE_FILE_INFORMATION
*info
);
42 extern HFILE32
FILE_Dup( HFILE32 hFile
);
43 extern HFILE32
FILE_Dup2( HFILE32 hFile1
, HFILE32 hFile2
);
44 extern HFILE32
FILE_Open( LPCSTR path
, INT32 mode
);
45 extern BOOL32
FILE_SetFileType( HFILE32 hFile
, DWORD type
);
46 extern LPVOID
FILE_mmap( HFILE32 hFile
, LPVOID start
,
47 DWORD size_high
, DWORD size_low
,
48 DWORD offset_high
, DWORD offset_low
,
49 int prot
, int flags
);
50 extern LPVOID
FILE_dommap( FILE_OBJECT
*file
, LPVOID start
,
51 DWORD size_high
, DWORD size_low
,
52 DWORD offset_high
, DWORD offset_low
,
53 int prot
, int flags
);
54 extern int FILE_munmap( LPVOID start
, DWORD size_high
, DWORD size_low
);
55 extern HFILE32
_lcreat_uniq( LPCSTR path
, INT32 attr
);
57 /* files/directory.c */
58 extern int DIR_Init(void);
59 extern UINT32
DIR_GetWindowsUnixDir( LPSTR path
, UINT32 count
);
60 extern UINT32
DIR_GetSystemUnixDir( LPSTR path
, UINT32 count
);
61 extern UINT32
DIR_GetTempUnixDir( LPSTR path
, UINT32 count
);
62 extern UINT32
DIR_GetDosPath( INT32 element
, LPSTR path
, UINT32 count
);
63 extern UINT32
DIR_GetUnixPath( INT32 element
, LPSTR path
, UINT32 count
);
64 extern DWORD
DIR_SearchPath( LPCSTR path
, LPCSTR name
, LPCSTR ext
,
65 DOS_FULL_NAME
*full_name
, BOOL32 win32
);
68 extern void DOSFS_UnixTimeToFileTime( time_t unixtime
, LPFILETIME ft
,
70 extern time_t DOSFS_FileTimeToUnixTime( const FILETIME
*ft
, DWORD
*remainder
);
71 extern BOOL32
DOSFS_ToDosFCBFormat( LPCSTR name
, LPSTR buffer
);
72 extern const char *DOSFS_IsDevice( const char *name
);
73 extern BOOL32
DOSFS_FindUnixName( LPCSTR path
, LPCSTR name
, LPSTR long_buf
,
74 INT32 long_len
, LPSTR short_buf
,
76 extern BOOL32
DOSFS_GetFullName( LPCSTR name
, BOOL32 check_last
,
77 DOS_FULL_NAME
*full
);
78 extern int DOSFS_FindNext( const char *path
, const char *short_mask
,
79 const char *long_mask
, int drive
, BYTE attr
,
80 int skip
, WIN32_FIND_DATA32A
*entry
);
82 #endif /* __WINE_FILE_H */