2 nss sample code for extended winbindd functionality
4 Copyright (C) Andrew Tridgell (tridge@samba.org)
5 Copyright (C) Volker Lendecke (vl@samba.org)
7 you are free to use this code in any way you see fit, including
8 without restriction, using this code in your own products. You do
9 not need to give any attribution.
24 establish a link to the nss library
25 Return 0 on success and -1 on error
27 int nss_open(struct nss_state
*nss
, const char *nss_path
);
30 close and cleanup a nss state
32 void nss_close(struct nss_state
*nss
);
36 Return 0 on success and -1 on error
38 int nss_getpwent(struct nss_state
*nss
, struct passwd
*pwd
);
42 Return 0 on success and -1 on error
44 int nss_setpwent(struct nss_state
*nss
);
48 Return 0 on success and -1 on error
50 int nss_endpwent(struct nss_state
*nss
);
53 convert a name to a SID
55 Return 0 on success and -1 on error
57 int nss_nametosid(struct nss_state
*nss
, const char *name
, char **sid
);
60 convert a SID to a name
62 Return 0 on success and -1 on error
64 int nss_sidtoname(struct nss_state
*nss
, const char *sid
, char **name
);
67 return a list of group SIDs for a user SID
68 the returned list is NULL terminated
69 Return 0 on success and -1 on error
71 int nss_getusersids(struct nss_state
*nss
, const char *user_sid
, char ***sids
);
74 convert a sid to a uid
75 Return 0 on success and -1 on error
77 int nss_sidtouid(struct nss_state
*nss
, const char *sid
, uid_t
*uid
);
80 convert a sid to a gid
81 Return 0 on success and -1 on error
83 int nss_sidtogid(struct nss_state
*nss
, const char *sid
, gid_t
*gid
);
86 convert a uid to a sid
88 Return 0 on success and -1 on error
90 int nss_uidtosid(struct nss_state
*nss
, uid_t uid
, char **sid
);
93 convert a gid to a sid
95 Return 0 on success and -1 on error
97 int nss_gidtosid(struct nss_state
*nss
, gid_t gid
, char **sid
);