libreplace: added replacements for dprintf() and vdprintf()
[samba.git] / librpc / idl / named_pipe_auth.idl
1 #include "idl_types.h"
2 /*
3   miscellaneous IDL structures
4 */
5
6 import "netlogon.idl";
7
8 [
9         pointer_default(unique)
10 ]
11 interface named_pipe_auth
12 {
13         const char *NAMED_PIPE_AUTH_MAGIC = "NPAM";
14
15         typedef struct {
16                 [charset(UTF8),string] uint8 *client_name;
17                 [charset(DOS),string] uint8 *client_addr;
18                 uint16 client_port;
19                 [charset(UTF8),string] uint8 *server_name;
20                 [charset(DOS),string] uint8 *server_addr;
21                 uint16 server_port;
22                 netr_SamInfo3 *sam_info3;
23                 uint32 session_key_length;
24                 [size_is(session_key_length)] uint8 *session_key;
25         } named_pipe_auth_req_info2;
26
27         typedef struct {
28                 [charset(UTF8),string] uint8 *client_name;
29                 [charset(DOS),string] uint8 *client_addr;
30                 uint16 client_port;
31                 [charset(UTF8),string] uint8 *server_name;
32                 [charset(DOS),string] uint8 *server_addr;
33                 uint16 server_port;
34                 netr_SamInfo3 *sam_info3;
35                 uint32 session_key_length;
36                 [size_is(session_key_length)] uint8 *session_key;
37                 uint32 gssapi_delegated_creds_length;
38                 [size_is(gssapi_delegated_creds_length)]
39                         uint8 *gssapi_delegated_creds;
40         } named_pipe_auth_req_info3;
41
42         typedef [switch_type(uint32)] union {
43                 [case(0)] ;/* anonymous */
44                 [case(1)] netr_SamInfo3 info1;
45                 [case(2)] named_pipe_auth_req_info2 info2;
46                 [case(3)] named_pipe_auth_req_info3 info3;
47         } named_pipe_auth_req_info;
48
49         typedef [public,gensize] struct {
50                 [flag(NDR_BIG_ENDIAN),
51                  value(ndr_size_named_pipe_auth_req(r,ndr->iconv_convenience,ndr->flags)-4)]
52                         uint32 length;
53                 [charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
54                 uint32 level;
55                 [switch_is(level)] named_pipe_auth_req_info info;
56         } named_pipe_auth_req;
57
58         typedef struct {
59                 uint16 file_type;
60                 uint16 device_state;
61                 hyper allocation_size;
62         } named_pipe_auth_rep_info2;
63
64         typedef struct {
65                 uint16 file_type;
66                 uint16 device_state;
67                 hyper allocation_size;
68         } named_pipe_auth_rep_info3;
69
70         typedef [switch_type(uint32)] union {
71                 [case(0)] ;
72                 [case(1)] ;
73                 [case(2)] named_pipe_auth_rep_info2 info2;
74                 [case(3)] named_pipe_auth_rep_info3 info3;
75         } named_pipe_auth_rep_info;
76
77         typedef [public,gensize] struct {
78                 [flag(NDR_BIG_ENDIAN),
79                  value(ndr_size_named_pipe_auth_rep(r,ndr->iconv_convenience,ndr->flags)-4)]
80                         uint32 length;
81                 [charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
82                 uint32 level;
83                 [switch_is(level)] named_pipe_auth_rep_info info;
84                 NTSTATUS status;
85         } named_pipe_auth_rep;
86 }
87