00001
00002
00003
00004
00005
00006
00007 #include "wvautoconf.h"
00008 #include "wvuid.h"
00009
00010 #if WIN32
00011
00012
00013 WvString wv_username_from_uid(wvuid_t uid)
00014 {
00015
00016 return WvString::null;
00017 }
00018
00019
00020 wvuid_t wv_uid_from_username(WvString username)
00021 {
00022
00023 return WVUID_INVALID;
00024 }
00025
00026
00027 wvuid_t wvgetuid()
00028 {
00029
00030 return WVUID_INVALID;
00031 }
00032
00033
00034 #else // not WIN32
00035
00036
00037 WvString wv_username_from_uid(wvuid_t uid)
00038 {
00039 char buf[1024];
00040 struct passwd pwbuf, *userinfo;
00041
00042 if (getpwuid_r(uid, &pwbuf, buf, sizeof(buf), &userinfo) == 0)
00043 return userinfo->pw_name;
00044 else
00045 return WvString::null;
00046 }
00047
00048
00049 wvuid_t wv_uid_from_username(WvString username)
00050 {
00051 char buf[1024];
00052 struct passwd pwbuf, *userinfo;
00053
00054 if (getpwnam_r(username, &pwbuf, buf, sizeof(buf), &userinfo) != 0)
00055 return userinfo->pw_uid;
00056 else
00057 return WVUID_INVALID;
00058 }
00059
00060
00061 wvuid_t wvgetuid()
00062 {
00063 return getuid();
00064 }
00065
00066
00067 #endif