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_getsidbyusername(
const char *fq_name,
81 enum sss_id_type *type);
94 int sss_nss_getsidbygroupname(
const char *fq_name,
96 enum sss_id_type *type);
109 int sss_nss_getsidbyid(uint32_t
id,
char **sid,
enum sss_id_type *type);
122 int sss_nss_getsidbyuid(uint32_t uid,
char **sid,
enum sss_id_type *type);
135 int sss_nss_getsidbygid(uint32_t
id,
char **sid,
enum sss_id_type *type);
148 int sss_nss_getnamebysid(
const char *sid,
char **fq_name,
149 enum sss_id_type *type);
161 int sss_nss_getidbysid(
const char *sid, uint32_t *
id,
162 enum sss_id_type *id_type);
182 int sss_nss_getorigbyname(
const char *fq_name,
struct sss_nss_kv **kv_list,
183 enum sss_id_type *type);
203 int sss_nss_getorigbyusername(
const char *fq_name,
struct sss_nss_kv **kv_list,
204 enum sss_id_type *type);
224 int sss_nss_getorigbygroupname(
const char *fq_name,
struct sss_nss_kv **kv_list,
225 enum sss_id_type *type);
239 int sss_nss_getnamebycert(
const char *cert,
char **fq_name,
240 enum sss_id_type *type);
254 int sss_nss_getlistbycert(
const char *cert,
char ***fq_name,
255 enum sss_id_type **type);
263 void sss_nss_free_kv(
struct sss_nss_kv *kv_list);
269 #define SSS_NSS_EX_FLAG_NO_FLAGS 0 274 #define SSS_NSS_EX_FLAG_NO_CACHE (1 << 0) 279 #define SSS_NSS_EX_FLAG_INVALIDATE_CACHE (1 << 1) 281 #ifdef IPA_389DS_PLUGIN_HELPER_CALLS 302 int sss_nss_getpwnam_timeout(
const char *name,
struct passwd *pwd,
303 char *buffer,
size_t buflen,
304 struct passwd **result,
305 uint32_t flags,
unsigned int timeout);
326 int sss_nss_getpwuid_timeout(uid_t uid,
struct passwd *pwd,
327 char *buffer,
size_t buflen,
328 struct passwd **result,
329 uint32_t flags,
unsigned int timeout);
350 int sss_nss_getgrnam_timeout(
const char *name,
struct group *grp,
351 char *buffer,
size_t buflen,
struct group **result,
352 uint32_t flags,
unsigned int timeout);
373 int sss_nss_getgrgid_timeout(gid_t gid,
struct group *grp,
374 char *buffer,
size_t buflen,
struct group **result,
375 uint32_t flags,
unsigned int timeout);
402 int sss_nss_getgrouplist_timeout(
const char *name, gid_t group,
403 gid_t *groups,
int *ngroups,
404 uint32_t flags,
unsigned int timeout);
425 int sss_nss_getsidbyname_timeout(
const char *fq_name,
unsigned int timeout,
426 char **sid,
enum sss_id_type *type);
440 int sss_nss_getsidbyusername_timeout(
const char *fq_name,
441 unsigned int timeout,
443 enum sss_id_type *type);
457 int sss_nss_getsidbygroupname_timeout(
const char *fq_name,
458 unsigned int timeout,
460 enum sss_id_type *type);
474 int sss_nss_getsidbyid_timeout(uint32_t
id,
unsigned int timeout,
475 char **sid,
enum sss_id_type *type);
488 int sss_nss_getsidbyuid_timeout(uint32_t uid,
unsigned int timeout,
489 char **sid,
enum sss_id_type *type);
503 int sss_nss_getsidbygid_timeout(uint32_t gid,
unsigned int timeout,
504 char **sid,
enum sss_id_type *type);
519 int sss_nss_getnamebysid_timeout(
const char *sid,
unsigned int timeout,
520 char **fq_name,
enum sss_id_type *type);
533 int sss_nss_getidbysid_timeout(
const char *sid,
unsigned int timeout,
534 uint32_t *
id,
enum sss_id_type *id_type);
557 int sss_nss_getorigbyname_timeout(
const char *fq_name,
unsigned int timeout,
558 struct sss_nss_kv **kv_list,
559 enum sss_id_type *type);
582 int sss_nss_getorigbyusername_timeout(
const char *fq_name,
unsigned int timeout,
583 struct sss_nss_kv **kv_list,
584 enum sss_id_type *type);
607 int sss_nss_getorigbygroupname_timeout(
const char *fq_name,
unsigned int timeout,
608 struct sss_nss_kv **kv_list,
609 enum sss_id_type *type);
624 int sss_nss_getnamebycert_timeout(
const char *cert,
unsigned int timeout,
625 char **fq_name,
enum sss_id_type *type);
640 int sss_nss_getlistbycert_timeout(
const char *cert,
unsigned int timeout,
641 char ***fq_name,
enum sss_id_type **type);