WHATSNEW: Update changes.
[Samba/gebeck_regimport.git] / librpc / idl / named_pipe_auth.idl
blobe2928515ba2f4de18029a364e1f2a8ec703666bb
1 #include "idl_types.h"
2 /*
3 miscellaneous IDL structures
4 */
6 import "netlogon.idl";
9 pointer_default(unique)
11 interface named_pipe_auth
13 const char *NAMED_PIPE_AUTH_MAGIC = "NPAM";
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;
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;
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;
49 typedef [public,gensize] struct {
50 [flag(NDR_BIG_ENDIAN),
51 value(ndr_size_named_pipe_auth_req(r,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;
58 typedef struct {
59 uint16 file_type;
60 uint16 device_state;
61 hyper allocation_size;
62 } named_pipe_auth_rep_info2;
64 typedef struct {
65 uint16 file_type;
66 uint16 device_state;
67 hyper allocation_size;
68 } named_pipe_auth_rep_info3;
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;
77 typedef [public,gensize] struct {
78 [flag(NDR_BIG_ENDIAN),
79 value(ndr_size_named_pipe_auth_rep(r,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;