mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
#include "idl_types.h"
|
|
/*
|
|
miscellaneous IDL structures
|
|
*/
|
|
|
|
import "netlogon.idl";
|
|
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
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 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;
|
|
uint32 gssapi_delegated_creds_length;
|
|
[size_is(gssapi_delegated_creds_length)]
|
|
uint8 *gssapi_delegated_creds;
|
|
} named_pipe_auth_req_info3;
|
|
|
|
typedef [switch_type(uint32)] union {
|
|
[case(0)] ;/* anonymous */
|
|
[case(1)] netr_SamInfo3 info1;
|
|
[case(2)] named_pipe_auth_req_info2 info2;
|
|
[case(3)] named_pipe_auth_req_info3 info3;
|
|
} named_pipe_auth_req_info;
|
|
|
|
typedef [public,gensize] struct {
|
|
[flag(NDR_BIG_ENDIAN),
|
|
value(ndr_size_named_pipe_auth_req(r,ndr->flags)-4)]
|
|
uint32 length;
|
|
[charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
|
|
uint32 level;
|
|
[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 struct {
|
|
uint16 file_type;
|
|
uint16 device_state;
|
|
hyper allocation_size;
|
|
} named_pipe_auth_rep_info3;
|
|
|
|
typedef [switch_type(uint32)] union {
|
|
[case(0)] ;
|
|
[case(1)] ;
|
|
[case(2)] named_pipe_auth_rep_info2 info2;
|
|
[case(3)] named_pipe_auth_rep_info3 info3;
|
|
} named_pipe_auth_rep_info;
|
|
|
|
typedef [public,gensize] struct {
|
|
[flag(NDR_BIG_ENDIAN),
|
|
value(ndr_size_named_pipe_auth_rep(r,ndr->flags)-4)]
|
|
uint32 length;
|
|
[charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
|
|
uint32 level;
|
|
[switch_is(level)] named_pipe_auth_rep_info info;
|
|
NTSTATUS status;
|
|
} named_pipe_auth_rep;
|
|
}
|
|
|