root/nt/inc/sys/resource.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /* A limited emulation of sys/resource.h.
     2 
     3 Copyright (C) 2016-2023 Free Software Foundation, Inc.
     4 
     5 This file is part of GNU Emacs.
     6 
     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.
    11 
    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.
    16 
    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/>.  */
    19 
    20 #ifndef INC_SYS_RESOURCE_H_
    21 #define INC_SYS_RESOURCE_H_
    22 
    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
    27 
    28   RLIMIT_NOFILE = 1,
    29 #define RLIMIT_NOFILE RLIMIT_NOFILE
    30 
    31   RLIMIT_NLIMITS
    32 #define RLIMIT_NLIMITS RLIMIT_NLIMITS
    33 };
    34 
    35 typedef enum rlimit_resource rlimit_resource_t;
    36 
    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;
    40 
    41 #define RLIMIT_INFINITY ((rlim_t) -1)
    42 
    43 struct rlimit {
    44   rlim_t rlim_cur;      /* current soft limit */
    45   rlim_t rlim_max;      /* hard limit */
    46 };
    47 
    48 extern int getrlimit (rlimit_resource_t, struct rlimit *);
    49 extern int setrlimit (rlimit_resource_t, const struct rlimit *);
    50 
    51 #endif  /* INC_SYS_RESOURCE_H_ */

/* [<][>][^][v][top][bottom][index][help] */