mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
midltests: add more union_align examples
This demonstrates the difference between NDR32 and NDR64 metze
This commit is contained in:
parent
172a1580d2
commit
fd628e7ae4
@ -1,24 +1,24 @@
|
||||
[in] Buffer[4/8]
|
||||
[000] 00 00 00 00 ....
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[6/10]
|
||||
[000] 02 00 02 00 FF FF ......
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[8/12]
|
||||
[000] 04 00 04 00 FF FF FF FF ........
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[16/16]
|
||||
[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[4/8]
|
||||
[000] 00 00 00 00 ....
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[6/10]
|
||||
[000] 02 00 02 00 FF FF ......
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[8/12]
|
||||
[000] 04 00 04 00 FF FF FF FF ........
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
[in] Buffer[16/16]
|
||||
[000] 08 00 08 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
[out] Buffer[4]
|
||||
[000] 54 72 75 65 True
|
||||
|
61
testprogs/win32/midltests/valid/midltests_union_align_02.idl
Normal file
61
testprogs/win32/midltests/valid/midltests_union_align_02.idl
Normal file
@ -0,0 +1,61 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(char)] union {
|
||||
[case(1)] char c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] char l,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
char l;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
u.c = 'A';
|
||||
cli_midltests_fn(l,u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(char l, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
37
testprogs/win32/midltests/valid/midltests_union_align_02.txt
Normal file
37
testprogs/win32/midltests/valid/midltests_union_align_02.txt
Normal file
@ -0,0 +1,37 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[27] plen[3] ahint[3]
|
||||
|
||||
[000] 01 01 41 ..A
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[27] plen[3] ahint[3]
|
||||
|
||||
[000] 01 01 41 ..A
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
64
testprogs/win32/midltests/valid/midltests_union_align_03.idl
Normal file
64
testprogs/win32/midltests/valid/midltests_union_align_03.idl
Normal file
@ -0,0 +1,64 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(short)] union {
|
||||
[case(1)] char c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] short l,
|
||||
[in] char v,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
short l;
|
||||
char v;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
v = 'V';
|
||||
u.c = 'C';
|
||||
cli_midltests_fn(l, v, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(short l, char v, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
37
testprogs/win32/midltests/valid/midltests_union_align_03.txt
Normal file
37
testprogs/win32/midltests/valid/midltests_union_align_03.txt
Normal file
@ -0,0 +1,37 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[31] plen[7] ahint[7]
|
||||
|
||||
[000] 01 00 56 00 01 00 43 ..V...C
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[31] plen[7] ahint[7]
|
||||
|
||||
[000] 01 00 56 00 01 00 43 ..V...C
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
64
testprogs/win32/midltests/valid/midltests_union_align_04.idl
Normal file
64
testprogs/win32/midltests/valid/midltests_union_align_04.idl
Normal file
@ -0,0 +1,64 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(long)] union {
|
||||
[case(1)] char c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] long l,
|
||||
[in] char v,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
long l;
|
||||
char v;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
v = 'V';
|
||||
u.c = 'C';
|
||||
cli_midltests_fn(l, v, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(long l, char v, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
37
testprogs/win32/midltests/valid/midltests_union_align_04.txt
Normal file
37
testprogs/win32/midltests/valid/midltests_union_align_04.txt
Normal file
@ -0,0 +1,37 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[37] plen[13] ahint[13]
|
||||
|
||||
[000] 01 00 00 00 56 00 00 00 01 00 00 00 43 ....V... ....C
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[37] plen[13] ahint[13]
|
||||
|
||||
[000] 01 00 00 00 56 00 00 00 01 00 00 00 43 ....V... ....C
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
61
testprogs/win32/midltests/valid/midltests_union_align_05.idl
Normal file
61
testprogs/win32/midltests/valid/midltests_union_align_05.idl
Normal file
@ -0,0 +1,61 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(char)] union {
|
||||
[case(1)] short c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] char l,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
char l;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
u.c = 'C';
|
||||
cli_midltests_fn(l, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(hyper l, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
37
testprogs/win32/midltests/valid/midltests_union_align_05.txt
Normal file
37
testprogs/win32/midltests/valid/midltests_union_align_05.txt
Normal file
@ -0,0 +1,37 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 01 01 43 00 ..C.
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[30] plen[6] ahint[6]
|
||||
|
||||
[000] 01 00 01 00 43 00 ....C.
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
61
testprogs/win32/midltests/valid/midltests_union_align_06.idl
Normal file
61
testprogs/win32/midltests/valid/midltests_union_align_06.idl
Normal file
@ -0,0 +1,61 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(char)] union {
|
||||
[case(1)] long c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] char l,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
char l;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
u.c = 'C';
|
||||
cli_midltests_fn(l, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(hyper l, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
37
testprogs/win32/midltests/valid/midltests_union_align_06.txt
Normal file
37
testprogs/win32/midltests/valid/midltests_union_align_06.txt
Normal file
@ -0,0 +1,37 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8]
|
||||
|
||||
[000] 01 01 00 00 43 00 00 00 ....C...
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[36] plen[12] ahint[12]
|
||||
|
||||
[000] 01 00 00 00 01 00 00 00 43 00 00 00 ........ C...
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
61
testprogs/win32/midltests/valid/midltests_union_align_07.idl
Normal file
61
testprogs/win32/midltests/valid/midltests_union_align_07.idl
Normal file
@ -0,0 +1,61 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
typedef [switch_type(char)] union {
|
||||
[case(1)] hyper c;
|
||||
} u;
|
||||
long midltests_fn(
|
||||
[in] char l,
|
||||
[in,switch_is(l)] u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
char l;
|
||||
u u;
|
||||
|
||||
l = 1;
|
||||
u.c = 'C';
|
||||
cli_midltests_fn(l, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(hyper l, u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
38
testprogs/win32/midltests/valid/midltests_union_align_07.txt
Normal file
38
testprogs/win32/midltests/valid/midltests_union_align_07.txt
Normal file
@ -0,0 +1,38 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16]
|
||||
|
||||
[000] 01 01 00 00 00 00 00 00 43 00 00 00 00 00 00 00 ........ C.......
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24]
|
||||
|
||||
[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........
|
||||
[010] 43 00 00 00 00 00 00 00 C.......
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
68
testprogs/win32/midltests/valid/midltests_union_align_08.idl
Normal file
68
testprogs/win32/midltests/valid/midltests_union_align_08.idl
Normal file
@ -0,0 +1,68 @@
|
||||
#ifndef MIDLTESTS_C_CODE
|
||||
|
||||
/*
|
||||
* For midltests_tcp.exe you may want to
|
||||
* redirect the traffic via rinetd
|
||||
* with a /etc/rinetd.conf like this:
|
||||
*
|
||||
* 172.31.9.1 5032 172.31.9.8 5032
|
||||
* 172.31.9.1 5064 172.31.9.8 5064
|
||||
*
|
||||
* This is useful to watch the traffic with
|
||||
* a network sniffer.
|
||||
*/
|
||||
/*
|
||||
cpp_quote("#define LISTEN_IP \"0.0.0.0\"")
|
||||
cpp_quote("#define FORWARD_IP \"127.0.0.1\"")
|
||||
cpp_quote("#define CONNECT_IP \"172.31.9.1\"")
|
||||
*/
|
||||
|
||||
/*
|
||||
* With midltests_tcp.exe NDR64 is enforced by default.
|
||||
* For testing it might be needed to allow downgrades
|
||||
* to NDR32. This is needed when you use 'pipe'.
|
||||
*/
|
||||
//cpp_quote("#define DONOT_FORCE_NDR64 1")
|
||||
|
||||
[
|
||||
uuid("225b9fcb-eb3d-497b-8b0b-591f049a2507"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface midltests
|
||||
{
|
||||
[switch_type(char)] union u {
|
||||
[case(0)];
|
||||
[case(1)] char c;
|
||||
[case(2)] short s;
|
||||
[case(4)] long l;
|
||||
[case(8)] hyper h;
|
||||
};
|
||||
|
||||
long midltests_fn(
|
||||
[in] char level,
|
||||
[in,switch_is(level)] union u u
|
||||
);
|
||||
}
|
||||
|
||||
#elif MIDLTESTS_C_CODE
|
||||
|
||||
static void midltests(void)
|
||||
{
|
||||
union u u;
|
||||
u.h = 0xFFFFFFFFFFFFFFFFLL;
|
||||
|
||||
cli_midltests_fn(0, u);
|
||||
cli_midltests_fn(1, u);
|
||||
cli_midltests_fn(2, u);
|
||||
cli_midltests_fn(4, u);
|
||||
cli_midltests_fn(8, u);
|
||||
}
|
||||
|
||||
long srv_midltests_fn(char level, union u u)
|
||||
{
|
||||
printf("srv_midltests_fn: Start\n");
|
||||
printf("srv_midltests_fn: End\n");
|
||||
return 0x65757254;
|
||||
}
|
||||
|
||||
#endif
|
129
testprogs/win32/midltests/valid/midltests_union_align_08.txt
Normal file
129
testprogs/win32/midltests/valid/midltests_union_align_08.txt
Normal file
@ -0,0 +1,129 @@
|
||||
Wait for setup of server threads
|
||||
|
||||
Test NDR32
|
||||
|
||||
ndr32: disable NDR64
|
||||
|
||||
ndr32:in => out: ptype[request] flen[26] plen[2] ahint[2]
|
||||
|
||||
[000] 00 00 ..
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr32:in => out: ptype[request] flen[27] plen[3] ahint[3]
|
||||
|
||||
[000] 01 01 FF ...
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr32:in => out: ptype[request] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 02 02 FF FF ....
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr32:in => out: ptype[request] flen[32] plen[8] ahint[8]
|
||||
|
||||
[000] 04 04 00 00 FF FF FF FF ........
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr32:in => out: ptype[request] flen[40] plen[16] ahint[16]
|
||||
|
||||
[000] 08 08 00 00 00 00 00 00 FF FF FF FF FF FF FF FF ........ ........
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr32:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr32] stop
|
||||
|
||||
Test NDR64
|
||||
|
||||
ndr64: got NDR64
|
||||
|
||||
ndr64:in => out: ptype[request] flen[40] plen[16] ahint[16]
|
||||
|
||||
[000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr64:in => out: ptype[request] flen[41] plen[17] ahint[17]
|
||||
|
||||
[000] 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ........ ........
|
||||
[010] FF .
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr64:in => out: ptype[request] flen[42] plen[18] ahint[18]
|
||||
|
||||
[000] 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 ........ ........
|
||||
[010] FF FF ..
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr64:in => out: ptype[request] flen[44] plen[20] ahint[20]
|
||||
|
||||
[000] 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ........ ........
|
||||
[010] FF FF FF FF ....
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
ndr64:in => out: ptype[request] flen[48] plen[24] ahint[24]
|
||||
|
||||
[000] 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ........ ........
|
||||
[010] FF FF FF FF FF FF FF FF ........
|
||||
|
||||
srv_midltests_fn: Start
|
||||
srv_midltests_fn: End
|
||||
|
||||
ndr64:out => in: ptype[response] flen[28] plen[4] ahint[4]
|
||||
|
||||
[000] 54 72 75 65 True
|
||||
|
||||
NDRTcpThread[ndr64] stop
|
||||
|
||||
Test OK
|
Loading…
Reference in New Issue
Block a user