Prefer HTTPS to HTTP for gnu.org
[emacs.git] / nt / inc / sys / resource.h
blobde10aaee06ed6b06f2431956c39c8ee509729918
1 /* A limited emulation of sys/resource.h.
3 Copyright (C) 2016-2017 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or (at
10 your option) any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
20 #ifndef INC_SYS_RESOURCE_H_
21 #define INC_SYS_RESOURCE_H_
23 /* We only support RLIMIT_STACK and RLIMIT_NOFILE for now. */
24 enum rlimit_resource {
25 RLIMIT_STACK = 0,
26 #define RLIMIT_STACK RLIMIT_STACK
28 RLIMIT_NOFILE = 1,
29 #define RLIMIT_NOFILE RLIMIT_NOFILE
31 RLIMIT_NLIMITS
32 #define RLIMIT_NLIMITS RLIMIT_NLIMITS
35 typedef enum rlimit_resource rlimit_resource_t;
37 /* We use a 64-bit data type because some values could potentially be
38 64-bit wide even in 32-bit builds. */
39 typedef long long rlim_t;
41 #define RLIMIT_INFINITY ((rlim_t) -1)
43 struct rlimit {
44 rlim_t rlim_cur; /* current soft limit */
45 rlim_t rlim_max; /* hard limit */
48 extern int getrlimit (rlimit_resource_t, struct rlimit *);
49 extern int setrlimit (rlimit_resource_t, const struct rlimit *);
51 #endif /* INC_SYS_RESOURCE_H_ */