1 #ifndef XTENSA_TARGET_STRUCTS_H
2 #define XTENSA_TARGET_STRUCTS_H
3 
4 struct target_ipc_perm {
5     abi_int __key;                      /* Key.  */
6     abi_uint uid;                       /* Owner's user ID.  */
7     abi_uint gid;                       /* Owner's group ID.  */
8     abi_uint cuid;                      /* Creator's user ID.  */
9     abi_uint cgid;                      /* Creator's group ID.  */
10     abi_uint mode;                      /* Read/write permission.  */
11     abi_ulong __seq;                    /* Sequence number.  */
12     abi_ulong __unused1;
13     abi_ulong __unused2;
14 };
15 
16 struct target_semid64_ds {
17   struct target_ipc_perm sem_perm;
18 #ifdef TARGET_WORDS_BIGENDIAN
19   abi_ulong __unused1;
20   abi_ulong sem_otime;
21   abi_ulong __unused2;
22   abi_ulong sem_ctime;
23 #else
24   abi_ulong sem_otime;
25   abi_ulong __unused1;
26   abi_ulong sem_ctime;
27   abi_ulong __unused2;
28 #endif
29   abi_ulong sem_nsems;
30   abi_ulong __unused3;
31   abi_ulong __unused4;
32 };
33 #define TARGET_SEMID64_DS
34 
35 struct target_shmid_ds {
36     struct target_ipc_perm shm_perm;    /* operation permission struct */
37     abi_long shm_segsz;                 /* size of segment in bytes */
38     abi_long shm_atime;                 /* time of last shmat() */
39     abi_ulong __unused1;
40     abi_long shm_dtime;                 /* time of last shmdt() */
41     abi_ulong __unused2;
42     abi_long shm_ctime;                 /* time of last change by shmctl() */
43     abi_ulong __unused3;
44     abi_uint shm_cpid;                  /* pid of creator */
45     abi_uint shm_lpid;                  /* pid of last shmop */
46     abi_ulong shm_nattch;               /* number of current attaches */
47     abi_ulong __unused4;
48     abi_ulong __unused5;
49 };
50 
51 #endif
52