Files
kernel/include/linux/shm.h
T

46 lines
968 B
C
Raw Normal View History

/* SPDX-License-Identifier: GPL-2.0 */
2005-04-16 15:20:36 -07:00
#ifndef _LINUX_SHM_H_
#define _LINUX_SHM_H_
#include <linux/list.h>
2005-04-16 15:20:36 -07:00
#include <asm/page.h>
2012-10-13 10:46:48 +01:00
#include <uapi/linux/shm.h>
2005-04-16 15:20:36 -07:00
#include <asm/shmparam.h>
struct file;
2005-04-16 15:20:36 -07:00
#ifdef CONFIG_SYSVIPC
struct sysv_shm {
struct list_head shm_clist;
};
2012-07-30 14:42:38 -07:00
long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr,
unsigned long shmlba);
bool is_file_shm_hugepages(struct file *file);
void exit_shm(struct task_struct *task);
#define shm_init_task(task) INIT_LIST_HEAD(&(task)->sysvshm.shm_clist)
2005-04-16 15:20:36 -07:00
#else
struct sysv_shm {
/* empty */
};
2005-04-16 15:20:36 -07:00
static inline long do_shmat(int shmid, char __user *shmaddr,
2012-07-30 14:42:38 -07:00
int shmflg, unsigned long *addr,
unsigned long shmlba)
2005-04-16 15:20:36 -07:00
{
return -ENOSYS;
}
static inline bool is_file_shm_hugepages(struct file *file)
{
return false;
}
2011-07-26 16:08:48 -07:00
static inline void exit_shm(struct task_struct *task)
{
}
static inline void shm_init_task(struct task_struct *task)
{
}
2005-04-16 15:20:36 -07:00
#endif
#endif /* _LINUX_SHM_H_ */