Move testsets from reactos to rostests (into a "win32" directory for now). 2/2
[reactos.git] / rostests / win32 / rpcrt4 / context_handles / ctx_c.c
diff --git a/rostests/win32/rpcrt4/context_handles/ctx_c.c b/rostests/win32/rpcrt4/context_handles/ctx_c.c
new file mode 100644 (file)
index 0000000..69a8bd3
--- /dev/null
@@ -0,0 +1,335 @@
+
+#pragma warning( disable: 4049 )  /* more than 64k source lines */
+
+/* this ALWAYS GENERATED file contains the RPC client stubs */
+
+
+ /* File created by MIDL compiler version 5.03.0280 */
+/* at Fri Mar 24 18:32:16 2006
+ */
+/* Compiler settings for ctx.idl:
+    Os (OptLev=s), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+    VC __declspec() decoration level: 
+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+         DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#if !defined(_M_IA64) && !defined(_M_AXP64)
+#include <string.h>
+#if defined( _ALPHA_ )
+#include <stdarg.h>
+#endif
+
+#include "ctx.h"
+
+#define TYPE_FORMAT_STRING_SIZE   23                                
+#define PROC_FORMAT_STRING_SIZE   21                                
+#define TRANSMIT_AS_TABLE_SIZE    0            
+#define WIRE_MARSHAL_TABLE_SIZE   0            
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+
+extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+#define GENERIC_BINDING_TABLE_SIZE   0            
+
+
+/* Standard interface: hello, ver. 1.0,
+   GUID={0x7a98c250,0x6808,0x11cf,{0xb7,0x3b,0x00,0xaa,0x00,0xb6,0x77,0xa7}} */
+
+handle_t hBinding;
+
+
+static const RPC_CLIENT_INTERFACE hello___RpcClientInterface =
+    {
+    sizeof(RPC_CLIENT_INTERFACE),
+    {{0x7a98c250,0x6808,0x11cf,{0xb7,0x3b,0x00,0xaa,0x00,0xb6,0x77,0xa7}},{1,0}},
+    {{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}},
+    0,
+    0,
+    0,
+    0,
+    0,
+    0
+    };
+RPC_IF_HANDLE hello_v1_0_c_ifspec = (RPC_IF_HANDLE)& hello___RpcClientInterface;
+
+extern const MIDL_STUB_DESC hello_StubDesc;
+
+RPC_BINDING_HANDLE hello__MIDL_AutoBindHandle;
+
+
+void CtxOpen( 
+    /* [out] */ PCTXTYPE __RPC_FAR *pphContext,
+    /* [in] */ long Value)
+{
+
+    RPC_BINDING_HANDLE _Handle =       0;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(!pphContext)
+        {
+        RpcRaiseException(RPC_X_NULL_REF_POINTER);
+        }
+    RpcTryFinally
+        {
+        NdrClientInitializeNew(
+                          ( PRPC_MESSAGE  )&_RpcMessage,
+                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                          ( PMIDL_STUB_DESC  )&hello_StubDesc,
+                          0);
+        
+        
+        _Handle = hBinding;
+        
+        
+        _StubMsg.BufferLength = 4U;
+        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
+        
+        *(( long __RPC_FAR * )_StubMsg.Buffer)++ = Value;
+        
+        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *) _StubMsg.Buffer );
+        
+        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
+        
+        *pphContext = (void *)0;
+        NdrClientContextUnmarshall(
+                              ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                              ( NDR_CCONTEXT __RPC_FAR * )pphContext,
+                              _Handle);
+        
+        }
+    RpcFinally
+        {
+        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
+        
+        }
+    RpcEndFinally
+    
+}
+
+
+void CtxHello( 
+    /* [in] */ PCTXTYPE phContext)
+{
+
+    RPC_BINDING_HANDLE _Handle =       0;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryFinally
+        {
+        NdrClientInitializeNew(
+                          ( PRPC_MESSAGE  )&_RpcMessage,
+                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                          ( PMIDL_STUB_DESC  )&hello_StubDesc,
+                          1);
+        
+        
+        if(phContext != 0)
+            {
+            _Handle = NDRCContextBinding(( NDR_CCONTEXT  )phContext);;
+            
+            }
+        else
+            {
+            RpcRaiseException(RPC_X_SS_IN_NULL_CONTEXT);
+            }
+        
+        _StubMsg.BufferLength = 20U;
+        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
+        
+        NdrClientContextMarshall(
+                            ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                            ( NDR_CCONTEXT  )phContext,
+                            1);
+        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *) _StubMsg.Buffer );
+        
+        }
+    RpcFinally
+        {
+        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
+        
+        }
+    RpcEndFinally
+    
+}
+
+
+void CtxClose( 
+    /* [out][in] */ PCTXTYPE __RPC_FAR *pphContext)
+{
+
+    RPC_BINDING_HANDLE _Handle =       0;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(!pphContext)
+        {
+        RpcRaiseException(RPC_X_NULL_REF_POINTER);
+        }
+    RpcTryFinally
+        {
+        NdrClientInitializeNew(
+                          ( PRPC_MESSAGE  )&_RpcMessage,
+                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                          ( PMIDL_STUB_DESC  )&hello_StubDesc,
+                          2);
+        
+        
+        if(*pphContext != 0)
+            {
+            _Handle = NDRCContextBinding(( NDR_CCONTEXT  )*pphContext);;
+            
+            }
+        
+        _StubMsg.BufferLength = 20U;
+        NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle );
+        
+        NdrClientContextMarshall(
+                            ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                            ( NDR_CCONTEXT  )*pphContext,
+                            0);
+        NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *) _StubMsg.Buffer );
+        
+        if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[14] );
+        
+        NdrClientContextUnmarshall(
+                              ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                              ( NDR_CCONTEXT __RPC_FAR * )pphContext,
+                              _Handle);
+        
+        }
+    RpcFinally
+        {
+        NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg );
+        
+        }
+    RpcEndFinally
+    
+}
+
+
+const MIDL_STUB_DESC hello_StubDesc = 
+    {
+    (void __RPC_FAR *)& hello___RpcClientInterface,
+    MIDL_user_allocate,
+    MIDL_user_free,
+    &hBinding,
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x10001, /* Ndr library version */
+    0,
+    0x5030118, /* MIDL Version 5.3.280 */
+    0,
+    0,
+    0,  /* notify & notify_flag routine table */
+    0x1, /* MIDL flag */
+    0,  /* Reserved3 */
+    0,  /* Reserved4 */
+    0   /* Reserved5 */
+    };
+
+#if !defined(__RPC_WIN32__)
+#error  Invalid build platform for this stub.
+#endif
+
+const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+                       
+                       0x51,           /* FC_OUT_PARAM */
+#ifndef _ALPHA_
+                       0x1,            /* x86, MIPS & PPC stack size = 1 */
+#else
+                       0x2,            /* Alpha stack size = 2 */
+#endif
+/*  2 */       NdrFcShort( 0x2 ),      /* Type Offset=2 */
+/*  4 */       0x4e,           /* FC_IN_PARAM_BASETYPE */
+                       0x8,            /* FC_LONG */
+/*  6 */       0x5b,           /* FC_END */
+                       0x5c,           /* FC_PAD */
+/*  8 */       
+                       0x4d,           /* FC_IN_PARAM */
+#ifndef _ALPHA_
+                       0x1,            /* x86, MIPS & PPC stack size = 1 */
+#else
+                       0x2,            /* Alpha stack size = 2 */
+#endif
+/* 10 */       NdrFcShort( 0xa ),      /* Type Offset=10 */
+/* 12 */       0x5b,           /* FC_END */
+                       0x5c,           /* FC_PAD */
+/* 14 */       
+                       0x50,           /* FC_IN_OUT_PARAM */
+#ifndef _ALPHA_
+                       0x1,            /* x86, MIPS & PPC stack size = 1 */
+#else
+                       0x2,            /* Alpha stack size = 2 */
+#endif
+/* 16 */       NdrFcShort( 0xe ),      /* Type Offset=14 */
+/* 18 */       0x5b,           /* FC_END */
+                       0x5c,           /* FC_PAD */
+
+                       0x0
+        }
+    };
+
+const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+                       NdrFcShort( 0x0 ),      /* 0 */
+/*  2 */       
+                       0x11, 0x0,      /* FC_RP */
+/*  4 */       NdrFcShort( 0x2 ),      /* Offset= 2 (6) */
+/*  6 */       0x30,           /* FC_BIND_CONTEXT */
+                       0xa0,           /* Ctxt flags:  via ptr, out, */
+/*  8 */       0x0,            /* 0 */
+                       0x0,            /* 0 */
+/* 10 */       0x30,           /* FC_BIND_CONTEXT */
+                       0x41,           /* Ctxt flags:  in, can't be null */
+/* 12 */       0x0,            /* 0 */
+                       0x0,            /* 0 */
+/* 14 */       
+                       0x11, 0x0,      /* FC_RP */
+/* 16 */       NdrFcShort( 0x2 ),      /* Offset= 2 (18) */
+/* 18 */       0x30,           /* FC_BIND_CONTEXT */
+                       0xe1,           /* Ctxt flags:  via ptr, in, out, can't be null */
+/* 20 */       0x0,            /* 0 */
+                       0x0,            /* 0 */
+
+                       0x0
+        }
+    };
+
+
+#endif /* !defined(_M_IA64) && !defined(_M_AXP64)*/
+