From 1941b5cef04c39ddf89fb236d1d81167c0b25e6b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 19 Nov 2003 12:03:11 +0000 Subject: started to expand the echo tests to include more interesting test cases. We fail one of the alignment tests. (This used to be commit 5bb21e57b844e98cc8f1dc264bc45097c08329e3) --- source4/librpc/idl/echo.idl | 55 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'source4/librpc/idl') diff --git a/source4/librpc/idl/echo.idl b/source4/librpc/idl/echo.idl index f68bcf38c3..2ef7026826 100644 --- a/source4/librpc/idl/echo.idl +++ b/source4/librpc/idl/echo.idl @@ -25,7 +25,58 @@ interface rpcecho [out,ref,size_is(len)] uint8 *data ); - void TestCall ( - [in] unistr *s + + /* test strings */ + void TestCall ( + [in] unistr *s1, + [out] unistr *s2 + ); + + + /* test some alignment issues */ + typedef struct { + uint8 v; + } echo_info1; + + typedef struct { + uint16 v; + } echo_info2; + + typedef struct { + uint32 v; + } echo_info3; + + typedef struct { + HYPER_T v; + } echo_info4; + + typedef struct { + uint8 v1; + HYPER_T v2; + } echo_info5; + + typedef struct { + uint8 v1; + echo_info1 info1; + } echo_info6; + + typedef struct { + uint8 v1; + echo_info4 info4; + } echo_info7; + + typedef union { + [case(1)] echo_info1 info1; + [case(2)] echo_info2 info2; + [case(3)] echo_info3 info3; + [case(4)] echo_info4 info4; + [case(5)] echo_info5 info5; + [case(6)] echo_info6 info6; + [case(7)] echo_info7 info7; + } echo_Info; + + NTSTATUS TestCall2 ( + [in] uint16 level, + [out,switch_is(level)] echo_Info *info ); } -- cgit