forked from vieter-v/vieter
				
			Split libarchive bindings into separate file
							parent
							
								
									3fc0a2f9a9
								
							
						
					
					
						commit
						944bc41275
					
				|  | @ -0,0 +1,52 @@ | |||
| // Bindings for the libarchive library | ||||
| 
 | ||||
| #flag -larchive | ||||
| 
 | ||||
| #include "archive.h" | ||||
| 
 | ||||
| struct C.archive {} | ||||
| 
 | ||||
| // Create a new archive struct | ||||
| fn C.archive_read_new() &C.archive | ||||
| 
 | ||||
| // Configure the archive to work with zstd compression | ||||
| fn C.archive_read_support_filter_zstd(&C.archive) | ||||
| 
 | ||||
| // Configure the archive to work with a tarball content | ||||
| fn C.archive_read_support_format_tar(&C.archive) | ||||
| 
 | ||||
| // Open an archive for reading | ||||
| fn C.archive_read_open_filename(&C.archive, &char, int) int | ||||
| 
 | ||||
| // Go to next entry header in archive | ||||
| fn C.archive_read_next_header(&C.archive, &&C.archive_entry) int | ||||
| 
 | ||||
| // Skip reading the current entry | ||||
| fn C.archive_read_data_skip(&C.archive) | ||||
| 
 | ||||
| // Free an archive | ||||
| fn C.archive_read_free(&C.archive) int | ||||
| 
 | ||||
| // Read an archive entry's contents into a pointer | ||||
| fn C.archive_read_data(&C.archive, voidptr, int) | ||||
| 
 | ||||
| #include "archive_entry.h" | ||||
| 
 | ||||
| struct C.archive_entry {} | ||||
| 
 | ||||
| // Create a new archive_entry struct | ||||
| fn C.archive_entry_new() &C.archive_entry | ||||
| 
 | ||||
| // Get the filename of the given entry | ||||
| fn C.archive_entry_pathname(&C.archive_entry) &char | ||||
| 
 | ||||
| // Get an entry's file size | ||||
| // Note: this function actually returns an i64, but as this can't be used as an | ||||
| // arugment to malloc, we'll just roll with it & assume an entry is never | ||||
| // bigger than 4 gigs | ||||
| fn C.archive_entry_size(&C.archive_entry) int | ||||
| 
 | ||||
| #include <string.h> | ||||
| 
 | ||||
| // Compare two C strings; 0 means they're equal | ||||
| fn C.strcmp(&char, &char) int | ||||
|  | @ -3,57 +3,6 @@ module package | |||
| import os | ||||
| import util | ||||
| 
 | ||||
| #flag -larchive | ||||
| 
 | ||||
| #include "archive.h" | ||||
| 
 | ||||
| struct C.archive {} | ||||
| 
 | ||||
| // Create a new archive struct | ||||
| fn C.archive_read_new() &C.archive | ||||
| 
 | ||||
| // Configure the archive to work with zstd compression | ||||
| fn C.archive_read_support_filter_zstd(&C.archive) | ||||
| 
 | ||||
| // Configure the archive to work with a tarball content | ||||
| fn C.archive_read_support_format_tar(&C.archive) | ||||
| 
 | ||||
| // Open an archive for reading | ||||
| fn C.archive_read_open_filename(&C.archive, &char, int) int | ||||
| 
 | ||||
| // Go to next entry header in archive | ||||
| fn C.archive_read_next_header(&C.archive, &&C.archive_entry) int | ||||
| 
 | ||||
| // Skip reading the current entry | ||||
| fn C.archive_read_data_skip(&C.archive) | ||||
| 
 | ||||
| // Free an archive | ||||
| fn C.archive_read_free(&C.archive) int | ||||
| 
 | ||||
| // Read an archive entry's contents into a pointer | ||||
| fn C.archive_read_data(&C.archive, voidptr, int) | ||||
| 
 | ||||
| #include "archive_entry.h" | ||||
| 
 | ||||
| struct C.archive_entry {} | ||||
| 
 | ||||
| // Create a new archive_entry struct | ||||
| fn C.archive_entry_new() &C.archive_entry | ||||
| 
 | ||||
| // Get the filename of the given entry | ||||
| fn C.archive_entry_pathname(&C.archive_entry) &char | ||||
| 
 | ||||
| // Get an entry's file size | ||||
| // Note: this function actually returns an i64, but as this can't be used as an | ||||
| // arugment to malloc, we'll just roll with it & assume an entry is never | ||||
| // bigger than 4 gigs | ||||
| fn C.archive_entry_size(&C.archive_entry) int | ||||
| 
 | ||||
| #include <string.h> | ||||
| 
 | ||||
| // Compare two C strings; 0 means they're equal | ||||
| fn C.strcmp(&char, &char) int | ||||
| 
 | ||||
| // Represents a read archive | ||||
| struct Pkg { | ||||
| pub: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue