Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) #ifndef INFTREES_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #define INFTREES_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) /* inftrees.h -- header to use inftrees.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Copyright (C) 1995-2005 Mark Adler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * For conditions of distribution and use, see copyright notice in zlib.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) /* WARNING: this file should *not* be used by applications. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)    part of the implementation of the compression library and is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)    subject to change. Applications should only use zlib.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) /* Structure for decoding tables.  Each entry provides either the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)    information needed to do the operation requested by the code that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)    indexed that table entry, or it provides a pointer to another
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)    table that indexes more bits of the code.  op indicates whether
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)    the entry is a pointer to another table, a literal, a length or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)    distance, an end-of-block, or an invalid code.  For a table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)    pointer, the low four bits of op is the number of index bits of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)    that table.  For a length or distance, the low four bits of op
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)    is the number of extra bits to get after the code.  bits is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)    the number of bits in this code or part of the code to drop off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)    of the bit buffer.  val is the actual byte to output in the case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)    of a literal, the base length or distance, or the offset from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)    the current table to the next table.  Each entry is four bytes. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) typedef struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)     unsigned char op;           /* operation, extra bits, table bits */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)     unsigned char bits;         /* bits in this part of the code */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)     unsigned short val;         /* offset in table or code value */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) } code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /* op values as set by inflate_table():
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)     00000000 - literal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)     0000tttt - table link, tttt != 0 is the number of table index bits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)     0001eeee - length or distance, eeee is the number of extra bits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)     01100000 - end of block
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)     01000000 - invalid code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) /* Maximum size of dynamic tree.  The maximum found in a long but non-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)    exhaustive search was 1444 code structures (852 for length/literals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)    and 592 for distances, the latter actually the result of an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)    exhaustive search).  The true maximum is not known, but the value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)    below is more than safe. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define ENOUGH 2048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #define MAXD 592
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) /* Type of code to build for inftable() */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) typedef enum {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)     CODES,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)     LENS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)     DISTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) } codetype;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) extern int zlib_inflate_table (codetype type, unsigned short *lens,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)                              unsigned codes, code **table,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)                              unsigned *bits, unsigned short *work);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #endif