Print this page
remove support for non-ANSI compilation
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/common/sys/shm.h
+++ new/usr/src/uts/common/sys/shm.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
20 20 * CDDL HEADER END
21 21 */
22 22 /*
23 + * Copyright 2014 Garrett D'Amore <garrett@damore.org>
24 + *
23 25 * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
24 26 * Use is subject to license terms.
25 27 */
26 28
27 29 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
28 30 /* All Rights Reserved */
29 31
30 32 /*
31 33 * Portions of this source code were derived from Berkeley 4.3 BSD
32 34 * under license from the Regents of the University of California.
33 35 */
34 36
35 37 #ifndef _SYS_SHM_H
36 38 #define _SYS_SHM_H
37 39
38 -#pragma ident "%Z%%M% %I% %E% SMI"
39 -
40 40 #include <sys/ipc.h>
41 41
42 42 #ifdef __cplusplus
43 43 extern "C" {
44 44 #endif
45 45
46 46 /*
47 47 * IPC Shared Memory Facility.
48 48 */
49 49
50 50 /*
51 51 * Implementation Constants.
52 52 */
53 53 #if (defined(_KERNEL) || defined(_KMEMUSER))
54 54
55 55 #define SHMLBA PAGESIZE /* segment low boundary address multiple */
56 56 /* (SHMLBA must be a power of 2) */
57 57 #else
58 58 #include <sys/unistd.h> /* needed for _SC_PAGESIZE */
59 59 extern long _sysconf(int); /* System Private interface to sysconf() */
60 60 #define SHMLBA (_sysconf(_SC_PAGESIZE))
61 61 #endif /* defined(_KERNEL) || defined(_KMEMUSER)) */
62 62
63 63 /*
64 64 * Permission Definitions.
65 65 */
66 66 #define SHM_R 0400 /* read permission */
67 67 #define SHM_W 0200 /* write permission */
68 68
69 69 /*
70 70 * Message Operation Flags.
71 71 */
72 72 #define SHM_RDONLY 010000 /* attach read-only (else read-write) */
73 73 #define SHM_RND 020000 /* round attach address to SHMLBA */
74 74 #define SHM_SHARE_MMU 040000 /* share VM resources such as page table */
75 75 #define SHM_PAGEABLE 0100000 /* pageable ISM */
76 76
77 77 /*
78 78 * Valid flags bits for shmat shmflag argument.
79 79 */
80 80 #define SHMAT_VALID_FLAGS_MASK \
81 81 (SHM_R | SHM_W | SHM_RDONLY | SHM_RND | SHM_SHARE_MMU | SHM_PAGEABLE)
82 82
83 83 typedef unsigned long shmatt_t;
84 84
85 85 /*
86 86 * Structure Definitions.
87 87 */
88 88 struct shmid_ds {
89 89 struct ipc_perm shm_perm; /* operation permission struct */
90 90 size_t shm_segsz; /* size of segment in bytes */
91 91 #if defined(_LP64) || defined(_XOPEN_SOURCE)
92 92 void *shm_amp;
93 93 #else
94 94 struct anon_map *shm_amp; /* segment anon_map pointer */
95 95 #endif
96 96 ushort_t shm_lkcnt; /* number of times it is being locked */
97 97 pid_t shm_lpid; /* pid of last shmop */
98 98 pid_t shm_cpid; /* pid of creator */
99 99 shmatt_t shm_nattch; /* number of attaches */
100 100 ulong_t shm_cnattch; /* number of ISM attaches */
101 101 #if defined(_LP64)
102 102 time_t shm_atime; /* last shmat time */
103 103 time_t shm_dtime; /* last shmdt time */
104 104 time_t shm_ctime; /* last change time */
105 105 int64_t shm_pad4[4]; /* reserve area */
106 106 #else /* _LP64 */
107 107 time_t shm_atime; /* last shmat time */
108 108 int32_t shm_pad1; /* reserved for time_t expansion */
109 109 time_t shm_dtime; /* last shmdt time */
110 110 int32_t shm_pad2; /* reserved for time_t expansion */
111 111 time_t shm_ctime; /* last change time */
112 112 int32_t shm_pad3; /* reserved for time_t expansion */
113 113 int32_t shm_pad4[4]; /* reserve area */
↓ open down ↓ |
64 lines elided |
↑ open up ↑ |
114 114 #endif /* _LP64 */
115 115 };
116 116
117 117 /*
118 118 * Shared memory control operations
119 119 */
120 120 #define SHM_LOCK 3 /* Lock segment in core */
121 121 #define SHM_UNLOCK 4 /* Unlock segment */
122 122
123 123 #if !defined(_KERNEL)
124 -#if defined(__STDC__)
125 124 int shmget(key_t, size_t, int);
126 125 int shmids(int *, uint_t, uint_t *);
127 126 int shmctl(int, int, struct shmid_ds *);
128 127 void *shmat(int, const void *, int);
129 128 #if defined(_XPG4)
130 129 int shmdt(const void *);
131 130 #else
132 131 int shmdt(char *);
133 132 #endif /* defined(_XPG4) */
134 -#else /* __STDC__ */
135 -int shmctl();
136 -int shmget();
137 -int shmids();
138 -void *shmat();
139 -int shmdt();
140 -#endif /* __STDC__ */
141 133 #endif /* !defined(_KERNEL) */
142 134
143 135 #ifdef __cplusplus
144 136 }
145 137 #endif
146 138
147 139 #endif /* _SYS_SHM_H */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX