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);
173 int sss_nss_getorigbyusername(
const char *fq_name,
struct sss_nss_kv **kv_list,
174 enum sss_id_type *type);
194 int sss_nss_getorigbygroupname(
const char *fq_name,
struct sss_nss_kv **kv_list,
195 enum sss_id_type *type);
209 int sss_nss_getnamebycert(
const char *cert,
char **fq_name,
210 enum sss_id_type *type);
224 int sss_nss_getlistbycert(
const char *cert,
char ***fq_name,
225 enum sss_id_type **type);
233 void 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 272 int 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);
296 int 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);
320 int 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);
343 int 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);
372 int sss_nss_getgrouplist_timeout(
const char *name, gid_t group,
373 gid_t *groups,
int *ngroups,
374 uint32_t flags,
unsigned int timeout);
395 int sss_nss_getsidbyname_timeout(
const char *fq_name,
unsigned int timeout,
396 char **sid,
enum sss_id_type *type);
410 int sss_nss_getsidbyid_timeout(uint32_t
id,
unsigned int timeout,
411 char **sid,
enum sss_id_type *type);
424 int sss_nss_getsidbyuid_timeout(uint32_t uid,
unsigned int timeout,
425 char **sid,
enum sss_id_type *type);
439 int sss_nss_getsidbygid_timeout(uint32_t gid,
unsigned int timeout,
440 char **sid,
enum sss_id_type *type);
455 int sss_nss_getnamebysid_timeout(
const char *sid,
unsigned int timeout,
456 char **fq_name,
enum sss_id_type *type);
469 int sss_nss_getidbysid_timeout(
const char *sid,
unsigned int timeout,
470 uint32_t *
id,
enum sss_id_type *id_type);
493 int sss_nss_getorigbyname_timeout(
const char *fq_name,
unsigned int timeout,
494 struct sss_nss_kv **kv_list,
495 enum sss_id_type *type);
518 int sss_nss_getorigbyusername_timeout(
const char *fq_name,
unsigned int timeout,
519 struct sss_nss_kv **kv_list,
520 enum sss_id_type *type);
543 int sss_nss_getorigbygroupname_timeout(
const char *fq_name,
unsigned int timeout,
544 struct sss_nss_kv **kv_list,
545 enum sss_id_type *type);
560 int sss_nss_getnamebycert_timeout(
const char *cert,
unsigned int timeout,
561 char **fq_name,
enum sss_id_type *type);
576 int sss_nss_getlistbycert_timeout(
const char *cert,
unsigned int timeout,
577 char ***fq_name,
enum sss_id_type **type);