- corrected some lsa idl
[ira/wip.git] / source4 / librpc / idl / lsa.idl
1 /*
2   lsa interface definition
3 */
4
5 [ uuid(12345778-1234-abcd-ef00-0123456789ab),
6   version(0.0),
7   pointer_default(unique)
8 ] interface lsarpc
9 {
10         
11         typedef struct {
12                 [struct_len] uint32 _len;
13                 uint16  impersonation_level;
14                 uint8   context_mode;
15                 uint8   effective_only;
16         } lsa_QosInfo;
17         
18         typedef struct {
19                 [struct_len] uint32 _len;
20                 uint8 *root_dir;
21                 unistr *object_name;
22                 uint32 attributes;
23                 security_descriptor *sec_desc;
24                 lsa_QosInfo *sec_qos;
25         } lsa_ObjectAttribute;
26         
27         NTSTATUS lsa_OpenPolicy (
28                 [in]       uint16 *system_name,
29                 [in,ref]   lsa_ObjectAttribute *attr,
30                 [in]       uint32 desired_access,
31                 [out]      policy_handle *handle
32                 );
33         
34         NTSTATUS lsa_OpenPolicy2 (
35                 [in]      unistr *system_name,
36                 [in,ref]  lsa_ObjectAttribute *attr,
37                 [in]      uint32 desired_access,
38                 [out,ref] policy_handle *handle
39                 );
40
41         typedef struct {
42                 dom_sid2 *sid;
43         } lsa_SidPtr;
44         
45         typedef struct {
46                 uint32 num_sids;
47                 [size_is(num_sids)] lsa_SidPtr *sids;
48         } lsa_SidArray;
49
50         NTSTATUS lsa_EnumSids (
51                 [in,ref]     policy_handle *handle,
52                 [in,out,ref] uint32 *resume_handle,
53                 [in]         uint32 num_entries,
54                 [out,ref]    lsa_SidArray *sids
55                 );
56
57 }