home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Portable Patmos 1.1 / patmos-src / src / usage.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-19  |  2.5 KB  |  63 lines  |  [TEXT/KAHL]

  1. #include <stdio.h>
  2. #include <sys/syslimits.h>
  3. #include <sys/time.h>
  4. #include <sys/resource.h>
  5. #include "crtlocal.h"
  6.  
  7. extern int debug;
  8.  
  9. int getrlimit(int resource, struct rlimit *rlp)
  10.      {
  11.      switch(resource)
  12.          {
  13.         case RLIMIT_CPU:    if (debug) kprintf("Get rlimit:cpu time in milliseconds\n"); 
  14.             rlp->rlim_cur = rlp->rlim_max = 360000000-60000; break;
  15.         case RLIMIT_FSIZE:    if (debug) kprintf("Get rlimit:maximum file size\n"); 
  16.             rlp->rlim_cur = rlp->rlim_max = 0x7FFF0000; break;
  17.         case RLIMIT_DATA:    if (debug) kprintf("Get rlimit:data size\n"); 
  18.             rlp->rlim_cur = rlp->rlim_max = 0x100000; break;
  19.         case RLIMIT_STACK:    if (debug) kprintf("Get rlimit:stack size\n"); 
  20.             rlp->rlim_cur = rlp->rlim_max = 0x100000; break;
  21.         case RLIMIT_CORE:    if (debug) kprintf("Get rlimit:core file size\n"); 
  22.             rlp->rlim_cur = rlp->rlim_max = 0x2000000; break;
  23.         case RLIMIT_RSS:    if (debug) kprintf("Get rlimit:resident set size\n"); 
  24.             rlp->rlim_cur = rlp->rlim_max = 0x100000; break;
  25.         case RLIMIT_MEMLOCK:if (debug) kprintf("Get rlimit:locked-in-memory address space\n"); 
  26.             rlp->rlim_cur = rlp->rlim_max = 0x100000; break;
  27.         case RLIMIT_NPROC:    if (debug) kprintf("Get rlimit:number of processes\n"); 
  28.             rlp->rlim_cur = rlp->rlim_max = 64; break;
  29.         case RLIMIT_NOFILE:    if (debug) kprintf("Get rlimit:number of open files\n"); 
  30.             rlp->rlim_cur = rlp->rlim_max = 32; break;
  31.         }
  32.      return 0;
  33.      }
  34.  
  35. int setrlimit(int resource, const struct rlimit *rlp)
  36.      {
  37.      switch(resource)
  38.          {
  39.         case RLIMIT_CPU:    if (debug) kprintf("Set rlimit:cpu time in milliseconds\n"); 
  40.             break;
  41.         case RLIMIT_FSIZE:    if (debug) kprintf("Set rlimit:maximum file size\n"); 
  42.             break;
  43.         case RLIMIT_DATA:    if (debug) kprintf("Set rlimit:data size\n"); 
  44.             break;
  45.         case RLIMIT_STACK:    if (debug) kprintf("Set rlimit:stack size %X\n", rlp->rlim_cur); 
  46. #ifdef PROTECTED
  47.             setmaxstack(rlp->rlim_cur);
  48. #endif
  49.             break;
  50.         case RLIMIT_CORE:    if (debug) kprintf("Set rlimit:core file size\n"); 
  51.             break;
  52.         case RLIMIT_RSS:    if (debug) kprintf("Set rlimit:resident set size\n"); 
  53.             break;
  54.         case RLIMIT_MEMLOCK:if (debug) kprintf("Set rlimit:locked-in-memory address space\n"); 
  55.             break;
  56.         case RLIMIT_NPROC:    if (debug) kprintf("Set rlimit:number of processes\n"); 
  57.             break;
  58.         case RLIMIT_NOFILE:    if (debug) kprintf("Get rlimit:number of open files\n"); 
  59.             break;
  60.         }
  61.      return 0;
  62.      }
  63.