Bring in GSoC code: SysV IPC in userspace
[dragonfly.git] / usr.sbin / sysvipcd / limits.h
1 /*
2  * Copyright (c) 1994 Adam Glass and Charles Hannum.  All rights reserved.
3  * Copyright (c) 2013 Larisa Grigore <larisagrigore@gmail.com>.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  * 3. All advertising materials mentioning features or use of this software
14  *    must display the following acknowledgement:
15  *      This product includes software developed by Adam Glass and Charles
16  *      Hannum.
17  * 4. The names of the authors may not be used to endorse or promote products
18  *    derived from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
21  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31
32 #ifndef SYSVD_LIMITS_H
33 #define SYSVD_LIMITS_H
34
35 /*
36  * Tuneable values
37  */
38 #ifndef SHMMIN
39 #define SHMMIN  1
40 #endif
41 #ifndef SHMMNI
42 #define SHMMNI  512 * 4 /* 512 for each type of sysv resource plus the 
43                            segments used for UNDO operations (sysv sems).
44                            */
45 #endif
46 #ifndef SHMSEG
47 #define SHMSEG  1024
48 #endif
49
50 struct shminfo {
51 //      long    shmmax,         /* max shared memory segment size (bytes) */
52         long    shmmin,         /* min shared memory segment size (bytes) */
53                 shmmni,         /* max number of shared memory identifiers */
54                 shmseg;         /* max shared memory segments per process */
55 //              shmall;         /* max amount of shared memory (pages) */
56 };
57
58 #endif