00001 #ifndef WIBBLE_SYS_PROCESS_H
00002 #define WIBBLE_SYS_PROCESS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <wibble/sys/macros.h>
00025 #include <wibble/exception.h>
00026
00027 #ifdef POSIX
00028 #include <sys/types.h>
00029
00030 namespace wibble {
00031 namespace sys {
00032 namespace process {
00033
00035 std::string formatStatus(int status);
00036
00038 void chdir(const std::string& dir);
00039
00041 std::string getcwd();
00042
00044 void chroot(const std::string& dir);
00045
00047 mode_t umask(mode_t mask);
00048
00050 void setPerms(const std::string& user);
00051 void setPerms(const std::string& user, const std::string& group);
00052 void setPerms(uid_t user);
00053 void setPerms(uid_t user, gid_t group);
00054
00057 int getCPUTimeLimit(int* max = 0);
00058 int getFileSizeLimit(int* max = 0);
00059 int getDataMemoryLimit(int* max = 0);
00060 int getChildrenLimit(int* max = 0);
00061 int getOpenFilesLimit(int* max = 0);
00062 int getCoreSizeLimit(int* max = 0);
00063
00065 void setCPUTimeLimit(int value);
00066 void setFileSizeLimit(int value);
00067 void setDataMemoryLimit(int value);
00068 void setChildrenLimit(int value);
00069 void setOpenFilesLimit(int value);
00070 void setCoreSizeLimit(int value);
00071
00073 void detachFromTTY();
00074
00075 }
00076 }
00077 }
00078
00079 #endif
00080
00081
00082 #endif