OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [arm/] [bits/] [resource.h] - Blame information for rev 1325

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Bit values & structures for resource limits.  Linux/Arm version.
2
   Copyright (C) 1994,1996,1997,1998,1999,2000 Free Software Foundation, Inc.
3
   This file is part of the GNU C Library.
4
 
5
   The GNU C Library is free software; you can redistribute it and/or
6
   modify it under the terms of the GNU Lesser General Public
7
   License as published by the Free Software Foundation; either
8
   version 2.1 of the License, or (at your option) any later version.
9
 
10
   The GNU C Library is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
   Lesser General Public License for more details.
14
 
15
   You should have received a copy of the GNU Lesser General Public
16
   License along with the GNU C Library; if not, write to the Free
17
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18
   02111-1307 USA.  */
19
 
20
#ifndef _SYS_RESOURCE_H
21
# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
22
#endif
23
 
24
#include <bits/types.h>
25
 
26
/* Transmute defines to enumerations.  The macro re-definitions are
27
   necessary because some programs want to test for operating system
28
   features with #ifdef RUSAGE_SELF.  In ISO C the reflexive
29
   definition is a no-op.  */
30
 
31
/* Kinds of resource limit.  */
32
enum __rlimit_resource
33
{
34
  /* Per-process CPU limit, in seconds.  */
35
  RLIMIT_CPU = 0,
36
#define RLIMIT_CPU RLIMIT_CPU
37
 
38
  /* Largest file that can be created, in bytes.  */
39
  RLIMIT_FSIZE = 1,
40
#define RLIMIT_FSIZE RLIMIT_FSIZE
41
 
42
  /* Maximum size of data segment, in bytes.  */
43
  RLIMIT_DATA = 2,
44
#define RLIMIT_DATA RLIMIT_DATA
45
 
46
  /* Maximum size of stack segment, in bytes.  */
47
  RLIMIT_STACK = 3,
48
#define RLIMIT_STACK RLIMIT_STACK
49
 
50
  /* Largest core file that can be created, in bytes.  */
51
  RLIMIT_CORE = 4,
52
#define RLIMIT_CORE RLIMIT_CORE
53
 
54
  /* Largest resident set size, in bytes.
55
     This affects swapping; processes that are exceeding their
56
     resident set size will be more likely to have physical memory
57
     taken from them.  */
58
  RLIMIT_RSS = 5,
59
#define RLIMIT_RSS RLIMIT_RSS
60
 
61
  /* Number of open files.  */
62
  RLIMIT_NOFILE = 7,
63
  RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
64
#define RLIMIT_NOFILE RLIMIT_NOFILE
65
#define RLIMIT_OFILE RLIMIT_OFILE
66
 
67
  /* Address space limit.  */
68
  RLIMIT_AS = 9,
69
#define RLIMIT_AS RLIMIT_AS
70
 
71
  /* Number of processes.  */
72
  RLIMIT_NPROC = 6,
73
#define RLIMIT_NPROC RLIMIT_NPROC
74
 
75
  /* Locked-in-memory address space.  */
76
  RLIMIT_MEMLOCK = 8,
77
#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK
78
 
79
  /* Maximum number of file locks.  */
80
  RLIMIT_LOCKS = 10,
81
#define RLIMIT_LOCKS RLIMIT_LOCKS
82
 
83
  RLIMIT_NLIMITS = 11,
84
  RLIM_NLIMITS = RLIMIT_NLIMITS
85
#define RLIMIT_NLIMITS RLIMIT_NLIMITS
86
#define RLIM_NLIMITS RLIM_NLIMITS
87
};
88
 
89
/* Value to indicate that there is no limit.  */
90
#ifndef __USE_FILE_OFFSET64
91
# define RLIM_INFINITY ((unsigned long int)(~0UL))
92
#else
93
# define RLIM_INFINITY 0xffffffffffffffffuLL
94
#endif
95
 
96
#ifdef __USE_LARGEFILE64
97
# define RLIM64_INFINITY 0xffffffffffffffffuLL
98
#endif
99
 
100
/* We can represent all limits.  */
101
#define RLIM_SAVED_MAX  RLIM_INFINITY
102
#define RLIM_SAVED_CUR  RLIM_INFINITY
103
 
104
 
105
/* Type for resource quantity measurement.  */
106
#ifndef __USE_FILE_OFFSET64
107
typedef __rlim_t rlim_t;
108
#else
109
typedef __rlim64_t rlim_t;
110
#endif
111
#ifdef __USE_LARGEFILE64
112
typedef __rlim64_t rlim64_t;
113
#endif
114
 
115
struct rlimit
116
  {
117
    /* The current (soft) limit.  */
118
    rlim_t rlim_cur;
119
    /* The hard limit.  */
120
    rlim_t rlim_max;
121
  };
122
 
123
#ifdef __USE_LARGEFILE64
124
struct rlimit64
125
  {
126
    /* The current (soft) limit.  */
127
    rlim64_t rlim_cur;
128
    /* The hard limit.  */
129
    rlim64_t rlim_max;
130
 };
131
#endif
132
 
133
/* Whose usage statistics do you want?  */
134
enum __rusage_who
135
{
136
  /* The calling process.  */
137
  RUSAGE_SELF = 0,
138
#define RUSAGE_SELF RUSAGE_SELF
139
 
140
  /* All of its terminated child processes.  */
141
  RUSAGE_CHILDREN = -1,
142
#define RUSAGE_CHILDREN RUSAGE_CHILDREN
143
 
144
  /* Both.  */
145
  RUSAGE_BOTH = -2
146
#define RUSAGE_BOTH RUSAGE_BOTH
147
};
148
 
149
#define __need_timeval
150
#include <bits/time.h>          /* For `struct timeval'.  */
151
 
152
/* Structure which says how much of each resource has been used.  */
153
struct rusage
154
  {
155
    /* Total amount of user time used.  */
156
    struct timeval ru_utime;
157
    /* Total amount of system time used.  */
158
    struct timeval ru_stime;
159
    /* Maximum resident set size (in kilobytes).  */
160
    long int ru_maxrss;
161
    /* Amount of sharing of text segment memory
162
       with other processes (kilobyte-seconds).  */
163
    long int ru_ixrss;
164
    /* Amount of data segment memory used (kilobyte-seconds).  */
165
    long int ru_idrss;
166
    /* Amount of stack memory used (kilobyte-seconds).  */
167
    long int ru_isrss;
168
    /* Number of soft page faults (i.e. those serviced by reclaiming
169
       a page from the list of pages awaiting reallocation.  */
170
    long int ru_minflt;
171
    /* Number of hard page faults (i.e. those that required I/O).  */
172
    long int ru_majflt;
173
    /* Number of times a process was swapped out of physical memory.  */
174
    long int ru_nswap;
175
    /* Number of input operations via the file system.  Note: This
176
       and `ru_oublock' do not include operations with the cache.  */
177
    long int ru_inblock;
178
    /* Number of output operations via the file system.  */
179
    long int ru_oublock;
180
    /* Number of IPC messages sent.  */
181
    long int ru_msgsnd;
182
    /* Number of IPC messages received.  */
183
    long int ru_msgrcv;
184
    /* Number of signals delivered.  */
185
    long int ru_nsignals;
186
    /* Number of voluntary context switches, i.e. because the process
187
       gave up the process before it had to (usually to wait for some
188
       resource to be available).  */
189
    long int ru_nvcsw;
190
    /* Number of involuntary context switches, i.e. a higher priority process
191
       became runnable or the current process used up its time slice.  */
192
    long int ru_nivcsw;
193
  };
194
 
195
/* Priority limits.  */
196
#define PRIO_MIN        -20     /* Minimum priority a process can have.  */
197
#define PRIO_MAX        20      /* Maximum priority a process can have.  */
198
 
199
/* The type of the WHICH argument to `getpriority' and `setpriority',
200
   indicating what flavor of entity the WHO argument specifies.  */
201
enum __priority_which
202
{
203
  PRIO_PROCESS = 0,              /* WHO is a process ID.  */
204
#define PRIO_PROCESS PRIO_PROCESS
205
  PRIO_PGRP = 1,                /* WHO is a process group ID.  */
206
#define PRIO_PGRP PRIO_PGRP
207
  PRIO_USER = 2                 /* WHO is a user ID.  */
208
#define PRIO_USER PRIO_USER
209
};

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.