svn commit: samba r6545 - in branches/SAMBA_4_0/source/build/pidl: .
tridge at samba.org
tridge at samba.org
Sun May 1 08:52:41 GMT 2005
Author: tridge
Date: 2005-05-01 08:52:41 +0000 (Sun, 01 May 2005)
New Revision: 6545
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6545
Log:
some notes and experiments on ref ptrs, testing with midl
Added:
branches/SAMBA_4_0/source/build/pidl/ref_notes.txt
Changeset:
Added: branches/SAMBA_4_0/source/build/pidl/ref_notes.txt
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/ref_notes.txt 2005-05-01 08:05:17 UTC (rev 6544)
+++ branches/SAMBA_4_0/source/build/pidl/ref_notes.txt 2005-05-01 08:52:41 UTC (rev 6545)
@@ -0,0 +1,220 @@
+some experiments with ref ptrs
+
+
+
+ typedef struct {
+ short x;
+ } xstruct;
+
+ uint16 echo_TestRef([in] xstruct foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = v;
+ echo_TestRef(r);
+
+ [0D 00]
+
+----------------------------------------------------
+ typedef struct {
+ short *x;
+ } xstruct;
+
+ uint16 echo_TestRef([in] xstruct foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = &v;
+ echo_TestRef(r);
+
+ [PP PP PP PP 0D 00]
+
+
+ xstruct r;
+ r.x = NULL;
+ echo_TestRef(r);
+
+ [00 00 00 00]
+
+----------------------------------------------------
+ typedef struct {
+ [ref] short *x;
+ } xstruct;
+
+ uint16 echo_TestRef([in] xstruct foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = &v;
+ echo_TestRef(r);
+
+ [XX XX XX XX 0D 00]
+
+
+ xstruct r;
+ r.x = NULL;
+ echo_TestRef(r);
+
+ [client runtime error 0x6f4]
+
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ uint16 echo_TestRef([in] xstruct *foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = v;
+ echo_TestRef(&r);
+
+ [0D 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ uint16 echo_TestRef([in,ref] xstruct *foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = v;
+ echo_TestRef(&r);
+
+ [0D 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ uint16 echo_TestRef([in,unique] xstruct *foo);
+
+ short v = 13;
+ xstruct r;
+ r.x = v;
+ echo_TestRef(&r);
+
+ [PP PP PP PP 0D 00]
+
+
+ echo_TestRef(NULL);
+
+ [00 00 00 00]
+
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ uint16 echo_TestRef([out] xstruct foo);
+
+ [idl compiler error]
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ void echo_TestRef([out] xstruct *foo);
+
+ xstruct r;
+ echo_TestRef(&r);
+ r.x -> 13;
+
+ [0D 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ void echo_TestRef([out,ref] xstruct *foo);
+
+ xstruct r;
+ echo_TestRef(&r);
+ r.x -> 13;
+
+ [0D 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+----------------------------------------------------
+ typedef struct {
+ short x;
+ } xstruct;
+
+ void echo_TestRef([out,unique] xstruct *foo);
+
+ [idl compiler error]
+
+
+----------------------------------------------------
+ void echo_TestRef([in] short **foo);
+
+ short v = 13;
+ short *pv = &v;
+
+ echo_TestRef(&pv);
+
+ [PP PP PP PP 0D 00]
+
+
+ short *pv = NULL;
+
+ echo_TestRef(&pv);
+
+ [00 00 00 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+
+----------------------------------------------------
+ void echo_TestRef([in,ref] short **foo);
+
+ short v = 13;
+ short *pv = &v;
+
+ echo_TestRef(&pv);
+
+ [PP PP PP PP 0D 00]
+
+
+ short *pv = NULL;
+
+ echo_TestRef(&pv);
+
+ [00 00 00 00]
+
+
+ echo_TestRef(NULL);
+
+ [client runtime error 0x6f4]
+
+
More information about the samba-cvs
mailing list