⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vmalloc.h

📁 Axis 221 camera embedded programing interface
💻 H
字号:
#ifndef _LINUX_VMALLOC_H#define _LINUX_VMALLOC_H#include <linux/spinlock.h>#include <asm/page.h>		/* pgprot_t */struct vm_area_struct;/* bits in vm_struct->flags */#define VM_IOREMAP	0x00000001	/* ioremap() and friends */#define VM_ALLOC	0x00000002	/* vmalloc() */#define VM_MAP		0x00000004	/* vmap()ed pages */#define VM_USERMAP	0x00000008	/* suitable for remap_vmalloc_range */#define VM_VPAGES	0x00000010	/* buffer for pages was vmalloc'ed *//* bits [20..32] reserved for arch specific ioremap internals *//* * Maximum alignment for ioremap() regions. * Can be overriden by arch-specific value. */#ifndef IOREMAP_MAX_ORDER#define IOREMAP_MAX_ORDER	(7 + PAGE_SHIFT)	/* 128 pages */#endifstruct vm_struct {	/* keep next,addr,size together to speedup lookups */	struct vm_struct	*next;	void			*addr;	unsigned long		size;	unsigned long		flags;	struct page		**pages;	unsigned int		nr_pages;	unsigned long		phys_addr;};/* *	Highlevel APIs for driver use */extern void *vmalloc(unsigned long size);extern void *vmalloc_user(unsigned long size);extern void *vmalloc_node(unsigned long size, int node);extern void *vmalloc_exec(unsigned long size);extern void *vmalloc_32(unsigned long size);extern void *vmalloc_32_user(unsigned long size);extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot);extern void *__vmalloc_area(struct vm_struct *area, gfp_t gfp_mask,				pgprot_t prot);extern void vfree(void *addr);extern void *vmap(struct page **pages, unsigned int count,			unsigned long flags, pgprot_t prot);extern void vunmap(void *addr);extern int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,							unsigned long pgoff); /* *	Lowlevel-APIs (not for driver use!) */extern struct vm_struct *get_vm_area(unsigned long size, unsigned long flags);extern struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags,					unsigned long start, unsigned long end);extern struct vm_struct *get_vm_area_node(unsigned long size,					  unsigned long flags, int node,					  gfp_t gfp_mask);extern struct vm_struct *remove_vm_area(void *addr);extern int map_vm_area(struct vm_struct *area, pgprot_t prot,			struct page ***pages);extern void unmap_vm_area(struct vm_struct *area);/* *	Internals.  Dont't use.. */extern rwlock_t vmlist_lock;extern struct vm_struct *vmlist;#endif /* _LINUX_VMALLOC_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -