| 1 |
|
| 2 |
|
| 3 | #ifndef __LIBBPF_ZIP_H
|
| 4 | #define __LIBBPF_ZIP_H
|
| 5 |
|
| 6 | #include <linux/types.h>
|
| 7 |
|
| 8 | |
| 9 | * Only basic ZIP files are supported, in particular the following are not
|
| 10 | * supported:
|
| 11 | * - encryption
|
| 12 | * - streaming
|
| 13 | * - multi-part ZIP files
|
| 14 | * - ZIP64
|
| 15 |
|
| 16 | struct zip_archive;
|
| 17 |
|
| 18 | |
| 19 | * file in a zip archive.
|
| 20 |
|
| 21 | struct zip_entry {
|
| 22 |
|
| 23 | __u16 compression;
|
| 24 |
|
| 25 |
|
| 26 | const char *name;
|
| 27 |
|
| 28 | __u16 name_length;
|
| 29 |
|
| 30 |
|
| 31 | const void *data;
|
| 32 |
|
| 33 | __u32 data_length;
|
| 34 |
|
| 35 | __u32 data_offset;
|
| 36 | };
|
| 37 |
|
| 38 |
|
| 39 | struct zip_archive *zip_archive_open(const char *path);
|
| 40 |
|
| 41 |
|
| 42 | void zip_archive_close(struct zip_archive *archive);
|
| 43 |
|
| 44 |
|
| 45 | int zip_archive_find_entry(struct zip_archive *archive, const char *name, struct zip_entry *out);
|
| 46 |
|
| 47 | #endif
|