29#define IFACE_NAME IMixedServer
33#define IFACE_HANDLE IMixedServer_IfHandle
37#define ISERVER_UUID 00000000-4114-0704-2301-000000000000
61cpp_quote("#ifndef SKIP_TYPE_DECLS")
62 typedef [string] char *str_t;
63 typedef [string] WCHAR *wstr_t;
92 [case(SUN_F1, SUN_F2)] float f;
93 [case(SUN_PI)] int *pi;
101 signed char a, b, c, d, e;
123 int int_return(void);
125 int sum(int x, int y);
126 signed char sum_char(signed char x, signed char y);
127 short sum_short(short x, short y);
128 int sum_float(float x, float y);
129 int sum_double_int(int x, double y);
130 hyper sum_hyper(hyper x, hyper y);
131 int sum_hyper_int(hyper x, hyper y);
132 int sum_char_hyper(signed char x, hyper y);
133 int sum_ints(int a, ints_t x, ints_t y);
134 int sum_chars(int a, chars_t x, chars_t y);
135 int sum_flts(int a, flts_t x, flts_t y);
136 int sum_dbls(int a, dbls_t x, dbls_t y);
137 int sum_iiff(int x0, int y0, float x1, float y1);
138 int sum_ifif(int x0, float y0, int x1, float y1);
139 int sum_iidd(int x0, int y0, double x1, double y1);
140 int sum_idid(int x0, double y0, int x1, double y1);
141 int sum_ififififififif(int x0, float y0, int x1, float y1, int x2, float y2, int x3, float y3, int x4, float y4, int x5, float y5, int x6, float y6);
142 int sum_ididididididid(int x0, double y0, int x1, double y1, int x2, double y2, int x3, double y3, int x4, double y4, int x5, double y5, int x6, double y6);
143 int sum_idfdifdfifdfidifdidf(int x0, double y0, float z0, double y1, int x1, float z1, double y2, float z2, int x2, float z3, double y3, float z4, int x3, double y4, int x4, float z5, double y5, int x5, double y6, float z6);
144 int sum_ididididididididididid(int x0, double y0, int x1, double y1, int x2, double y2, int x3, double y3, int x4, double y4, int x5, double y5, int x6, double y6, int x7, double y7, int x8, double y8);
145 int sum_iidiidiidiidiidiidiidiidiidiidiid(int x0, int x1, double y0, int x2, int x3, double y1, int x4, int x5, double y2, int x6, int x7, double y3, int x8, int x9, double y4, int x10, int x11, double y5, int x12, int x13, double y6, int x14, int x15, double y7, int x16, int x17, double y8);
146 int sum_iyiy(int x0, hyper y0, int x1, hyper y1);
147 void square_out(int x, [out] int *y);
148 void square_ref([in, out] int *x);
149 int str_length([string] const char *s);
150 int str_t_length(str_t s);
151 int cstr_length([string, size_is(n)] const char *s, int n);
152 int dot_self(vector_t *v);
153 double square_half(double x, [out] double *y);
154 float square_half_float(float x, [out] float *y);
155 long square_half_long(long x, [out] long *y);
156 int sum_fixed_array(int a[5]);
157 int pints_sum(pints_t *pints);
158 double ptypes_sum(ptypes_t *ptypes);
159 int dot_pvectors(pvectors_t *pvectors);
161cpp_quote("#ifndef SKIP_TYPE_DECLS")
162 /* don't use this anywhere except in sp_t */
175 int sum_sp(sp_t *sp);
176 double square_sun(sun_t *su);
178cpp_quote("#ifndef SKIP_TYPE_DECLS")
179 typedef struct test_list
184 [case(TL_NULL)] char x; /* end of list */
185 [case(TL_LIST)] struct test_list *tail;
189 typedef [ref] int *refpint_t;
192 int test_list_length(test_list_t *ls);
193 int sum_fixed_int_3d(int m[2][3][4]);
194 int sum_conf_array([size_is(n)] int x[], int n);
195 int sum_conf_ptr_by_conf_ptr(int n1, [size_is(n1)] int *n2_then_x1, [size_is(*n2_then_x1)] int *x2);
196 int sum_unique_conf_array([size_is(n), unique] int x[], int n);
197 int sum_unique_conf_ptr([size_is(n), unique] int *x, int n);
198 int sum_var_array([length_is(n)] int x[20], int n);
199 int dot_two_vectors(vector_t vs[2]);
200 void get_number_array([out, length_is(*n)] int x[20], [out] int *n);
202cpp_quote("#ifndef SKIP_TYPE_DECLS")
206 [size_is(n)] int ca[];
212 [size_is(n)] int *ca;
217/* FIXME: widl generates incorrect correlation descriptor and the tests crash */
219 int dummy[1]; /* to make offset to conformant array unique */
226/* FIXME: widl generates incorrect correlation descriptor and the tests crash */
228 int dummy[2]; /* to make offset to conformant array unique */
236 [size_is(*pn)] int *ca1;
237 [size_is(n * 2)] int *ca2;
243 [size_is(c ? a : b)] int *ca;
250 int sum_cs(cs_t *cs);
251 int sum_cps(cps_t *cps);
252 int sum_cpsc(cpsc_t *cpsc);
253 int get_cpsc(int n, [out] cpsc_t *cpsc );
254 int sum_complex_array(int n, [size_is(n)] refpint_t pi[]);
255 int sum_blob([in] cs_blob_t *blob);
256 int sum_data([in] cs_data_t *data);
257 int sum_container([in] cs_container_t *container);
259cpp_quote("#ifndef SKIP_TYPE_DECLS")
260 typedef [wire_marshal(int)] void *puint_t;
262 int square_puint(puint_t p);
264cpp_quote("#ifndef SKIP_TYPE_DECLS")
267 [size_is(n)] puint_t *ps;
271 /* Same thing as puints_t, but make it complex (needs padding). */
274 [size_is(n)] puint_t *ps;
279 int sum_puints(puints_t *p);
280 int sum_cpuints(cpuints_t *p);
281 int dot_copy_vectors(vector_t u, vector_t v);
283cpp_quote("#ifndef SKIP_TYPE_DECLS")
284 typedef struct wire_us *wire_us_t;
285 typedef [wire_marshal(wire_us_t)] struct us us_t;
300 int square_test_us(test_us_t *tus);
302cpp_quote("#ifndef SKIP_TYPE_DECLS")
303 typedef union encu switch (int t)
306 case ENCU_F: float f;
309 typedef [switch_type(int)] union unencu
311 [case (ENCU_I)] int i;
312 [case (ENCU_F)] float f;
323 typedef union encue switch (e_t t)
335 double square_encu(encu_t *eu);
336 double square_unencu(int t, [switch_is(t)] unencu_t *eu);
337 int sum_parr(int *a[3]);
338 int sum_pcarr([size_is(n)] int *a[], int n);
340 double square_encue(encue_t *eue);
341 void check_se2(se_t *s);
343 int sum_toplev_conf_2n([size_is(n * 2)] int *x, int n);
344 int sum_toplev_conf_cond([size_is(c ? a : b)] int *x, int a, int b, int c);
346cpp_quote("#ifndef SKIP_TYPE_DECLS")
356 double sum_aligns(aligns_t *a);
358cpp_quote("#ifndef SKIP_TYPE_DECLS")
366 int sum_padded(padded_t *p);
367 int sum_padded2(padded_t ps[2]);
368 int sum_padded_conf([size_is(n)] padded_t *ps, int n);
370cpp_quote("#ifndef SKIP_TYPE_DECLS")
385 int sum_bogus(bogus_t *b);
386 void check_null([unique] int *null);
388cpp_quote("#ifndef SKIP_TYPE_DECLS")
400 int str_struct_len(str_struct_t *s);
401 int wstr_struct_len(wstr_struct_t *s);
403cpp_quote("#ifndef SKIP_TYPE_DECLS")
407 [size_is(n)] byte a[];
413 [size_is(n)] doub_carr_1_t *a[];
417 int sum_doub_carr(doub_carr_t *dc);
418 void make_pyramid_doub_carr(unsigned char n, [out] doub_carr_t **dc);
420cpp_quote("#ifndef SKIP_TYPE_DECLS")
424 [size_is(n)] short data[];
427 typedef [unique] user_bstr_t *wire_bstr_t;
428 typedef [wire_marshal(wire_bstr_t)] short *bstr_t;
430 unsigned hash_bstr(bstr_t s);
431 void get_a_bstr([out]bstr_t *s);
432cpp_quote("#ifndef SKIP_TYPE_DECLS")
435 [string, size_is(size)] char *name;
439 void get_name([in,out] name_t *name);
441cpp_quote("#ifndef SKIP_TYPE_DECLS")
442 typedef char **str_array_t;
443 typedef WCHAR **wstr_array_t;
445 void get_names([out] int *n, [out, string, size_is(,*n)] str_array_t *names);
446 void get_namesw([out] int *n, [out, string, size_is(,*n)] wstr_array_t *names);
448 int sum_pcarr2(int n, [size_is(, n)] int **pa);
449 int sum_L1_norms(int n, [size_is(n)] vector_t *vs);
451cpp_quote("#ifndef SKIP_TYPE_DECLS")
452 /* Don't use this except in the get_s123 test. */
461 /* Make sure WIDL generates a type format string for a previously unseen
462 type as a return value. */
463 s123_t *get_s123(void);
465cpp_quote("#ifndef SKIP_TYPE_DECLS")
470 [size_is(size), length_is(length)] pints_t numbers[];
474 void get_numbers([in] int length, [in] int size, [out, length_is(length), size_is(size)] pints_t pn[]);
475 void get_numbers_struct([out] numbers_struct_t **ns);
477 str_t get_filename(void);
479cpp_quote("#ifndef SKIP_TYPE_DECLS")
487 const int RE_MIN = RE0;
488 const int RE_MAX = RE3;
489 typedef [range(RE_MIN, RE_MAX)] enum renum renum_t;
490 typedef [range(0, 100)] int rint_t;
492 rint_t echo_ranged_int([range(0, 10)] int i, [range(0, 20)] int j, [range(0, 100)] int k);
493 rint_t echo_ranged_int2([range(0, 40)] int i);
494 void get_ranged_enum([out] renum_t *re);
496 void context_handle_test(void);
498 void full_pointer_test([in, ptr] int *a, [in, ptr] int *b);
499 void full_pointer_null_test([in, ptr] int *a, [in, ptr] int *b);
501 void authinfo_test(unsigned int protseq, int secure);
504 void stop_autolisten(void);
506cpp_quote("#ifndef SKIP_TYPE_DECLS")
507 typedef union ipu switch(int t)
509 default: IStream *stream;
513 void ip_test([in] ipu_t *a);
515 int sum_ptr_array([in] int *a[2]);
516 int sum_array_ptr([in] int (*a)[2]);
518cpp_quote("#ifndef SKIP_TYPE_DECLS")
519 typedef [context_handle] void *ctx_handle_t;
522 ctx_handle_t get_handle();
523 void get_handle_by_ptr([out] ctx_handle_t *r);
524 void test_handle(ctx_handle_t ctx_handle);
526 void test_I_RpcBindingInqLocalClientPID([in] unsigned int protseq, [in] handle_t binding);
implicit_handle(handle_t browser_hBinding)] interface browser
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
struct tag_vector vector_t
int fnprintf(const char *format,...)