00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _UXSYSTEM_HPP_
00019 #define _UXSYSTEM_HPP_
00020
00021 #include <sys/utsname.h>
00022 #include <pwd.h>
00023 #include <grp.h>
00024
00025 namespace Ux {
00026
00027
00028
00029
00030 class System : public Base {
00031 protected:
00032
00033 public:
00034 System()
00035 { }
00036
00037 static size_t confstr(int name, char *buf, size_t len, long default_val = -1);
00038 static long sysconf(int name, long default_val = -1);
00039 static void uname(struct utsname *name);
00040 static struct group * getgrgid(gid_t gid);
00041 static void gethostname(char *name, size_t namelen);
00042
00043
00044
00045 static long gethostid(void)
00046 { return ::gethostid(); }
00047 static char * getlogin(void);
00048 static struct passwd * getpwuid(uid_t uid);
00049 };
00050
00051 }
00052
00053 #endif // _UXSYSTEM_HPP_