/* * Copyright (c) 2006-2023, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2023-12-07 Shell First version */ #ifndef __RID_BITMAP_H__ #define __RID_BITMAP_H__ #include #include #include #define RESOURCE_ID_INIT {0} typedef struct rid_bitmap { struct rt_mutex *id_lock; long min_id; long total_id_count; rt_bitmap_t *bitset; } *rid_bitmap_t; void rid_bitmap_init(rid_bitmap_t mgr, int min_id, int total_id_count, rt_bitmap_t *set, struct rt_mutex *id_lock); long rid_bitmap_get(rid_bitmap_t mgr); long rid_bitmap_get_named(rid_bitmap_t mgr, long no); void rid_bitmap_put(rid_bitmap_t mgr, long no); #endif /* __RID_BITMAP_H__ */