/* header auto-generated by pidl */ #include <stdint.h> #ifndef _HEADER_rpcecho #define _HEADER_rpcecho struct echo_info1 { uint8_t v; }; struct echo_info2 { uint16_t v; }; struct echo_info3 { uint32_t v; }; struct echo_info4 { uint64_t v; }; struct echo_info5 { uint8_t v1; uint64_t v2; }; struct echo_info6 { uint8_t v1; struct echo_info1 info1; }; struct echo_info7 { uint8_t v1; struct echo_info4 info4; }; union echo_Info { struct echo_info1 info1;/* [case] */ struct echo_info2 info2;/* [case(2)] */ struct echo_info3 info3;/* [case(3)] */ struct echo_info4 info4;/* [case(4)] */ struct echo_info5 info5;/* [case(5)] */ struct echo_info6 info6;/* [case(6)] */ struct echo_info7 info7;/* [case(7)] */ }/* [switch_type(uint16)] */; enum echo_Enum1 #ifndef USE_UINT_ENUMS { ECHO_ENUM1=1, ECHO_ENUM2=2 } #else { __donnot_use_enum_echo_Enum1=0x7FFFFFFF} #define ECHO_ENUM1 ( 1 ) #define ECHO_ENUM2 ( 2 ) #endif ; enum echo_Enum1_32 #ifndef USE_UINT_ENUMS { ECHO_ENUM1_32=1, ECHO_ENUM2_32=2 } #else { __donnot_use_enum_echo_Enum1_32=0x7FFFFFFF} #define ECHO_ENUM1_32 ( 1 ) #define ECHO_ENUM2_32 ( 2 ) #endif ; struct echo_Enum2 { enum echo_Enum1 e1; enum echo_Enum1_32 e2; }; union echo_Enum3 { enum echo_Enum1 e1;/* [case(ECHO_ENUM1)] */ struct echo_Enum2 e2;/* [case(ECHO_ENUM2)] */ }/* [switch_type(uint16)] */; struct echo_Surrounding { uint32_t x; uint16_t *surrounding;/* [size_is(x)] */ }; struct echo_AddOne { struct { uint32_t in_data; } in; struct { uint32_t *out_data;/* [ref] */ } out; }; struct echo_EchoData { struct { uint32_t len; uint8_t *in_data;/* [size_is(len)] */ } in; struct { uint8_t *out_data;/* [size_is(len)] */ } out; }; struct echo_SinkData { struct { uint32_t len; uint8_t *data;/* [size_is(len)] */ } in; }; struct echo_SourceData { struct { uint32_t len; } in; struct { uint8_t *data;/* [size_is(len)] */ } out; }; struct echo_TestCall { struct { const char *s1;/* [ref,charset(UTF16)] */ } in; struct { const char **s2;/* [ref,charset(UTF16)] */ } out; }; struct echo_TestCall2 { struct { uint16_t level; } in; struct { union echo_Info *info;/* [ref,switch_is(level)] */ NTSTATUS result; } out; }; struct echo_TestSleep { struct { uint32_t seconds; } in; struct { uint32_t result; } out; }; struct echo_TestEnum { struct { enum echo_Enum1 *foo1;/* [ref] */ struct echo_Enum2 *foo2;/* [ref] */ union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */ } in; struct { enum echo_Enum1 *foo1;/* [ref] */ struct echo_Enum2 *foo2;/* [ref] */ union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */ } out; }; struct echo_TestSurrounding { struct { struct echo_Surrounding *data;/* [ref] */ } in; struct { struct echo_Surrounding *data;/* [ref] */ } out; }; struct echo_TestDoublePointer { struct { uint16_t ***data;/* [ref] */ } in; struct { uint16_t result; } out; }; #endif /* _HEADER_rpcecho */