This commit is contained in:
Mario Fetka
2026-05-23 19:25:36 +02:00
parent 698143d135
commit c97700a1d3
3 changed files with 216 additions and 0 deletions

View File

@@ -1472,6 +1472,52 @@ static int tests_c32primref(void)
}
static int tests_c32openref(int argc, char *argv[])
{
UI refLo = 40;
UI refHi = 0;
uint8 out[32];
uint16 load_ax, res_off, res_seg, tramp_off, tramp_seg;
uint16 fn_off, fn_seg, ret_ax, ret_dx, h_lo, h_hi;
if (argc > 2)
refLo = (UI)atoi(argv[2]);
if (argc > 3)
refHi = (UI)atoi(argv[3]);
memset(out, 0, sizeof(out));
fprintf(stdout, "TEST C32OPENREF ref=%04X:%04X\n", refHi, refLo);
fprintf(stdout, "Open Client32 connection by reference via CONNOpenByReference\n");
C32_OpenRef_Probe(refLo, refHi, out);
load_ax = tests_get_word_lh(out + 0);
res_off = tests_get_word_lh(out + 2);
res_seg = tests_get_word_lh(out + 4);
tramp_off = tests_get_word_lh(out + 6);
tramp_seg = tests_get_word_lh(out + 8);
fn_off = tests_get_word_lh(out + 10);
fn_seg = tests_get_word_lh(out + 12);
ret_ax = tests_get_word_lh(out + 14);
ret_dx = tests_get_word_lh(out + 16);
h_lo = tests_get_word_lh(out + 18);
h_hi = tests_get_word_lh(out + 20);
fprintf(stdout, "Load AX=%04X Resolver=%04X:%04X Tramp=%04X:%04X\n",
load_ax, res_seg, res_off, tramp_seg, tramp_off);
fprintf(stdout, "Function CONNOpenByReference=%04X:%04X\n", fn_seg, fn_off);
fprintf(stdout, "Return DX:AX=%04X:%04X handle=%04X:%04X\n",
ret_dx, ret_ax, h_hi, h_lo);
tests_dump_bytes("OUT:", out, 22);
if (ret_ax == 0 && ret_dx == 0)
fprintf(stdout, "\nNext test:\n TESTS NWREQ87C32RAW %u %u\n", h_lo, h_hi);
return(0);
}
int func_tests(int argc, char *argv[], int mode)
{
if (argc >= 2) {
@@ -1499,6 +1545,9 @@ int func_tests(int argc, char *argv[], int mode)
if (tests_same_arg(argv[1], "C32PRIMREF"))
return tests_c32primref();
if (tests_same_arg(argv[1], "C32OPENREF"))
return tests_c32openref(argc, argv);
if (tests_same_arg(argv[1], "NWREQ87C32MATRIX"))
return tests_nwreq87c32matrix();