about summary refs log tree commit diff
path: root/sysdeps/unix/bsd/sun/sunos4/sys/mman.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/bsd/sun/sunos4/sys/mman.h')
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/sys/mman.h53
1 files changed, 31 insertions, 22 deletions
diff --git a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h b/sysdeps/unix/bsd/sun/sunos4/sys/mman.h
index 65771a2aac..d2a8998d9a 100644
--- a/sysdeps/unix/bsd/sun/sunos4/sys/mman.h
+++ b/sysdeps/unix/bsd/sun/sunos4/sys/mman.h
@@ -1,5 +1,5 @@
 /* Definitions for BSD-style memory management.  SunOS 4 version.
-   Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,14 +41,18 @@
 /* Sharing types (must choose one and only one of these).  */
 #define	MAP_SHARED	0x01	/* Share changes.  */
 #define	MAP_PRIVATE	0x02	/* Changes private; copy pages on write.  */
-#define	MAP_TYPE	0x0f	/* Mask for sharing type.  */
+#ifdef __USE_BSD
+# define MAP_TYPE	0x0f	/* Mask for sharing type.  */
+#endif
 
 /* Other flags.  */
 #define	MAP_FIXED	0x10	/* Map address must be exactly as requested. */
 /* The following three flags are not actually implemented in SunOS 4.1.  */
-#define	MAP_RENAME	0x20	/* Rename private pages to file.  */
-#define	MAP_NORESERVE	0x40	/* Don't reserve needed swap area.  */
-#define	MAP_INHERIT	0x80	/* Region is retained after exec.  */
+#ifdef __USE_BSD
+# define MAP_RENAME	0x20	/* Rename private pages to file.  */
+# define MAP_NORESERVE	0x40	/* Don't reserve needed swap area.  */
+# define MAP_INHERIT	0x80	/* Region is retained after exec.  */
+#endif
 
 /* This is an internal flag that is always set in `mmap' system calls.  In
    older versions of SunOS 4 `mmap' did not return the actual mapping
@@ -57,18 +61,21 @@
 #define	_MAP_NEW	0x80000000
 
 /* 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	/* Don't need these pages.  */
+#ifdef __USE_BSD
+# 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	/* Don't need these pages.  */
+#endif
 
 /* Flags to `msync'.  */
 #define	MS_ASYNC	0x1		/* Return immediately, don't fsync.  */
 #define	MS_INVALIDATE	0x2		/* Invalidate caches.  */
 
+/* Return value of `mmap' in case of an error.  */
+#define MAP_FAILED	((__caddr_t) -1)
 
-#include <sys/cdefs.h>
 
 __BEGIN_DECLS
 /* Map addresses starting near ADDR and extending for LEN bytes.  from
@@ -76,34 +83,36 @@ __BEGIN_DECLS
    is nonzero, it is the desired mapping address.  If the MAP_FIXED bit is
    set in FLAGS, the mapping will be at ADDR exactly (which must be
    page-aligned); otherwise the system chooses a convenient nearby address.
-   The return value is the actual mapping address chosen or (caddr_t) -1
+   The return value is the actual mapping address chosen or MAP_FAILED
    for errors (in which case `errno' is set).  A successful `mmap' call
    deallocates any previous mapping for the affected region.  */
 
-__caddr_t __mmap __P ((__caddr_t __addr, size_t __len,
-		       int __prot, int __flags, int __fd, __off_t __offset));
-__caddr_t mmap __P ((__caddr_t __addr, size_t __len,
-		     int __prot, int __flags, int __fd, __off_t __offset));
+extern __caddr_t __mmap __P ((__caddr_t __addr, size_t __len, int __prot,
+			      int __flags, int __fd, __off_t __offset));
+extern __caddr_t mmap __P ((__caddr_t __addr, size_t __len, int __prot,
+			    int __flags, int __fd, __off_t __offset));
 
 /* Deallocate any mapping for the region starting at ADDR and extending LEN
    bytes.  Returns 0 if successful, -1 for errors (and sets errno).  */
-int __munmap __P ((__caddr_t __addr, size_t __len));
-int munmap __P ((__caddr_t __addr, size_t __len));
+extern int __munmap __P ((__caddr_t __addr, size_t __len));
+extern int munmap __P ((__caddr_t __addr, size_t __len));
 
 /* Change the memory protection of the region starting at ADDR and
    extending LEN bytes to PROT.  Returns 0 if successful, -1 for errors
    (and sets errno).  */
-int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
-int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
+extern int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
+extern int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
 
 /* Synchronize the region starting at ADDR and extending LEN bytes with the
    file it maps.  Filesystem operations on a file being mapped are
    unpredictable before this is done.  */
-int msync __P ((__caddr_t __addr, size_t __len, int __flags));
+extern int msync __P ((__caddr_t __addr, size_t __len, int __flags));
 
+#ifdef __USE_BSD
 /* Advise the system about particular usage patterns the program follows
    for the region starting at ADDR and extending LEN bytes.  */
-int madvise __P ((__caddr_t __addr, size_t __len, int __advice));
+extern int madvise __P ((__caddr_t __addr, size_t __len, int __advice));
+#endif
 
 __END_DECLS