00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SSS_NSS_IDMAP_H_
00026 #define SSS_NSS_IDMAP_H_
00027
00028 #include <stdint.h>
00029
00033 enum sss_id_type {
00034 SSS_ID_TYPE_NOT_SPECIFIED = 0,
00035 SSS_ID_TYPE_UID,
00036 SSS_ID_TYPE_GID,
00037 SSS_ID_TYPE_BOTH
00038 };
00039
00040 struct sss_nss_kv {
00041 char *key;
00042 char *value;
00043 };
00044
00062 int sss_nss_getsidbyname(const char *fq_name, char **sid,
00063 enum sss_id_type *type);
00064
00076 int sss_nss_getsidbyid(uint32_t id, char **sid, enum sss_id_type *type);
00077
00089 int sss_nss_getnamebysid(const char *sid, char **fq_name,
00090 enum sss_id_type *type);
00091
00102 int sss_nss_getidbysid(const char *sid, uint32_t *id,
00103 enum sss_id_type *id_type);
00104
00123 int sss_nss_getorigbyname(const char *fq_name, struct sss_nss_kv **kv_list,
00124 enum sss_id_type *type);
00125
00138 int sss_nss_getnamebycert(const char *cert, char **fq_name,
00139 enum sss_id_type *type);
00140
00146 void sss_nss_free_kv(struct sss_nss_kv *kv_list);
00147 #endif