X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Futil.h;h=c3bac7abe46be8d0c55f105989f318860e78dd8a;hp=40f6294e3d80e232832228e4968bc1e71ce948a2;hb=f50557a7095444c554a066b3837c2999ecd1be31;hpb=f1c07e953597e3f6a809d35d7d5160af1ff67ed3 diff --git a/include/wimlib/util.h b/include/wimlib/util.h index 40f6294e..c3bac7ab 100644 --- a/include/wimlib/util.h +++ b/include/wimlib/util.h @@ -24,6 +24,10 @@ /* Get the number of elements of an array type. */ #define ARRAY_LEN(array) (sizeof(array) / sizeof((array)[0])) +/* Round 'v' up to the next 'alignment'-byte aligned boundary. 'alignment' must + * be a power of 2. */ +#define ALIGN(v, alignment) (((v) + ((alignment) - 1)) & ~((alignment) - 1)) + /* Maximum number of bytes that can be allocated on the stack. * * Note: this isn't a hard bound on the stack space used, since this is just for @@ -84,9 +88,6 @@ extern void * mempcpy(void *dst, const void *src, size_t n); #endif -extern size_t -utf16le_strlen(const utf16lechar *s); - extern void randomize_byte_array(u8 *p, size_t n); @@ -120,4 +121,14 @@ cmp_u64(u64 n1, u64 n2) return 0; } +/************************ + * System information + ************************/ + +unsigned +get_available_cpus(void); + +u64 +get_available_memory(void); + #endif /* _WIMLIB_UTIL_H */