blob: 8b173a68092be11cdcea2749c521ef0d8602f14a [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_LINUX_SEM_H
8#define _UAPI_LINUX_SEM_H
9#include <linux/ipc.h>
10#define SEM_UNDO 0x1000
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define GETPID 11
12#define GETVAL 12
13#define GETALL 13
14#define GETNCNT 14
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define GETZCNT 15
16#define SETVAL 16
17#define SETALL 17
18#define SEM_STAT 18
Ben Cheng655a7c02013-10-16 16:09:24 -070019#define SEM_INFO 19
Christopher Ferris76a1d452018-06-27 14:12:29 -070020#define SEM_STAT_ANY 20
Elliott Hughes7c59f3f2016-08-16 18:14:26 -070021struct __kernel_legacy_semid_ds {
22 struct __kernel_legacy_ipc_perm sem_perm;
Christopher Ferrisd32ca142020-02-04 16:16:51 -080023 __kernel_old_time_t sem_otime;
24 __kernel_old_time_t sem_ctime;
Tao Baod7db5942015-01-28 10:07:51 -080025 struct sem * sem_base;
26 struct sem_queue * sem_pending;
27 struct sem_queue * * sem_pending_last;
Tao Baod7db5942015-01-28 10:07:51 -080028 struct sem_undo * undo;
29 unsigned short sem_nsems;
Ben Cheng655a7c02013-10-16 16:09:24 -070030};
31#include <asm/sembuf.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070032struct sembuf {
Tao Baod7db5942015-01-28 10:07:51 -080033 unsigned short sem_num;
34 short sem_op;
35 short sem_flg;
Ben Cheng655a7c02013-10-16 16:09:24 -070036};
Elliott Hughes497ad302017-05-18 15:05:26 -070037union __kernel_legacy_semun {
Tao Baod7db5942015-01-28 10:07:51 -080038 int val;
Elliott Hughes0f0c18f2023-03-29 15:53:31 -070039 struct __kernel_legacy_semid_ds * buf;
40 unsigned short * array;
41 struct seminfo * __buf;
42 void * __pad;
Ben Cheng655a7c02013-10-16 16:09:24 -070043};
Ben Cheng655a7c02013-10-16 16:09:24 -070044struct seminfo {
Tao Baod7db5942015-01-28 10:07:51 -080045 int semmap;
46 int semmni;
47 int semmns;
Tao Baod7db5942015-01-28 10:07:51 -080048 int semmnu;
49 int semmsl;
50 int semopm;
51 int semume;
Tao Baod7db5942015-01-28 10:07:51 -080052 int semusz;
53 int semvmx;
54 int semaem;
Ben Cheng655a7c02013-10-16 16:09:24 -070055};
Christopher Ferris05d08e92016-02-04 13:16:38 -080056#define SEMMNI 32000
57#define SEMMSL 32000
Tao Baod7db5942015-01-28 10:07:51 -080058#define SEMMNS (SEMMNI * SEMMSL)
Christopher Ferris05d08e92016-02-04 13:16:38 -080059#define SEMOPM 500
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define SEMVMX 32767
61#define SEMAEM SEMVMX
62#define SEMUME SEMOPM
63#define SEMMNU SEMMNS
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define SEMMAP SEMMNS
65#define SEMUSZ 20
66#endif