at for-next 835 B view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _LINUX_SHM_H_ 3#define _LINUX_SHM_H_ 4 5#include <linux/types.h> 6#include <asm/page.h> 7#include <asm/shmparam.h> 8 9struct file; 10struct task_struct; 11 12#ifdef CONFIG_SYSVIPC 13struct sysv_shm { 14 struct list_head shm_clist; 15}; 16 17long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr, 18 unsigned long shmlba); 19void exit_shm(struct task_struct *task); 20#define shm_init_task(task) INIT_LIST_HEAD(&(task)->sysvshm.shm_clist) 21#else 22struct sysv_shm { 23 /* empty */ 24}; 25 26static inline long do_shmat(int shmid, char __user *shmaddr, 27 int shmflg, unsigned long *addr, 28 unsigned long shmlba) 29{ 30 return -ENOSYS; 31} 32static inline void exit_shm(struct task_struct *task) 33{ 34} 35static inline void shm_init_task(struct task_struct *task) 36{ 37} 38#endif 39 40#endif /* _LINUX_SHM_H_ */