gid_t __k42_linux_getgid (void) { SysStatus rc; ProcessLinux::LinuxInfo linuxInfo; SYSCALL_ENTER(); rc = DREFGOBJ(TheProcessLinuxRef)->getInfoLinuxPid(0, linuxInfo); SYSCALL_EXIT(); if (_FAILURE(rc)) { return gid_t(-_SGENCD(rc)); } return linuxInfo.creds.gid; }
gid_t gidFromName(QString name) { gid_t ret; if(name.isEmpty()) return -1; if(name.at(0).digitValue() != -1) { ret = gid_t(name.toUInt()); } else { // FIXME: use getgrnam_r instead later to make it reentrant struct group* grp = getgrnam(name.toLatin1()); ret = grp ? grp->gr_gid : -1; } return ret; }
Private(const passwd *p) : uid(uid_t(-1)), gid(gid_t(-1)) { fillPasswd(p); }
Private(const char *name) : uid(uid_t(-1)), gid(gid_t(-1)) { fillPasswd(name ? ::getpwnam( name ) : 0); }
Private() : uid(uid_t(-1)), gid(gid_t(-1)) {}
bool KUserGroup::isValid() const { return gid() != gid_t(-1); }
bool KUserGroup::operator !=(const KUserGroup& user) const { return (gid() != user.gid()) || (gid() == gid_t(-1)); }
bool KUserGroup::operator ==(const KUserGroup& group) const { return (gid() == group.gid()) && (gid() != gid_t(-1)); }
Private(const ::group *p) : gid(gid_t(-1)) { fillGroup(p); }
Private(const char *_name) : gid(gid_t(-1)) { fillGroup(_name ? ::getgrnam( _name ) : 0); }
Private() : gid(gid_t(-1)) {}