github.com/afumu/libc@v0.0.6/musl/src/legacy/ulimit.c (about)

     1  #include <sys/resource.h>
     2  #include <ulimit.h>
     3  #include <stdarg.h>
     4  
     5  long ulimit(int cmd, ...)
     6  {
     7  	struct rlimit rl;
     8  	getrlimit(RLIMIT_FSIZE, &rl);
     9  	if (cmd == UL_SETFSIZE) {
    10  		long val;
    11  		va_list ap;
    12  		va_start(ap, cmd);
    13  		val = va_arg(ap, long);
    14  		va_end(ap);
    15  		rl.rlim_cur = 512ULL * val;
    16  		if (setrlimit(RLIMIT_FSIZE, &rl)) return -1;
    17  	}
    18  	return rl.rlim_cur / 512;
    19  }