brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 1c1bb21 Raw
48 lines · c
1/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */2 3#ifndef __LIBBPF_ZIP_H4#define __LIBBPF_ZIP_H5 6#include <linux/types.h>7 8/* Represents an open zip archive.9 * Only basic ZIP files are supported, in particular the following are not10 * supported:11 * - encryption12 * - streaming13 * - multi-part ZIP files14 * - ZIP6415 */16struct zip_archive;17 18/* Carries information on name, compression method, and data corresponding to a19 * file in a zip archive.20 */21struct zip_entry {22	/* Compression method as defined in pkzip spec. 0 means data is uncompressed. */23	__u16 compression;24 25	/* Non-null terminated name of the file. */26	const char *name;27	/* Length of the file name. */28	__u16 name_length;29 30	/* Pointer to the file data. */31	const void *data;32	/* Length of the file data. */33	__u32 data_length;34	/* Offset of the file data within the archive. */35	__u32 data_offset;36};37 38/* Open a zip archive. Returns NULL in case of an error. */39struct zip_archive *zip_archive_open(const char *path);40 41/* Close a zip archive and release resources. */42void zip_archive_close(struct zip_archive *archive);43 44/* Look up an entry corresponding to a file in given zip archive. */45int zip_archive_find_entry(struct zip_archive *archive, const char *name, struct zip_entry *out);46 47#endif48