13 typedef struct UIntMap {
23 #define UINTMAP_STATIC_INITIALIZE_N(_n) { NULL, NULL, 0, 0, (_n), RWLOCK_STATIC_INITIALIZE } 24 #define UINTMAP_STATIC_INITIALIZE UINTMAP_STATIC_INITIALIZE_N(INT_MAX) 26 void InitUIntMap(UIntMap *map, ALsizei limit);
27 void ResetUIntMap(UIntMap *map);
28 ALenum InsertUIntMapEntry(UIntMap *map, ALuint key, ALvoid *value);
29 ALvoid *RemoveUIntMapKey(UIntMap *map, ALuint key);
30 ALvoid *LookupUIntMapKey(UIntMap *map, ALuint key);
32 inline void LockUIntMapRead(UIntMap *map) { ReadLock(&map->lock); }
33 inline void UnlockUIntMapRead(UIntMap *map) { ReadUnlock(&map->lock); }
34 inline void LockUIntMapWrite(UIntMap *map) { WriteLock(&map->lock); }
35 inline void UnlockUIntMapWrite(UIntMap *map) { WriteUnlock(&map->lock); }