1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
/// @file WASM shim for libarchive's archive.h
/// Provides just enough for headers to compile; tarfile.cc is excluded from WASM.
#pragma once
#include <stddef.h>
#include <stdint.h>
struct archive;
struct archive_entry;
typedef int64_t la_int64_t;
typedef size_t la_ssize_t;
#define ARCHIVE_OK 0
#define ARCHIVE_EOF 1
#define ARCHIVE_WARN (-20)
#define ARCHIVE_FAILED (-25)
#define ARCHIVE_FATAL (-30)
#define ARCHIVE_FORMAT_TAR 0x30000
static inline struct archive * archive_read_new(void)
{
return nullptr;
}
static inline void archive_read_free(struct archive *) {}
static inline int archive_read_support_filter_all(struct archive *)
{
return 0;
}
static inline int archive_read_support_format_all(struct archive *)
{
return 0;
}
static inline int archive_read_next_header(struct archive *, struct archive_entry **)
{
return ARCHIVE_EOF;
}
static inline la_ssize_t archive_read_data(struct archive *, void *, size_t)
{
return 0;
}
static inline int archive_read_open_filename(struct archive *, const char *, size_t)
{
return ARCHIVE_FATAL;
}
static inline const char * archive_error_string(struct archive *)
{
return "";
}
static inline int archive_filter_count(struct archive *)
{
return 0;
}
static inline struct archive * archive_write_new(void)
{
return nullptr;
}
static inline int archive_write_free(struct archive *)
{
return 0;
}
static inline int archive_write_close(struct archive *)
{
return 0;
}
static inline int archive_write_add_filter_by_name(struct archive *, const char *)
{
return 0;
}
static inline int archive_write_set_format_raw(struct archive *)
{
return 0;
}
static inline int archive_write_set_filter_option(struct archive *, const char *, const char *, const char *)
{
return 0;
}
static inline int archive_write_set_bytes_per_block(struct archive *, int)
{
return 0;
}
static inline int archive_write_set_bytes_in_last_block(struct archive *, int)
{
return 0;
}
static inline la_ssize_t archive_write_data(struct archive *, const void *, size_t)
{
return 0;
}
static inline int archive_write_open(struct archive *, void *, void *, void *, void *)
{
return 0;
}
static inline int archive_write_header(struct archive *, struct archive_entry *)
{
return 0;
}
static inline int archive_errno(struct archive *)
{
return 0;
}
static inline struct archive_entry * archive_entry_new(void)
{
return nullptr;
}
static inline void archive_entry_free(struct archive_entry *) {}
static inline void archive_entry_set_filetype(struct archive_entry *, unsigned int) {}
|