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_getsidbyusername(
const char *fq_name,
81 enum sss_id_type *type);
94int sss_nss_getsidbygroupname(
const char *fq_name,
96 enum sss_id_type *type);
109int sss_nss_getsidbyid(uint32_t
id,
char **sid,
enum sss_id_type *type);
122int sss_nss_getsidbyuid(uint32_t uid,
char **sid,
enum sss_id_type *type);
135int sss_nss_getsidbygid(uint32_t
id,
char **sid,
enum sss_id_type *type);
148int sss_nss_getnamebysid(
const char *sid,
char **fq_name,
149 enum sss_id_type *type);
161int sss_nss_getidbysid(
const char *sid, uint32_t *
id,
162 enum sss_id_type *id_type);
182int sss_nss_getorigbyname(
const char *fq_name,
struct sss_nss_kv **kv_list,
183 enum sss_id_type *type);
203int sss_nss_getorigbyusername(
const char *fq_name,
struct sss_nss_kv **kv_list,
204 enum sss_id_type *type);
223int sss_nss_getorigbyusername_with_groups(
const char *fq_name,
224 struct sss_nss_kv **kv_list,
225 enum sss_id_type *type);
245int sss_nss_getorigbygroupname(
const char *fq_name,
struct sss_nss_kv **kv_list,
246 enum sss_id_type *type);
260int sss_nss_getnamebycert(
const char *cert,
char **fq_name,
261 enum sss_id_type *type);
275int sss_nss_getlistbycert(
const char *cert,
char ***fq_name,
276 enum sss_id_type **type);
284void sss_nss_free_kv(
struct sss_nss_kv *kv_list);
290#define SSS_NSS_EX_FLAG_NO_FLAGS 0
296#define SSS_NSS_EX_FLAG_NO_CACHE (1 << 0)
302#define SSS_NSS_EX_FLAG_INVALIDATE_CACHE (1 << 1)
311#define SSS_NSS_ATTR_NAME_GROUP_MEMBERSHIP ":groupMembership"
313#ifdef IPA_389DS_PLUGIN_HELPER_CALLS
332int sss_nss_getpwnam_timeout(
const char *name,
struct passwd *pwd,
333 char *buffer,
size_t buflen,
334 struct passwd **result,
335 uint32_t flags,
unsigned int timeout);
355int sss_nss_getpwuid_timeout(uid_t uid,
struct passwd *pwd,
356 char *buffer,
size_t buflen,
357 struct passwd **result,
358 uint32_t flags,
unsigned int timeout);
378int sss_nss_getgrnam_timeout(
const char *name,
struct group *grp,
379 char *buffer,
size_t buflen,
struct group **result,
380 uint32_t flags,
unsigned int timeout);
400int sss_nss_getgrgid_timeout(gid_t gid,
struct group *grp,
401 char *buffer,
size_t buflen,
struct group **result,
402 uint32_t flags,
unsigned int timeout);
428int sss_nss_getgrouplist_timeout(
const char *name, gid_t group,
429 gid_t *groups,
int *ngroups,
430 uint32_t flags,
unsigned int timeout);
450int sss_nss_getsidbyname_timeout(
const char *fq_name,
unsigned int timeout,
451 char **sid,
enum sss_id_type *type);
465int sss_nss_getsidbyusername_timeout(
const char *fq_name,
466 unsigned int timeout,
468 enum sss_id_type *type);
482int sss_nss_getsidbygroupname_timeout(
const char *fq_name,
483 unsigned int timeout,
485 enum sss_id_type *type);
499int sss_nss_getsidbyid_timeout(uint32_t
id,
unsigned int timeout,
500 char **sid,
enum sss_id_type *type);
513int sss_nss_getsidbyuid_timeout(uint32_t uid,
unsigned int timeout,
514 char **sid,
enum sss_id_type *type);
528int sss_nss_getsidbygid_timeout(uint32_t gid,
unsigned int timeout,
529 char **sid,
enum sss_id_type *type);
544int sss_nss_getnamebysid_timeout(
const char *sid,
unsigned int timeout,
545 char **fq_name,
enum sss_id_type *type);
558int sss_nss_getidbysid_timeout(
const char *sid,
unsigned int timeout,
559 uint32_t *
id,
enum sss_id_type *id_type);
581int sss_nss_getorigbyname_timeout(
const char *fq_name,
unsigned int timeout,
582 struct sss_nss_kv **kv_list,
583 enum sss_id_type *type);
605int sss_nss_getorigbyusername_timeout(
const char *fq_name,
unsigned int timeout,
606 struct sss_nss_kv **kv_list,
607 enum sss_id_type *type);
628int sss_nss_getorigbyusername_with_groups_timeout(
const char *fq_name,
629 unsigned int timeout,
630 struct sss_nss_kv **kv_list,
631 enum sss_id_type *type);
653int sss_nss_getorigbygroupname_timeout(
const char *fq_name,
unsigned int timeout,
654 struct sss_nss_kv **kv_list,
655 enum sss_id_type *type);
670int sss_nss_getnamebycert_timeout(
const char *cert,
unsigned int timeout,
671 char **fq_name,
enum sss_id_type *type);
686int sss_nss_getlistbycert_timeout(
const char *cert,
unsigned int timeout,
687 char ***fq_name,
enum sss_id_type **type);