Data hashing, integrity and generic compression.
More...
|
| u32 | gf_crc_32 (const u8 *data, u32 size) |
| | CRC32 compute.
|
| |
| GF_Err | gf_gz_compress_payload (u8 **data, u32 data_len, u32 *out_size) |
| |
| GF_Err | gf_gz_compress_payload_ex (u8 **data, u32 data_len, u32 *out_size, u8 data_offset, Bool skip_if_larger, u8 **out_comp_data, Bool use_gz) |
| |
| GF_Err | gf_gz_decompress_payload (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size) |
| |
| GF_Err | gf_gz_decompress_payload_ex (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size, Bool use_gz) |
| |
| GF_Err | gf_lz_compress_payload (u8 **data, u32 data_len, u32 *out_size) |
| |
| GF_Err | gf_lz_decompress_payload (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size) |
| |
| u64 | gf_gzseek (void *file, u64 offset, int whence) |
| |
| u64 | gf_gztell (void *file) |
| |
| s64 | gf_gzrewind (void *file) |
| |
| int | gf_gzeof (void *file) |
| |
| int | gf_gzclose (void *file) |
| |
| const char * | gf_gzerror (void *file, int *errnum) |
| |
| void | gf_gzclearerr (void *file) |
| |
| void * | gf_gzopen (const char *path, const char *mode) |
| |
| int | gf_gzread (void *file, void *buf, unsigned len) |
| |
| int | gf_gzdirect (void *file) |
| |
| int | gf_gzgetc (void *file) |
| |
| char * | gf_gzgets (void *file, char *buf, int len) |
| |
| GF_SHA1Context * | gf_sha1_starts () |
| |
| void | gf_sha1_update (GF_SHA1Context *ctx, u8 *input, u32 length) |
| |
| void | gf_sha1_finish (GF_SHA1Context *ctx, u8 digest[GF_SHA1_DIGEST_SIZE]) |
| |
| GF_Err | gf_sha1_file (const char *filename, u8 digest[GF_SHA1_DIGEST_SIZE]) |
| |
| GF_Err | gf_sha1_file_ptr (FILE *file, u8 digest[GF_SHA1_DIGEST_SIZE]) |
| |
| void | gf_sha1_csum (u8 *buf, u32 buflen, u8 digest[GF_SHA1_DIGEST_SIZE]) |
| |
Data hashing, integrity and generic compression.
This section documents misc data functions such as integrity and parsing such as SHA-1 hashing CRC checksum, 128 bit ID parsing...
◆ GF_SHA1_DIGEST_SIZE
| #define GF_SHA1_DIGEST_SIZE 20 |
◆ gf_crc_32()
| u32 gf_crc_32 |
( |
const u8 * |
data, |
|
|
u32 |
size |
|
) |
| |
CRC32 compute.
Computes the CRC32 value of a buffer.
- Parameters
-
| data | buffer |
| size | buffer size |
- Returns
- computed CRC32
◆ gf_gz_compress_payload()
| GF_Err gf_gz_compress_payload |
( |
u8 ** |
data, |
|
|
u32 |
data_len, |
|
|
u32 * |
out_size |
|
) |
| |
Compresses a data buffer in place using zlib/deflate. Buffer may be reallocated in the process.
- Parameters
-
| data | pointer to the data buffer to be compressed |
| data_len | length of the data buffer to be compressed |
| out_size | pointer for output buffer size |
- Returns
- error if any
◆ gf_gz_compress_payload_ex()
| GF_Err gf_gz_compress_payload_ex |
( |
u8 ** |
data, |
|
|
u32 |
data_len, |
|
|
u32 * |
out_size, |
|
|
u8 |
data_offset, |
|
|
Bool |
skip_if_larger, |
|
|
u8 ** |
out_comp_data, |
|
|
Bool |
use_gz |
|
) |
| |
Compresses a data buffer in place using zlib/deflate. Buffer may be reallocated in the process.
- Parameters
-
| data | pointer to the data buffer to be compressed |
| data_len | length of the data buffer to be compressed |
| out_size | pointer for output buffer size |
| data_offset | offset in source buffer - the input payload size is data_len - data_offset |
| skip_if_larger | if GF_TRUE, will not override source buffer if compressed version is larger than input data |
| out_comp_data | if not NULL, the compressed result is set in this pointer rather than doing inplace compression |
| use_gz | if true, GZ header is present |
- Returns
- error if any
◆ gf_gz_decompress_payload()
| GF_Err gf_gz_decompress_payload |
( |
u8 * |
data, |
|
|
u32 |
data_len, |
|
|
u8 ** |
uncompressed_data, |
|
|
u32 * |
out_size |
|
) |
| |
Decompresses a data buffer using zlib/inflate.
- Parameters
-
| data | data buffer to be decompressed |
| data_len | length of the data buffer to be decompressed |
| uncompressed_data | pointer to the uncompressed data buffer. The resulting buffer is NULL-terminated. It is the responsibility of the caller to free this buffer. |
| out_size | size of the uncompressed buffer |
- Returns
- error if any
◆ gf_gz_decompress_payload_ex()
| GF_Err gf_gz_decompress_payload_ex |
( |
u8 * |
data, |
|
|
u32 |
data_len, |
|
|
u8 ** |
uncompressed_data, |
|
|
u32 * |
out_size, |
|
|
Bool |
use_gz |
|
) |
| |
Decompresses a data buffer using zlib/inflate.
- Parameters
-
| data | data buffer to be decompressed |
| data_len | length of the data buffer to be decompressed |
| uncompressed_data | pointer to the uncompressed data buffer. The resulting buffer is NULL-terminated. It is the responsibility of the caller to free this buffer. |
| out_size | size of the uncompressed buffer |
| use_gz | if true, gz header is present |
- Returns
- error if any
◆ gf_lz_compress_payload()
| GF_Err gf_lz_compress_payload |
( |
u8 ** |
data, |
|
|
u32 |
data_len, |
|
|
u32 * |
out_size |
|
) |
| |
Compresses a data buffer in place using LZMA. Buffer may be reallocated in the process.
- Parameters
-
| data | pointer to the data buffer to be compressed |
| data_len | length of the data buffer to be compressed |
| out_size | pointer for output buffer size |
- Returns
- error if any
◆ gf_lz_decompress_payload()
| GF_Err gf_lz_decompress_payload |
( |
u8 * |
data, |
|
|
u32 |
data_len, |
|
|
u8 ** |
uncompressed_data, |
|
|
u32 * |
out_size |
|
) |
| |
Decompresses a data buffer using LZMA.
- Parameters
-
| data | data buffer to be decompressed |
| data_len | length of the data buffer to be decompressed |
| uncompressed_data | pointer to the uncompressed data buffer. It is the responsibility of the caller to free this buffer. |
| out_size | size of the uncompressed buffer |
- Returns
- error if any
◆ gf_gzseek()
| u64 gf_gzseek |
( |
void * |
file, |
|
|
u64 |
offset, |
|
|
int |
whence |
|
) |
| |
Wrapper around gzseek, same parameters
- Parameters
-
| file | target gzfile |
| offset | offset in file |
| whence | same as gzseek |
- Returns
- same as gzseek
◆ gf_gztell()
| u64 gf_gztell |
( |
void * |
file | ) |
|
Wrapper around gf_gztell, same parameters
- Parameters
-
- Returns
- postion in file
◆ gf_gzrewind()
| s64 gf_gzrewind |
( |
void * |
file | ) |
|
Wrapper around gzrewind, same parameters
- Parameters
-
- Returns
- same as gzrewind
◆ gf_gzeof()
| int gf_gzeof |
( |
void * |
file | ) |
|
Wrapper around gzeof, same parameters
- Parameters
-
- Returns
- same as gzeof
◆ gf_gzclose()
| int gf_gzclose |
( |
void * |
file | ) |
|
Wrapper around gzclose, same parameters
- Parameters
-
- Returns
- same as gzclose
◆ gf_gzerror()
| const char * gf_gzerror |
( |
void * |
file, |
|
|
int * |
errnum |
|
) |
| |
Wrapper around gzerror, same parameters
- Parameters
-
| file | target gzfile |
| errnum | same as gzerror |
- Returns
- same as gzerror
◆ gf_gzclearerr()
| void gf_gzclearerr |
( |
void * |
file | ) |
|
Wrapper around gzclearerr, same parameters
- Parameters
-
◆ gf_gzopen()
| void * gf_gzopen |
( |
const char * |
path, |
|
|
const char * |
mode |
|
) |
| |
Wrapper around gzopen, same parameters
- Parameters
-
| path | the file name to open |
| mode | the file open mode |
- Returns
- open file
◆ gf_gzread()
| int gf_gzread |
( |
void * |
file, |
|
|
void * |
buf, |
|
|
unsigned |
len |
|
) |
| |
Wrapper around gzread, same parameters
- Parameters
-
| file | target gzfile |
| buf | same as gzread |
| len | same as gzread |
- Returns
- same as gzread
◆ gf_gzdirect()
| int gf_gzdirect |
( |
void * |
file | ) |
|
Wrapper around gzdirect, same parameters
- Parameters
-
- Returns
- same as gzdirect
◆ gf_gzgetc()
| int gf_gzgetc |
( |
void * |
file | ) |
|
Wrapper around gzgetc, same parameters
- Parameters
-
- Returns
- same as gzgetc
◆ gf_gzgets()
| char * gf_gzgets |
( |
void * |
file, |
|
|
char * |
buf, |
|
|
int |
len |
|
) |
| |
Wrapper around gzgets, same parameters
- Parameters
-
| file | target gzfile |
| buf | same as gzread |
| len | same as gzread |
- Returns
- same as gzgets
◆ gf_sha1_starts()
| GF_SHA1Context * gf_sha1_starts |
( |
| ) |
|
create SHA-1 context
- Returns
- the SHA1 context
◆ gf_sha1_update()
| void gf_sha1_update |
( |
GF_SHA1Context * |
ctx, |
|
|
u8 * |
input, |
|
|
u32 |
length |
|
) |
| |
adds byte to the SHA-1 context
- Parameters
-
| ctx | the target SHA1 context |
| input | data to hash |
| length | size of data in bytes |
◆ gf_sha1_finish()
| void gf_sha1_finish |
( |
GF_SHA1Context * |
ctx, |
|
|
u8 |
digest[GF_SHA1_DIGEST_SIZE] |
|
) |
| |
generates SHA-1 of all bytes ingested
- Parameters
-
| ctx | the target SHA1 context |
| digest | buffer to store message digest |
◆ gf_sha1_file()
| GF_Err gf_sha1_file |
( |
const char * |
filename, |
|
|
u8 |
digest[GF_SHA1_DIGEST_SIZE] |
|
) |
| |
gets SHA1 message digest of a file
- Parameters
-
| filename | name of file to hash |
| digest | buffer to store message digest |
- Returns
- error if any
◆ gf_sha1_file_ptr()
| GF_Err gf_sha1_file_ptr |
( |
FILE * |
file, |
|
|
u8 |
digest[GF_SHA1_DIGEST_SIZE] |
|
) |
| |
gets SHA1 message digest of a opened file
- Parameters
-
| file | handle to open file |
| digest | buffer to store message digest |
- Returns
- error if any
◆ gf_sha1_csum()
| void gf_sha1_csum |
( |
u8 * |
buf, |
|
|
u32 |
buflen, |
|
|
u8 |
digest[GF_SHA1_DIGEST_SIZE] |
|
) |
| |
gets SHA-1 of input buffer
- Parameters
-
| buf | input buffer to hash |
| buflen | size of input buffer in bytes |
| digest | buffer to store message digest |