2006-09-16 02:49:27 +04:00
/* header auto-generated by pidl */
# ifndef _HEADER_rpcecho
# define _HEADER_rpcecho
struct echo_info1 {
2006-09-20 02:22:57 +04:00
uint8_t v ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info2 {
2006-09-20 02:22:57 +04:00
uint16_t v ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info3 {
2006-09-20 02:22:57 +04:00
uint32_t v ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info4 {
2006-09-20 02:22:57 +04:00
uint64_t v ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info5 {
2006-09-20 02:22:57 +04:00
uint8_t v1 ;
uint64_t v2 ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info6 {
2006-09-20 02:22:57 +04:00
uint8_t v1 ;
struct echo_info1 info1 ;
2006-09-16 02:49:27 +04:00
} ;
struct echo_info7 {
2006-09-20 02:22:57 +04:00
uint8_t v1 ;
struct echo_info4 info4 ;
2006-09-16 02:49:27 +04:00
} ;
union echo_Info {
2006-09-20 02:22:57 +04:00
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)] */
2006-09-16 02:49:27 +04:00
} /* [switch_type(uint16)] */ ;
enum echo_Enum1 {
ECHO_ENUM1 = 1 ,
ECHO_ENUM2 = 2
} ;
enum echo_Enum1_32 {
ECHO_ENUM1_32 = 1 ,
ECHO_ENUM2_32 = 2
} ;
struct echo_Enum2 {
2006-09-20 02:22:57 +04:00
enum echo_Enum1 e1 ;
enum echo_Enum1_32 e2 ;
2006-09-16 02:49:27 +04:00
} ;
union echo_Enum3 {
2006-09-20 02:22:57 +04:00
enum echo_Enum1 e1 ; /* [case(ECHO_ENUM1)] */
struct echo_Enum2 e2 ; /* [case(ECHO_ENUM2)] */
2006-09-16 02:49:27 +04:00
} /* [switch_type(uint16)] */ ;
struct echo_Surrounding {
2006-09-20 02:22:57 +04:00
uint32_t x ;
uint16_t * surrounding ; /* [size_is(x)] */
2006-09-16 02:49:27 +04:00
} ;
struct echo_AddOne {
struct {
2006-09-20 02:22:57 +04:00
uint32_t in_data ;
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
uint32_t * out_data ; /* [ref] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_EchoData {
struct {
2006-09-20 02:22:57 +04:00
uint32_t len ;
uint8_t * in_data ; /* [size_is(len)] */
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
uint8_t * out_data ; /* [size_is(len)] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_SinkData {
struct {
2006-09-20 02:22:57 +04:00
uint32_t len ;
uint8_t * data ; /* [size_is(len)] */
2006-09-16 02:49:27 +04:00
} in ;
} ;
struct echo_SourceData {
struct {
2006-09-20 02:22:57 +04:00
uint32_t len ;
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
uint8_t * data ; /* [size_is(len)] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_TestCall {
struct {
2006-09-20 02:22:57 +04:00
const char * s1 ; /* [ref,charset(UTF16)] */
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
const char * * s2 ; /* [ref,charset(UTF16)] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_TestCall2 {
struct {
2006-09-20 02:22:57 +04:00
uint16_t level ;
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
union echo_Info * info ; /* [ref,switch_is(level)] */
2006-09-16 02:49:27 +04:00
NTSTATUS result ;
} out ;
} ;
struct echo_TestSleep {
struct {
2006-09-20 02:22:57 +04:00
uint32_t seconds ;
2006-09-16 02:49:27 +04:00
} in ;
struct {
uint32_t result ;
} out ;
} ;
struct echo_TestEnum {
struct {
2006-09-20 02:22:57 +04:00
enum echo_Enum1 * foo1 ; /* [ref] */
struct echo_Enum2 * foo2 ; /* [ref] */
union echo_Enum3 * foo3 ; /* [ref,switch_is(*foo1)] */
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
enum echo_Enum1 * foo1 ; /* [ref] */
struct echo_Enum2 * foo2 ; /* [ref] */
union echo_Enum3 * foo3 ; /* [ref,switch_is(*foo1)] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_TestSurrounding {
struct {
2006-09-20 02:22:57 +04:00
struct echo_Surrounding * data ; /* [ref] */
2006-09-16 02:49:27 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct echo_Surrounding * data ; /* [ref] */
2006-09-16 02:49:27 +04:00
} out ;
} ;
struct echo_TestDoublePointer {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * * * data ; /* [ref] */
2006-09-16 02:49:27 +04:00
} in ;
struct {
uint16_t result ;
} out ;
} ;
# endif /* _HEADER_rpcecho */