Move shared DCE/RPC IDL files to root IDL dir.
[kai/samba-autobuild/.git] / librpc / idl / unixinfo.idl
diff --git a/librpc/idl/unixinfo.idl b/librpc/idl/unixinfo.idl
new file mode 100644 (file)
index 0000000..6929e86
--- /dev/null
@@ -0,0 +1,56 @@
+#include "idl_types.h"
+/*
+  Unixinfo interface definition
+*/
+
+import "security.idl";
+
+[ uuid("9c54e310-a955-4885-bd31-78787147dfa6"),
+  version(0.0),
+  endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"),
+  pointer_default(unique),
+  helpstring("Unixinfo specific stuff")
+] interface unixinfo
+{
+       /******************/
+       /* Function: 0x00 */
+       NTSTATUS unixinfo_SidToUid (
+           [in]        dom_sid sid,
+           [out]       hyper *uid
+           );
+
+       /******************/
+       /* Function: 0x01 */
+       NTSTATUS unixinfo_UidToSid (
+           [in]        hyper uid,
+           [out]       dom_sid *sid
+           );
+
+       /******************/
+       /* Function: 0x02 */
+       NTSTATUS unixinfo_SidToGid (
+           [in]        dom_sid sid,
+           [out]       hyper *gid
+           );
+
+       /******************/
+       /* Function: 0x03 */
+       NTSTATUS unixinfo_GidToSid (
+           [in]        hyper gid,
+           [out]       dom_sid *sid
+           );
+
+       typedef struct {
+               NTSTATUS status;
+               [charset(UTF8),string] uint8 homedir[];
+               [charset(UTF8),string] uint8 shell[];
+       } unixinfo_GetPWUidInfo;
+
+       /******************/
+       /* Function: 0x04 */
+        NTSTATUS unixinfo_GetPWUid (
+               [in,out,ref,range(0,1023)] uint32 *count,
+               [in,size_is(*count)] hyper uids[],
+               [out,size_is(*count)] unixinfo_GetPWUidInfo infos[*]
+        );
+}