Changeset 4f13e19 in mainline
- Timestamp:
- 2019-01-20T15:56:59Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d8cb48d
- Parents:
- eefdd7c
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-01-20 15:56:59)
- git-committer:
- GitHub <noreply@…> (2019-01-20 15:56:59)
- Location:
- uspace
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async/client.c
reefdd7c r4f13e19 249 249 * 250 250 */ 251 aid_t async_send_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,251 static aid_t async_send_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 252 252 sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr) 253 253 { … … 289 289 * 290 290 */ 291 aid_t async_send_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,291 static aid_t async_send_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 292 292 sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, 293 293 ipc_call_t *dataptr) … … 310 310 311 311 return (aid_t) msg; 312 } 313 314 aid_t async_send_0(async_exch_t *exch, sysarg_t imethod, ipc_call_t *dataptr) 315 { 316 return async_send_fast(exch, imethod, 0, 0, 0, 0, dataptr); 317 } 318 319 aid_t async_send_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 320 ipc_call_t *dataptr) 321 { 322 return async_send_fast(exch, imethod, arg1, 0, 0, 0, dataptr); 323 } 324 325 aid_t async_send_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 326 sysarg_t arg2, ipc_call_t *dataptr) 327 { 328 return async_send_fast(exch, imethod, arg1, arg2, 0, 0, dataptr); 329 } 330 331 aid_t async_send_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 332 sysarg_t arg2, sysarg_t arg3, ipc_call_t *dataptr) 333 { 334 return async_send_fast(exch, imethod, arg1, arg2, arg3, 0, dataptr); 335 } 336 337 aid_t async_send_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 338 sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr) 339 { 340 return async_send_fast(exch, imethod, arg1, arg2, arg3, arg4, dataptr); 341 } 342 343 aid_t async_send_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, 344 sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, 345 ipc_call_t *dataptr) 346 { 347 return async_send_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, 348 dataptr); 312 349 } 313 350 … … 434 471 * 435 472 */ 436 errno_t async_req_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,437 sysarg_t arg 2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,438 sysarg_t *r 3, sysarg_t *r4, sysarg_t *r5)473 static errno_t async_req_fast(async_exch_t *exch, sysarg_t imethod, 474 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, 475 sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 439 476 { 440 477 if (exch == NULL) … … 486 523 * 487 524 */ 488 errno_t async_req_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,489 sysarg_t arg 2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,490 sysarg_t *r 2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)525 static errno_t async_req_slow(async_exch_t *exch, sysarg_t imethod, 526 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, 527 sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 491 528 { 492 529 if (exch == NULL) … … 516 553 517 554 return rc; 555 } 556 557 errno_t async_req_0_0(async_exch_t *exch, sysarg_t imethod) 558 { 559 return async_req_fast(exch, imethod, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL); 560 } 561 562 errno_t async_req_0_1(async_exch_t *exch, sysarg_t imethod, sysarg_t *r1) 563 { 564 return async_req_fast(exch, imethod, 0, 0, 0, 0, r1, NULL, NULL, NULL, NULL); 565 } 566 567 errno_t async_req_0_2(async_exch_t *exch, sysarg_t imethod, sysarg_t *r1, sysarg_t *r2) 568 { 569 return async_req_fast(exch, imethod, 0, 0, 0, 0, r1, r2, NULL, NULL, NULL); 570 } 571 572 errno_t async_req_0_3(async_exch_t *exch, sysarg_t imethod, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 573 { 574 return async_req_fast(exch, imethod, 0, 0, 0, 0, r1, r2, r3, NULL, NULL); 575 } 576 577 errno_t async_req_0_4(async_exch_t *exch, sysarg_t imethod, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 578 { 579 return async_req_fast(exch, imethod, 0, 0, 0, 0, r1, r2, r3, r4, NULL); 580 } 581 582 errno_t async_req_0_5(async_exch_t *exch, sysarg_t imethod, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 583 { 584 return async_req_fast(exch, imethod, 0, 0, 0, 0, r1, r2, r3, r4, r5); 585 } 586 587 errno_t async_req_1_0(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1) 588 { 589 return async_req_fast(exch, imethod, arg1, 0, 0, 0, NULL, NULL, NULL, NULL, NULL); 590 } 591 592 errno_t async_req_1_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t *r1) 593 { 594 return async_req_fast(exch, imethod, arg1, 0, 0, 0, r1, NULL, NULL, NULL, NULL); 595 } 596 597 errno_t async_req_1_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t *r1, sysarg_t *r2) 598 { 599 return async_req_fast(exch, imethod, arg1, 0, 0, 0, r1, r2, NULL, NULL, NULL); 600 } 601 602 errno_t async_req_1_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 603 { 604 return async_req_fast(exch, imethod, arg1, 0, 0, 0, r1, r2, r3, NULL, NULL); 605 } 606 607 errno_t async_req_1_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 608 { 609 return async_req_fast(exch, imethod, arg1, 0, 0, 0, r1, r2, r3, r4, NULL); 610 } 611 612 errno_t async_req_1_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 613 { 614 return async_req_fast(exch, imethod, arg1, 0, 0, 0, r1, r2, r3, r4, r5); 615 } 616 617 errno_t async_req_2_0(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2) 618 { 619 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, NULL, NULL, NULL, NULL, NULL); 620 } 621 622 errno_t async_req_2_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t *r1) 623 { 624 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, r1, NULL, NULL, NULL, NULL); 625 } 626 627 errno_t async_req_2_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t *r1, sysarg_t *r2) 628 { 629 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, r1, r2, NULL, NULL, NULL); 630 } 631 632 errno_t async_req_2_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 633 { 634 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, r1, r2, r3, NULL, NULL); 635 } 636 637 errno_t async_req_2_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 638 { 639 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, r1, r2, r3, r4, NULL); 640 } 641 642 errno_t async_req_2_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 643 { 644 return async_req_fast(exch, imethod, arg1, arg2, 0, 0, r1, r2, r3, r4, r5); 645 } 646 647 errno_t async_req_3_0(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3) 648 { 649 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, NULL, NULL, NULL, NULL, NULL); 650 } 651 652 errno_t async_req_3_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *r1) 653 { 654 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, r1, NULL, NULL, NULL, NULL); 655 } 656 657 errno_t async_req_3_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *r1, sysarg_t *r2) 658 { 659 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, r1, r2, NULL, NULL, NULL); 660 } 661 662 errno_t async_req_3_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 663 { 664 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, r1, r2, r3, NULL, NULL); 665 } 666 667 errno_t async_req_3_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 668 { 669 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, r1, r2, r3, r4, NULL); 670 } 671 672 errno_t async_req_3_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 673 { 674 return async_req_fast(exch, imethod, arg1, arg2, arg3, 0, r1, r2, r3, r4, r5); 675 } 676 677 errno_t async_req_4_0(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4) 678 { 679 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, NULL, NULL, NULL, NULL, NULL); 680 } 681 682 errno_t async_req_4_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1) 683 { 684 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, r1, NULL, NULL, NULL, NULL); 685 } 686 687 errno_t async_req_4_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2) 688 { 689 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, r1, r2, NULL, NULL, NULL); 690 } 691 692 errno_t async_req_4_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 693 { 694 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, r1, r2, r3, NULL, NULL); 695 } 696 697 errno_t async_req_4_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 698 { 699 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, r1, r2, r3, r4, NULL); 700 } 701 702 errno_t async_req_4_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 703 { 704 return async_req_fast(exch, imethod, arg1, arg2, arg3, arg4, r1, r2, r3, r4, r5); 705 } 706 707 errno_t async_req_5_0(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5) 708 { 709 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, NULL, NULL, NULL, NULL, NULL); 710 } 711 712 errno_t async_req_5_1(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1) 713 { 714 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, r1, NULL, NULL, NULL, NULL); 715 } 716 717 errno_t async_req_5_2(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1, sysarg_t *r2) 718 { 719 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, r1, r2, NULL, NULL, NULL); 720 } 721 722 errno_t async_req_5_3(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3) 723 { 724 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, r1, r2, r3, NULL, NULL); 725 } 726 727 errno_t async_req_5_4(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4) 728 { 729 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, r1, r2, r3, r4, NULL); 730 } 731 732 errno_t async_req_5_5(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1, sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5) 733 { 734 return async_req_slow(exch, imethod, arg1, arg2, arg3, arg4, arg5, r1, r2, r3, r4, r5); 518 735 } 519 736 … … 926 1143 * 927 1144 */ 928 errno_t async_share_in_start(async_exch_t *exch, size_t size, sysarg_t arg,929 unsigned int *flags, void **dst)1145 static errno_t async_share_in_start(async_exch_t *exch, size_t size, 1146 sysarg_t arg, unsigned int *flags, void **dst) 930 1147 { 931 1148 if (exch == NULL) … … 943 1160 *dst = (void *) _dst; 944 1161 return res; 1162 } 1163 1164 errno_t async_share_in_start_0_0(async_exch_t *exch, size_t size, void **dst) 1165 { 1166 return async_share_in_start(exch, size, 0, NULL, dst); 1167 } 1168 1169 errno_t async_share_in_start_0_1(async_exch_t *exch, size_t size, 1170 unsigned int *flags, void **dst) 1171 { 1172 return async_share_in_start(exch, size, 0, flags, dst); 1173 } 1174 1175 errno_t async_share_in_start_1_0(async_exch_t *exch, size_t size, sysarg_t arg, 1176 void **dst) 1177 { 1178 return async_share_in_start(exch, size, arg, NULL, dst); 1179 } 1180 1181 errno_t async_share_in_start_1_1(async_exch_t *exch, size_t size, sysarg_t arg, 1182 unsigned int *flags, void **dst) 1183 { 1184 return async_share_in_start(exch, size, arg, flags, dst); 945 1185 } 946 1186 -
uspace/lib/c/generic/async/server.c
reefdd7c r4f13e19 878 878 } 879 879 880 bool async_get_call(ipc_call_t *call) 881 { 882 return async_get_call_timeout(call, 0); 883 } 884 880 885 void *async_get_client_data(void) 881 886 { … … 1096 1101 } 1097 1102 1098 errno_t async_forward_fast(ipc_call_t *call, async_exch_t *exch,1103 static errno_t async_forward_fast(ipc_call_t *call, async_exch_t *exch, 1099 1104 sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, unsigned int mode) 1100 1105 { … … 1112 1117 } 1113 1118 1114 errno_t async_forward_slow(ipc_call_t *call, async_exch_t *exch,1119 static errno_t async_forward_slow(ipc_call_t *call, async_exch_t *exch, 1115 1120 sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, 1116 1121 sysarg_t arg4, sysarg_t arg5, unsigned int mode) … … 1127 1132 return ipc_forward_slow(chandle, exch->phone, imethod, arg1, arg2, arg3, 1128 1133 arg4, arg5, mode); 1134 } 1135 1136 errno_t async_forward_0(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1137 unsigned int mode) 1138 { 1139 return async_forward_fast(call, exch, imethod, 0, 0, mode); 1140 } 1141 1142 errno_t async_forward_1(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1143 sysarg_t arg1, unsigned int mode) 1144 { 1145 return async_forward_fast(call, exch, imethod, arg1, 0, mode); 1146 } 1147 1148 errno_t async_forward_2(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1149 sysarg_t arg1, sysarg_t arg2, unsigned int mode) 1150 { 1151 return async_forward_fast(call, exch, imethod, arg1, arg2, mode); 1152 } 1153 1154 errno_t async_forward_3(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1155 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, unsigned int mode) 1156 { 1157 return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, 0, 0, 1158 mode); 1159 } 1160 1161 errno_t async_forward_4(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1162 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, 1163 unsigned int mode) 1164 { 1165 return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, arg4, 1166 0, mode); 1167 } 1168 1169 errno_t async_forward_5(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod, 1170 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, 1171 unsigned int mode) 1172 { 1173 return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, arg4, 1174 arg5, mode); 1129 1175 } 1130 1176 … … 1320 1366 * 1321 1367 */ 1322 errno_t async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod,1368 static errno_t async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod, 1323 1369 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, 1324 1370 ipc_call_t *dataptr) … … 1333 1379 } 1334 1380 1335 aid_t msg = async_send_ fast(exch, imethod, arg1, arg2, arg3, arg4,1381 aid_t msg = async_send_4(exch, imethod, arg1, arg2, arg3, arg4, 1336 1382 dataptr); 1337 1383 if (msg == 0) { … … 1352 1398 1353 1399 return (errno_t) rc; 1400 } 1401 1402 errno_t async_data_read_forward_0_0(async_exch_t *exch, sysarg_t imethod) 1403 { 1404 return async_data_read_forward_fast(exch, imethod, 0, 0, 0, 0, NULL); 1405 } 1406 1407 errno_t async_data_read_forward_1_0(async_exch_t *exch, sysarg_t imethod, 1408 sysarg_t arg1) 1409 { 1410 return async_data_read_forward_fast(exch, imethod, arg1, 0, 0, 0, NULL); 1411 } 1412 1413 errno_t async_data_read_forward_2_0(async_exch_t *exch, sysarg_t imethod, 1414 sysarg_t arg1, sysarg_t arg2) 1415 { 1416 return async_data_read_forward_fast(exch, imethod, arg1, arg2, 0, 1417 0, NULL); 1418 } 1419 1420 errno_t async_data_read_forward_3_0(async_exch_t *exch, sysarg_t imethod, 1421 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3) 1422 { 1423 return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3, 1424 0, NULL); 1425 } 1426 1427 errno_t async_data_read_forward_4_0(async_exch_t *exch, sysarg_t imethod, 1428 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4) 1429 { 1430 return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3, 1431 arg4, NULL); 1432 } 1433 1434 errno_t async_data_read_forward_0_1(async_exch_t *exch, sysarg_t imethod, 1435 ipc_call_t *dataptr) 1436 { 1437 return async_data_read_forward_fast(exch, imethod, 0, 0, 0, 1438 0, dataptr); 1439 } 1440 1441 errno_t async_data_read_forward_1_1(async_exch_t *exch, sysarg_t imethod, 1442 sysarg_t arg1, ipc_call_t *dataptr) 1443 { 1444 return async_data_read_forward_fast(exch, imethod, arg1, 0, 0, 1445 0, dataptr); 1446 } 1447 1448 errno_t async_data_read_forward_2_1(async_exch_t *exch, sysarg_t imethod, 1449 sysarg_t arg1, sysarg_t arg2, ipc_call_t *dataptr) 1450 { 1451 return async_data_read_forward_fast(exch, imethod, arg1, arg2, 0, 1452 0, dataptr); 1453 } 1454 1455 errno_t async_data_read_forward_3_1(async_exch_t *exch, sysarg_t imethod, 1456 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_call_t *dataptr) 1457 { 1458 return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3, 1459 0, dataptr); 1460 } 1461 1462 errno_t async_data_read_forward_4_1(async_exch_t *exch, sysarg_t imethod, 1463 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, 1464 ipc_call_t *dataptr) 1465 { 1466 return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3, 1467 arg4, dataptr); 1354 1468 } 1355 1469 … … 1497 1611 * 1498 1612 */ 1499 errno_t async_data_write_forward_fast(async_exch_t *exch, sysarg_t imethod,1500 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,1501 ipc_call_t *dataptr)1613 static errno_t async_data_write_forward_fast(async_exch_t *exch, 1614 sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, 1615 sysarg_t arg4, ipc_call_t *dataptr) 1502 1616 { 1503 1617 if (exch == NULL) … … 1510 1624 } 1511 1625 1512 aid_t msg = async_send_ fast(exch, imethod, arg1, arg2, arg3, arg4,1626 aid_t msg = async_send_4(exch, imethod, arg1, arg2, arg3, arg4, 1513 1627 dataptr); 1514 1628 if (msg == 0) { … … 1531 1645 } 1532 1646 1647 errno_t async_data_write_forward_0_0(async_exch_t *exch, sysarg_t imethod) 1648 { 1649 return async_data_write_forward_fast(exch, imethod, 0, 0, 0, 1650 0, NULL); 1651 } 1652 1653 errno_t async_data_write_forward_1_0(async_exch_t *exch, sysarg_t imethod, 1654 sysarg_t arg1) 1655 { 1656 return async_data_write_forward_fast(exch, imethod, arg1, 0, 0, 1657 0, NULL); 1658 } 1659 1660 errno_t async_data_write_forward_2_0(async_exch_t *exch, sysarg_t imethod, 1661 sysarg_t arg1, sysarg_t arg2) 1662 { 1663 return async_data_write_forward_fast(exch, imethod, arg1, arg2, 0, 1664 0, NULL); 1665 } 1666 1667 errno_t async_data_write_forward_3_0(async_exch_t *exch, sysarg_t imethod, 1668 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3) 1669 { 1670 return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3, 1671 0, NULL); 1672 } 1673 1674 errno_t async_data_write_forward_4_0(async_exch_t *exch, sysarg_t imethod, 1675 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4) 1676 { 1677 return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3, 1678 arg4, NULL); 1679 } 1680 1681 errno_t async_data_write_forward_0_1(async_exch_t *exch, sysarg_t imethod, 1682 ipc_call_t *dataptr) 1683 { 1684 return async_data_write_forward_fast(exch, imethod, 0, 0, 0, 1685 0, dataptr); 1686 } 1687 1688 errno_t async_data_write_forward_1_1(async_exch_t *exch, sysarg_t imethod, 1689 sysarg_t arg1, ipc_call_t *dataptr) 1690 { 1691 return async_data_write_forward_fast(exch, imethod, arg1, 0, 0, 1692 0, dataptr); 1693 } 1694 1695 errno_t async_data_write_forward_2_1(async_exch_t *exch, sysarg_t imethod, 1696 sysarg_t arg1, sysarg_t arg2, ipc_call_t *dataptr) 1697 { 1698 return async_data_write_forward_fast(exch, imethod, arg1, arg2, 0, 1699 0, dataptr); 1700 } 1701 1702 errno_t async_data_write_forward_3_1(async_exch_t *exch, sysarg_t imethod, 1703 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_call_t *dataptr) 1704 { 1705 return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3, 1706 0, dataptr); 1707 } 1708 1709 errno_t async_data_write_forward_4_1(async_exch_t *exch, sysarg_t imethod, 1710 sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, 1711 ipc_call_t *dataptr) 1712 { 1713 return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3, 1714 arg4, dataptr); 1715 } 1716 1533 1717 /** Wrapper for receiving the IPC_M_CONNECT_TO_ME calls. 1534 1718 * -
uspace/lib/c/include/async.h
reefdd7c r4f13e19 108 108 extern __noreturn void async_manager(void); 109 109 110 #define async_get_call(data) \ 111 async_get_call_timeout(data, 0) 112 110 extern bool async_get_call(ipc_call_t *); 113 111 extern bool async_get_call_timeout(ipc_call_t *, usec_t); 114 112 115 /* 116 * User-friendly wrappers for async_send_fast() and async_send_slow(). The 117 * macros are in the form async_send_m(), where m denotes the number of payload 118 * arguments. Each macros chooses between the fast and the slow version based 119 * on m. 120 */ 121 122 #define async_send_0(exch, method, dataptr) \ 123 async_send_fast(exch, method, 0, 0, 0, 0, dataptr) 124 #define async_send_1(exch, method, arg1, dataptr) \ 125 async_send_fast(exch, method, arg1, 0, 0, 0, dataptr) 126 #define async_send_2(exch, method, arg1, arg2, dataptr) \ 127 async_send_fast(exch, method, arg1, arg2, 0, 0, dataptr) 128 #define async_send_3(exch, method, arg1, arg2, arg3, dataptr) \ 129 async_send_fast(exch, method, arg1, arg2, arg3, 0, dataptr) 130 #define async_send_4(exch, method, arg1, arg2, arg3, arg4, dataptr) \ 131 async_send_fast(exch, method, arg1, arg2, arg3, arg4, dataptr) 132 #define async_send_5(exch, method, arg1, arg2, arg3, arg4, arg5, dataptr) \ 133 async_send_slow(exch, method, arg1, arg2, arg3, arg4, arg5, dataptr) 134 135 extern aid_t async_send_fast(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 113 extern aid_t async_send_0(async_exch_t *, sysarg_t, ipc_call_t *); 114 extern aid_t async_send_1(async_exch_t *, sysarg_t, sysarg_t, ipc_call_t *); 115 extern aid_t async_send_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 116 ipc_call_t *); 117 extern aid_t async_send_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 118 sysarg_t, ipc_call_t *); 119 extern aid_t async_send_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 136 120 sysarg_t, sysarg_t, ipc_call_t *); 137 extern aid_t async_send_ slow(async_exch_t *, sysarg_t, sysarg_t, sysarg_t,121 extern aid_t async_send_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 138 122 sysarg_t, sysarg_t, sysarg_t, ipc_call_t *); 139 123 … … 198 182 */ 199 183 200 extern errno_t async_forward_fast(ipc_call_t *, async_exch_t *, sysarg_t, 184 extern errno_t async_forward_0(ipc_call_t *, async_exch_t *, sysarg_t, 185 unsigned int); 186 extern errno_t async_forward_1(ipc_call_t *, async_exch_t *, sysarg_t, 187 sysarg_t, unsigned int); 188 extern errno_t async_forward_2(ipc_call_t *, async_exch_t *, sysarg_t, 201 189 sysarg_t, sysarg_t, unsigned int); 202 extern errno_t async_forward_slow(ipc_call_t *, async_exch_t *, sysarg_t, 190 extern errno_t async_forward_3(ipc_call_t *, async_exch_t *, sysarg_t, 191 sysarg_t, sysarg_t, sysarg_t, unsigned int); 192 extern errno_t async_forward_4(ipc_call_t *, async_exch_t *, sysarg_t, 193 sysarg_t, sysarg_t, sysarg_t, sysarg_t, unsigned int); 194 extern errno_t async_forward_5(ipc_call_t *, async_exch_t *, sysarg_t, 203 195 sysarg_t, sysarg_t, sysarg_t, sysarg_t, sysarg_t, unsigned int); 204 196 205 197 /* 206 * User-friendly wrappers for async_req_fast() and async_req_slow(). The macros 207 * are in the form async_req_m_n(), where m is the number of payload arguments 208 * and n is the number of return arguments. The macros decide between the fast 209 * and slow verion based on m. 210 */ 211 212 #define async_req_0_0(exch, method) \ 213 async_req_fast(exch, method, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL) 214 #define async_req_0_1(exch, method, r1) \ 215 async_req_fast(exch, method, 0, 0, 0, 0, r1, NULL, NULL, NULL, NULL) 216 #define async_req_0_2(exch, method, r1, r2) \ 217 async_req_fast(exch, method, 0, 0, 0, 0, r1, r2, NULL, NULL, NULL) 218 #define async_req_0_3(exch, method, r1, r2, r3) \ 219 async_req_fast(exch, method, 0, 0, 0, 0, r1, r2, r3, NULL, NULL) 220 #define async_req_0_4(exch, method, r1, r2, r3, r4) \ 221 async_req_fast(exch, method, 0, 0, 0, 0, r1, r2, r3, r4, NULL) 222 #define async_req_0_5(exch, method, r1, r2, r3, r4, r5) \ 223 async_req_fast(exch, method, 0, 0, 0, 0, r1, r2, r3, r4, r5) 224 225 #define async_req_1_0(exch, method, arg1) \ 226 async_req_fast(exch, method, arg1, 0, 0, 0, NULL, NULL, NULL, NULL, \ 227 NULL) 228 #define async_req_1_1(exch, method, arg1, rc1) \ 229 async_req_fast(exch, method, arg1, 0, 0, 0, rc1, NULL, NULL, NULL, \ 230 NULL) 231 #define async_req_1_2(exch, method, arg1, rc1, rc2) \ 232 async_req_fast(exch, method, arg1, 0, 0, 0, rc1, rc2, NULL, NULL, \ 233 NULL) 234 #define async_req_1_3(exch, method, arg1, rc1, rc2, rc3) \ 235 async_req_fast(exch, method, arg1, 0, 0, 0, rc1, rc2, rc3, NULL, \ 236 NULL) 237 #define async_req_1_4(exch, method, arg1, rc1, rc2, rc3, rc4) \ 238 async_req_fast(exch, method, arg1, 0, 0, 0, rc1, rc2, rc3, rc4, \ 239 NULL) 240 #define async_req_1_5(exch, method, arg1, rc1, rc2, rc3, rc4, rc5) \ 241 async_req_fast(exch, method, arg1, 0, 0, 0, rc1, rc2, rc3, rc4, \ 242 rc5) 243 244 #define async_req_2_0(exch, method, arg1, arg2) \ 245 async_req_fast(exch, method, arg1, arg2, 0, 0, NULL, NULL, NULL, \ 246 NULL, NULL) 247 #define async_req_2_1(exch, method, arg1, arg2, rc1) \ 248 async_req_fast(exch, method, arg1, arg2, 0, 0, rc1, NULL, NULL, \ 249 NULL, NULL) 250 #define async_req_2_2(exch, method, arg1, arg2, rc1, rc2) \ 251 async_req_fast(exch, method, arg1, arg2, 0, 0, rc1, rc2, NULL, NULL, \ 252 NULL) 253 #define async_req_2_3(exch, method, arg1, arg2, rc1, rc2, rc3) \ 254 async_req_fast(exch, method, arg1, arg2, 0, 0, rc1, rc2, rc3, NULL, \ 255 NULL) 256 #define async_req_2_4(exch, method, arg1, arg2, rc1, rc2, rc3, rc4) \ 257 async_req_fast(exch, method, arg1, arg2, 0, 0, rc1, rc2, rc3, rc4, \ 258 NULL) 259 #define async_req_2_5(exch, method, arg1, arg2, rc1, rc2, rc3, rc4, rc5) \ 260 async_req_fast(exch, method, arg1, arg2, 0, 0, rc1, rc2, rc3, rc4, \ 261 rc5) 262 263 #define async_req_3_0(exch, method, arg1, arg2, arg3) \ 264 async_req_fast(exch, method, arg1, arg2, arg3, 0, NULL, NULL, NULL, \ 265 NULL, NULL) 266 #define async_req_3_1(exch, method, arg1, arg2, arg3, rc1) \ 267 async_req_fast(exch, method, arg1, arg2, arg3, 0, rc1, NULL, NULL, \ 268 NULL, NULL) 269 #define async_req_3_2(exch, method, arg1, arg2, arg3, rc1, rc2) \ 270 async_req_fast(exch, method, arg1, arg2, arg3, 0, rc1, rc2, NULL, \ 271 NULL, NULL) 272 #define async_req_3_3(exch, method, arg1, arg2, arg3, rc1, rc2, rc3) \ 273 async_req_fast(exch, method, arg1, arg2, arg3, 0, rc1, rc2, rc3, \ 274 NULL, NULL) 275 #define async_req_3_4(exch, method, arg1, arg2, arg3, rc1, rc2, rc3, rc4) \ 276 async_req_fast(exch, method, arg1, arg2, arg3, 0, rc1, rc2, rc3, \ 277 rc4, NULL) 278 #define async_req_3_5(exch, method, arg1, arg2, arg3, rc1, rc2, rc3, rc4, \ 279 rc5) \ 280 async_req_fast(exch, method, arg1, arg2, arg3, 0, rc1, rc2, rc3, \ 281 rc4, rc5) 282 283 #define async_req_4_0(exch, method, arg1, arg2, arg3, arg4) \ 284 async_req_fast(exch, method, arg1, arg2, arg3, arg4, NULL, NULL, \ 285 NULL, NULL, NULL) 286 #define async_req_4_1(exch, method, arg1, arg2, arg3, arg4, rc1) \ 287 async_req_fast(exch, method, arg1, arg2, arg3, arg4, rc1, NULL, \ 288 NULL, NULL, NULL) 289 #define async_req_4_2(exch, method, arg1, arg2, arg3, arg4, rc1, rc2) \ 290 async_req_fast(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, NULL, \ 291 NULL, NULL) 292 #define async_req_4_3(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3) \ 293 async_req_fast(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3, \ 294 NULL, NULL) 295 #define async_req_4_4(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3, \ 296 rc4) \ 297 async_req_fast(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3, \ 298 rc4, NULL) 299 #define async_req_4_5(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3, \ 300 rc4, rc5) \ 301 async_req_fast(exch, method, arg1, arg2, arg3, arg4, rc1, rc2, rc3, \ 302 rc4, rc5) 303 304 #define async_req_5_0(exch, method, arg1, arg2, arg3, arg4, arg5) \ 305 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, NULL, \ 306 NULL, NULL, NULL, NULL) 307 #define async_req_5_1(exch, method, arg1, arg2, arg3, arg4, arg5, rc1) \ 308 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, \ 309 NULL, NULL, NULL, NULL) 310 #define async_req_5_2(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2) \ 311 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 312 NULL, NULL, NULL) 313 #define async_req_5_3(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 314 rc3) \ 315 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 316 rc3, NULL, NULL) 317 #define async_req_5_4(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 318 rc3, rc4) \ 319 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 320 rc3, rc4, NULL) 321 #define async_req_5_5(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 322 rc3, rc4, rc5) \ 323 async_req_slow(exch, method, arg1, arg2, arg3, arg4, arg5, rc1, rc2, \ 324 rc3, rc4, rc5) 325 326 extern errno_t async_req_fast(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 198 * User-friendly wrappers for async_req_*_*(). 199 * The functions are in the form async_req_m_n(), where m is the number of 200 * payload arguments and n is the number of return arguments. 201 */ 202 203 extern errno_t async_req_0_0(async_exch_t *, sysarg_t); 204 extern errno_t async_req_0_1(async_exch_t *, sysarg_t, sysarg_t *); 205 extern errno_t async_req_0_2(async_exch_t *, sysarg_t, sysarg_t *, sysarg_t *); 206 extern errno_t async_req_0_3(async_exch_t *, sysarg_t, sysarg_t *, sysarg_t *, 207 sysarg_t *); 208 extern errno_t async_req_0_4(async_exch_t *, sysarg_t, sysarg_t *, sysarg_t *, 209 sysarg_t *, sysarg_t *); 210 extern errno_t async_req_0_5(async_exch_t *, sysarg_t, sysarg_t *, sysarg_t *, 211 sysarg_t *, sysarg_t *, sysarg_t *); 212 extern errno_t async_req_1_0(async_exch_t *, sysarg_t, sysarg_t); 213 extern errno_t async_req_1_1(async_exch_t *, sysarg_t, sysarg_t, sysarg_t *); 214 extern errno_t async_req_1_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t *, 215 sysarg_t *); 216 extern errno_t async_req_1_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t *, 217 sysarg_t *, sysarg_t *); 218 extern errno_t async_req_1_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t *, 219 sysarg_t *, sysarg_t *, sysarg_t *); 220 extern errno_t async_req_1_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t *, 221 sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 222 extern errno_t async_req_2_0(async_exch_t *, sysarg_t, sysarg_t, sysarg_t); 223 extern errno_t async_req_2_1(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 224 sysarg_t *); 225 extern errno_t async_req_2_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 226 sysarg_t *, sysarg_t *); 227 extern errno_t async_req_2_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 228 sysarg_t *, sysarg_t *, sysarg_t *); 229 extern errno_t async_req_2_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 230 sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 231 extern errno_t async_req_2_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 232 sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 233 extern errno_t async_req_3_0(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 234 sysarg_t); 235 extern errno_t async_req_3_1(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 236 sysarg_t, sysarg_t *); 237 extern errno_t async_req_3_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 238 sysarg_t, sysarg_t *, sysarg_t *); 239 extern errno_t async_req_3_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 240 sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *); 241 extern errno_t async_req_3_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 242 sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 243 extern errno_t async_req_3_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 244 sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 245 extern errno_t async_req_4_0(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 246 sysarg_t, sysarg_t); 247 extern errno_t async_req_4_1(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 248 sysarg_t, sysarg_t, sysarg_t *); 249 extern errno_t async_req_4_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 250 sysarg_t, sysarg_t, sysarg_t *, sysarg_t *); 251 extern errno_t async_req_4_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 252 sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *); 253 extern errno_t async_req_4_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 254 sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *); 255 extern errno_t async_req_4_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 327 256 sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *, 328 257 sysarg_t *); 329 extern errno_t async_req_slow(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 258 extern errno_t async_req_5_0(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 259 sysarg_t, sysarg_t, sysarg_t); 260 extern errno_t async_req_5_1(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 261 sysarg_t, sysarg_t, sysarg_t, sysarg_t *); 262 extern errno_t async_req_5_2(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 263 sysarg_t, sysarg_t, sysarg_t, sysarg_t *, sysarg_t *); 264 extern errno_t async_req_5_3(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 265 sysarg_t, sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *); 266 extern errno_t async_req_5_4(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 267 sysarg_t, sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, 268 sysarg_t *); 269 extern errno_t async_req_5_5(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 330 270 sysarg_t, sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, 331 271 sysarg_t *, sysarg_t *); … … 357 297 */ 358 298 359 #define async_share_in_start_0_0(exch, size, dst) \ 360 async_share_in_start(exch, size, 0, NULL, dst) 361 #define async_share_in_start_0_1(exch, size, flags, dst) \ 362 async_share_in_start(exch, size, 0, flags, dst) 363 #define async_share_in_start_1_0(exch, size, arg, dst) \ 364 async_share_in_start(exch, size, arg, NULL, dst) 365 #define async_share_in_start_1_1(exch, size, arg, flags, dst) \ 366 async_share_in_start(exch, size, arg, flags, dst) 367 368 extern errno_t async_share_in_start(async_exch_t *, size_t, sysarg_t, 299 extern errno_t async_share_in_start_0_0(async_exch_t *, size_t, void **); 300 extern errno_t async_share_in_start_0_1(async_exch_t *, size_t, 369 301 unsigned int *, void **); 302 extern errno_t async_share_in_start_1_0(async_exch_t *, size_t, sysarg_t, 303 void **); 304 extern errno_t async_share_in_start_1_1(async_exch_t *, size_t, sysarg_t, 305 unsigned int *, void **); 306 370 307 extern bool async_share_in_receive(ipc_call_t *, size_t *); 371 308 extern errno_t async_share_in_finalize(ipc_call_t *, void *, unsigned int); … … 375 312 extern errno_t async_share_out_finalize(ipc_call_t *, void **); 376 313 377 /* 378 * User-friendly wrappers for async_data_read_forward_fast(). 379 */ 380 381 #define async_data_read_forward_0_0(exch, method, answer) \ 382 async_data_read_forward_fast(exch, method, 0, 0, 0, 0, NULL) 383 #define async_data_read_forward_0_1(exch, method, answer) \ 384 async_data_read_forward_fast(exch, method, 0, 0, 0, 0, answer) 385 #define async_data_read_forward_1_0(exch, method, arg1, answer) \ 386 async_data_read_forward_fast(exch, method, arg1, 0, 0, 0, NULL) 387 #define async_data_read_forward_1_1(exch, method, arg1, answer) \ 388 async_data_read_forward_fast(exch, method, arg1, 0, 0, 0, answer) 389 #define async_data_read_forward_2_0(exch, method, arg1, arg2, answer) \ 390 async_data_read_forward_fast(exch, method, arg1, arg2, 0, 0, NULL) 391 #define async_data_read_forward_2_1(exch, method, arg1, arg2, answer) \ 392 async_data_read_forward_fast(exch, method, arg1, arg2, 0, 0, answer) 393 #define async_data_read_forward_3_0(exch, method, arg1, arg2, arg3, answer) \ 394 async_data_read_forward_fast(exch, method, arg1, arg2, arg3, 0, NULL) 395 #define async_data_read_forward_3_1(exch, method, arg1, arg2, arg3, answer) \ 396 async_data_read_forward_fast(exch, method, arg1, arg2, arg3, 0, \ 397 answer) 398 #define async_data_read_forward_4_0(exch, method, arg1, arg2, arg3, arg4, \ 399 answer) \ 400 async_data_read_forward_fast(exch, method, arg1, arg2, arg3, arg4, \ 401 NULL) 402 #define async_data_read_forward_4_1(exch, method, arg1, arg2, arg3, arg4, \ 403 answer) \ 404 async_data_read_forward_fast(exch, method, arg1, arg2, arg3, arg4, \ 405 answer) 314 extern errno_t async_data_read_forward_0_0(async_exch_t *, sysarg_t); 315 extern errno_t async_data_read_forward_1_0(async_exch_t *, sysarg_t, sysarg_t); 316 extern errno_t async_data_read_forward_2_0(async_exch_t *, sysarg_t, sysarg_t, 317 sysarg_t); 318 extern errno_t async_data_read_forward_3_0(async_exch_t *, sysarg_t, sysarg_t, 319 sysarg_t, sysarg_t); 320 extern errno_t async_data_read_forward_4_0(async_exch_t *, sysarg_t, sysarg_t, 321 sysarg_t, sysarg_t, sysarg_t); 322 323 extern errno_t async_data_read_forward_0_1(async_exch_t *, sysarg_t, 324 ipc_call_t *); 325 extern errno_t async_data_read_forward_1_1(async_exch_t *, sysarg_t, sysarg_t, 326 ipc_call_t *); 327 extern errno_t async_data_read_forward_2_1(async_exch_t *, sysarg_t, sysarg_t, 328 sysarg_t, ipc_call_t *); 329 extern errno_t async_data_read_forward_3_1(async_exch_t *, sysarg_t, sysarg_t, 330 sysarg_t, sysarg_t, ipc_call_t *); 331 extern errno_t async_data_read_forward_4_1(async_exch_t *, sysarg_t, sysarg_t, 332 sysarg_t, sysarg_t, sysarg_t, ipc_call_t *); 406 333 407 334 extern aid_t async_data_read(async_exch_t *, void *, size_t, ipc_call_t *); … … 410 337 extern errno_t async_data_read_finalize(ipc_call_t *, const void *, size_t); 411 338 412 extern errno_t async_data_read_forward_fast(async_exch_t *, sysarg_t, sysarg_t, 339 extern errno_t async_data_write_forward_0_0(async_exch_t *, sysarg_t); 340 extern errno_t async_data_write_forward_1_0(async_exch_t *, sysarg_t, sysarg_t); 341 extern errno_t async_data_write_forward_2_0(async_exch_t *, sysarg_t, sysarg_t, 342 sysarg_t); 343 extern errno_t async_data_write_forward_3_0(async_exch_t *, sysarg_t, sysarg_t, 344 sysarg_t, sysarg_t); 345 extern errno_t async_data_write_forward_4_0(async_exch_t *, sysarg_t, sysarg_t, 346 sysarg_t, sysarg_t, sysarg_t); 347 348 extern errno_t async_data_write_forward_0_1(async_exch_t *, sysarg_t, 349 ipc_call_t *); 350 extern errno_t async_data_write_forward_1_1(async_exch_t *, sysarg_t, sysarg_t, 351 ipc_call_t *); 352 extern errno_t async_data_write_forward_2_1(async_exch_t *, sysarg_t, sysarg_t, 353 sysarg_t, ipc_call_t *); 354 extern errno_t async_data_write_forward_3_1(async_exch_t *, sysarg_t, sysarg_t, 355 sysarg_t, sysarg_t, ipc_call_t *); 356 extern errno_t async_data_write_forward_4_1(async_exch_t *, sysarg_t, sysarg_t, 413 357 sysarg_t, sysarg_t, sysarg_t, ipc_call_t *); 414 415 /*416 * User-friendly wrappers for async_data_write_forward_fast().417 */418 419 #define async_data_write_forward_0_0(exch, method, answer) \420 async_data_write_forward_fast(exch, method, 0, 0, 0, 0, NULL)421 #define async_data_write_forward_0_1(exch, method, answer) \422 async_data_write_forward_fast(exch, method, 0, 0, 0, 0, answer)423 #define async_data_write_forward_1_0(exch, method, arg1, answer) \424 async_data_write_forward_fast(exch, method, arg1, 0, 0, 0, NULL)425 #define async_data_write_forward_1_1(exch, method, arg1, answer) \426 async_data_write_forward_fast(exch, method, arg1, 0, 0, 0, answer)427 #define async_data_write_forward_2_0(exch, method, arg1, arg2, answer) \428 async_data_write_forward_fast(exch, method, arg1, arg2, 0, 0, NULL)429 #define async_data_write_forward_2_1(exch, method, arg1, arg2, answer) \430 async_data_write_forward_fast(exch, method, arg1, arg2, 0, 0, answer)431 #define async_data_write_forward_3_0(exch, method, arg1, arg2, arg3, answer) \432 async_data_write_forward_fast(exch, method, arg1, arg2, arg3, 0, \433 NULL)434 #define async_data_write_forward_3_1(exch, method, arg1, arg2, arg3, answer) \435 async_data_write_forward_fast(exch, method, arg1, arg2, arg3, 0, \436 answer)437 #define async_data_write_forward_4_0(exch, method, arg1, arg2, arg3, arg4, \438 answer) \439 async_data_write_forward_fast(exch, method, arg1, arg2, arg3, arg4, \440 NULL)441 #define async_data_write_forward_4_1(exch, method, arg1, arg2, arg3, arg4, \442 answer) \443 async_data_write_forward_fast(exch, method, arg1, arg2, arg3, arg4, \444 answer)445 358 446 359 extern errno_t async_data_write_start(async_exch_t *, const void *, size_t); … … 451 364 const size_t, const size_t, size_t *); 452 365 extern void async_data_write_void(errno_t); 453 454 extern errno_t async_data_write_forward_fast(async_exch_t *, sysarg_t, sysarg_t,455 sysarg_t, sysarg_t, sysarg_t, ipc_call_t *);456 366 457 367 extern async_sess_t *async_callback_receive(exch_mgmt_t); -
uspace/srv/devman/main.c
reefdd7c r4f13e19 136 136 137 137 async_exch_t *exch = async_exchange_begin(driver->sess); 138 async_forward_ fast(icall, exch, INTERFACE_DDF_CLIENT, handle, 0, IPC_FF_NONE);138 async_forward_1(icall, exch, INTERFACE_DDF_CLIENT, handle, IPC_FF_NONE); 139 139 async_exchange_end(exch); 140 140 … … 215 215 216 216 async_exch_t *exch = async_exchange_begin(driver->sess); 217 async_forward_ fast(icall, exch, INTERFACE_DDF_DRIVER, fun_handle, 0, IPC_FF_NONE);217 async_forward_1(icall, exch, INTERFACE_DDF_DRIVER, fun_handle, IPC_FF_NONE); 218 218 async_exchange_end(exch); 219 219 … … 250 250 251 251 async_exch_t *exch = async_exchange_begin(driver->sess); 252 async_forward_ fast(icall, exch, iface, handle, 0, IPC_FF_NONE);252 async_forward_1(icall, exch, iface, handle, IPC_FF_NONE); 253 253 async_exchange_end(exch); 254 254 -
uspace/srv/fs/locfs/locfs_ops.c
reefdd7c r4f13e19 583 583 584 584 /* Forward the IPC_M_DATA_READ request to the driver */ 585 async_forward_ fast(&call, exch, 0, 0, 0, IPC_FF_ROUTE_FROM_ME);585 async_forward_0(&call, exch, 0, IPC_FF_ROUTE_FROM_ME); 586 586 587 587 async_exchange_end(exch); … … 647 647 648 648 /* Forward the IPC_M_DATA_WRITE request to the driver */ 649 async_forward_ fast(&call, exch, 0, 0, 0, IPC_FF_ROUTE_FROM_ME);649 async_forward_0(&call, exch, 0, IPC_FF_ROUTE_FROM_ME); 650 650 651 651 async_exchange_end(exch); -
uspace/srv/locsrv/locsrv.c
reefdd7c r4f13e19 726 726 727 727 async_exch_t *exch = async_exchange_begin(svc->server->sess); 728 async_forward_ fast(call, exch, iface, svc->id, 0, IPC_FF_NONE);728 async_forward_1(call, exch, iface, svc->id, IPC_FF_NONE); 729 729 async_exchange_end(exch); 730 730 -
uspace/srv/ns/clonable.c
reefdd7c r4f13e19 94 94 95 95 async_exch_t *exch = async_exchange_begin(sess); 96 async_forward_ fast(&csr->call, exch, csr->iface,97 IPC_GET_ARG3(csr->call), 0,IPC_FF_NONE);96 async_forward_1(&csr->call, exch, csr->iface, 97 IPC_GET_ARG3(csr->call), IPC_FF_NONE); 98 98 async_exchange_end(exch); 99 99 -
uspace/srv/ns/service.c
reefdd7c r4f13e19 154 154 { 155 155 async_exch_t *exch = async_exchange_begin(sess); 156 async_forward_fast(call, exch, iface, IPC_GET_ARG3(*call), 0, 157 IPC_FF_NONE); 156 async_forward_1(call, exch, iface, IPC_GET_ARG3(*call), IPC_FF_NONE); 158 157 async_exchange_end(exch); 159 158 } -
uspace/srv/vfs/vfs_ops.c
reefdd7c r4f13e19 637 637 638 638 async_exch_t *exch = vfs_exchange_grab(node->fs_handle); 639 errno_t rc = async_data_read_forward_ fast(exch, VFS_OUT_STAT,640 node->service_id, node->index, true , 0, NULL);639 errno_t rc = async_data_read_forward_3_0(exch, VFS_OUT_STAT, 640 node->service_id, node->index, true); 641 641 vfs_exchange_release(exch); 642 642 … … 654 654 655 655 async_exch_t *exch = vfs_exchange_grab(node->fs_handle); 656 errno_t rc = async_data_read_forward_ fast(exch, VFS_OUT_STATFS,657 node->service_id, node->index, false , 0, NULL);656 errno_t rc = async_data_read_forward_3_0(exch, VFS_OUT_STATFS, 657 node->service_id, node->index, false); 658 658 vfs_exchange_release(exch); 659 659
Note:
See TracChangeset
for help on using the changeset viewer.