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