sd-common: add new macro for forcing 64bit size for public enums

That's the only way we can retain type-safe enums while being able to
guarantee for stable enum sizes.
This commit is contained in:
Lennart Poettering
2021-02-16 20:36:30 +01:00
parent d385d54638
commit 9823703ae6
+6
View File
@@ -99,4 +99,10 @@ typedef void (*_sd_destroy_t)(void *userdata);
} \
struct _sd_useless_struct_to_allow_trailing_semicolon_
/* The following macro should be used in all public enums, to force 64bit wideness on them, so that we can
* freely extend them later on, without breaking compatibility. */
#define _SD_ENUM_FORCE_S64(id) \
_SD_##id##_INT64_MIN = INT64_MIN, \
_SD_##id##_INT64_MAX = INT64_MAX
#endif