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