#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[*] ); }