private-types: Updates headers and build for private type systems.
This will not build yet (cap_type_system_t not defined yet). In LCDs (kernel land), there will be multiple threads sharing this library, but they shouldn't share the same set of types. So, we need to allow building libcap to preclude this sharing (using a global type system). A global type system is allowed by default, and the same interface will still be there if global types are enabled. There are a few new functions introduced with this new feature: cap_init_cspace_with_type_system cap_cspace_get_type_system cap_register_private_type These functions will now always be part of the interface. The old functions will be available if global types are allowed: cap_init_cspace - init cspace and attach global type system to it cap_register_type - register a global type I used some autoconf magic to conditionally include these old functions in the libcap.h interface. Implementation not in place yet.
Showing with 86 additions and 15 deletions