1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * 4 * Copyright (c) International Business Machines Corp., 2001 5 */ 6 7 /* 8 * hugetlb.h - common definitions for the hugepage tests 9 */ 10 11 #ifndef __HUGETLB_H 12 #define __HUGETLB_H 13 14 #include <stdlib.h> 15 #include <sys/ipc.h> 16 #include <sys/shm.h> 17 #include <errno.h> 18 #include <sys/wait.h> 19 #include "tst_test.h" 20 #include "old_tmpdir.h" 21 #include "mem.h" 22 23 #define SHM_RD 0400 24 #define SHM_WR 0200 25 #define SHM_RW (SHM_RD|SHM_WR) 26 27 #ifndef SHM_HUGETLB 28 #define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */ 29 #endif 30 31 /* 32 * to get the lower nine permission bits 33 * from shmid_ds.ipc_perm.mode 34 */ 35 #define MODE_MASK 0x01FF 36 37 extern key_t shmkey; /* an IPC key generated by ftok() */ 38 39 int getipckey(void); 40 int getuserid(char *user); 41 void rm_shm(int shm_id); 42 43 #endif /* hugetlb.h */ 44