named_pipe_auth.idl: add level 2 and pass the client/server info and session key
[ira/wip.git] / librpc / idl / named_pipe_auth.idl
index 3bd723e6db2c11a13058e6f8ac491dc83578e14d..fd3f563c53231c9f8704d58b5cddc7ca9087ad79 100644 (file)
@@ -12,9 +12,22 @@ interface named_pipe_auth
 {
        const char *NAMED_PIPE_AUTH_MAGIC = "NPAM";
 
+       typedef struct {
+               [charset(UTF8),string] uint8 *client_name;
+               [charset(DOS),string] uint8 *client_addr;
+               uint16 client_port;
+               [charset(UTF8),string] uint8 *server_name;
+               [charset(DOS),string] uint8 *server_addr;
+               uint16 server_port;
+               netr_SamInfo3 *sam_info3;
+               uint32 session_key_length;
+               [size_is(session_key_length)] uint8 *session_key;
+       } named_pipe_auth_req_info2;
+
        typedef [switch_type(uint32)] union {
                [case(0)] ;/* anonymous */
                [case(1)] netr_SamInfo3 info1;
+               [case(2)] named_pipe_auth_req_info2 info2;
        } named_pipe_auth_req_info;
 
        typedef [public,gensize] struct {
@@ -26,9 +39,16 @@ interface named_pipe_auth
                [switch_is(level)] named_pipe_auth_req_info info;
        } named_pipe_auth_req;
 
+       typedef struct {
+               uint16 file_type;
+               uint16 device_state;
+               hyper allocation_size;
+       } named_pipe_auth_rep_info2;
+
        typedef [switch_type(uint32)] union {
                [case(0)] ;
                [case(1)] ;
+               [case(2)] named_pipe_auth_rep_info2 info2;
        } named_pipe_auth_rep_info;
 
        typedef [public,gensize] struct {