user-util.h revision ee104e11e303499a637c5cd8157bd12ad5cc116d
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
7ec4d5cc4aa574e3191bc5a612e68fd8f25ab7earpluem This file is part of systemd.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend Copyright 2010 Lennart Poettering
50c04f297d76a57ead2fa6b73845f7563b1fc788sf systemd is free software; you can redistribute it and/or modify it
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend under the terms of the GNU Lesser General Public License as published by
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend the Free Software Foundation; either version 2.1 of the License, or
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend (at your option) any later version.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend systemd is distributed in the hope that it will be useful, but
8951c7d73bfa2ae5a2c8fe5bd27f3e677be02564noirin WITHOUT ANY WARRANTY; without even the implied warranty of
909ce17e2bd0faef7b1c294f2307f009793fd493nd MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend Lesser General Public License for more details.
a29610af88e278144045bfa1bc63b4a1a4b5ff14trawick You should have received a copy of the GNU Lesser General Public License
65a611af7093423efb91e5794b8887a527d4cf63trawick along with systemd; If not, see <http://www.gnu.org/licenses/>.
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fendstatic inline int parse_gid(const char *s, gid_t *ret_gid) {
05ede5110427cb9dc071cc671d5aaba5d3b88c79ndint get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home, const char **shell);
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend/* The following macros add 1 when converting things, since UID 0 is a
f73f2c2fae0ded6c8273c28d025ba8aa8136a0fend * valid UID, while the pointer NULL is special */
2704de98885368683621b01c8f8f4e4b01557611takashi#define PTR_TO_GID(p) ((gid_t) (((uintptr_t) (p))-1))
2704de98885368683621b01c8f8f4e4b01557611takashi#define GID_TO_PTR(u) ((void*) (((uintptr_t) (u))+1))