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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [libc/] [sysdeps/] [linux/] [h8300/] [bits/] [resource.h] - Blame information for rev 1779

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 version.
2
   Copyright (C) 1994, 1996, 1997, 1998, 1999 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 Library General Public License as
7
   published by the Free Software Foundation; either version 2 of the
8
   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
   Library General Public License for more details.
14
 
15
   You should have received a copy of the GNU Library General Public
16
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
17
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
   Boston, MA 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
  RLIM_NLIMITS = 10
80
#define RLIMIT_NLIMITS RLIMIT_NLIMITS
81
#define RLIM_NLIMITS RLIM_NLIMITS
82
};
83
 
84
/* Value to indicate that there is no limit.  */
85
#ifndef __USE_FILE_OFFSET64
86
# define RLIM_INFINITY ((long int)(~0UL >> 1))
87
#else
88
# define RLIM_INFINITY 0x7fffffffffffffffLL
89
#endif
90
 
91
#ifdef __USE_LARGEFILE64
92
# define RLIM64_INFINITY 0x7fffffffffffffffLL
93
#endif
94
 
95
/* We can represent all limits.  */
96
#define RLIM_SAVED_MAX  RLIM_INFINITY
97
#define RLIM_SAVED_CUR  RLIM_INFINITY
98
 
99
 
100
/* Type for resource quantity measurement.  */
101
#ifndef __USE_FILE_OFFSET64
102
typedef __rlim_t rlim_t;
103
#else
104
typedef __rlim64_t rlim_t;
105
#endif
106
#ifdef __USE_LARGEFILE64
107
typedef __rlim64_t rlim64_t;
108
#endif
109
 
110
struct rlimit
111
  {
112
    /* The current (soft) limit.  */
113
    rlim_t rlim_cur;
114
    /* The hard limit.  */
115
    rlim_t rlim_max;
116
  };
117
 
118
#ifdef __USE_LARGEFILE64
119
struct rlimit64
120
  {
121
    /* The current (soft) limit.  */
122
    rlim64_t rlim_cur;
123
    /* The hard limit.  */
124
    rlim64_t rlim_max;
125
 };
126
#endif
127
 
128
/* Whose usage statistics do you want?  */
129
enum __rusage_who
130
{
131
  /* The calling process.  */
132
  RUSAGE_SELF = 0,
133
#define RUSAGE_SELF RUSAGE_SELF
134
 
135
  /* All of its terminated child processes.  */
136
  RUSAGE_CHILDREN = -1,
137
#define RUSAGE_CHILDREN RUSAGE_CHILDREN
138
 
139
  /* Both.  */
140
  RUSAGE_BOTH = -2
141
#define RUSAGE_BOTH RUSAGE_BOTH
142
};
143
 
144
#define __need_timeval
145
#include <bits/time.h>          /* For `struct timeval'.  */
146
 
147
/* Structure which says how much of each resource has been used.  */
148
struct rusage
149
  {
150
    /* Total amount of user time used.  */
151
    struct timeval ru_utime;
152
    /* Total amount of system time used.  */
153
    struct timeval ru_stime;
154
    /* Maximum resident set size (in kilobytes).  */
155
    long int ru_maxrss;
156
    /* Amount of sharing of text segment memory
157
       with other processes (kilobyte-seconds).  */
158
    long int ru_ixrss;
159
    /* Amount of data segment memory used (kilobyte-seconds).  */
160
    long int ru_idrss;
161
    /* Amount of stack memory used (kilobyte-seconds).  */
162
    long int ru_isrss;
163
    /* Number of soft page faults (i.e. those serviced by reclaiming
164
       a page from the list of pages awaiting reallocation.  */
165
    long int ru_minflt;
166
    /* Number of hard page faults (i.e. those that required I/O).  */
167
    long int ru_majflt;
168
    /* Number of times a process was swapped out of physical memory.  */
169
    long int ru_nswap;
170
    /* Number of input operations via the file system.  Note: This
171
       and `ru_oublock' do not include operations with the cache.  */
172
    long int ru_inblock;
173
    /* Number of output operations via the file system.  */
174
    long int ru_oublock;
175
    /* Number of IPC messages sent.  */
176
    long int ru_msgsnd;
177
    /* Number of IPC messages received.  */
178
    long int ru_msgrcv;
179
    /* Number of signals delivered.  */
180
    long int ru_nsignals;
181
    /* Number of voluntary context switches, i.e. because the process
182
       gave up the process before it had to (usually to wait for some
183
       resource to be available).  */
184
    long int ru_nvcsw;
185
    /* Number of involuntary context switches, i.e. a higher priority process
186
       became runnable or the current process used up its time slice.  */
187
    long int ru_nivcsw;
188
  };
189
 
190
/* Priority limits.  */
191
#define PRIO_MIN        -20     /* Minimum priority a process can have.  */
192
#define PRIO_MAX        20      /* Maximum priority a process can have.  */
193
 
194
/* The type of the WHICH argument to `getpriority' and `setpriority',
195
   indicating what flavor of entity the WHO argument specifies.  */
196
enum __priority_which
197
{
198
  PRIO_PROCESS = 0,              /* WHO is a process ID.  */
199
#define PRIO_PROCESS PRIO_PROCESS
200
  PRIO_PGRP = 1,                /* WHO is a process group ID.  */
201
#define PRIO_PGRP PRIO_PGRP
202
  PRIO_USER = 2                 /* WHO is a user ID.  */
203
#define PRIO_USER PRIO_USER
204
};

powered by: WebSVN 2.1.0

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