xref: /onnv-gate/usr/src/lib/libbc/inc/include/sys/resource.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 1989 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
28*0Sstevel@tonic-gate 
29*0Sstevel@tonic-gate #ifndef _sys_resource_h
30*0Sstevel@tonic-gate #define _sys_resource_h
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate /*
33*0Sstevel@tonic-gate  * Process priority specifications to get/setpriority.
34*0Sstevel@tonic-gate  */
35*0Sstevel@tonic-gate #define	PRIO_MIN	-20
36*0Sstevel@tonic-gate #define	PRIO_MAX	20
37*0Sstevel@tonic-gate 
38*0Sstevel@tonic-gate #define	PRIO_PROCESS	0
39*0Sstevel@tonic-gate #define	PRIO_PGRP	1
40*0Sstevel@tonic-gate #define	PRIO_USER	2
41*0Sstevel@tonic-gate 
42*0Sstevel@tonic-gate /*
43*0Sstevel@tonic-gate  * Resource utilization information.
44*0Sstevel@tonic-gate  */
45*0Sstevel@tonic-gate 
46*0Sstevel@tonic-gate #define	RUSAGE_SELF	0
47*0Sstevel@tonic-gate #define	RUSAGE_CHILDREN	-1
48*0Sstevel@tonic-gate 
49*0Sstevel@tonic-gate struct	rusage {
50*0Sstevel@tonic-gate 	struct timeval ru_utime;	/* user time used */
51*0Sstevel@tonic-gate 	struct timeval ru_stime;	/* system time used */
52*0Sstevel@tonic-gate 	long	ru_maxrss;
53*0Sstevel@tonic-gate #define	ru_first	ru_ixrss
54*0Sstevel@tonic-gate 	long	ru_ixrss;		/* XXX: 0 */
55*0Sstevel@tonic-gate 	long	ru_idrss;		/* XXX: sum of rm_asrss */
56*0Sstevel@tonic-gate 	long	ru_isrss;		/* XXX: 0 */
57*0Sstevel@tonic-gate 	long	ru_minflt;		/* any page faults not requiring I/O */
58*0Sstevel@tonic-gate 	long	ru_majflt;		/* any page faults requiring I/O */
59*0Sstevel@tonic-gate 	long	ru_nswap;		/* swaps */
60*0Sstevel@tonic-gate 	long	ru_inblock;		/* block input operations */
61*0Sstevel@tonic-gate 	long	ru_oublock;		/* block output operations */
62*0Sstevel@tonic-gate 	long	ru_msgsnd;		/* messages sent */
63*0Sstevel@tonic-gate 	long	ru_msgrcv;		/* messages received */
64*0Sstevel@tonic-gate 	long	ru_nsignals;		/* signals received */
65*0Sstevel@tonic-gate 	long	ru_nvcsw;		/* voluntary context switches */
66*0Sstevel@tonic-gate 	long	ru_nivcsw;		/* involuntary " */
67*0Sstevel@tonic-gate #define	ru_last		ru_nivcsw
68*0Sstevel@tonic-gate };
69*0Sstevel@tonic-gate 
70*0Sstevel@tonic-gate /*
71*0Sstevel@tonic-gate  * Resource limits
72*0Sstevel@tonic-gate  */
73*0Sstevel@tonic-gate #define	RLIMIT_CPU	0		/* cpu time in milliseconds */
74*0Sstevel@tonic-gate #define	RLIMIT_FSIZE	1		/* maximum file size */
75*0Sstevel@tonic-gate #define	RLIMIT_DATA	2		/* data size */
76*0Sstevel@tonic-gate #define	RLIMIT_STACK	3		/* stack size */
77*0Sstevel@tonic-gate #define	RLIMIT_CORE	4		/* core file size */
78*0Sstevel@tonic-gate #define	RLIMIT_RSS	5		/* resident set size */
79*0Sstevel@tonic-gate #define	RLIMIT_NOFILE	6		/* maximum descriptor index + 1 */
80*0Sstevel@tonic-gate 
81*0Sstevel@tonic-gate #define	RLIM_NLIMITS	7		/* number of resource limits */
82*0Sstevel@tonic-gate 
83*0Sstevel@tonic-gate #define	RLIM_INFINITY	0x7fffffff
84*0Sstevel@tonic-gate 
85*0Sstevel@tonic-gate struct rlimit {
86*0Sstevel@tonic-gate 	int	rlim_cur;		/* current (soft) limit */
87*0Sstevel@tonic-gate 	int	rlim_max;		/* maximum value for rlim_cur */
88*0Sstevel@tonic-gate };
89*0Sstevel@tonic-gate 
90*0Sstevel@tonic-gate #endif /*!_sys_resource_h*/
91