diff options
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 3 | ||||
-rw-r--r-- | source4/librpc/idl/epmapper.idl | 14 | ||||
-rw-r--r-- | source4/librpc/idl/idl_types.h | 9 | ||||
-rw-r--r-- | source4/librpc/idl/mgmt.idl | 63 |
4 files changed, 81 insertions, 8 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl index f24e6ffc45..c45309ba68 100644 --- a/source4/librpc/idl/dcerpc.idl +++ b/source4/librpc/idl/dcerpc.idl @@ -10,7 +10,8 @@ interface dcerpc { typedef struct { GUID uuid; - uint32 if_version; + uint16 major_version; + uint16 minor_version; } dcerpc_syntax_id; typedef struct { diff --git a/source4/librpc/idl/epmapper.idl b/source4/librpc/idl/epmapper.idl index d2e34e4c31..f542d5f42a 100644 --- a/source4/librpc/idl/epmapper.idl +++ b/source4/librpc/idl/epmapper.idl @@ -77,7 +77,7 @@ interface epmapper [in] uint32 num_ents, [in,size_is(num_ents)] epm_entry_t entries[], [in] uint32 replace, - [out] uint32 *status + [out] error_status_t *status ); /**********************/ @@ -85,7 +85,7 @@ interface epmapper void epm_Delete( [in] uint32 num_ents, [in, size_is(num_ents)] epm_entry_t entries[], - [out] uint32 *status + [out] error_status_t *status ); /**********************/ @@ -99,7 +99,7 @@ interface epmapper [in] uint32 max_ents, [out] uint32 num_ents, [out, length_is(num_ents), size_is(max_ents)] epm_entry_t entries[], - [out] uint32 status + [out] error_status_t status ); @@ -117,7 +117,7 @@ interface epmapper [in] uint32 max_towers, [out] uint32 *num_towers, [out, length_is(*num_towers), size_is(max_towers)] twr_p_t towers[], - [out] uint32 *status + [out] error_status_t *status ); @@ -125,14 +125,14 @@ interface epmapper /* Function 0x04 */ void epm_LookupHandleFree( [in, out] policy_handle *entry_handle, - [out] uint32 *status + [out] error_status_t *status ); /**********************/ /* Function 0x05 */ void epm_InqObject( [out] GUID *epm_object, - [out] uint32 *status + [out] error_status_t *status ); @@ -142,6 +142,6 @@ interface epmapper [in] uint32 object_speced, [in] GUID *object, [in] twr_t *tower, - [out] uint32 *status + [out] error_status_t *status ); } diff --git a/source4/librpc/idl/idl_types.h b/source4/librpc/idl/idl_types.h index d2bbe1ab45..06794d0243 100644 --- a/source4/librpc/idl/idl_types.h +++ b/source4/librpc/idl/idl_types.h @@ -50,3 +50,12 @@ #define NDR_ALIGN2 LIBNDR_FLAG_ALIGN2 #define NDR_ALIGN4 LIBNDR_FLAG_ALIGN4 #define NDR_ALIGN8 LIBNDR_FLAG_ALIGN8 + + +/* + these are used by the epmapper and mgmt interfaces +*/ +#define error_status_t uint32 +#define boolean32 uint32 +#define unsigned32 uint32 + diff --git a/source4/librpc/idl/mgmt.idl b/source4/librpc/idl/mgmt.idl new file mode 100644 index 0000000000..94439bdea3 --- /dev/null +++ b/source4/librpc/idl/mgmt.idl @@ -0,0 +1,63 @@ +#include "idl_types.h" + +/* + dcerpc remote management interface +*/ + + +[ + uuid(afa8bd80-7d8a-11c9-bef4-08002b102989), + version(1) +] +interface mgmt +{ + typedef struct { + dcerpc_syntax_id *id; + } dcerpc_syntax_id_p; + + typedef struct { + unsigned32 count; + [size_is(count)] dcerpc_syntax_id_p if_id[*]; + } rpc_if_id_vector_t; + + + /***********************/ + /* Function 0x00 */ + void mgmt_inq_if_ids ( + [out] rpc_if_id_vector_t *if_id_vector, + [out] error_status_t status + ); + + + + /***********************/ + /* Function 0x01 */ + void mgmt_inq_stats ( + [in, out] unsigned32 *count, + [out, size_is(*count)] unsigned32 *statistics, + [out] error_status_t *status + ); + + /***********************/ + /* Function 0x02 */ + boolean32 mgmt_is_server_listening ( + [out] error_status_t status + ); + + + /***********************/ + /* Function 0x03 */ + void mgmt_stop_server_listening ( + [out] error_status_t status + ); + + + /***********************/ + /* Function 0x04 */ + void mgmt_inq_princ_name ( + [in] unsigned32 authn_proto, + [in] unsigned32 princ_name_size, + [out] ascstr2 princ_name, + [out] error_status_t status + ); +} |