Annotation of 42BSD/lib/libc/compat-4.1/vlimit.c, revision 1.1.1.1

1.1       root        1: /*     vlimit.c        4.2     83/06/20        */
                      2: 
                      3: /*
                      4:  * (Almost) backwards compatible vlimit.
                      5:  */
                      6: #include <sys/time.h>
                      7: #include <sys/resource.h>
                      8: #include <errno.h>
                      9: 
                     10: /* LIM_NORAISE is not emulated */
                     11: #define        LIM_NORAISE     0       /* if <> 0, can't raise limits */
                     12: #define        LIM_CPU         1       /* max secs cpu time */
                     13: #define        LIM_FSIZE       2       /* max size of file created */
                     14: #define        LIM_DATA        3       /* max growth of data space */
                     15: #define        LIM_STACK       4       /* max growth of stack */
                     16: #define        LIM_CORE        5       /* max size of ``core'' file */
                     17: #define        LIM_MAXRSS      6       /* max desired data+stack core usage */
                     18: 
                     19: #define        NLIMITS         6
                     20: 
                     21: vlimit(limit, value)
                     22:        int limit, value;
                     23: {
                     24:        struct rlimit rlim;
                     25: 
                     26:        if (limit <= 0 || limit > NLIMITS)
                     27:                return (EINVAL);
                     28:        if (value == -1) {
                     29:                if (getrlimit(limit - 1, &rlim) < 0)
                     30:                        return (-1);
                     31:                return (rlim.rlim_cur);
                     32:        }
                     33:        rlim.rlim_cur = value;
                     34:        rlim.rlim_max = RLIM_INFINITY;
                     35:        return (setrlimit(limit - 1, &rlim));
                     36: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.