Created
May 4, 2020 13:17
-
-
Save Cogitri/78b63494674802796de2a45d52401640 to your computer and use it in GitHub Desktop.
C struct (192 Bytes) vs Rust struct (200 Bytes)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct apk_package { | |
apk_hash_node hash_node; | |
union { | |
struct apk_solver_package_state ss; | |
struct { | |
unsigned int foreach_genid; | |
union { | |
int state_int; | |
void *state_ptr; | |
}; | |
}; | |
}; | |
struct apk_name *name; | |
struct apk_installed_package *ipkg; | |
apk_blob_t *version, *arch, *license; | |
apk_blob_t *origin, *maintainer; | |
char *url, *description, *commit; | |
char *filename; | |
struct apk_dependency_array *depends, *install_if, *provides; | |
size_t installed_size, size; | |
time_t build_time; | |
unsigned short provider_priority; | |
unsigned repos : APK_MAX_REPOS; | |
unsigned marked : 1; | |
unsigned uninstallable : 1; | |
unsigned cached_non_repository : 1; | |
struct apk_checksum csum; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# [repr(C)] | |
#[derive(Copy,Clone)] | |
pub struct apk_package { | |
pub hash_node : apk_hash_node , | |
pub __bindgen_anon_1 : apk_package__bindgen_ty_1 , | |
pub name : * mut apk_name , | |
pub ipkg : * mut apk_installed_package , | |
pub version : * mut apk_blob_t , | |
pub arch : * mut apk_blob_t , | |
pub license : * mut apk_blob_t , | |
pub origin : * mut apk_blob_t , | |
pub maintainer : * mut apk_blob_t , | |
pub url : * mut :: std :: os :: raw :: c_char , | |
pub description : * mut :: std :: os :: raw :: c_char , | |
pub commit : * mut :: std :: os :: raw :: c_char , | |
pub filename : * mut :: std :: os :: raw :: c_char , | |
pub depends : * mut apk_dependency_array , | |
pub install_if : * mut apk_dependency_array , | |
pub provides : * mut apk_dependency_array , | |
pub installed_size : size_t , pub size : size_t , | |
pub build_time : time_t , | |
pub provider_priority : :: std :: os :: raw :: c_ushort , | |
pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 8usize ] , u32 > , | |
pub csum : apk_checksum , | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment