y2038: Add support for 64-bit time on legacy ABIs
[platform/upstream/glibc.git] / resource / ulimit.h
1 /* Copyright (C) 1997-2021 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <https://www.gnu.org/licenses/>.  */
17
18 #ifndef _ULIMIT_H
19 #define _ULIMIT_H       1
20
21 #include <features.h>
22
23 /* Constants used as the first parameter for `ulimit'.  They denote limits
24    which can be set or retrieved using this function.  */
25 enum
26 {
27   UL_GETFSIZE = 1,                      /* Return limit on the size of a file,
28                                            in units of 512 bytes.  */
29 #define UL_GETFSIZE     UL_GETFSIZE
30   UL_SETFSIZE,                          /* Set limit on the size of a file to
31                                            second argument.  */
32 #define UL_SETFSIZE     UL_SETFSIZE
33   __UL_GETMAXBRK,                       /* Return the maximum possible address
34                                            of the data segment.  */
35   __UL_GETOPENMAX                       /* Return the maximum number of files
36                                            that the calling process can open.*/
37 };
38
39
40 __BEGIN_DECLS
41
42 /* Control process limits according to CMD.  */
43 extern long int ulimit (int __cmd, ...) __THROW;
44
45 __END_DECLS
46
47 #endif /* ulimit.h */