r18384: this is a ref pointer like in samba3 and for the Gid version
[ira/wip.git] / source / librpc / idl / unixinfo.idl
1 /*
2   Unixinfo interface definition
3 */
4
5 [ uuid("9c54e310-a955-4885-bd31-78787147dfa6"),
6   version(0.0),
7   endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"),
8   pointer_default(unique),
9   helpstring("Unixinfo specific stuff"),
10   depends(security),
11   keepref
12 ] interface unixinfo
13 {
14         /******************/
15         /* Function: 0x00 */
16         NTSTATUS unixinfo_SidToUid (
17             [in]        dom_sid sid,
18             [out,ref]   hyper *uid
19             );
20
21         /******************/
22         /* Function: 0x01 */
23         NTSTATUS unixinfo_UidToSid (
24             [in]        hyper uid,
25             [out,ref]   dom_sid *sid
26             );
27
28         /******************/
29         /* Function: 0x02 */
30         NTSTATUS unixinfo_SidToGid (
31             [in]        dom_sid sid,
32             [out,ref]   hyper *gid
33             );
34
35         /******************/
36         /* Function: 0x03 */
37         NTSTATUS unixinfo_GidToSid (
38             [in]        hyper gid,
39             [out,ref]   dom_sid *sid
40             );
41
42     typedef struct {
43         NTSTATUS status;
44         [string,charset(UTF8)] uint8 *homedir;
45                 [string,charset(UTF8)] uint8 *shell;
46         } unixinfo_GetPWUidInfo;
47
48         /******************/
49         /* Function: 0x04 */
50         NTSTATUS unixinfo_GetPWUid (
51                 [in,out,ref,range(0,1023)] uint32 *count,
52                 [in,size_is(*count)] hyper uids[],
53                 [out,size_is(*count)] unixinfo_GetPWUidInfo *infos
54         );
55 }