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

📄 shm.h

📁 Axis 221 camera embedded programing interface
💻 H
字号:
#ifndef _LINUX_SHM_H_#define _LINUX_SHM_H_#include <linux/ipc.h>#include <linux/errno.h>#include <asm/page.h>/* * SHMMAX, SHMMNI and SHMALL are upper limits are defaults which can * be increased by sysctl */#define SHMMAX 0x2000000		 /* max shared seg size (bytes) */#define SHMMIN 1			 /* min shared seg size (bytes) */#define SHMMNI 4096			 /* max num of segs system wide */#define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) /* max shm system wide (pages) */#define SHMSEG SHMMNI			 /* max shared segs per process */#include <asm/shmparam.h>/* Obsolete, used only for backwards compatibility and libc5 compiles */struct shmid_ds {	struct ipc_perm		shm_perm;	/* operation perms */	int			shm_segsz;	/* size of segment (bytes) */	__kernel_time_t		shm_atime;	/* last attach time */	__kernel_time_t		shm_dtime;	/* last detach time */	__kernel_time_t		shm_ctime;	/* last change time */	__kernel_ipc_pid_t	shm_cpid;	/* pid of creator */	__kernel_ipc_pid_t	shm_lpid;	/* pid of last operator */	unsigned short		shm_nattch;	/* no. of current attaches */	unsigned short 		shm_unused;	/* compatibility */	void 			*shm_unused2;	/* ditto - used by DIPC */	void			*shm_unused3;	/* unused */};/* Include the definition of shmid64_ds and shminfo64 */#include <asm/shmbuf.h>/* permission flag for shmget */#define SHM_R		0400	/* or S_IRUGO from <linux/stat.h> */#define SHM_W		0200	/* or S_IWUGO from <linux/stat.h> *//* mode for attach */#define	SHM_RDONLY	010000	/* read-only access */#define	SHM_RND		020000	/* round attach address to SHMLBA boundary */#define	SHM_REMAP	040000	/* take-over region on attach */#define	SHM_EXEC	0100000	/* execution access *//* super user shmctl commands */#define SHM_LOCK 	11#define SHM_UNLOCK 	12/* ipcs ctl commands */#define SHM_STAT 	13#define SHM_INFO 	14/* Obsolete, used only for backwards compatibility */struct	shminfo {	int shmmax;	int shmmin;	int shmmni;	int shmseg;	int shmall;};struct shm_info {	int used_ids;	unsigned long shm_tot;	/* total allocated shm */	unsigned long shm_rss;	/* total resident shm */	unsigned long shm_swp;	/* total swapped shm */	unsigned long swap_attempts;	unsigned long swap_successes;};#ifdef __KERNEL__struct shmid_kernel /* private to the kernel */{		struct kern_ipc_perm	shm_perm;	struct file *		shm_file;	int			id;	unsigned long		shm_nattch;	unsigned long		shm_segsz;	time_t			shm_atim;	time_t			shm_dtim;	time_t			shm_ctim;	pid_t			shm_cprid;	pid_t			shm_lprid;	struct user_struct	*mlock_user;};/* shm_mode upper byte flags */#define	SHM_DEST	01000	/* segment will be destroyed on last detach */#define SHM_LOCKED      02000   /* segment will not be swapped */#define SHM_HUGETLB     04000   /* segment will use huge TLB pages */#define SHM_NORESERVE   010000  /* don't check for reservations */#ifdef CONFIG_SYSVIPClong do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr);#elsestatic inline long do_shmat(int shmid, char __user *shmaddr,				int shmflg, unsigned long *addr){	return -ENOSYS;}#endif#endif /* __KERNEL__ */#endif /* _LINUX_SHM_H_ */

⌨️ 快捷键说明

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