]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blob - nss/cash_nss.h
nss: Makefile: fix typo in LD_PRELOAD variable name
[nsscash/nsscash.git] / nss / cash_nss.h
1 /*
2  * NSS function definitions provided by this NSS module
3  *
4  * Copyright (C) 2019  Simon Ruderich
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
18  */
19
20 #ifndef CASH_NSS_H
21 #define CASH_NSS_H
22
23 #include <grp.h>
24 #include <nss.h>
25 #include <pwd.h>
26
27
28 // struct passwd
29 enum nss_status _nss_cash_setpwent(int);
30 enum nss_status _nss_cash_endpwent(void);
31 enum nss_status _nss_cash_getpwent_r(struct passwd *result, char *buffer, size_t buflen, int *errnop);
32 enum nss_status _nss_cash_getpwuid_r(uid_t uid, struct passwd *result, char *buffer, size_t buflen, int *errnop);
33 enum nss_status _nss_cash_getpwnam_r(const char *name, struct passwd *result, char *buffer, size_t buflen, int *errnop);
34
35 // struct group
36 enum nss_status _nss_cash_setgrent(int);
37 enum nss_status _nss_cash_endgrent(void);
38 enum nss_status _nss_cash_getgrent_r(struct group *result, char *buffer, size_t buflen, int *errnop);
39 enum nss_status _nss_cash_getgrgid_r(gid_t gid, struct group *result, char *buffer, size_t buflen, int *errnop);
40 enum nss_status _nss_cash_getgrnam_r(const char *name, struct group *result, char *buffer, size_t buflen, int *errnop);
41
42 #endif