• Charlie Jacobsen's avatar
    private-types: Updates headers and build for private type systems. · b5dc70da
    Charlie Jacobsen authored
    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.
    b5dc70da