[SHELL32]
[reactos.git] / reactos / dll / win32 / shell32 / shellrecyclebin / recyclebin_private.h
1 #ifndef _RECYCLEBIN_PRIVATE_H_
2 #define _RECYCLEBIN_PRIVATE_H_
3
4 #include <stdio.h>
5
6 #define COBJMACROS
7
8 #include "recyclebin.h"
9 #include "recyclebin_v5.h"
10
11 #include <wine/debug.h>
12 WINE_DEFAULT_DEBUG_CHANNEL(recyclebin);
13
14 /* Defines */
15
16 #define RECYCLE_BIN_DIRECTORY_WITH_ACL L"RECYCLER"
17 #define RECYCLE_BIN_DIRECTORY_WITHOUT_ACL L"RECYCLED"
18 #define RECYCLE_BIN_FILE_NAME L"INFO2"
19
20 #define ROUND_UP(N, S) ((( (N) + (S) - 1) / (S) ) * (S) )
21
22 /* Structures on disk */
23
24 #include <pshpack1.h>
25
26 typedef struct _INFO2_HEADER
27 {
28 DWORD dwVersion;
29 DWORD dwNumberOfEntries; /* unused */
30 DWORD dwHighestRecordUniqueId; /* unused */
31 DWORD dwRecordSize;
32 DWORD dwTotalLogicalSize;
33 } INFO2_HEADER, *PINFO2_HEADER;
34
35 #include <poppack.h>
36
37 /* Prototypes */
38
39 /* recyclebin_generic.c */
40
41 HRESULT RecycleBinGeneric_Constructor(OUT IUnknown **ppUnknown);
42
43 /* recyclebin_generic_enumerator.c */
44
45 HRESULT RecycleBinGenericEnum_Constructor(OUT IRecycleBinEnumList **pprbel);
46
47 /* recyclebin_v5.c */
48
49 HRESULT RecycleBin5_Constructor(IN LPCWSTR VolumePath, OUT IUnknown **ppUnknown);
50
51 #endif /* _RECYCLEBIN_PRIVATE_H_ */