[PATCH] posix: move sys/mman.h to newlib and test it in psxhdrs
Gedare Bloom
gedare at rtems.org
Mon Aug 1 20:12:59 UTC 2016
This requires toolchain bump with the sister patch "rtems: add
sys/mman.h" on newlib.
On Mon, Aug 1, 2016 at 4:11 PM, Gedare Bloom <gedare at rtems.org> wrote:
> ---
> cpukit/Makefile.am | 1 -
> cpukit/posix/include/sys/mman.h | 189 ---------------------
> cpukit/posix/src/mprotect.c | 2 +-
> cpukit/preinstall.am | 4 -
> testsuites/psxtests/psxhdrs/Makefile.am | 13 ++
> testsuites/psxtests/psxhdrs/sys/mman/mlock.c | 28 +++
> testsuites/psxtests/psxhdrs/sys/mman/mlockall.c | 27 +++
> testsuites/psxtests/psxhdrs/sys/mman/mmap.c | 30 ++++
> testsuites/psxtests/psxhdrs/sys/mman/mprotect.c | 29 ++++
> testsuites/psxtests/psxhdrs/sys/mman/msync.c | 29 ++++
> testsuites/psxtests/psxhdrs/sys/mman/munlock.c | 28 +++
> testsuites/psxtests/psxhdrs/sys/mman/munlockall.c | 25 +++
> testsuites/psxtests/psxhdrs/sys/mman/munmap.c | 28 +++
> .../psxtests/psxhdrs/sys/mman/posix_madvise.c | 29 ++++
> testsuites/psxtests/psxhdrs/sys/mman/shm_open.c | 29 ++++
> testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c | 27 +++
> 16 files changed, 323 insertions(+), 195 deletions(-)
> delete mode 100644 cpukit/posix/include/sys/mman.h
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mlock.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mlockall.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mmap.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mprotect.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/msync.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munlock.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munlockall.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munmap.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/shm_open.c
> create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c
>
> diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
> index ac97530..9d90f82 100644
> --- a/cpukit/Makefile.am
> +++ b/cpukit/Makefile.am
> @@ -54,7 +54,6 @@ include_sys_HEADERS =
> include_HEADERS += include/crypt.h
> include_HEADERS += include/memory.h
>
> -include_sys_HEADERS += posix/include/sys/mman.h
> include_sys_HEADERS += libcsupport/include/sys/ioccom.h
> include_sys_HEADERS += libcsupport/include/sys/event.h
> include_sys_HEADERS += libcsupport/include/sys/filio.h
> diff --git a/cpukit/posix/include/sys/mman.h b/cpukit/posix/include/sys/mman.h
> deleted file mode 100644
> index ddf34cc..0000000
> --- a/cpukit/posix/include/sys/mman.h
> +++ /dev/null
> @@ -1,189 +0,0 @@
> -/* $NetBSD: mman.h,v 1.36 2005/09/13 01:42:51 christos Exp $ */
> -
> -/*-
> - * Copyright (c) 1982, 1986, 1993
> - * The Regents of the University of California. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - * notice, this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - * notice, this list of conditions and the following disclaimer in the
> - * documentation and/or other materials provided with the distribution.
> - * 3. Neither the name of the University nor the names of its contributors
> - * may be used to endorse or promote products derived from this software
> - * without specific prior written permission.
> - *
> - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
> - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
> - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> - * @(#)mman.h 8.2 (Berkeley) 1/9/95
> - */
> -
> -#ifndef _SYS_MMAN_H_
> -#define _SYS_MMAN_H_
> -
> -#ifdef __rtems__
> -
> -#include <inttypes.h>
> -#include <stddef.h>
> -#include <sys/types.h>
> -
> -#else /* __rtems__ */
> -#include <sys/featuretest.h>
> -
> -#include <machine/ansi.h>
> -
> -#ifdef _BSD_SIZE_T_
> -typedef _BSD_SIZE_T_ size_t;
> -#undef _BSD_SIZE_T_
> -#endif
> -
> -#include <sys/ansi.h>
> -
> -#ifndef mode_t
> -typedef __mode_t mode_t;
> -#define mode_t __mode_t
> -#endif
> -
> -#ifndef off_t
> -typedef __off_t off_t; /* file offset */
> -#define off_t __off_t
> -#endif
> -#endif /* __rtems__ */
> -
> -
> -/*
> - * Protections are chosen from these bits, or-ed together
> - */
> -#define PROT_NONE 0x00 /* no permissions */
> -#define PROT_READ 0x01 /* pages can be read */
> -#define PROT_WRITE 0x02 /* pages can be written */
> -#define PROT_EXEC 0x04 /* pages can be executed */
> -
> -/*
> - * Flags contain sharing type and options.
> - * Sharing types; choose one.
> - */
> -#define MAP_SHARED 0x0001 /* share changes */
> -#define MAP_PRIVATE 0x0002 /* changes are private */
> -
> -#ifdef _KERNEL
> -/*
> - * Deprecated flag; these are treated as MAP_PRIVATE internally by
> - * the kernel.
> - */
> -#define MAP_COPY 0x0004 /* "copy" region at mmap time */
> -#endif
> -
> -/*
> - * Other flags
> - */
> -#define MAP_FIXED 0x0010 /* map addr must be exactly as requested */
> -#define MAP_RENAME 0x0020 /* Sun: rename private pages to file */
> -#define MAP_NORESERVE 0x0040 /* Sun: don't reserve needed swap area */
> -#define MAP_INHERIT 0x0080 /* region is retained after exec */
> -#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */
> -#define MAP_TRYFIXED 0x0400 /* attempt hint address, even within break */
> -#define MAP_WIRED 0x0800 /* mlock() mapping when it is established */
> -
> -/*
> - * Mapping type
> - */
> -#define MAP_FILE 0x0000 /* map from file (default) */
> -#define MAP_ANON 0x1000 /* allocated from memory, swap space */
> -
> -/*
> - * Alignment (expressed in log2). Must be >= log2(PAGE_SIZE) and
> - * < # bits in a pointer (26 (acorn26), 32 or 64).
> - */
> -#define MAP_ALIGNED(n) ((n) << MAP_ALIGNMENT_SHIFT)
> -#define MAP_ALIGNMENT_SHIFT 24
> -#define MAP_ALIGNMENT_MASK MAP_ALIGNED(0xff)
> -#define MAP_ALIGNMENT_64KB MAP_ALIGNED(16) /* 2^16 */
> -#define MAP_ALIGNMENT_16MB MAP_ALIGNED(24) /* 2^24 */
> -#define MAP_ALIGNMENT_4GB MAP_ALIGNED(32) /* 2^32 */
> -#define MAP_ALIGNMENT_1TB MAP_ALIGNED(40) /* 2^40 */
> -#define MAP_ALIGNMENT_256TB MAP_ALIGNED(48) /* 2^48 */
> -#define MAP_ALIGNMENT_64PB MAP_ALIGNED(56) /* 2^56 */
> -
> -/*
> - * Error indicator returned by mmap(2)
> - */
> -#define MAP_FAILED ((void *) -1) /* mmap() failed */
> -
> -/*
> - * Flags to msync
> - */
> -#define MS_ASYNC 0x01 /* perform asynchronous writes */
> -#define MS_INVALIDATE 0x02 /* invalidate cached data */
> -#define MS_SYNC 0x04 /* perform synchronous writes */
> -
> -/*
> - * Flags to mlockall
> - */
> -#define MCL_CURRENT 0x01 /* lock all pages currently mapped */
> -#define MCL_FUTURE 0x02 /* lock all pages mapped in the future */
> -
> -#if defined(_NETBSD_SOURCE)
> -/*
> - * Advice to madvise
> - */
> -#define MADV_NORMAL 0 /* no further special treatment */
> -#define MADV_RANDOM 1 /* expect random page references */
> -#define MADV_SEQUENTIAL 2 /* expect sequential page references */
> -#define MADV_WILLNEED 3 /* will need these pages */
> -#define MADV_DONTNEED 4 /* dont need these pages */
> -#define MADV_SPACEAVAIL 5 /* insure that resources are reserved */
> -#define MADV_FREE 6 /* pages are empty, free them */
> -/*
> - * Flags to minherit
> - */
> -#define MAP_INHERIT_SHARE 0 /* share with child */
> -#define MAP_INHERIT_COPY 1 /* copy into child */
> -#define MAP_INHERIT_NONE 2 /* absent from child */
> -#define MAP_INHERIT_DONATE_COPY 3 /* copy and delete -- not
> - implemented in UVM */
> -#define MAP_INHERIT_DEFAULT MAP_INHERIT_COPY
> -#endif
> -
> -#ifndef _KERNEL
> -
> -#include <sys/cdefs.h>
> -
> -__BEGIN_DECLS
> -void *mmap(void *, size_t, int, int, int, off_t);
> -int munmap(void *, size_t);
> -int mprotect(void *, size_t, int);
> -#ifndef __LIBC12_SOURCE__
> -#if defined(__rtems__)
> -int msync(void *, size_t, int);
> -#else
> -int msync(void *, size_t, int) __RENAME(__msync13);
> -#endif
> -#endif
> -int mlock(const void *, size_t);
> -int munlock(const void *, size_t);
> -int mlockall(int);
> -int munlockall(void);
> -#if defined(_NETBSD_SOURCE)
> -int madvise(void *, size_t, int);
> -int mincore(void *, size_t, char *);
> -int minherit(void *, size_t, int);
> -#endif
> -__END_DECLS
> -
> -#endif /* !_KERNEL */
> -
> -#endif /* !_SYS_MMAN_H_ */
> diff --git a/cpukit/posix/src/mprotect.c b/cpukit/posix/src/mprotect.c
> index 7158383..13017ce 100644
> --- a/cpukit/posix/src/mprotect.c
> +++ b/cpukit/posix/src/mprotect.c
> @@ -31,7 +31,7 @@
> #include <sys/mman.h>
>
> int mprotect(
> - void *addr,
> + const void *addr,
> size_t len,
> int prot
> )
> diff --git a/cpukit/preinstall.am b/cpukit/preinstall.am
> index 5ba1ee4..31f545e 100644
> --- a/cpukit/preinstall.am
> +++ b/cpukit/preinstall.am
> @@ -59,10 +59,6 @@ $(PROJECT_INCLUDE)/memory.h: include/memory.h $(PROJECT_INCLUDE)/$(dirstamp)
> $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/memory.h
> PREINSTALL_FILES += $(PROJECT_INCLUDE)/memory.h
>
> -$(PROJECT_INCLUDE)/sys/mman.h: posix/include/sys/mman.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
> - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/mman.h
> -PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/mman.h
> -
> $(PROJECT_INCLUDE)/sys/ioccom.h: libcsupport/include/sys/ioccom.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
> $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/ioccom.h
> PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/ioccom.h
> diff --git a/testsuites/psxtests/psxhdrs/Makefile.am b/testsuites/psxtests/psxhdrs/Makefile.am
> index 82fb315..7bf1601 100644
> --- a/testsuites/psxtests/psxhdrs/Makefile.am
> +++ b/testsuites/psxtests/psxhdrs/Makefile.am
> @@ -138,6 +138,19 @@ lib_a_SOURCES += unistd/sync.c
> lib_a_SOURCES += unistd/ualarm.c
> lib_a_SOURCES += unistd/usleep.c
>
> +# methods in <sys/mman.h>
> +lib_a_SOURCES += sys/mman/mlockall.c
> +lib_a_SOURCES += sys/mman/mlock.c
> +lib_a_SOURCES += sys/mman/mmap.c
> +lib_a_SOURCES += sys/mman/mprotect.c
> +lib_a_SOURCES += sys/mman/msync.c
> +lib_a_SOURCES += sys/mman/munlockall.c
> +lib_a_SOURCES += sys/mman/munlock.c
> +lib_a_SOURCES += sys/mman/munmap.c
> +lib_a_SOURCES += sys/mman/posix_madvise.c
> +lib_a_SOURCES += sys/mman/shm_open.c
> +lib_a_SOURCES += sys/mman/shm_unlink.c
> +
> if HAS_NETWORKING
> # methods in <sys/socket.h>
> lib_a_SOURCES += sys/socket/accept.c
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mlock.c b/testsuites/psxtests/psxhdrs/sys/mman/mlock.c
> new file mode 100644
> index 0000000..1f7d7b5
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/mlock.c
> @@ -0,0 +1,28 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> +
> + return mlock( addr, len );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c b/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c
> new file mode 100644
> index 0000000..023c0a4
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c
> @@ -0,0 +1,27 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + int flags = 0;
> +
> + return mlockall( flags );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mmap.c b/testsuites/psxtests/psxhdrs/sys/mman/mmap.c
> new file mode 100644
> index 0000000..7613200
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/mmap.c
> @@ -0,0 +1,30 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +void* test( void );
> +
> +void* test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> + int prot = 0, flags = 0, fildes = 0;
> + off_t off = 0;
> +
> + return mmap( addr, len, prot, flags, fildes, off );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c b/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c
> new file mode 100644
> index 0000000..8b6f423
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> + int prot = 0;
> +
> + return mprotect( addr, len, prot );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/msync.c b/testsuites/psxtests/psxhdrs/sys/mman/msync.c
> new file mode 100644
> index 0000000..c22f145
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/msync.c
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> + int flags = 0;
> +
> + return msync( addr, len, flags );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munlock.c b/testsuites/psxtests/psxhdrs/sys/mman/munlock.c
> new file mode 100644
> index 0000000..df901e1
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/munlock.c
> @@ -0,0 +1,28 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> +
> + return munlock( addr, len );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c b/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c
> new file mode 100644
> index 0000000..2f88ae5
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c
> @@ -0,0 +1,25 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + return munlockall();
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munmap.c b/testsuites/psxtests/psxhdrs/sys/mman/munmap.c
> new file mode 100644
> index 0000000..253230a
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/munmap.c
> @@ -0,0 +1,28 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> +
> + return munmap( addr, len );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c b/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c
> new file mode 100644
> index 0000000..59b7d1a
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + void *addr = NULL;
> + size_t len = 0;
> + int advice = 0;
> +
> + return posix_madvise( addr, len, advice );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c b/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c
> new file mode 100644
> index 0000000..8db7610
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + char *name = "test";
> + int oflag = 0;
> + mode_t mode = 0;
> +
> + return shm_open( name, oflag, mode );
> +}
> diff --git a/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c b/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c
> new file mode 100644
> index 0000000..182f796
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c
> @@ -0,0 +1,27 @@
> +/*
> + * Copyright (c) 2016 Gedare Bloom.
> + *
> + * The license and distribution terms for this file may be
> + * found in the file LICENSE in this distribution or at
> + * http://www.rtems.org/license/LICENSE.
> + */
> +
> +/* This test file is used to verify that the header files associated with
> + * invoking this function are correct.
> + */
> +
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/mman.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + char *name = "test";
> +
> + return shm_unlink( name );
> +}
> --
> 1.9.1
>
More information about the devel
mailing list