zcs 587 include/linux/zstd.h size_t ZSTD_resetCStream(ZSTD_CStream *zcs, unsigned long long pledgedSrcSize); zcs 605 include/linux/zstd.h size_t ZSTD_compressStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output, zcs 620 include/linux/zstd.h size_t ZSTD_flushStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output); zcs 633 include/linux/zstd.h size_t ZSTD_endStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output); zcs 2984 lib/zstd/compress.c ZSTD_CStream *zcs; zcs 2989 lib/zstd/compress.c zcs = (ZSTD_CStream *)ZSTD_malloc(sizeof(ZSTD_CStream), customMem); zcs 2990 lib/zstd/compress.c if (zcs == NULL) zcs 2992 lib/zstd/compress.c memset(zcs, 0, sizeof(ZSTD_CStream)); zcs 2993 lib/zstd/compress.c memcpy(&zcs->customMem, &customMem, sizeof(ZSTD_customMem)); zcs 2994 lib/zstd/compress.c zcs->cctx = ZSTD_createCCtx_advanced(customMem); zcs 2995 lib/zstd/compress.c if (zcs->cctx == NULL) { zcs 2996 lib/zstd/compress.c ZSTD_freeCStream(zcs); zcs 2999 lib/zstd/compress.c return zcs; zcs 3002 lib/zstd/compress.c size_t ZSTD_freeCStream(ZSTD_CStream *zcs) zcs 3004 lib/zstd/compress.c if (zcs == NULL) zcs 3007 lib/zstd/compress.c ZSTD_customMem const cMem = zcs->customMem; zcs 3008 lib/zstd/compress.c ZSTD_freeCCtx(zcs->cctx); zcs 3009 lib/zstd/compress.c zcs->cctx = NULL; zcs 3010 lib/zstd/compress.c ZSTD_freeCDict(zcs->cdictLocal); zcs 3011 lib/zstd/compress.c zcs->cdictLocal = NULL; zcs 3012 lib/zstd/compress.c ZSTD_free(zcs->inBuff, cMem); zcs 3013 lib/zstd/compress.c zcs->inBuff = NULL; zcs 3014 lib/zstd/compress.c ZSTD_free(zcs->outBuff, cMem); zcs 3015 lib/zstd/compress.c zcs->outBuff = NULL; zcs 3016 lib/zstd/compress.c ZSTD_free(zcs, cMem); zcs 3026 lib/zstd/compress.c static size_t ZSTD_resetCStream_internal(ZSTD_CStream *zcs, unsigned long long pledgedSrcSize) zcs 3028 lib/zstd/compress.c if (zcs->inBuffSize == 0) zcs 3031 lib/zstd/compress.c if (zcs->cdict) zcs 3032 lib/zstd/compress.c CHECK_F(ZSTD_compressBegin_usingCDict(zcs->cctx, zcs->cdict, pledgedSrcSize)) zcs 3034 lib/zstd/compress.c CHECK_F(ZSTD_compressBegin_advanced(zcs->cctx, NULL, 0, zcs->params, pledgedSrcSize)); zcs 3036 lib/zstd/compress.c zcs->inToCompress = 0; zcs 3037 lib/zstd/compress.c zcs->inBuffPos = 0; zcs 3038 lib/zstd/compress.c zcs->inBuffTarget = zcs->blockSize; zcs 3039 lib/zstd/compress.c zcs->outBuffContentSize = zcs->outBuffFlushedSize = 0; zcs 3040 lib/zstd/compress.c zcs->stage = zcss_load; zcs 3041 lib/zstd/compress.c zcs->frameEnded = 0; zcs 3042 lib/zstd/compress.c zcs->pledgedSrcSize = pledgedSrcSize; zcs 3043 lib/zstd/compress.c zcs->inputProcessed = 0; zcs 3047 lib/zstd/compress.c size_t ZSTD_resetCStream(ZSTD_CStream *zcs, unsigned long long pledgedSrcSize) zcs 3050 lib/zstd/compress.c zcs->params.fParams.contentSizeFlag = (pledgedSrcSize > 0); zcs 3052 lib/zstd/compress.c return ZSTD_resetCStream_internal(zcs, pledgedSrcSize); zcs 3055 lib/zstd/compress.c static size_t ZSTD_initCStream_advanced(ZSTD_CStream *zcs, const void *dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize) zcs 3060 lib/zstd/compress.c if (zcs->inBuffSize < neededInBuffSize) { zcs 3061 lib/zstd/compress.c zcs->inBuffSize = neededInBuffSize; zcs 3062 lib/zstd/compress.c ZSTD_free(zcs->inBuff, zcs->customMem); zcs 3063 lib/zstd/compress.c zcs->inBuff = (char *)ZSTD_malloc(neededInBuffSize, zcs->customMem); zcs 3064 lib/zstd/compress.c if (zcs->inBuff == NULL) zcs 3067 lib/zstd/compress.c zcs->blockSize = MIN(ZSTD_BLOCKSIZE_ABSOLUTEMAX, neededInBuffSize); zcs 3069 lib/zstd/compress.c if (zcs->outBuffSize < ZSTD_compressBound(zcs->blockSize) + 1) { zcs 3070 lib/zstd/compress.c zcs->outBuffSize = ZSTD_compressBound(zcs->blockSize) + 1; zcs 3071 lib/zstd/compress.c ZSTD_free(zcs->outBuff, zcs->customMem); zcs 3072 lib/zstd/compress.c zcs->outBuff = (char *)ZSTD_malloc(zcs->outBuffSize, zcs->customMem); zcs 3073 lib/zstd/compress.c if (zcs->outBuff == NULL) zcs 3078 lib/zstd/compress.c ZSTD_freeCDict(zcs->cdictLocal); zcs 3079 lib/zstd/compress.c zcs->cdictLocal = ZSTD_createCDict_advanced(dict, dictSize, 0, params, zcs->customMem); zcs 3080 lib/zstd/compress.c if (zcs->cdictLocal == NULL) zcs 3082 lib/zstd/compress.c zcs->cdict = zcs->cdictLocal; zcs 3084 lib/zstd/compress.c zcs->cdict = NULL; zcs 3086 lib/zstd/compress.c zcs->checksum = params.fParams.checksumFlag > 0; zcs 3087 lib/zstd/compress.c zcs->params = params; zcs 3089 lib/zstd/compress.c return ZSTD_resetCStream_internal(zcs, pledgedSrcSize); zcs 3095 lib/zstd/compress.c ZSTD_CStream *const zcs = ZSTD_createCStream_advanced(stackMem); zcs 3096 lib/zstd/compress.c if (zcs) { zcs 3097 lib/zstd/compress.c size_t const code = ZSTD_initCStream_advanced(zcs, NULL, 0, params, pledgedSrcSize); zcs 3102 lib/zstd/compress.c return zcs; zcs 3108 lib/zstd/compress.c ZSTD_CStream *const zcs = ZSTD_initCStream(params, pledgedSrcSize, workspace, workspaceSize); zcs 3109 lib/zstd/compress.c if (zcs) { zcs 3110 lib/zstd/compress.c zcs->cdict = cdict; zcs 3111 lib/zstd/compress.c if (ZSTD_isError(ZSTD_resetCStream_internal(zcs, pledgedSrcSize))) { zcs 3115 lib/zstd/compress.c return zcs; zcs 3129 lib/zstd/compress.c static size_t ZSTD_compressStream_generic(ZSTD_CStream *zcs, void *dst, size_t *dstCapacityPtr, const void *src, size_t *srcSizePtr, ZSTD_flush_e const flush) zcs 3140 lib/zstd/compress.c switch (zcs->stage) { zcs 3147 lib/zstd/compress.c size_t const toLoad = zcs->inBuffTarget - zcs->inBuffPos; zcs 3148 lib/zstd/compress.c size_t const loaded = ZSTD_limitCopy(zcs->inBuff + zcs->inBuffPos, toLoad, ip, iend - ip); zcs 3149 lib/zstd/compress.c zcs->inBuffPos += loaded; zcs 3151 lib/zstd/compress.c if ((zcs->inBuffPos == zcs->inToCompress) || (!flush && (toLoad != loaded))) { zcs 3160 lib/zstd/compress.c size_t const iSize = zcs->inBuffPos - zcs->inToCompress; zcs 3165 lib/zstd/compress.c cDst = zcs->outBuff, oSize = zcs->outBuffSize; zcs 3166 lib/zstd/compress.c cSize = (flush == zsf_end) ? ZSTD_compressEnd(zcs->cctx, cDst, oSize, zcs->inBuff + zcs->inToCompress, iSize) zcs 3167 lib/zstd/compress.c : ZSTD_compressContinue(zcs->cctx, cDst, oSize, zcs->inBuff + zcs->inToCompress, iSize); zcs 3171 lib/zstd/compress.c zcs->frameEnded = 1; zcs 3173 lib/zstd/compress.c zcs->inBuffTarget = zcs->inBuffPos + zcs->blockSize; zcs 3174 lib/zstd/compress.c if (zcs->inBuffTarget > zcs->inBuffSize) zcs 3175 lib/zstd/compress.c zcs->inBuffPos = 0, zcs->inBuffTarget = zcs->blockSize; /* note : inBuffSize >= blockSize */ zcs 3176 lib/zstd/compress.c zcs->inToCompress = zcs->inBuffPos; zcs 3181 lib/zstd/compress.c zcs->outBuffContentSize = cSize; zcs 3182 lib/zstd/compress.c zcs->outBuffFlushedSize = 0; zcs 3183 lib/zstd/compress.c zcs->stage = zcss_flush; /* pass-through to flush stage */ zcs 3188 lib/zstd/compress.c size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize; zcs 3189 lib/zstd/compress.c size_t const flushed = ZSTD_limitCopy(op, oend - op, zcs->outBuff + zcs->outBuffFlushedSize, toFlush); zcs 3191 lib/zstd/compress.c zcs->outBuffFlushedSize += flushed; zcs 3196 lib/zstd/compress.c zcs->outBuffContentSize = zcs->outBuffFlushedSize = 0; zcs 3197 lib/zstd/compress.c zcs->stage = zcss_load; zcs 3212 lib/zstd/compress.c zcs->inputProcessed += *srcSizePtr; zcs 3213 lib/zstd/compress.c if (zcs->frameEnded) zcs 3216 lib/zstd/compress.c size_t hintInSize = zcs->inBuffTarget - zcs->inBuffPos; zcs 3218 lib/zstd/compress.c hintInSize = zcs->blockSize; zcs 3223 lib/zstd/compress.c size_t ZSTD_compressStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output, ZSTD_inBuffer *input) zcs 3228 lib/zstd/compress.c ZSTD_compressStream_generic(zcs, (char *)(output->dst) + output->pos, &sizeWritten, (const char *)(input->src) + input->pos, &sizeRead, zsf_gather); zcs 3238 lib/zstd/compress.c size_t ZSTD_flushStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output) zcs 3242 lib/zstd/compress.c size_t const result = ZSTD_compressStream_generic(zcs, (char *)(output->dst) + output->pos, &sizeWritten, &srcSize, zcs 3248 lib/zstd/compress.c return zcs->outBuffContentSize - zcs->outBuffFlushedSize; /* remaining to flush */ zcs 3251 lib/zstd/compress.c size_t ZSTD_endStream(ZSTD_CStream *zcs, ZSTD_outBuffer *output) zcs 3257 lib/zstd/compress.c if ((zcs->pledgedSrcSize) && (zcs->inputProcessed != zcs->pledgedSrcSize)) zcs 3260 lib/zstd/compress.c if (zcs->stage != zcss_final) { zcs 3265 lib/zstd/compress.c ZSTD_compressStream_generic(zcs, ostart, &sizeWritten, &srcSize, &srcSize, zsf_end); /* use a valid src address instead of NULL */ zcs 3266 lib/zstd/compress.c size_t const remainingToFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize; zcs 3270 lib/zstd/compress.c return remainingToFlush + ZSTD_BLOCKHEADERSIZE /* final empty block */ + (zcs->checksum * 4); zcs 3273 lib/zstd/compress.c zcs->stage = zcss_final; zcs 3274 lib/zstd/compress.c zcs->outBuffContentSize = !notEnded ? 0 : ZSTD_compressEnd(zcs->cctx, zcs->outBuff, zcs->outBuffSize, NULL, zcs 3280 lib/zstd/compress.c size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize; zcs 3281 lib/zstd/compress.c size_t const flushed = ZSTD_limitCopy(op, oend - op, zcs->outBuff + zcs->outBuffFlushedSize, toFlush); zcs 3283 lib/zstd/compress.c zcs->outBuffFlushedSize += flushed; zcs 3286 lib/zstd/compress.c zcs->stage = zcss_init; /* end reached */ zcs 260 lib/zstd/zstd_internal.h size_t ZSTD_freeCStream(ZSTD_CStream *zcs);