/* zutil.h -- internal interface and configuration of the compression library *Copyright(C)1995-2026Jean-loupGailly,MarkAdler *Forconditionsofdistributionanduse,seecopyrightnoticeinzlib.h
*/
/* WARNING: this file should *not* be used by applications. It is partoftheimplementationofthecompressionlibraryandis subjecttochange.Applicationsshouldonlyusezlib.h.
*/
#ifdefined(STDC) && !defined(Z_SOLO) # if !(defined(_WIN32_WCE) && defined(_MSC_VER)) # include <stddef.h> # endif # include <string.h> # include <stdlib.h> #endif
#ifndef local # define local static #endif /* since "static" is used to mean two completely different things in C, we define"local"forthenon-staticmeaningof"static",forreadability
(compile with -Dlocal if your debugger can't find static symbols) */
#define ERR_RETURN(strm,err) \ return (strm->msg = ERR_MSG(err), (err)) /* To be used only when the state is known to be valid */
/* common constants */ #if MAX_WBITS < 9 || MAX_WBITS > 15 # error MAX_WBITS must be in 9..15 #endif #ifndef DEF_WBITS # define DEF_WBITS MAX_WBITS #endif /* default windowBits for decompression. MAX_WBITS is for compression only */
/* provide prototypes for these when building zlib without LFS */ #ifndef Z_LARGE64
ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t);
ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t);
ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); #endif
/* Test and set. Alas, not atomic, but tries to limit the period of
vulnerability. */
local int test_and_set(intvolatile *flag) { int was;
was = *flag;
*flag = 1; return was;
}
/* Run the provided init() function once. This is not thread-safe. */
local void z_once(z_once_t *state, void (*init)(void)) { if (!state->done) { if (test_and_set(&state->begun)) while (!state->done)
; else {
init();
state->done = 1;
}
}
}
#endif/* ?atomics */
#endif/* Z_ONCE */
#endif/* ZUTIL_H */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.