1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
samba-mirror/source4/librpc/idl/irpc.idl
Andrew Tridgell 7ee2babcfe r8587: - fixed ref allocation in irpc replies
- make every irpc server support the irpc_uptime() call
(This used to be commit eee9044826)
2007-10-10 13:29:42 -05:00

99 lines
2.2 KiB
Plaintext

#include "idl_types.h"
/*
definitions for irpc primitives
*/
[ uuid("e770c620-0b06-4b5e-8d87-a26e20f28340"),
version(1.0),
pointer_default(unique),
pointer_default_top(unique)
] interface irpc
{
typedef bitmap {
IRPC_FLAG_REPLY = 0x0001
} irpc_flags;
typedef [public,noejs] struct {
GUID uuid;
uint32 if_version;
uint32 callnum;
uint32 callid;
irpc_flags flags;
NTSTATUS status;
} irpc_header;
/******************************************************
uptime call - supported by all messaging servers
*******************************************************/
void irpc_uptime([out,ref] NTTIME *start_time);
/******************************************************
management calls for the nbt server
******************************************************/
typedef [v1_enum] enum {
NBTD_INFO_STATISTICS
} nbtd_info_level;
typedef struct {
hyper total_received;
hyper total_sent;
hyper query_count;
hyper register_count;
hyper release_count;
} nbtd_statistics;
typedef union {
[case(NBTD_INFO_STATISTICS)] nbtd_statistics *stats;
} nbtd_info;
void nbtd_information(
[in] nbtd_info_level level,
[out,switch_is(level)] nbtd_info info
);
/******************************************************
management calls for the smb server
******************************************************/
typedef [v1_enum] enum {
SMBSRV_INFO_SESSIONS,
SMBSRV_INFO_TREES
} smbsrv_info_level;
typedef struct {
uint16 vuid;
astring account_name;
astring domain_name;
astring client_ip;
NTTIME connect_time;
} smbsrv_session_info;
typedef struct {
uint32 num_sessions;
[size_is(num_sessions)] smbsrv_session_info *sessions;
} smbsrv_sessions;
typedef struct {
uint16 tid;
astring share_name;
astring client_ip;
NTTIME connect_time;
} smbsrv_tree_info;
typedef struct {
uint32 num_trees;
[size_is(num_trees)] smbsrv_tree_info *trees;
} smbsrv_trees;
typedef union {
[case(SMBSRV_INFO_SESSIONS)] smbsrv_sessions sessions;
[case(SMBSRV_INFO_TREES)] smbsrv_trees trees;
} smbsrv_info;
void smbsrv_information(
[in] smbsrv_info_level level,
[out,switch_is(level)] smbsrv_info info
);
}