Skip to content

Instantly share code, notes, and snippets.

@Cogitri
Created April 16, 2020 13:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Cogitri/7231667f64648393806f3dd176a1c2d6 to your computer and use it in GitHub Desktop.
Save Cogitri/7231667f64648393806f3dd176a1c2d6 to your computer and use it in GitHub Desktop.
/* C struct, size == 192 */
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;
};
/* D struct, size == 200 */
struct apk_package
{
import std.bitmanip : bitfields;
apk_hash_node hash_node;
union
{
apk_solver_package_state ss;
struct
{
uint foreach_genid;
union
{
int state_int;
void* state_ptr;
}
}
}
apk_name* name;
apk_installed_package* ipkg;
apk_blob_t* version_;
apk_blob_t* arch;
apk_blob_t* license;
apk_blob_t* origin;
apk_blob_t* maintainer;
char* url;
char* description;
char* commit;
char* filename;
apk_dependency_array* depends;
apk_dependency_array* install_if;
apk_dependency_array* provides;
size_t installed_size;
size_t size;
time_t build_time;
ushort provider_priority;
mixin(bitfields!(uint, "repos", 32, uint, "marked", 1, uint,
"uninstallable", 1, uint, "cached_non_repository", 1, uint, "", 29));
apk_checksum csum;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment