函数逻辑报告 |
Source Code:lib\idr.c |
Create Date:2022-07-27 07:11:06 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:da_alloc_range() - Allocate an unused ID.*@ida: IDA handle.*@min: Lowest ID to allocate.*@max: Highest ID to allocate.*@gfp: Memory allocation flags.* Allocate an ID between @min and @max, inclusive. The allocated ID will
函数原型:int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int max, gfp_t gfp)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct ida * | ida | |
unsigned int | min | |
unsigned int | max | |
gfp_t | gfp |
383 | bit等于min取模IDA_BITMAP_BITS |
385 | struct ida_bitmap * bitmap, * alloc = NULL |
393 | retry : |
394 | xas_lock_irqsave( & xas, flags) |
395 | next : |
397 | 如果xa_index大于min除IDA_BITMAP_BITS则bit等于0 |
399 | 如果xa_index乘IDA_BITMAP_BITS加bit大于max则转到:nospc |
403 | tmp等于xa_to_value() - Get value stored in an XArray entry.*@entry: XArray entry.* Context: Any context.* Return: The value stored in the XArray entry. |
428 | 如果bitmap则 |
430 | 如果xa_index乘IDA_BITMAP_BITS加bit大于max则转到:nospc |
432 | 如果bit恒等于IDA_BITMAP_BITS则转到:next |
438 | 否则 |
441 | 否则 |
451 | out : |
452 | xas_unlock_irqrestore( & xas, flags) |
462 | 返回:xa_index乘IDA_BITMAP_BITS加bit |
463 | alloc : |
464 | xas_unlock_irqrestore( & xas, flags) |
469 | bit等于min取模IDA_BITMAP_BITS |
470 | 转到:retry |
471 | nospc : |
472 | xas_unlock_irqrestore( & xas, flags) |
473 | 返回:负ENOSPC |
名称 | 描述 |
---|---|
objagg_obj_root_id_alloc | |
ida_alloc | da_alloc() - Allocate an unused ID.*@ida: IDA handle.*@gfp: Memory allocation flags.* Allocate an ID between 0 and %INT_MAX, inclusive.* Context: Any context.* Return: The allocated ID, or %-ENOMEM if memory could not be allocated, |
ida_alloc_min | da_alloc_min() - Allocate an unused ID |
ida_alloc_max | da_alloc_max() - Allocate an unused ID |
get_anon_bdev | get_anon_bdev - Allocate a block device for filesystems which don't have one.*@p: Pointer to a dev_t.* Filesystems which don't use real block devices can call this function* to allocate a virtual block device.* Context: Any context |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |