source: vendor/3.6.23/examples/nss/nss_winbind.h

Last change on this file was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 2.1 KB
Line 
1/*
2 nss sample code for extended winbindd functionality
3
4 Copyright (C) Andrew Tridgell (tridge@samba.org)
5 Copyright (C) Volker Lendecke (vl@samba.org)
6
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.
10*/
11
12#define _GNU_SOURCE
13
14#include <pwd.h>
15#include <grp.h>
16
17struct nss_state {
18 void *dl_handle;
19 char *nss_name;
20 char pwnam_buf[512];
21};
22
23/*
24 establish a link to the nss library
25 Return 0 on success and -1 on error
26*/
27int nss_open(struct nss_state *nss, const char *nss_path);
28
29/*
30 close and cleanup a nss state
31*/
32void nss_close(struct nss_state *nss);
33
34/*
35 make a getpwnam call.
36 Return 0 on success and -1 on error
37*/
38int nss_getpwent(struct nss_state *nss, struct passwd *pwd);
39
40/*
41 make a setpwent call.
42 Return 0 on success and -1 on error
43*/
44int nss_setpwent(struct nss_state *nss);
45
46/*
47 make a endpwent call.
48 Return 0 on success and -1 on error
49*/
50int nss_endpwent(struct nss_state *nss);
51
52/*
53 convert a name to a SID
54 caller frees
55 Return 0 on success and -1 on error
56*/
57int nss_nametosid(struct nss_state *nss, const char *name, char **sid);
58
59/*
60 convert a SID to a name
61 caller frees
62 Return 0 on success and -1 on error
63*/
64int nss_sidtoname(struct nss_state *nss, const char *sid, char **name);
65
66/*
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
70*/
71int nss_getusersids(struct nss_state *nss, const char *user_sid, char ***sids);
72
73/*
74 convert a sid to a uid
75 Return 0 on success and -1 on error
76*/
77int nss_sidtouid(struct nss_state *nss, const char *sid, uid_t *uid);
78
79/*
80 convert a sid to a gid
81 Return 0 on success and -1 on error
82*/
83int nss_sidtogid(struct nss_state *nss, const char *sid, gid_t *gid);
84
85/*
86 convert a uid to a sid
87 caller frees
88 Return 0 on success and -1 on error
89*/
90int nss_uidtosid(struct nss_state *nss, uid_t uid, char **sid);
91
92/*
93 convert a gid to a sid
94 caller frees
95 Return 0 on success and -1 on error
96*/
97int nss_gidtosid(struct nss_state *nss, gid_t gid, char **sid);
Note: See TracBrowser for help on using the repository browser.