25#ifndef SSS_NSS_IDMAP_H_
26#define SSS_NSS_IDMAP_H_
37 SSS_ID_TYPE_NOT_SPECIFIED = 0,
65int sss_nss_getsidbyname(
const char *fq_name,
char **sid,
66 enum sss_id_type *type);
79int sss_nss_getsidbyid(uint32_t
id,
char **sid,
enum sss_id_type *type);
92int sss_nss_getsidbyuid(uint32_t uid,
char **sid,
enum sss_id_type *type);
105int sss_nss_getsidbygid(uint32_t
id,
char **sid,
enum sss_id_type *type);
118int sss_nss_getnamebysid(
const char *sid,
char **fq_name,
119 enum sss_id_type *type);
131int sss_nss_getidbysid(
const char *sid, uint32_t *
id,
132 enum sss_id_type *id_type);
152int sss_nss_getorigbyname(
const char *fq_name,
struct sss_nss_kv **kv_list,
153 enum sss_id_type *type);
173int sss_nss_getorigbyusername(
const char *fq_name,
struct sss_nss_kv **kv_list,
174 enum sss_id_type *type);
194int sss_nss_getorigbygroupname(
const char *fq_name,
struct sss_nss_kv **kv_list,
195 enum sss_id_type *type);
209int sss_nss_getnamebycert(
const char *cert,
char **fq_name,
210 enum sss_id_type *type);
224int sss_nss_getlistbycert(
const char *cert,
char ***fq_name,
225 enum sss_id_type **type);
233void sss_nss_free_kv(
struct sss_nss_kv *kv_list);
239#define SSS_NSS_EX_FLAG_NO_FLAGS 0
244#define SSS_NSS_EX_FLAG_NO_CACHE (1 << 0)
249#define SSS_NSS_EX_FLAG_INVALIDATE_CACHE (1 << 1)
251#ifdef IPA_389DS_PLUGIN_HELPER_CALLS
272int sss_nss_getpwnam_timeout(
const char *name,
struct passwd *pwd,
273 char *buffer,
size_t buflen,
274 struct passwd **result,
275 uint32_t flags,
unsigned int timeout);
296int sss_nss_getpwuid_timeout(uid_t uid,
struct passwd *pwd,
297 char *buffer,
size_t buflen,
298 struct passwd **result,
299 uint32_t flags,
unsigned int timeout);
320int sss_nss_getgrnam_timeout(
const char *name,
struct group *grp,
321 char *buffer,
size_t buflen,
struct group **result,
322 uint32_t flags,
unsigned int timeout);
343int sss_nss_getgrgid_timeout(gid_t gid,
struct group *grp,
344 char *buffer,
size_t buflen,
struct group **result,
345 uint32_t flags,
unsigned int timeout);
372int sss_nss_getgrouplist_timeout(
const char *name, gid_t group,
373 gid_t *groups,
int *ngroups,
374 uint32_t flags,
unsigned int timeout);
395int sss_nss_getsidbyname_timeout(
const char *fq_name,
unsigned int timeout,
396 char **sid,
enum sss_id_type *type);
410int sss_nss_getsidbyid_timeout(uint32_t
id,
unsigned int timeout,
411 char **sid,
enum sss_id_type *type);
424int sss_nss_getsidbyuid_timeout(uint32_t uid,
unsigned int timeout,
425 char **sid,
enum sss_id_type *type);
439int sss_nss_getsidbygid_timeout(uint32_t gid,
unsigned int timeout,
440 char **sid,
enum sss_id_type *type);
455int sss_nss_getnamebysid_timeout(
const char *sid,
unsigned int timeout,
456 char **fq_name,
enum sss_id_type *type);
469int sss_nss_getidbysid_timeout(
const char *sid,
unsigned int timeout,
470 uint32_t *
id,
enum sss_id_type *id_type);
493int sss_nss_getorigbyname_timeout(
const char *fq_name,
unsigned int timeout,
494 struct sss_nss_kv **kv_list,
495 enum sss_id_type *type);
518int sss_nss_getorigbyusername_timeout(
const char *fq_name,
unsigned int timeout,
519 struct sss_nss_kv **kv_list,
520 enum sss_id_type *type);
543int sss_nss_getorigbygroupname_timeout(
const char *fq_name,
unsigned int timeout,
544 struct sss_nss_kv **kv_list,
545 enum sss_id_type *type);
560int sss_nss_getnamebycert_timeout(
const char *cert,
unsigned int timeout,
561 char **fq_name,
enum sss_id_type *type);
576int sss_nss_getlistbycert_timeout(
const char *cert,
unsigned int timeout,
577 char ***fq_name,
enum sss_id_type **type);