/* * A simple interface to test the RPC server. * * Copyright (C) Google 2007 (Dan Hipschman) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #define SUN_I 10 #define SUN_F1 -2 #define SUN_F2 7 #define SUN_PI 399 [ uuid(D2531A27-4151-44CC-9A8C-7ED00D956757), #ifndef __midl implicit_handle(handle_t IComplex_IfHandle) #endif ] interface IComplex { cpp_quote("#if 0") typedef wchar_t WCHAR; cpp_quote("#endif") typedef struct { [string, size_is(size)] char *name; unsigned int size; double double_member; hyper hyper_member; float float_member; unsigned long ulong_member; long long_member; unsigned short ushort_member; short short_member; wchar_t wchar_member; unsigned small usmall_member; small small_member; char char_member; byte byte_member; [switch_is(s)] union { [case(SUN_I)] int i; [case(SUN_F1, SUN_F2)] float f; [case(SUN_PI)] int *pi; } u; int s; } complex_t; void get_complex([in,out] complex_t *complex_t); }