2006-09-11 20:45:34 +04:00
#include "idl_types.h"
2005-05-19 19:45:25 +04:00
/*
Unixinfo interface definition
*/
2006-11-07 01:54:49 +03:00
import "security.idl";
2005-05-19 19:45:25 +04:00
[ uuid("9c54e310-a955-4885-bd31-78787147dfa6"),
version(0.0),
endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
2006-11-07 01:54:49 +03:00
helpstring("Unixinfo specific stuff")
2005-05-19 19:45:25 +04:00
] interface unixinfo
{
/******************/
/* Function: 0x00 */
NTSTATUS unixinfo_SidToUid (
[in] dom_sid sid,
2006-11-22 21:06:08 +03:00
[out] hyper *uid
2005-05-19 19:45:25 +04:00
);
/******************/
/* Function: 0x01 */
NTSTATUS unixinfo_UidToSid (
[in] hyper uid,
2006-11-22 21:06:08 +03:00
[out] dom_sid *sid
2005-05-19 19:45:25 +04:00
);
/******************/
/* Function: 0x02 */
NTSTATUS unixinfo_SidToGid (
[in] dom_sid sid,
2006-11-22 21:06:08 +03:00
[out] hyper *gid
2005-05-19 19:45:25 +04:00
);
/******************/
/* Function: 0x03 */
NTSTATUS unixinfo_GidToSid (
[in] hyper gid,
2006-11-22 21:06:08 +03:00
[out] dom_sid *sid
2005-05-19 19:45:25 +04:00
);
2006-09-11 20:45:34 +04:00
typedef struct {
NTSTATUS status;
2008-02-27 21:47:23 +03:00
[charset(UTF8),string] uint8 homedir[];
[charset(UTF8),string] uint8 shell[];
2005-05-19 19:45:25 +04:00
} unixinfo_GetPWUidInfo;
/******************/
/* Function: 0x04 */
NTSTATUS unixinfo_GetPWUid (
2006-05-06 15:24:11 +04:00
[in,out,ref,range(0,1023)] uint32 *count,
[in,size_is(*count)] hyper uids[],
2006-09-14 16:25:41 +04:00
[out,size_is(*count)] unixinfo_GetPWUidInfo infos[*]
2005-05-19 19:45:25 +04:00
);
}