25 #ifndef SSS_NSS_IDMAP_H_
26 #define SSS_NSS_IDMAP_H_
29 #include <sys/types.h>
37 SSS_ID_TYPE_NOT_SPECIFIED = 0,
65 int sss_nss_getsidbyname(
const char *fq_name,
char **sid,
66 enum sss_id_type *type);
79 int sss_nss_getsidbyid(uint32_t
id,
char **sid,
enum sss_id_type *type);
92 int sss_nss_getsidbyuid(uint32_t uid,
char **sid,
enum sss_id_type *type);
105 int sss_nss_getsidbygid(uint32_t
id,
char **sid,
enum sss_id_type *type);
118 int sss_nss_getnamebysid(
const char *sid,
char **fq_name,
119 enum sss_id_type *type);
131 int sss_nss_getidbysid(
const char *sid, uint32_t *
id,
132 enum sss_id_type *id_type);
152 int sss_nss_getorigbyname(
const char *fq_name,
struct sss_nss_kv **kv_list,
153 enum sss_id_type *type);
167 int sss_nss_getnamebycert(
const char *cert,
char **fq_name,
168 enum sss_id_type *type);
182 int sss_nss_getlistbycert(
const char *cert,
char ***fq_name,
183 enum sss_id_type **type);
190 void sss_nss_free_kv(
struct sss_nss_kv *kv_list);
196 #define SSS_NSS_EX_FLAG_NO_FLAGS 0
201 #define SSS_NSS_EX_FLAG_NO_CACHE (1 << 0)
206 #define SSS_NSS_EX_FLAG_INVALIDATE_CACHE (1 << 1)
208 #ifdef IPA_389DS_PLUGIN_HELPER_CALLS
229 int sss_nss_getpwnam_timeout(
const char *name,
struct passwd *pwd,
230 char *buffer,
size_t buflen,
231 struct passwd **result,
232 uint32_t flags,
unsigned int timeout);
253 int sss_nss_getpwuid_timeout(uid_t uid,
struct passwd *pwd,
254 char *buffer,
size_t buflen,
255 struct passwd **result,
256 uint32_t flags,
unsigned int timeout);
277 int sss_nss_getgrnam_timeout(
const char *name,
struct group *grp,
278 char *buffer,
size_t buflen,
struct group **result,
279 uint32_t flags,
unsigned int timeout);
300 int sss_nss_getgrgid_timeout(gid_t gid,
struct group *grp,
301 char *buffer,
size_t buflen,
struct group **result,
302 uint32_t flags,
unsigned int timeout);
329 int sss_nss_getgrouplist_timeout(
const char *name, gid_t group,
330 gid_t *groups,
int *ngroups,
331 uint32_t flags,
unsigned int timeout);
352 int sss_nss_getsidbyname_timeout(
const char *fq_name,
unsigned int timeout,
353 char **sid,
enum sss_id_type *type);
367 int sss_nss_getsidbyid_timeout(uint32_t
id,
unsigned int timeout,
368 char **sid,
enum sss_id_type *type);
381 int sss_nss_getsidbyuid_timeout(uint32_t uid,
unsigned int timeout,
382 char **sid,
enum sss_id_type *type);
396 int sss_nss_getsidbygid_timeout(uint32_t gid,
unsigned int timeout,
397 char **sid,
enum sss_id_type *type);
412 int sss_nss_getnamebysid_timeout(
const char *sid,
unsigned int timeout,
413 char **fq_name,
enum sss_id_type *type);
426 int sss_nss_getidbysid_timeout(
const char *sid,
unsigned int timeout,
427 uint32_t *
id,
enum sss_id_type *id_type);
450 int sss_nss_getorigbyname_timeout(
const char *fq_name,
unsigned int timeout,
451 struct sss_nss_kv **kv_list,
452 enum sss_id_type *type);
467 int sss_nss_getnamebycert_timeout(
const char *cert,
unsigned int timeout,
468 char **fq_name,
enum sss_id_type *type);
483 int sss_nss_getlistbycert_timeout(
const char *cert,
unsigned int timeout,
484 char ***fq_name,
enum sss_id_type **type);