Data Structures
Here are the data structures with brief descriptions:
 Catomic_flagThe "minimal" type for which atomic operations must be defined
 Cp99_callback_stackA data structure to register callbacks
 Cp99_countA counter that allows atomic increment and decrement and a wait for the value 0
 Cp99_futexA counter similar to a conditional variable that allows atomic increment and decrement and to wait for the atomic compare and exchange for a specific value
 Cp99_futex_c11The structure that is used in the fallback implementation of p99_futex on non-linux systems
 Cp99_iteratorIterate over a series events that are signaled by other threads
 Cp99_notifierSet a flag and notify other threads that an event has occurred
 Cp99_once_flagComplete object type that holds a flag for use by p99_call_once
 Cp99_rwlA simple rwlock implementation
 Cp99_tssA stub structure to hold a thread local variable if thread_local is not available
 Ctss_tComplete object type that holds an identifier for a thread-specific storage pointer