/* * * Copyright (c) International Business Machines Corp., 2001 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* * hugetlb.h - common definitions for the hugepage tests */ #ifndef __HUGETLB_H #define __HUGETLB_H #include <stdlib.h> #include <sys/ipc.h> #include <sys/shm.h> #include <errno.h> #include <sys/wait.h> #include "tst_test.h" #include "old_tmpdir.h" #include "mem.h" #define SHM_RD 0400 #define SHM_WR 0200 #define SHM_RW (SHM_RD|SHM_WR) #ifndef SHM_HUGETLB #define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */ #endif /* * to get the lower nine permission bits * from shmid_ds.ipc_perm.mode */ #define MODE_MASK 0x01FF key_t shmkey; /* an IPC key generated by ftok() */ int getipckey(void); int getuserid(char *user); void rm_shm(int shm_id); char *nr_opt; char *Hopt; void check_hugepage(void); long save_nr_hugepages(void); void restore_nr_hugepages(void); #endif /* hugetlb.h */