1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_SEM_H
3#define _LINUX_SEM_H
4
5#include <uapi/linux/sem.h>
6
7struct task_struct;
8struct sem_undo_list;
9
10#ifdef CONFIG_SYSVIPC
11
12struct sysv_sem {
13 struct sem_undo_list *undo_list;
14};
15
16extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk);
17extern void exit_sem(struct task_struct *tsk);
18
19#else
20
21struct sysv_sem {
22 /* empty */
23};
24
25static inline int copy_semundo(unsigned long clone_flags, struct task_struct *tsk)
26{
27 return 0;
28}
29
30static inline void exit_sem(struct task_struct *tsk)
31{
32 return;
33}
34#endif
35
36#endif /* _LINUX_SEM_H */
37