Add USB memory pool functions
This commit is contained in:
parent
19269781b4
commit
6ab2083403
|
@ -81,7 +81,7 @@ mmap_error:
|
|||
|
||||
}
|
||||
|
||||
usb_mem_page_t usb_alloc_mem_page(){
|
||||
int usb_alloc_mem_page(usb_mem_page_t page){
|
||||
usb_mem_page_t selected_page;
|
||||
int header, tail;
|
||||
|
||||
|
@ -94,17 +94,19 @@ usb_mem_page_t usb_alloc_mem_page(){
|
|||
*/
|
||||
|
||||
if((tail + 1) % MEM_POOL_SIZE == header)
|
||||
return NULL;
|
||||
return -1;
|
||||
|
||||
selected_page = &usb_mem_pool.pages[tail];
|
||||
tail++;
|
||||
|
||||
memcpy(page, selected_page, sizeof(struct usb_mem_page));
|
||||
|
||||
if(tail == MEM_POOL_SIZE)
|
||||
tail = 0;
|
||||
|
||||
usb_mem_pool.tail = tail;
|
||||
|
||||
return selected_page;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ typedef struct usb_mem_pool *usb_mem_pool_t;
|
|||
|
||||
int usb_mem_pool_init();
|
||||
void usb_mem_pool_destory();
|
||||
usb_mem_page_t usb_alloc_mem_page();
|
||||
int usb_alloc_mem_page(usb_mem_page_t page);
|
||||
void usb_free_mem_page(usb_mem_page_t page);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue