mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
e427f58622
The main difference in this new version is the extra data structure generated between the IDL data structure and the NDR parser: IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc } This makes the ndr_parser.pm internals much more sane. Other changes include: - Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags. - Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc.. - Use if() {} rather then if () goto foo; everywhere - NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC - By default, top level pointers are now "ref" (as is the default in most other IDL compilers). This can be overridden using the default_pointer_top() property. - initial work on new ethereal parser generators by Alan DeKok and me - pidl now writes errors in the standard format used by compilers, which is parsable by most editors - ability to warn about the fact that pidl extension(s) have been used, useful for making sure IDL files work with other IDL compilers. oh, and there's probably some other things I can't think of right now.. (This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
78 lines
1.7 KiB
Plaintext
78 lines
1.7 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
/*
|
|
dcerpc remote management interface
|
|
*/
|
|
|
|
[
|
|
uuid("afa8bd80-7d8a-11c9-bef4-08002b102989"),
|
|
version(1.0),
|
|
pointer_default(unique),
|
|
pointer_default_top(unique),
|
|
endpoint("ncalrpc:[EPMAPPER]", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]"),
|
|
helpstring("DCE/RPC Remote Management")
|
|
]
|
|
interface mgmt
|
|
{
|
|
typedef struct {
|
|
dcerpc_syntax_id *id;
|
|
} dcerpc_syntax_id_p;
|
|
|
|
typedef struct {
|
|
uint32 count;
|
|
[size_is(count)] dcerpc_syntax_id_p if_id[*];
|
|
} rpc_if_id_vector_t;
|
|
|
|
|
|
/***********************/
|
|
/* Function 0x00 */
|
|
WERROR mgmt_inq_if_ids (
|
|
[out] rpc_if_id_vector_t *if_id_vector
|
|
);
|
|
|
|
|
|
|
|
/***********************/
|
|
/* Function 0x01 */
|
|
|
|
|
|
/* these are the array indexes in the statistics array */
|
|
const int MGMT_STATS_CALLS_IN = 0;
|
|
const int MGMT_STATS_CALLS_OUT = 1;
|
|
const int MGMT_STATS_PKTS_IN = 2;
|
|
const int MGMT_STATS_PKTS_OUT = 3;
|
|
const int MGMT_STATS_ARRAY_MAX_SIZE = 4;
|
|
|
|
typedef struct {
|
|
uint32 count;
|
|
[size_is(count)] uint32 statistics[*];
|
|
} mgmt_statistics;
|
|
|
|
WERROR mgmt_inq_stats (
|
|
[in] uint32 max_count,
|
|
[in] uint32 unknown,
|
|
[out] mgmt_statistics statistics
|
|
);
|
|
|
|
|
|
/***********************/
|
|
/* Function 0x02 */
|
|
boolean32 mgmt_is_server_listening (
|
|
[out] error_status_t status
|
|
);
|
|
|
|
|
|
/***********************/
|
|
/* Function 0x03 */
|
|
WERROR mgmt_stop_server_listening ();
|
|
|
|
|
|
/***********************/
|
|
/* Function 0x04 */
|
|
WERROR mgmt_inq_princ_name (
|
|
[in] uint32 authn_proto,
|
|
[in] uint32 princ_name_size,
|
|
[out] ascstr princ_name
|
|
);
|
|
}
|