|
48 | 48 | FIO_display_prefs_t g_display_prefs = {2, FIO_ps_auto}; |
49 | 49 | UTIL_time_t g_displayClock = UTIL_TIME_INITIALIZER; |
50 | 50 |
|
51 | | -/* ************************************* |
52 | | -* Synchronous compression IO helpers |
53 | | -* Lightweight wrapper used by compression paths to manage buffered |
54 | | -* reads/writes without the async job machinery. |
55 | | -***************************************/ |
56 | | -typedef struct { |
57 | | - const FIO_prefs_t* prefs; |
58 | | - FILE* srcFile; |
59 | | - FILE* dstFile; |
60 | | - unsigned storedSkips; |
61 | | - U8* inBuffer; |
62 | | - size_t inCapacity; |
63 | | - U8* srcBuffer; |
64 | | - size_t srcBufferLoaded; |
65 | | - U8* outBuffer; |
66 | | - size_t outCapacity; |
67 | | -} FIO_SyncCompressIO; |
68 | | - |
69 | | -static void FIO_SyncCompressIO_init(FIO_SyncCompressIO* io, |
70 | | - const FIO_prefs_t* prefs, |
71 | | - size_t inCapacity, |
72 | | - size_t outCapacity); |
73 | | -static void FIO_SyncCompressIO_destroy(FIO_SyncCompressIO* io); |
74 | | -static void FIO_SyncCompressIO_setSrc(FIO_SyncCompressIO* io, FILE* file); |
75 | | -static void FIO_SyncCompressIO_clearSrc(FIO_SyncCompressIO* io); |
76 | | -static void FIO_SyncCompressIO_setDst(FIO_SyncCompressIO* io, FILE* file); |
77 | | -static int FIO_SyncCompressIO_closeDst(FIO_SyncCompressIO* io); |
78 | | -static size_t FIO_SyncCompressIO_fillBuffer(FIO_SyncCompressIO* io, size_t minToHave); |
79 | | -static void FIO_SyncCompressIO_consumeBytes(FIO_SyncCompressIO* io, size_t n); |
80 | | -static void FIO_SyncCompressIO_commitOut(FIO_SyncCompressIO* io, const void* buffer, size_t size); |
81 | | -static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io); |
82 | | - |
83 | 51 | #define ZSTD_STATIC_LINKING_ONLY /* ZSTD_magicNumber, ZSTD_frameHeaderSize_max */ |
84 | 52 | #include "../lib/zstd.h" |
85 | 53 | #include "../lib/zstd_errors.h" /* ZSTD_error_frameParameter_windowTooLarge */ |
@@ -157,6 +125,42 @@ char const* FIO_lzmaVersion(void) |
157 | 125 | #define TEMPORARY_FILE_PERMISSIONS (0600) |
158 | 126 | #endif |
159 | 127 |
|
| 128 | + |
| 129 | +#ifndef ZSTD_NOCOMPRESS |
| 130 | + |
| 131 | +/* ************************************* |
| 132 | +* Synchronous compression IO helpers |
| 133 | +* Lightweight wrapper used by compression paths to manage buffered |
| 134 | +* reads/writes without the async job machinery. |
| 135 | +***************************************/ |
| 136 | +typedef struct { |
| 137 | + const FIO_prefs_t* prefs; |
| 138 | + FILE* srcFile; |
| 139 | + FILE* dstFile; |
| 140 | + unsigned storedSkips; |
| 141 | + U8* inBuffer; |
| 142 | + size_t inCapacity; |
| 143 | + U8* srcBuffer; |
| 144 | + size_t srcBufferLoaded; |
| 145 | + U8* outBuffer; |
| 146 | + size_t outCapacity; |
| 147 | +} FIO_SyncCompressIO; |
| 148 | + |
| 149 | +static void FIO_SyncCompressIO_init(FIO_SyncCompressIO* io, |
| 150 | + const FIO_prefs_t* prefs, |
| 151 | + size_t inCapacity, |
| 152 | + size_t outCapacity); |
| 153 | +static void FIO_SyncCompressIO_destroy(FIO_SyncCompressIO* io); |
| 154 | +static void FIO_SyncCompressIO_setSrc(FIO_SyncCompressIO* io, FILE* file); |
| 155 | +static void FIO_SyncCompressIO_clearSrc(FIO_SyncCompressIO* io); |
| 156 | +static void FIO_SyncCompressIO_setDst(FIO_SyncCompressIO* io, FILE* file); |
| 157 | +static int FIO_SyncCompressIO_closeDst(FIO_SyncCompressIO* io); |
| 158 | +static size_t FIO_SyncCompressIO_fillBuffer(FIO_SyncCompressIO* io, size_t minToHave); |
| 159 | +static void FIO_SyncCompressIO_consumeBytes(FIO_SyncCompressIO* io, size_t n); |
| 160 | +static void FIO_SyncCompressIO_commitOut(FIO_SyncCompressIO* io, const void* buffer, size_t size); |
| 161 | +static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io); |
| 162 | + |
| 163 | + |
160 | 164 | static unsigned FIO_sparseWrite(FILE* file, |
161 | 165 | const void* buffer, size_t bufferSize, |
162 | 166 | const FIO_prefs_t* const prefs, |
@@ -384,6 +388,8 @@ static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io) |
384 | 388 | io->storedSkips = 0; |
385 | 389 | } |
386 | 390 |
|
| 391 | +#endif /* ZSTD_NOCOMPRESS */ |
| 392 | + |
387 | 393 | /*-************************************ |
388 | 394 | * Signal (Ctrl-C trapping) |
389 | 395 | **************************************/ |
|
0 commit comments