30#define SKIP_TYPE_DECLS
31#include "server_interp_s.h"
40#define PIPE "\\pipe\\wine_rpcrt4_test"
79static int (
__cdecl *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);
80static int (
__cdecl *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);
81static int (
__cdecl *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);
82static int (
__cdecl *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);
83static int (
__cdecl *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);
94static int (
__cdecl *pints_sum)(pints_t *pints);
96static int (
__cdecl *dot_pvectors)(pvectors_t *pvectors);
100static int (
__cdecl *sum_fixed_int_3d)(
int m[2][3][4]);
103static int (
__cdecl *sum_unique_conf_array)(
int x[],
int n);
104static int (
__cdecl *sum_unique_conf_ptr)(
int *
x,
int n);
129static int (
__cdecl *square_test_us)(test_us_t *tus);
132static int (
__cdecl *sum_padded2)(padded_t ps[2]);
133static int (
__cdecl *sum_padded_conf)(padded_t *ps,
int n);
136static int (
__cdecl *str_struct_len)(str_struct_t *
s);
137static int (
__cdecl *wstr_struct_len)(wstr_struct_t *
s);
149static void (
__cdecl *get_numbers_struct)(numbers_struct_t **
ns);
153static void (
__cdecl *get_ranged_enum)(renum_t *re);
156static void (
__cdecl *full_pointer_null_test)(
int *
a,
int *
b);
168#define SERVER_FUNCTIONS \
187 X(sum_ififififififif) \
188 X(sum_ididididididid) \
189 X(sum_idfdifdfifdfidifdidf) \
190 X(sum_ididididididididididid) \
191 X(sum_iidiidiidiidiidiidiidiidiidiidiid) \
200 X(square_half_float) \
201 X(square_half_long) \
208 X(test_list_length) \
209 X(sum_fixed_int_3d) \
211 X(sum_conf_ptr_by_conf_ptr) \
212 X(sum_unique_conf_array) \
213 X(sum_unique_conf_ptr) \
216 X(get_number_array) \
221 X(sum_complex_array) \
228 X(dot_copy_vectors) \
236 X(sum_toplev_conf_2n) \
237 X(sum_toplev_conf_cond) \
248 X(make_pyramid_doub_carr) \
258 X(get_numbers_struct) \
261 X(echo_ranged_int2) \
263 X(context_handle_test) \
264 X(full_pointer_test) \
265 X(full_pointer_null_test) \
273 X(get_handle_by_ptr) \
275 X(test_I_RpcBindingInqLocalClientPID)
282#define X(name) name = interp_##name;
289#define X(name) name = mixed_##name;
298 pNDRSContextMarshall2 = (
void *)
GetProcAddress(hrpcrt4,
"NDRSContextMarshall2");
299 pNDRSContextUnmarshall2 = (
void *)
GetProcAddress(hrpcrt4,
"NDRSContextUnmarshall2");
300 pRpcServerRegisterIfEx = (
void *)
GetProcAddress(hrpcrt4,
"RpcServerRegisterIfEx");
301 pRpcBindingSetAuthInfoExA = (
void *)
GetProcAddress(hrpcrt4,
"RpcBindingSetAuthInfoExA");
302 pRpcServerRegisterAuthInfoA = (
void *)
GetProcAddress(hrpcrt4,
"RpcServerRegisterAuthInfoA");
371 return a * (
x.a +
x.b +
x.c +
x.d +
x.e +
y.a +
y.b +
y.c +
y.d +
y.e);
376 return a * (
x.i +
x.j +
y.i +
y.j);
381 return a * (
x.i +
x.f +
y.i +
y.f);
386 return a * (
x.i +
x.d +
y.i +
y.d);
409int __cdecl s_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)
414int __cdecl s_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)
419int __cdecl s_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)
424int __cdecl s_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)
429int __cdecl s_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)
462 while (0 <
n-- && *
s++)
492 return a[0] +
a[1] +
a[2] +
a[3] +
a[4];
497 return *pints->pi + **pints->ppi + ***pints->pppi;
502 return *
pt->pc + *
pt->ps + *
pt->pl + *
pt->pf + *
pt->pd;
507 return p->pu->x * (*
p->pv)->
x +
p->pu->y * (*
p->pv)->y +
p->pu->z * (*
p->pv)->
z;
512 return sp->x +
sp->s->x;
519 case SUN_I:
return su->u.i * su->u.i;
521 case SUN_F2:
return su->u.f * su->u.f;
522 case SUN_PI:
return (*su->u.pi) * (*su->u.pi);
540 for (
i = 0;
i < 2; ++
i)
541 for (
j = 0;
j < 3; ++
j)
542 for (
k = 0;
k < 4; ++
k)
566 for(
i = 1;
i <
n1; ++
i)
587 ok(0 <=
n,
"RPC sum_var_array\n");
588 ok(
n <= 20,
"RPC sum_var_array\n");
615 for (
i = 0;
i <
data->blob.n;
i++)
638 int c[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
653 for (
i = 0;
i < *cps->pn; ++
i)
656 for (
i = 0;
i < 2 * cps->n; ++
i)
694 for (
i = 0;
i <
p->n; ++
i)
703 for (
i = 0;
i <
p->n; ++
i)
710 return u.x *
v.x +
u.y *
v.y +
u.z *
v.z;
715 int n =
atoi(tus->us.x);
723 case ENCU_I:
return eu->tagged_union.i *
eu->tagged_union.i;
724 case ENCU_F:
return eu->tagged_union.f *
eu->tagged_union.f;
743 ok(
s->f == E2,
"check_se2\n");
754 for (
i = 0;
i <
n; ++
i)
776 case E1:
return eue->tagged_union.i1 * eue->tagged_union.i1;
777 case E2:
return eue->tagged_union.f2 * eue->tagged_union.f2;
787 for (
i = 0;
i < 2 *
n; ++
i)
797 for (
i = 0;
i <
n; ++
i)
804 return a->c +
a->i +
a->s +
a->d;
821 for (
i = 0;
i <
n; ++
i)
828 return *
b->h.p1 + *
b->p2 + *
b->p3 +
b->c;
833 ok(!
null,
"RPC check_null\n");
850 for (
i = 0;
i <
dc->n; ++
i)
851 for (
j = 0;
j <
dc->a[
i]->n; ++
j)
862 for (
i = 0;
i <
n; ++
i)
867 for (
j = 0;
j <
v; ++
j)
868 t->a[
i]->a[
j] =
j + 1;
879 for (
i = 0;
i <
n; ++
i)
887 short str[] = {5,
'W',
'i',
'n',
'e', 0};
895 const char bossman[] =
"Jeremy White";
898 if (
name->size <
sizeof(bossman))
939 for (
i = 0;
i <
n; ++
i)
962 return min( 100,
i +
j +
k );
980 unsigned char buf[20];
984 {{0x00000000,0x4114,0x0704,{0x23,0x01,0x00,0x00,0x00,0x00,0x00,0x00}},{1,0}},
985 {{0x8a885d04,0x1ceb,0x11c9,{0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60}},{2,0}},
995 ok(
binding !=
NULL,
"I_RpcGetCurrentCallHandle returned NULL\n");
997 if (!pNDRSContextMarshall2 || !pNDRSContextUnmarshall2)
999 win_skip(
"NDRSContextMarshall2 or NDRSContextUnmarshall2 not exported from rpcrt4.dll\n");
1004 ok(
h !=
NULL,
"NDRSContextUnmarshall2 returned NULL\n");
1009 ok(*(
ULONG *)
buf == 0,
"attributes should have been set to 0 instead of 0x%lx\n", *(
ULONG *)
buf);
1013 ok(
h !=
NULL,
"NDRSContextUnmarshall2 returned NULL\n");
1017 h->userContext = (
void *)0xdeadbeef;
1019 ok(*(
ULONG *)
buf == 0,
"attributes should have been set to 0 instead of 0x%lx\n", *(
ULONG *)
buf);
1026 ok(
h !=
NULL,
"NDRSContextUnmarshall2 returned NULL\n");
1027 ok(
h->userContext == (
void *)0xdeadbeef,
"userContext of interface didn't unmarshal properly: %p\n",
h->userContext);
1031 ok(
h !=
NULL,
"NDRSContextUnmarshall2 returned NULL\n");
1034 h->userContext = (
void *)0xcafebabe;
1036 ok(*(
ULONG *)
buf == 0,
"attributes should have been set to 0 instead of 0x%lx\n", *(
ULONG *)
buf);
1040 ok(
h !=
NULL,
"NDRSContextUnmarshall2 returned NULL\n");
1041 ok(
h->userContext == (
void *)0xcafebabe,
"userContext of interface didn't unmarshal properly: %p\n",
h->userContext);
1060 {{0x00000000,0x4114,0x0704,{0x23,0x01,0x00,0x00,0x00,0x00,0x00,0x00}},{1,0}},
1061 {{0x8a885d04,0x1ceb,0x11c9,{0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60}},{2,0}},
1082 unsigned char* string_binding =
NULL;
1083 unsigned char* object_uuid =
NULL;
1084 unsigned char* protseq =
NULL;
1085 unsigned char* network_address =
NULL;
1087 unsigned char* network_options =
NULL;
1091 ok(string_binding !=
NULL,
"string_binding is NULL\n");
1095 ok(protseq !=
NULL && *protseq !=
'\0',
"protseq is %s\n", protseq);
1096 ok(network_address !=
NULL && *network_address !=
'\0',
"network_address is %s\n", network_address);
1100 ok(object_uuid !=
NULL && *object_uuid ==
'\0',
"object_uuid is %s\n", object_uuid);
1102 ok(network_options !=
NULL && *network_options ==
'\0',
"network_options is %s\n", network_options);
1134 for (
i = 0;
i < (*ns)->length;
i++)
1136 (*ns)->numbers[
i].pi =
NULL;
1137 (*ns)->numbers[
i].ppi =
NULL;
1138 (*ns)->numbers[
i].pppi =
NULL;
1141 *(*ns)->numbers[0].pi = 5;
1146 ok(*
a == 42,
"Expected *a to be 42 instead of %d\n", *
a);
1147 ok(*
b == 42,
"Expected *b to be 42 instead of %d\n", *
a);
1148 ok(
a ==
b,
"Expected a (%p) to point to the same memory as b (%p)\n",
a,
b);
1153 ok(*
a == 42,
"Expected *a to be 42 instead of %d\n", *
a);
1154 ok(
b ==
NULL,
"Expected b to be NULL instead of %p\n",
b);
1186 hr = IStream_Stat(
a->tagged_union.stream, &st, STATFLAG_NONAME);
1192 return *
a[0] + *
a[1];
1197 return (*
a)[0] + (*a)[1];
1212 ok(ctx_handle == (
ctx_handle_t)0xdeadbeef,
"Unexpected ctx_handle %p\n", ctx_handle);
1316 ok(ctx_handle == (
ctx_handle_t)0xdeadbeef,
"Unexpected ctx_handle %p\n", ctx_handle);
1336 ok(
CreateProcessA(
NULL,
cmdline,
NULL,
NULL,
FALSE, 0
L,
NULL,
NULL, &
startup, &
client_info),
"CreateProcess\n");
1345 char string[] =
"I am a string";
1347 int f[5] = {1, 3, 0, -2, -4};
1349 vector_t vec1 = {4, -2, 1}, vec2 = {-5, 2, 3}, *pvec2 = &vec2;
1350 pvectors_t pvecs = {&vec1, &pvec2};
1351 sp_inner_t spi = {42};
1352 sp_t
sp = {-13, &spi};
1357 padded_t padded2[2];
1359 int i1, i2, i3, *pi2, *pi3, **ppi3;
1367 str_struct_t
ss = {
string};
1372 chars_t cs1 = { 2, 4, 6, 8, 10 }, cs2 = { -1, -2, -3, -4, -5 };
1373 ints_t is1 = { 2, 4 }, is2 = { 5, 8 };
1374 flts_t fs1 = { 3, 5.5 }, fs2 = { 8, 2.3 };
1375 dbls_t ds1 = { 9, -2.5 }, ds2 = { 2, -4.2 };
1377 ok(int_return() ==
INT_CODE,
"RPC int_return\n");
1379 ok(square(7) == 49,
"RPC square\n");
1381 ok(
x == 19,
"RPC sum got %d\n",
x);
1382 c = sum_char(-23, 50);
1383 ok(
c == 27,
"RPC sum_char got %d\n", (
int)
c);
1384 h = sum_short(1122, -344);
1385 ok(
h == 778,
"RPC sum_short got %d\n", (
int)
h);
1386 x = sum_float(123.45, -32.2);
1387 ok(
x == 91,
"RPC sum_float got %d\n",
x);
1388 x = sum_double_int(-78, 148.46);
1389 ok(
x == 70,
"RPC sum_double_int got %d\n",
x);
1390 y = sum_hyper((
hyper)0x12345678 << 16, (
hyper)0x33557799 << 16);
1392 x = sum_hyper_int((
hyper)0x24242424 << 16, -((
hyper)0x24241212 << 16));
1393 ok(
x == 0x12120000,
"RPC hyper_int got 0x%x\n",
x);
1394 x = sum_char_hyper( 12, ((
hyper)0x42424242 << 32) | 0x33334444 );
1395 ok(
x == 0x33334450,
"RPC char_hyper got 0x%x\n",
x);
1396 x = sum_chars( 4, cs1, cs2 );
1397 ok(
x == 60,
"got %d\n",
x);
1398 x = sum_ints( 2, is1, is2 );
1399 ok(
x == 38,
"got %d\n",
x);
1400 x = sum_flts( 3, fs1, fs2 );
1401 ok(
x == 56,
"got %d\n",
x);
1402 x = sum_dbls( 7, ds1, ds2 );
1403 ok(
x == 30,
"got %d\n",
x);
1404 x = sum_iiff( 12, 23, 3.4, 4.7 );
1405 ok(
x == 43,
"got %d\n",
x);
1406 x = sum_ifif( 12, 11.2, 23, 34.5 );
1407 ok(
x == 80,
"got %d\n",
x);
1408 x = sum_iidd( 6, 5, 4.3, 2.1 );
1409 ok(
x == 17,
"got %d\n",
x);
1410 x = sum_idid( 55, 44.55, 33, 22.44 );
1411 ok(
x == 154,
"got %d\n",
x);
1412 x = sum_ififififififif( 1, 2.1, 3, 4.2, 5, 6.3, 7, 8.4, 9, 10.5, 11, 12.2, 13, 14.9 );
1413 ok(
x == 107,
"got %d\n",
x);
1414 x = sum_ididididididid( -1, -2.1, -3, -4, -5, -6.7, -8, -9.1, -11, -12.3, -13, -14.2, -15, -16.3 );
1415 ok(
x == -120,
"got %d\n",
x);
1416 x = sum_idfdifdfifdfidifdidf( 2, 1.2, 2.1, 2.3, 4, 3.2, 4.5, 5.5, -3, -2.2, -4.4, -5.5, 6, 6.4, -3, 8.1, 9.2, 7, -10.3, 12.4 );
1417 ok(
x == 45,
"got %d\n",
x);
1418 x = sum_ididididididididididid( 2, 3, 4, 5, 6, 7, 8, 9, -1, -2, -3, -4, -5, -6, -7, -8, -9, 5 );
1419 ok(
x == 4,
"got %d\n",
x);
1420 x = sum_iidiidiidiidiidiidiidiidiidiidiid( 11, 22, 33.1, 44, 55, 66.1, 77, 88, 99.1, 111, 222, 333.1, 444,
1421 555, 666.1, 777, 888, 999.1, 1, 2, 3.1, 4, 5, 6.1, 7, 8, 9.1 );
1422 ok(
x == 5535,
"got %d\n",
x);
1423 x = sum_iyiy( 1, 1234567890, 2, -1234567800 );
1424 ok(
x == 93,
"got %d\n",
x);
1428 ok(
x == 121,
"RPC square_out\n");
1432 ok(
x == 25,
"RPC square_ref\n");
1434 ok(str_length(
string) ==
strlen(
string),
"RPC str_length\n");
1435 ok(str_t_length(
string) ==
strlen(
string),
"RPC str_length\n");
1436 ok(dot_self(&
a) == 59,
"RPC dot_self\n");
1438 ok(str_struct_len(&
ss) ==
lstrlenA(
string),
"RPC str_struct_len\n");
1442 u = square_half(3.0, &
v);
1443 ok(
u == 9.0,
"RPC square_half\n");
1444 ok(
v == 1.5,
"RPC square_half\n");
1447 s = square_half_float(3.0f, &
t);
1448 ok(
s == 9.0f,
"RPC square_half_float\n");
1449 ok(
t == 1.5f,
"RPC square_half_float\n");
1452 q = square_half_long(3, &
r);
1453 ok(
q == 9,
"RPC square_half_long\n");
1454 ok(
r == 1,
"RPC square_half_long\n");
1465 ok(pints_sum(&pints) == -13,
"RPC pints_sum\n");
1477 ok(ptypes_sum(&ptypes) == 33.0,
"RPC ptypes_sum\n");
1479 ok(dot_pvectors(&pvecs) == -21,
"RPC dot_pvectors\n");
1480 ok(dot_copy_vectors(vec1, vec2) == -21,
"RPC dot_copy_vectors\n");
1481 ok(sum_fixed_array(
f) == -2,
"RPC sum_fixed_array\n");
1482 ok(sum_sp(&
sp) == 29,
"RPC sum_sp\n");
1484 ok(enum_ord(E1) == 1,
"RPC enum_ord\n");
1485 ok(enum_ord(E2) == 2,
"RPC enum_ord\n");
1486 ok(enum_ord(E3) == 3,
"RPC enum_ord\n");
1487 ok(enum_ord(E4) == 4,
"RPC enum_ord\n");
1492 memset(&aligns, 0,
sizeof(aligns));
1497 ok(sum_aligns(&aligns) == 18.0,
"RPC sum_aligns\n");
1501 ok(sum_padded(&padded) == 5,
"RPC sum_padded\n");
1506 ok(sum_padded2(padded2) == 6,
"RPC sum_padded2\n");
1511 ok(sum_padded_conf(padded2, 2) == 6,
"RPC sum_padded_conf\n");
1520 ok(sum_bogus(&bogus) == 12,
"RPC sum_bogus\n");
1525 ok(!
strcmp(
str, __FILE__),
"get_filename() returned %s instead of %s\n",
str, __FILE__);
1528 x = echo_ranged_int(0,0,0);
1529 ok(
x == 0,
"echo_ranged_int() returned %d instead of 0\n",
x);
1530 x = echo_ranged_int(10,20,100);
1531 ok(
x == 100,
"echo_ranged_int() returned %d instead of 100\n",
x);
1532 x = echo_ranged_int2(40);
1533 ok(
x == 40,
"echo_ranged_int() returned %d instead of 40\n",
x);
1538 get_ranged_enum(&re);
1541 "get_ranged_enum() returned %x instead of RE3\n", re);
1558 ok(square_sun(&su) == 81.0,
"RPC square_sun\n");
1562 ok(square_sun(&su) == 25.0,
"RPC square_sun\n");
1566 ok(square_sun(&su) == 4.0,
"RPC square_sun\n");
1571 ok(square_sun(&su) == 121.0,
"RPC square_sun\n");
1574 eu.tagged_union.i = 7;
1575 ok(square_encu(&
eu) == 49.0,
"RPC square_encu\n");
1578 eu.tagged_union.f = 3.0;
1579 ok(square_encu(&
eu) == 9.0,
"RPC square_encu\n");
1582 ok(square_unencu(
ENCU_I, &uneu) == 16.0,
"RPC square_unencu\n");
1585 ok(square_unencu(
ENCU_F, &uneu) == 25.0,
"RPC square_unencu\n");
1588 eue.tagged_union.i1 = 8;
1589 ok(square_encue(&eue) == 64.0,
"RPC square_encue\n");
1592 eue.tagged_union.f2 = 10.0;
1593 ok(square_encue(&eue) == 100.0,
"RPC square_encue\n");
1599 ref = IStream_Release(ipu.tagged_union.stream);
1608 test_list_t *
n =
malloc(
sizeof *
n);
1617 test_list_t *
n =
malloc(
sizeof *
n);
1664 return start +
sizeof(
struct wire_us);
1671 wus.x =
atoi(pus->x);
1673 return buffer +
sizeof wus;
1683 return buffer +
sizeof wus;
1701 wire_bstr_t wb = (wire_bstr_t)
buffer;
1703 memcpy(&wb->data, *
b, wb->n *
sizeof wb->data[0]);
1710 wire_bstr_t wb = (wire_bstr_t)
buffer;
1727 int a[] = {1, 2, 3, 4};
1730 test_us_t tus = {{p1}};
1734 short bstr_data[] = { 5,
'H',
'e',
'l',
'l',
'o' };
1735 bstr_t bstr = &bstr_data[1], bstr2;
1742 ok(test_list_length(
list) == 3,
"RPC test_list_length\n");
1743 ok(square_puint(p1) == 121,
"RPC square_puint\n");
1745 pus.ps =
malloc(pus.n *
sizeof pus.ps[0]);
1750 ok(sum_puints(&pus) == 26,
"RPC sum_puints\n");
1757 cpus.ps =
malloc(cpus.n *
sizeof cpus.ps[0]);
1758 cpus.ps[0] =
strdup(
"5");
1759 cpus.ps[1] =
strdup(
"6");
1760 cpus.ps[2] =
strdup(
"7");
1761 cpus.ps[3] =
strdup(
"8");
1762 ok(sum_cpuints(&cpus) == 26,
"RPC sum_puints\n");
1768 ok(square_test_us(&tus) == 121,
"RPC square_test_us\n");
1773 ok(sum_parr(
pa) == 6,
"RPC sum_parr\n");
1779 ok(sum_pcarr(
pa, 4) == 10,
"RPC sum_pcarr\n");
1781 ok(hash_bstr(bstr) ==
s_hash_bstr(bstr),
"RPC hash_bstr_data\n");
1795 wstr_array_t namesw;
1801 ok(!
strcmp(
name.
name,
"Jeremy Wh"),
"name didn't unmarshall properly, expected \"Jeremy Wh\", but got \"%s\"\n",
name.
name);
1807 ok(
n == 2,
"expected 2, got %d\n",
n);
1818 get_namesw(&
n, &namesw);
1819 ok(
n == 2,
"expected 2, got %d\n",
n);
1831 ok(sum_pcarr2(4, &pa2) == 10,
"RPC sum_pcarr2\n");
1834 ok(s123->f1 == 1 && s123->f2 == 2 && s123->f3 == 3,
"RPC get_s123\n");
1837 full_pointer_test(&
val, &
val);
1838 full_pointer_null_test(&
val,
NULL);
1845 for (
i = 0;
i <
dc->n; ++
i)
1846 for (
j = 0;
j <
dc->a[
i]->n; ++
j)
1847 if (
dc->a[
i]->a[
j] !=
j + 1)
1856 for (
i = 0;
i <
dc->n; ++
i)
1866 {{1, 2, 3, 4}, {-1, -3, -5, -7}, {0, 2, 4, 6}},
1867 {{1, -2, 3, -4}, {2, 3, 5, 7}, {-4, -1, -14, 4114}}
1869 int c[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
1870 int c2[] = {10, 100, 200};
1880 int ca[5] = {1, -2, 3, -4, 5};
1885 numbers_struct_t *
ns;
1887 int i0 = 1, i1 = 2, *ptr_array[2] = {&i0, &i1},
array[2] = {3, 4};
1891 const char str1[25] =
"Hello";
1892 ok(cstr_length(str1,
sizeof str1) ==
strlen(str1),
"RPC cstr_length\n");
1895 ok(sum_fixed_int_3d(
m) == 4116,
"RPC sum_fixed_int_3d\n");
1897 ok(sum_conf_array(
c, 10) == 45,
"RPC sum_conf_array\n");
1898 ok(sum_conf_array(&
c[5], 2) == 11,
"RPC sum_conf_array\n");
1899 ok(sum_conf_array(&
c[7], 1) == 7,
"RPC sum_conf_array\n");
1900 ok(sum_conf_array(&
c[2], 0) == 0,
"RPC sum_conf_array\n");
1902 ok(sum_conf_ptr_by_conf_ptr(1, c2,
c) == 45,
"RPC sum_conf_ptr_by_conf_ptr\n");
1903 ok(sum_conf_ptr_by_conf_ptr(3, c2,
c) == 345,
"RPC sum_conf_ptr_by_conf_ptr\n");
1905 ok(sum_conf_ptr_by_conf_ptr(3, c2,
c) == 300,
"RPC sum_conf_ptr_by_conf_ptr\n");
1907 ok(sum_unique_conf_array(
ca, 4) == -2,
"RPC sum_unique_conf_array\n");
1908 ok(sum_unique_conf_ptr(
ca, 5) == 3,
"RPC sum_unique_conf_array\n");
1909 ok(sum_unique_conf_ptr(
NULL, 10) == 0,
"RPC sum_unique_conf_array\n");
1911 get_number_array(c3, &
n);
1912 ok(
n == 10,
"RPC get_num_array\n");
1914 ok(c3[
n-1] ==
c[
n-1],
"get_num_array returned wrong value %d @ %d\n",
1916 ok(sum_var_array(
c, 10) == 45,
"RPC sum_conf_array\n");
1917 ok(sum_var_array(&
c[5], 2) == 11,
"RPC sum_conf_array\n");
1918 ok(sum_var_array(&
c[7], 1) == 7,
"RPC sum_conf_array\n");
1919 ok(sum_var_array(&
c[2], 0) == 0,
"RPC sum_conf_array\n");
1921 ok(dot_two_vectors(
vs) == -4,
"RPC dot_two_vectors\n");
1929 ok(sum_cs(
cs) == 1,
"RPC sum_cs\n");
1937 ok(sum_cps(&cps) == 53,
"RPC sum_cps\n");
1943 ok(sum_cpsc(&
cpsc) == 6,
"RPC sum_cpsc\n");
1948 ok(sum_cpsc(&
cpsc) == 10,
"RPC sum_cpsc\n");
1951 ok(get_cpsc(5, &
cpsc) == 45,
"RPC sum_cpsc\n");
1952 ok(
cpsc.a == 10,
"RPC get_cpsc %u\n",
cpsc.a );
1953 for (
n = 0;
n < 10;
n++)
ok(
cpsc.ca[
n] ==
n,
"RPC get_cpsc[%d] = %d\n",
n,
cpsc.ca[
n] );
1955 memset( tmp, 0x33,
sizeof(tmp) );
1957 ok(get_cpsc(4, &
cpsc) == 28,
"RPC sum_cpsc\n");
1958 ok(
cpsc.a == 8,
"RPC get_cpsc %u\n",
cpsc.a );
1959 ok(
cpsc.ca == tmp,
"RPC get_cpsc %p/%p\n",
cpsc.ca, tmp );
1960 for (
n = 0;
n < 8;
n++)
ok(
cpsc.ca[
n] ==
n,
"RPC get_cpsc[%d] = %d\n",
n,
cpsc.ca[
n] );
1962 ok(sum_toplev_conf_2n(
c, 3) == 15,
"RPC sum_toplev_conf_2n\n");
1963 ok(sum_toplev_conf_cond(
c, 5, 6, 1) == 10,
"RPC sum_toplev_conf_cond\n");
1964 ok(sum_toplev_conf_cond(
c, 5, 6, 0) == 15,
"RPC sum_toplev_conf_cond\n");
1968 dc->a[0] =
malloc(
sizeof(doub_carr_1_t) + 3);
1973 dc->a[1] =
malloc(
sizeof(doub_carr_1_t) + 2);
1977 ok(sum_doub_carr(
dc) == 19,
"RPC sum_doub_carr\n");
1983 make_pyramid_doub_carr(4, &
dc);
1987 ok(sum_L1_norms(2,
vs) == 21,
"RPC sum_L1_norms\n");
1993 get_numbers(1, 1,
api);
1994 ok(
api[0].
pi ==
pi,
"RPC conformant varying array [out] pointer changed from %p to %p\n",
pi,
api[0].
pi);
1995 ok(*
api[0].
pi == 0,
"pi unmarshalled incorrectly %d\n", *
api[0].
pi);
2002 ns->numbers[0].pi =
pi;
2003 get_numbers_struct(&
ns);
2004 ok(
ns->numbers[0].pi ==
pi,
"RPC conformant varying struct embedded pointer changed from %p to %p\n",
pi,
ns->numbers[0].pi);
2005 ok(*
ns->numbers[0].pi == 5,
"pi unmarshalled incorrectly %d\n", *
ns->numbers[0].pi);
2011 pi[0] = 3; rpi[0] = &
pi[0];
2012 pi[1] = 5; rpi[1] = &
pi[1];
2013 pi[2] = -2; rpi[2] = &
pi[2];
2014 pi[3] = -1; rpi[3] = &
pi[3];
2015 pi[4] = -4; rpi[4] = &
pi[4];
2016 ok(sum_complex_array(5, rpi) == 1,
"RPC sum_complex_array\n");
2019 ok(sum_ptr_array(ptr_array) == 3,
"RPC sum_ptr_array\n");
2020 ok(sum_array_ptr(&
array) == 7,
"RPC sum_array_ptr\n");
2024 n = sum_blob(&
blob);
2025 ok(
n == 45,
"RPC sum_blob = %d\n",
n);
2029 n = sum_data(&
data);
2030 ok(
n == 45,
"RPC sum_data = %d\n",
n);
2035 ok(
n == 45,
"RPC sum_container = %d\n",
n);
2044 unsigned char *principal;
2047 ok(
binding !=
NULL,
"I_RpcGetCurrentCallHandle returned NULL\n");
2049 level = authnsvc = 0xdeadbeef;
2051 principal = (
unsigned char *)0xdeadbeef;
2058 win_skip(
"RpcBindingInqAuthClientA not supported\n");
2063 ok(principal != (
unsigned char *)0xdeadbeef,
"principal unchanged\n");
2067 ok(principal !=
NULL,
"NULL principal\n");
2104 ok(principal == (
unsigned char *)0xdeadbeef,
"got %s\n", principal);
2106 ok(authnsvc == 0xdeadbeef,
"got %lu\n", authnsvc);
2116 get_handle_by_ptr(&handle2);
2117 test_handle(handle2);
2127 context_handle_test();
2147#define test_is_server_listening(a,b) _test_is_server_listening(__LINE__,a,b)
2152 ok_(__FILE__,
line)(
status == expected_status,
"RpcMgmtIsServerListening returned %lu, expected %lu\n",
2153 status, expected_status);
2156#define test_is_server_listening2(a,b,c) _test_is_server_listening2(__LINE__,a,b,c)
2163 "RpcMgmtIsServerListening returned %lu, expected %lu or %lu\n",
2164 status, expected_status, expected_status2);
2170 static unsigned char iptcp[] =
"ncacn_ip_tcp";
2171 static unsigned char np[] =
"ncacn_np";
2172 static unsigned char ncalrpc[] =
"ncalrpc";
2173 static unsigned char address[] =
"127.0.0.1";
2174 static unsigned char address_np[] =
"\\\\.";
2175 static unsigned char port[] =
PORT;
2176 static unsigned char pipe[] =
PIPE;
2177 static unsigned char guid[] =
"00000000-4114-0704-2301-000000000000";
2178 static unsigned char explicit_handle_guid[] =
"00000000-4114-0704-2301-000000000002";
2189 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_TCP, IMixedServer_IfHandle);
2202 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_TCP, IMixedServer_IfHandle);
2215 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_LRPC, IMixedServer_IfHandle);
2221 else if (
strcmp(
test,
"ncalrpc_autolisten") == 0)
2228 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_LRPC, IMixedServer_IfHandle);
2233 ok(int_return() ==
INT_CODE,
"RPC int_return\n");
2238 else if (
strcmp(
test,
"ncalrpc_secure") == 0)
2245 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_LRPC, IMixedServer_IfHandle);
2259 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_NMP, IMixedServer_IfHandle);
2267 else if (
strcmp(
test,
"np_basic_interp") == 0)
2277 test_I_RpcBindingInqLocalClientPID(
RPC_PROTSEQ_NMP, IInterpServer_IfHandle);
2283 else if (
strcmp(
test,
"explicit_handle") == 0)
2285 IMixedServer_IfHandle =
NULL;
2291 ok(add(IMixedServer_IfHandle, 2, 3) == 5,
"RPC add\n");
2292 ok(getNum(7, IMixedServer_IfHandle) == 9,
"RPC getNum\n");
2303 static unsigned char iptcp[] =
"ncacn_ip_tcp";
2304 static unsigned char port[] =
PORT;
2305 static unsigned char np[] =
"ncacn_np";
2306 static unsigned char pipe[] =
PIPE;
2307 static unsigned char ncalrpc[] =
"ncalrpc";
2308 static unsigned char guid[] =
"00000000-4114-0704-2301-000000000000";
2309 static unsigned char explicit_handle_guid[] =
"00000000-4114-0704-2301-000000000002";
2317 ok(iptcp_status ==
RPC_S_OK,
"RpcServerUseProtseqEp(ncacn_ip_tcp) failed with status %ld\n", iptcp_status);
2320 ok(ncalrpc_status ==
RPC_S_OK,
"RpcServerUseProtseqEp(ncalrpc) failed with status %ld\n", ncalrpc_status);
2324 skip(
"Protocol sequence ncacn_np is not supported\n");
2326 ok(np_status ==
RPC_S_OK,
"RpcServerUseProtseqEp(ncacn_np) failed with status %ld\n", np_status);
2328 if (pRpcServerRegisterIfEx)
2330 trace(
"Using RpcServerRegisterIfEx\n");
2331 status = pRpcServerRegisterIfEx(s_IMixedServer_v0_0_s_ifspec,
NULL,
NULL,
2335 status = pRpcServerRegisterIfEx(s_IInterpServer_v0_0_s_ifspec,
NULL,
NULL,
2357 skip(
"tcp tests skipped due to earlier failure\n");
2367 skip(
"lrpc tests skipped due to earlier failure\n");
2376 skip(
"np_basic tests skipped due to earlier failure\n");
2395 if (pRpcServerRegisterIfEx)
2397 status = pRpcServerRegisterIfEx(s_IMixedServer_v0_0_s_ifspec,
NULL,
NULL,
2414 skip(
"Protocol sequence ncacn_np is not supported\n");
2416 ok(ncalrpc_status ==
RPC_S_OK,
"RpcServerUseProtseqEp(ncacn_np) failed with status %ld\n", ncalrpc_status);
2418 if (pRpcServerRegisterIfEx)
2420 trace(
"Using RpcServerRegisterIfEx\n");
2421 status = pRpcServerRegisterIfEx(s_RPCExplicitHandle_v0_0_s_ifspec,
NULL,
NULL,
2444 if (pRpcServerRegisterIfEx)
2486 HANDLE client_thread, wait_listen_thread;
2500 ok(wait_listen_thread !=
NULL,
"CreateThread failed\n");
2503 ok(client_thread !=
NULL,
"CreateThread failed\n");
2531 static unsigned char np[] =
"ncacn_np";
2532 static unsigned char address_np[] =
"\\\\.";
2533 static unsigned char pipe[] =
PIPE "listen_test";
2534 static unsigned char ncalrpc[] =
"ncalrpc";
2535 static unsigned char guid[] =
"00000000-4114-0704-2302-000000000000";
2601 trace(
"running server process...\n");
2602 ok(
CreateProcessA(
NULL,
cmdline,
NULL,
NULL,
TRUE, 0
L,
NULL,
NULL, &
startup, &
info),
"CreateProcess\n");
2608 return info.hProcess;
2613 static unsigned char np[] =
"ncacn_np";
2614 static unsigned char pipe[] =
PIPE "term_test";
2652 static unsigned char np[] =
"ncacn_np";
2653 static unsigned char address_np[] =
"\\\\.";
2654 static unsigned char pipe[] =
PIPE "term_test";
2726 if (
hr !=
S_OK)
goto done;
2728 hr = INetFwMgr_get_LocalPolicy( mgr, &
policy );
2730 if (
hr !=
S_OK)
goto done;
2733 if (
hr !=
S_OK)
goto done;
2741 if (mgr) INetFwMgr_Release( mgr );
2743 return (
enabled == VARIANT_TRUE);
2772 if (
hr !=
S_OK)
goto done;
2774 hr = INetFwMgr_get_LocalPolicy( mgr, &
policy );
2776 if (
hr !=
S_OK)
goto done;
2779 if (
hr !=
S_OK)
goto done;
2781 hr = INetFwProfile_get_AuthorizedApplications(
profile, &apps );
2783 if (
hr !=
S_OK)
goto done;
2786 &IID_INetFwAuthorizedApplication, (
void **)&app );
2788 if (
hr !=
S_OK)
goto done;
2790 hr = INetFwAuthorizedApplication_put_ProcessImageFileName( app,
image );
2791 if (
hr !=
S_OK)
goto done;
2794 hr = INetFwAuthorizedApplication_put_Name( app,
name );
2797 if (
hr !=
S_OK)
goto done;
2800 hr = INetFwAuthorizedApplications_Add( apps, app );
2802 hr = INetFwAuthorizedApplications_Remove( apps,
image );
2807 if (app) INetFwAuthorizedApplication_Release( app );
2808 if (apps) INetFwAuthorizedApplications_Release( apps );
2811 if (mgr) INetFwMgr_Release( mgr );
2861 if (firewall_enabled)
2868 firewall_enabled =
FALSE;
2869 firewall_disabled =
TRUE;
2873 skip(
"can't authorize app in firewall %08lx\n",
hr);
2878 trace(
"no privileges, skipping tests to avoid firewall dialog\n");
2882 if (!firewall_enabled)
server();
2888 win_skip(
"Skipping reconnect tests on too old Windows version\n");
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
struct outqueuenode * tail
static void startup(void)
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
void ls(int argc, const char *argv[])
int get_name(unsigned char **pos, uint32_t *remaining, const char **out_name)
void __RPC_USER MIDL_user_free(void __RPC_FAR *ptr)
void __RPC_FAR *__RPC_USER MIDL_user_allocate(SIZE_T len)
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
#define GetProcAddress(x, y)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define GetCurrentProcess()
#define WideCharToMultiByte
static const WCHAR * get_filename(const WCHAR *name, const WCHAR *endptr)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble q
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLboolean GLboolean GLboolean b
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
int WINAPI lstrlenA(LPCSTR lpString)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl winetest_push_context(const char *fmt,...) __WINE_PRINTF_ATTR(1
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl void winetest_pop_context(void)
#define memcpy(s1, s2, n)
static HANDLE ULONG_PTR DWORD threads
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static void test_handle_return(void)
int __cdecl s_sum_unique_conf_ptr(int *x, int n)
int __cdecl s_sum_toplev_conf_2n(int *x, int n)
static float int float int float int x3
void __cdecl s_get_namesw(int *n, wstr_array_t *names)
int __cdecl s_sum_chars(int a, chars_t x, chars_t y)
int __cdecl s_sum_ifif(int x0, float y0, int x1, float y1)
static DWORD WINAPI basic_tests_thread(void *arg)
int __cdecl s_sum_iidd(int x0, int y0, double x1, double y1)
int __cdecl s_sum_var_array(int x[20], int n)
static float int float int float int float int x4
static const char * client_test_name
static void set_interp_interface(void)
void __RPC_USER bstr_t_UserFree(ULONG *flags, bstr_t *b)
int __cdecl s_sum_doub_carr(doub_carr_t *dc)
signed char __cdecl s_sum_char(signed char x, signed char y)
int __cdecl s_sum_dbls(int a, dbls_t x, dbls_t y)
static void test_server_listening(void)
void __cdecl s_get_ranged_enum(renum_t *re)
int __cdecl s_str_length(const char *s)
int __cdecl s_sum_hyper_int(hyper x, hyper y)
static int double int int double int int double int int double int int double int int double int int double int int double int int x17
void __cdecl s_Shutdown(handle_t binding)
void __cdecl s_stop_autolisten(void)
void __cdecl s_full_pointer_test(int *a, int *b)
int __cdecl s_sum_conf_array(int x[], int n)
int __cdecl s_dot_two_vectors(vector_t vs[2])
unsigned char *__RPC_USER us_t_UserUnmarshal(ULONG *flags, unsigned char *buffer, us_t *pus)
int __cdecl s_echo_ranged_int(int i, int j, int k)
int __cdecl s_sum_iiff(int x0, int y0, float x1, float y1)
static double int double int double int double int double int double int double int double int double y8
int __cdecl s_sum_parr(int *a[3])
static int double int int double int int double int int double int int double int int double int int double int int x15
int __cdecl s_sum_cpuints(cpuints_t *p)
ULONG __RPC_USER puint_t_UserSize(ULONG *flags, ULONG start, puint_t *p)
int __cdecl s_sum_ints(int a, ints_t x, ints_t y)
int __cdecl s_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)
static RPC_BINDING_HANDLE binding
static void pointer_tests(void)
int __cdecl s_wstr_struct_len(wstr_struct_t *s)
double __cdecl s_square_encue(encue_t *eue)
int __cdecl s_getNum(int a, handle_t binding)
int __cdecl s_sum_cps(cps_t *cps)
int __cdecl s_sum_pcarr(int *a[], int n)
s123_t *__cdecl s_get_s123(void)
int __cdecl s_sum_padded_conf(padded_t *ps, int n)
int __cdecl s_sum_iyiy(int x0, hyper y0, int x1, hyper y1)
int __cdecl s_sum_char_hyper(signed char x, hyper y)
static HRESULT set_firewall(enum firewall_op op)
static float int float int float int float int float int x5
static void basic_tests(void)
static void run_server(HANDLE ready_event)
int __cdecl s_sum_pcarr2(int n, int **pa)
void __cdecl s_get_name(name_t *name)
int __cdecl s_test_list_length(test_list_t *list)
void __cdecl s_get_a_bstr(bstr_t *b)
static void array_tests(void)
static double float double int float double float int float double float int double int float z5
double __cdecl s_square_unencu(int t, unencu_t *eu)
int __cdecl s_sum_sp(sp_t *sp)
int __cdecl s_dot_pvectors(pvectors_t *p)
static int double int int double int int double int int double int int double int int double int int x13
static DWORD CALLBACK test_I_RpcBindingInqLocalClientPID_thread_func(void *args)
unsigned char *__RPC_USER puint_t_UserUnmarshal(ULONG *flags, unsigned char *buffer, puint_t *p)
unsigned char *__RPC_USER bstr_t_UserUnmarshal(ULONG *flags, unsigned char *buffer, bstr_t *b)
static void union_tests(void)
static float int float int float int float int float int float int float y6
int __cdecl s_add(handle_t binding, int a, int b)
static double int double int double int double int double int double int double int double y7
unsigned char *__RPC_USER us_t_UserMarshal(ULONG *flags, unsigned char *buffer, us_t *pus)
static void make_cmdline(char buffer[MAX_PATH], const char *test)
static float int float int float int float int float int float int x6
int __cdecl s_sum_toplev_conf_cond(int *x, int a, int b, int c)
static DWORD WINAPI listen_test_client_thread(void *binding)
static void free_pyramid_doub_carr(doub_carr_t *dc)
float __cdecl s_square_half_float(float x, float *y)
void __cdecl s_full_pointer_null_test(int *a, int *b)
static int double int int double int int double int int double int int double int int x11
hyper __cdecl s_sum_hyper(hyper x, hyper y)
void __cdecl s_check_null(int *null)
static str_array_t * names
double __cdecl s_sum_aligns(aligns_t *a)
static void test_reconnect(void)
static HANDLE stop_wait_event
static double float double int float double float int float double float z4
int __cdecl s_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)
short __cdecl s_sum_short(short x, short y)
double __cdecl s_square_half(double x, double *y)
void __RPC_USER us_t_UserFree(ULONG *flags, us_t *pus)
int __cdecl s_sum_padded(padded_t *p)
int __cdecl s_enum_ord(e_t e)
static void test_stop_wait_for_call(unsigned char *binding)
void __cdecl s_square_out(int x, int *y)
static float int float int float int float int float int float y5
static test_list_t * null_list(void)
static s123_t *__cdecl * get_s123(void)
static double int double int double int double int double int double int double int double int x8
int __cdecl s_square_test_us(test_us_t *tus)
static double int double int double int double int double int double int double int x7
int __cdecl s_sum_puints(puints_t *p)
static char * domain_and_user
static float int float int float int float y3
double __cdecl s_square_encu(encu_t *eu)
static double float double int float z1
int __cdecl s_pints_sum(pints_t *pints)
int __cdecl s_sum_cs(cs_t *cs)
static UUID RPC_MGR_EPV unsigned unsigned RPC_IF_CALLBACK_FN *static RPC_SECURITY_QOS *static RPC_AUTH_KEY_RETRIEVAL_FN
static BOOL old_windows_version
void __cdecl s_get_numbers(int length, int size, pints_t n[])
static void set_mixed_interface(void)
static int double int int double int int double int int double int int x9
static BOOL is_process_elevated(void)
static int double int int double int int double int int double int int double int int double int int double int x14
int __cdecl s_str_t_length(str_t s)
static unsigned(__cdecl *hash_bstr)(bstr_t s)
static double float double int float double float int float z3
static HANDLE create_server_process(void)
int __cdecl s_sum_array_ptr(int(*a)[2])
static UUID RPC_MGR_EPV unsigned unsigned RPC_IF_CALLBACK_FN *static RPC_CSTR
str_t __cdecl s_get_filename(void)
void __cdecl s_make_pyramid_doub_carr(unsigned char n, doub_carr_t **dc)
int __cdecl s_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)
int __cdecl s_sum_double_int(int x, double y)
int __cdecl s_sum_flts(int a, flts_t x, flts_t y)
static rint_t(__cdecl *echo_ranged_int)(int i
int __cdecl s_sum(int x, int y)
#define test_is_server_listening2(a, b, c)
static void run_client(const char *test)
static float int float int float y2
static UUID RPC_MGR_EPV unsigned unsigned RPC_IF_CALLBACK_FN *static RPC_SECURITY_QOS *static LPVOID
static double float double int float double float z2
void __RPC_USER puint_t_UserFree(ULONG *flags, puint_t *p)
int __cdecl s_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)
void __RPC_USER ctx_handle_t_rundown(ctx_handle_t ctx_handle)
void __cdecl s_get_numbers_struct(numbers_struct_t **ns)
unsigned char *__RPC_USER puint_t_UserMarshal(ULONG *flags, unsigned char *buffer, puint_t *p)
ctx_handle_t __cdecl s_get_handle(void)
static float int float int float int float int float y4
void __cdecl s_get_names(int *n, str_array_t *names)
int __cdecl s_echo_ranged_int2(int i)
void __cdecl s_square_ref(int *x)
int __cdecl s_cstr_length(const char *s, int n)
static int double int int double int int double int int double int int double int x10
static DWORD WINAPI wait_listen_proc(void *arg)
int __cdecl s_str_struct_len(str_struct_t *s)
static int float float y1
static str_t(__cdecl *get_filename)(void)
static PROCESS_INFORMATION client_info
int __cdecl s_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)
static UUID RPC_MGR_EPV unsigned int
static int double int int double int int double int int double int int double int int double int x12
int __cdecl s_sum_bogus(bogus_t *b)
int __cdecl s_sum_fixed_int_3d(int m[2][3][4])
static double float double int float double float int float double float int double int float double int double float z6
void __cdecl s_check_se2(se_t *s)
static int double int int double int int double int int double int int double int int double int int double int int double int x16
int __cdecl s_dot_copy_vectors(vector_t u, vector_t v)
ULONG __RPC_USER us_t_UserSize(ULONG *flags, ULONG start, us_t *pus)
int __cdecl s_sum_conf_ptr_by_conf_ptr(int n1, int *n2_then_x1, int *x2)
static BOOL is_firewall_enabled(void)
int __cdecl s_sum_complex_array(int n, refpint_t pi[])
LONG __cdecl s_square_half_long(LONG x, LONG *y)
static void run_tests(void)
int __cdecl s_sum_float(float x, float y)
static float(__cdecl *square_half_float)(float x
static float int float int x2
static const char * progname
void __cdecl s_test_handle(ctx_handle_t ctx_handle)
void __cdecl s_get_number_array(int x[20], int *n)
static ctx_handle_t(__cdecl *get_handle)(void)
int __cdecl s_sum_container(cs_container_t *container)
static void _test_is_server_listening2(unsigned line, RPC_BINDING_HANDLE binding, RPC_STATUS expected_status, RPC_STATUS expected_status2)
int __cdecl s_sum_padded2(padded_t ps[2])
int __cdecl s_int_return(void)
void __cdecl s_test_I_RpcBindingInqLocalClientPID(unsigned int protseq, RPC_BINDING_HANDLE binding)
static int check_pyramid_doub_carr(doub_carr_t *dc)
static test_list_t * make_list(test_list_t *tail)
static UUID RPC_MGR_EPV unsigned unsigned RPC_IF_CALLBACK_FN *static RPC_AUTH_IDENTITY_HANDLE
int __cdecl s_sum_blob(cs_blob_t *blob)
int __cdecl s_sum_fixed_array(int a[5])
void __cdecl s_get_handle_by_ptr(ctx_handle_t *r)
int __cdecl s_sum_data(cs_data_t *data)
unsigned char *__RPC_USER bstr_t_UserMarshal(ULONG *flags, unsigned char *buffer, bstr_t *b)
int __cdecl s_sum_cpsc(cpsc_t *cpsc)
#define test_is_server_listening(a, b)
double __cdecl s_square_sun(sun_t *su)
int __cdecl s_dot_self(vector_t *v)
unsigned __cdecl s_hash_bstr(bstr_t b)
double __cdecl s_ptypes_sum(ptypes_t *pt)
static void InitFunctionPointers(void)
int __cdecl s_sum_unique_conf_array(int x[], int n)
static void free_list(test_list_t *list)
void __cdecl s_context_handle_test(void)
void __cdecl s_authinfo_test(unsigned int protseq, int secure)
int __cdecl s_sum_L1_norms(int n, vector_t *vs)
static void set_auth_info(RPC_BINDING_HANDLE handle)
int __cdecl s_square_puint(puint_t p)
int __cdecl s_sum_idid(int x0, double y0, int x1, double y1)
ULONG __RPC_USER bstr_t_UserSize(ULONG *flags, ULONG start, bstr_t *b)
void __cdecl s_ip_test(ipu_t *a)
static void _test_is_server_listening(unsigned line, RPC_BINDING_HANDLE binding, RPC_STATUS expected_status)
int __cdecl s_get_cpsc(int n, cpsc_t *cpsc)
int __cdecl s_sum_ptr_array(int *a[2])
void __cdecl s_stop(void)
int __cdecl s_square(int x)
unsigned __int3264 UINT_PTR
@ COINIT_APARTMENTTHREADED
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static int sum(int x_, int y_)
RPC_STATUS WINAPI RpcBindingFree(RPC_BINDING_HANDLE *Binding)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE ClientBinding, RPC_BINDING_HANDLE *ServerBinding)
RPC_STATUS WINAPI RpcStringBindingParseA(RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq, RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *Options)
RPC_STATUS WINAPI RpcRevertToSelf(void)
RPC_STATUS WINAPI RpcStringBindingComposeA(RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr, RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding)
RPC_STATUS WINAPI RpcBindingToStringBindingA(RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientExA(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc, ULONG Flags)
RPC_STATUS WINAPI I_RpcBindingInqLocalClientPID(RPC_BINDING_HANDLE ClientBinding, ULONG *ClientPID)
RPC_STATUS WINAPI RpcBindingFromStringBindingA(RPC_CSTR StringBinding, RPC_BINDING_HANDLE *Binding)
RPC_STATUS WINAPI RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc)
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
RPC_STATUS WINAPI RpcMgmtWaitServerListen(void)
RPC_STATUS WINAPI RpcServerUseProtseqEpA(RPC_CSTR Protseq, UINT MaxCalls, RPC_CSTR Endpoint, LPVOID SecurityDescriptor)
RPC_STATUS WINAPI RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding)
RPC_BINDING_HANDLE WINAPI I_RpcGetCurrentCallHandle(void)
RPC_STATUS WINAPI RpcServerUnregisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, UINT WaitForCallsToComplete)
RPC_STATUS WINAPI RpcMgmtStopServerListening(RPC_BINDING_HANDLE Binding)
#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH
#define RPC_C_QOS_IDENTITY_STATIC
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
I_RPC_HANDLE RPC_BINDING_HANDLE
#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY
#define RPC_IF_AUTOLISTEN
#define RPC_C_IMP_LEVEL_IMPERSONATE
RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN(RPC_IF_HANDLE InterfaceUuid, void *Context)
#define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH
#define RPC_C_AUTHN_WINNT
struct _RPC_SERVER_INTERFACE RPC_SERVER_INTERFACE
#define NDR_LOCAL_DATA_REPRESENTATION
#define RPC_S_INVALID_ARG
#define RPC_S_ACCESS_DENIED
int WINAPI UuidIsNil(UUID *Uuid, RPC_STATUS *Status)
RPC_STATUS WINAPI RpcStringFreeA(RPC_CSTR *String)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
_Check_return_ _CRTIMP char *__cdecl strdup(_In_opt_z_ const char *_Src)
#define RpcExceptionCode()
#define midl_user_allocate
int winetest_get_mainargs(char ***pargv)
#define wait_child_process
int fnprintf(const char *format,...)
BOOLEAN WINAPI GetUserNameExA(EXTENDED_NAME_FORMAT NameFormat, LPSTR lpNameBuffer, PULONG nSize)
__crt_unique_heap_ptr< wchar_t > const wstring(_malloc_crt_t(wchar_t, maxsize))
RPC_SYNTAX_IDENTIFIER InterfaceId
RPC_BINDING_HANDLE binding
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_ WDFUSBPIPE PIPE
DWORD WINAPI GetLastError(void)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
#define RPC_S_PROTSEQ_NOT_SUPPORTED
#define RPC_S_NO_CALL_ACTIVE
#define RPC_S_ALREADY_LISTENING
#define RPC_S_BINDING_HAS_NO_AUTH
#define RPC_S_CANNOT_SUPPORT
#define RPC_S_NOT_LISTENING
#define RPC_S_INVALID_BINDING
#define RPC_S_UNKNOWN_MGR_TYPE
enum _TOKEN_ELEVATION_TYPE TOKEN_ELEVATION_TYPE