xref: /openbmc/linux/include/linux/sem.h (revision 1a5c1349)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef _LINUX_SEM_H
31da177e4SLinus Torvalds #define _LINUX_SEM_H
41da177e4SLinus Torvalds 
5607ca46eSDavid Howells #include <uapi/linux/sem.h>
61da177e4SLinus Torvalds 
78c65b4a6STim Schmielau struct task_struct;
81a5c1349SEric W. Biederman struct sem_undo_list;
91da177e4SLinus Torvalds 
10f567a185SManfred Spraul #ifdef CONFIG_SYSVIPC
11f567a185SManfred Spraul 
121da177e4SLinus Torvalds struct sysv_sem {
131da177e4SLinus Torvalds 	struct sem_undo_list *undo_list;
141da177e4SLinus Torvalds };
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk);
171da177e4SLinus Torvalds extern void exit_sem(struct task_struct *tsk);
181da177e4SLinus Torvalds 
191da177e4SLinus Torvalds #else
20f567a185SManfred Spraul 
21f567a185SManfred Spraul struct sysv_sem {
22f567a185SManfred Spraul 	/* empty */
23f567a185SManfred Spraul };
24f567a185SManfred Spraul 
copy_semundo(unsigned long clone_flags,struct task_struct * tsk)251da177e4SLinus Torvalds static inline int copy_semundo(unsigned long clone_flags, struct task_struct *tsk)
261da177e4SLinus Torvalds {
271da177e4SLinus Torvalds 	return 0;
281da177e4SLinus Torvalds }
291da177e4SLinus Torvalds 
exit_sem(struct task_struct * tsk)301da177e4SLinus Torvalds static inline void exit_sem(struct task_struct *tsk)
311da177e4SLinus Torvalds {
321da177e4SLinus Torvalds 	return;
331da177e4SLinus Torvalds }
341da177e4SLinus Torvalds #endif
351da177e4SLinus Torvalds 
361da177e4SLinus Torvalds #endif /* _LINUX_SEM_H */
37