]> git.proxmox.com Git - libarchive-perl.git/blob - LibArchive/LibArchive.xs
updated for debian wheezy
[libarchive-perl.git] / LibArchive / LibArchive.xs
1 #include "EXTERN.h"
2 #include "perl.h"
3 #include "XSUB.h"
4
5 #include "ppport.h"
6
7 #include <archive.h>
8 #include <archive_entry.h>
9
10 #include "const-c.inc"
11
12 MODULE = LibArchive PACKAGE = LibArchive
13
14 INCLUDE: const-xs.inc
15
16 void
17 archive_clear_error(arg0)
18 struct archive * arg0
19
20 int
21 archive_compression(arg0)
22 struct archive * arg0
23
24 const char *
25 archive_compression_name(arg0)
26 struct archive * arg0
27
28 int
29 archive_errno(arg0)
30 struct archive * arg0
31
32 const char *
33 archive_error_string(arg0)
34 struct archive * arg0
35
36 int
37 archive_format(arg0)
38 struct archive * arg0
39
40 int
41 archive_read_close(arg0)
42 struct archive * arg0
43
44 ssize_t
45 archive_read_data(arg0, buffer, nbytes)
46 PREINIT:
47 SV *sv_buffer = SvROK(ST(1)) ? SvRV(ST(1)) : ST(1);
48 INPUT:
49 struct archive * arg0
50 size_t nbytes
51 char * buffer = sv_grow( sv_buffer, nbytes+1 );
52 CLEANUP:
53 if (RETVAL >= 0) {
54 SvCUR_set(sv_buffer, RETVAL);
55 SvPOK_only(sv_buffer);
56 *SvEND(sv_buffer) = '\0';
57 SvTAINTED_on(sv_buffer);
58 }
59
60 int
61 archive_read_data_skip(arg0)
62 struct archive * arg0
63
64 int
65 archive_read_extract(arg0, arg1, flags)
66 struct archive * arg0
67 struct archive_entry * arg1
68 int flags
69
70 int
71 archive_read_finish(arg0)
72 struct archive * arg0
73
74 struct archive *
75 archive_read_new()
76
77 int
78 archive_read_next_header(arg0, entry)
79 struct archive * arg0
80 struct archive_entry *entry = NO_INIT
81 CODE:
82 RETVAL = archive_read_next_header (arg0, &entry);
83 OUTPUT:
84 entry
85 RETVAL
86
87
88 int
89 archive_read_open_FILE(arg0, _file)
90 struct archive * arg0
91 FILE * _file
92
93 int
94 archive_read_open_fd(arg0, _fd, _block_size)
95 struct archive * arg0
96 int _fd
97 size_t _block_size
98
99 int
100 archive_read_open_file(arg0, _filename, _block_size)
101 struct archive * arg0
102 const char * _filename
103 size_t _block_size
104
105 int
106 archive_read_open_filename(arg0, _filename, _block_size)
107 struct archive * arg0
108 const char * _filename
109 size_t _block_size
110
111 int
112 archive_read_support_compression_all(arg0)
113 struct archive * arg0
114
115 int
116 archive_read_support_compression_bzip2(arg0)
117 struct archive * arg0
118
119 int
120 archive_read_support_compression_compress(arg0)
121 struct archive * arg0
122
123 int
124 archive_read_support_compression_gzip(arg0)
125 struct archive * arg0
126
127 int
128 archive_read_support_compression_none(arg0)
129 struct archive * arg0
130
131 int
132 archive_read_support_compression_program(arg0, command)
133 struct archive * arg0
134 const char * command
135
136 int
137 archive_read_support_format_all(arg0)
138 struct archive * arg0
139
140 int
141 archive_read_support_format_ar(arg0)
142 struct archive * arg0
143
144 int
145 archive_read_support_format_cpio(arg0)
146 struct archive * arg0
147
148 int
149 archive_read_support_format_empty(arg0)
150 struct archive * arg0
151
152 int
153 archive_read_support_format_gnutar(arg0)
154 struct archive * arg0
155
156 int
157 archive_read_support_format_iso9660(arg0)
158 struct archive * arg0
159
160 int
161 archive_read_support_format_tar(arg0)
162 struct archive * arg0
163
164 int
165 archive_read_support_format_zip(arg0)
166 struct archive * arg0
167
168 time_t
169 archive_entry_atime(arg0)
170 struct archive_entry * arg0
171
172 long
173 archive_entry_atime_nsec(arg0)
174 struct archive_entry * arg0
175
176 time_t
177 archive_entry_ctime(arg0)
178 struct archive_entry * arg0
179
180 long
181 archive_entry_ctime_nsec(arg0)
182 struct archive_entry * arg0
183
184 mode_t
185 archive_entry_mode(arg0)
186 struct archive_entry * arg0
187
188 const char *
189 archive_entry_gname(arg0)
190 struct archive_entry * arg0
191
192 const char *
193 archive_entry_hardlink(arg0)
194 struct archive_entry * arg0
195
196 time_t
197 archive_entry_mtime(arg0)
198 struct archive_entry * arg0
199
200 long
201 archive_entry_mtime_nsec(arg0)
202 struct archive_entry * arg0
203
204 unsigned int
205 archive_entry_nlink(arg0)
206 struct archive_entry * arg0
207
208 const char *
209 archive_entry_pathname(arg0)
210 struct archive_entry * arg0
211
212 long
213 archive_entry_size(arg0)
214 struct archive_entry * arg0
215 CODE:
216 int64_t lsize;
217 long res;
218 lsize = archive_entry_size (arg0);
219 if (lsize > LONG_MAX || lsize < LONG_MIN) {
220 Perl_croak(aTHX_ "archive entry too large");
221 }
222 RETVAL = res = lsize;
223 OUTPUT:
224 RETVAL
225
226 const char *
227 archive_entry_symlink(arg0)
228 struct archive_entry * arg0
229
230 const char *
231 archive_entry_uname(arg0)
232 struct archive_entry * arg0
233