Name

allocate_resource — allocate empty slot in the resource tree given range & alignment. The resource will be reallocated with a new size if it was already allocated

Synopsis

int allocate_resource (struct resource * root,
 struct resource * new,
 resource_size_t size,
 resource_size_t min,
 resource_size_t max,
 resource_size_t align,
 resource_size_t (*alignf) (void *, const struct resource *, resource_size_t, resource_size_t),
 void * alignf_data);
 

Arguments

root

root resource descriptor

new

resource descriptor desired by caller

size

requested resource region size

min

minimum boundary to allocate

max

maximum boundary to allocate

align

alignment requested, in bytes

alignf

alignment function, optional, called if not NULL

alignf_data

arbitrary data to pass to the alignf function