Loading...
gen/ulimit.c /dev/null Libc-262
--- /dev/null
+++ Libc/Libc-262/gen/ulimit.c
@@ -0,0 +1,32 @@
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <unistd.h>
+#include <ulimit.h>
+#include <stdarg.h>
+#include <errno.h>
+
+long int ulimit( int cmd, ... )
+{
+	va_list ap;
+	struct rlimit rlim;
+
+	switch (cmd ) {
+	case UL_GETFSIZE:
+		if( getrlimit( RLIMIT_FSIZE, &rlim ) < 0 )
+			return -1;
+		return rlim.rlim_cur/512;
+	case UL_SETFSIZE:
+		va_start(ap, cmd);
+		rlim.rlim_cur = 512 * va_arg(ap, long int);
+		rlim.rlim_max = rlim.rlim_cur;
+		va_end(ap);
+		return setrlimit( RLIMIT_FSIZE, &rlim );
+	default:
+		errno = EINVAL;
+		return -1;
+	}
+	/* NOT REACHED */
+	errno = EINVAL;
+	return -1;
+}