Changes in uspace/srv/locsrv/locsrv.c [a35b458:a46e56b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/locsrv/locsrv.c
ra35b458 ra46e56b 339 339 { 340 340 ipc_call_t icall; 341 ipc_callid_t iid= async_get_call(&icall);341 cap_call_handle_t icall_handle = async_get_call(&icall); 342 342 343 343 if (IPC_GET_IMETHOD(icall) != LOC_SERVER_REGISTER) { 344 async_answer_0(i id, EREFUSED);344 async_answer_0(icall_handle, EREFUSED); 345 345 return NULL; 346 346 } … … 349 349 (loc_server_t *) malloc(sizeof(loc_server_t)); 350 350 if (server == NULL) { 351 async_answer_0(i id, ENOMEM);351 async_answer_0(icall_handle, ENOMEM); 352 352 return NULL; 353 353 } … … 360 360 if (rc != EOK) { 361 361 free(server); 362 async_answer_0(i id, rc);362 async_answer_0(icall_handle, rc); 363 363 return NULL; 364 364 } … … 371 371 free(server->name); 372 372 free(server); 373 async_answer_0(i id, ENOTSUP);373 async_answer_0(icall_handle, ENOTSUP); 374 374 return NULL; 375 375 } … … 400 400 fibril_mutex_unlock(&servers_list_mutex); 401 401 402 async_answer_0(i id, EOK);402 async_answer_0(icall_handle, EOK); 403 403 404 404 return server; … … 453 453 * 454 454 */ 455 static void loc_service_register( ipc_callid_t iid, ipc_call_t *icall,455 static void loc_service_register(cap_call_handle_t icall_handle, ipc_call_t *icall, 456 456 loc_server_t *server) 457 457 { 458 458 if (server == NULL) { 459 async_answer_0(i id, EREFUSED);459 async_answer_0(icall_handle, EREFUSED); 460 460 return; 461 461 } … … 465 465 (loc_service_t *) malloc(sizeof(loc_service_t)); 466 466 if (service == NULL) { 467 async_answer_0(i id, ENOMEM);467 async_answer_0(icall_handle, ENOMEM); 468 468 return; 469 469 } … … 475 475 if (rc != EOK) { 476 476 free(service); 477 async_answer_0(i id, rc);477 async_answer_0(icall_handle, rc); 478 478 return; 479 479 } … … 483 483 free(fqsn); 484 484 free(service); 485 async_answer_0(i id, EINVAL);485 async_answer_0(icall_handle, EINVAL); 486 486 return; 487 487 } … … 497 497 free(service->name); 498 498 free(service); 499 async_answer_0(i id, ENOMEM);499 async_answer_0(icall_handle, ENOMEM); 500 500 return; 501 501 } … … 513 513 free(service->name); 514 514 free(service); 515 async_answer_0(i id, EEXIST);515 async_answer_0(icall_handle, EEXIST); 516 516 return; 517 517 } … … 535 535 fibril_mutex_unlock(&services_list_mutex); 536 536 537 async_answer_1(i id, EOK, service->id);537 async_answer_1(icall_handle, EOK, service->id); 538 538 } 539 539 … … 541 541 * 542 542 */ 543 static void loc_service_unregister( ipc_callid_t iid, ipc_call_t *icall,543 static void loc_service_unregister(cap_call_handle_t icall_handle, ipc_call_t *icall, 544 544 loc_server_t *server) 545 545 { … … 550 550 if (svc == NULL) { 551 551 fibril_mutex_unlock(&services_list_mutex); 552 async_answer_0(i id, ENOENT);552 async_answer_0(icall_handle, ENOENT); 553 553 return; 554 554 } … … 565 565 */ 566 566 loc_category_change_event(); 567 async_answer_0(i id, EOK);568 } 569 570 static void loc_category_get_name( ipc_callid_t iid, ipc_call_t *icall)571 { 572 ipc_callid_t callid;567 async_answer_0(icall_handle, EOK); 568 } 569 570 static void loc_category_get_name(cap_call_handle_t icall_handle, ipc_call_t *icall) 571 { 572 cap_call_handle_t chandle; 573 573 size_t size; 574 574 size_t act_size; 575 575 category_t *cat; 576 576 577 if (!async_data_read_receive(&c allid, &size)) {578 async_answer_0(c allid, EREFUSED);579 async_answer_0(i id, EREFUSED);577 if (!async_data_read_receive(&chandle, &size)) { 578 async_answer_0(chandle, EREFUSED); 579 async_answer_0(icall_handle, EREFUSED); 580 580 return; 581 581 } … … 586 586 if (cat == NULL) { 587 587 fibril_mutex_unlock(&cdir.mutex); 588 async_answer_0(c allid, ENOENT);589 async_answer_0(i id, ENOENT);588 async_answer_0(chandle, ENOENT); 589 async_answer_0(icall_handle, ENOENT); 590 590 return; 591 591 } … … 594 594 if (act_size > size) { 595 595 fibril_mutex_unlock(&cdir.mutex); 596 async_answer_0(c allid, EOVERFLOW);597 async_answer_0(i id, EOVERFLOW);598 return; 599 } 600 601 errno_t retval = async_data_read_finalize(c allid, cat->name,596 async_answer_0(chandle, EOVERFLOW); 597 async_answer_0(icall_handle, EOVERFLOW); 598 return; 599 } 600 601 errno_t retval = async_data_read_finalize(chandle, cat->name, 602 602 min(size, act_size)); 603 603 604 604 fibril_mutex_unlock(&cdir.mutex); 605 605 606 async_answer_0(i id, retval);607 } 608 609 static void loc_service_get_name( ipc_callid_t iid, ipc_call_t *icall)610 { 611 ipc_callid_t callid;606 async_answer_0(icall_handle, retval); 607 } 608 609 static void loc_service_get_name(cap_call_handle_t icall_handle, ipc_call_t *icall) 610 { 611 cap_call_handle_t chandle; 612 612 size_t size; 613 613 size_t act_size; … … 615 615 char *fqn; 616 616 617 if (!async_data_read_receive(&c allid, &size)) {618 async_answer_0(c allid, EREFUSED);619 async_answer_0(i id, EREFUSED);617 if (!async_data_read_receive(&chandle, &size)) { 618 async_answer_0(chandle, EREFUSED); 619 async_answer_0(icall_handle, EREFUSED); 620 620 return; 621 621 } … … 626 626 if (svc == NULL) { 627 627 fibril_mutex_unlock(&services_list_mutex); 628 async_answer_0(c allid, ENOENT);629 async_answer_0(i id, ENOENT);628 async_answer_0(chandle, ENOENT); 629 async_answer_0(icall_handle, ENOENT); 630 630 return; 631 631 } … … 633 633 if (asprintf(&fqn, "%s/%s", svc->namespace->name, svc->name) < 0) { 634 634 fibril_mutex_unlock(&services_list_mutex); 635 async_answer_0(c allid, ENOMEM);636 async_answer_0(i id, ENOMEM);635 async_answer_0(chandle, ENOMEM); 636 async_answer_0(icall_handle, ENOMEM); 637 637 return; 638 638 } … … 642 642 free(fqn); 643 643 fibril_mutex_unlock(&services_list_mutex); 644 async_answer_0(c allid, EOVERFLOW);645 async_answer_0(i id, EOVERFLOW);646 return; 647 } 648 649 errno_t retval = async_data_read_finalize(c allid, fqn,644 async_answer_0(chandle, EOVERFLOW); 645 async_answer_0(icall_handle, EOVERFLOW); 646 return; 647 } 648 649 errno_t retval = async_data_read_finalize(chandle, fqn, 650 650 min(size, act_size)); 651 651 free(fqn); … … 653 653 fibril_mutex_unlock(&services_list_mutex); 654 654 655 async_answer_0(i id, retval);656 } 657 658 static void loc_service_get_server_name( ipc_callid_t iid, ipc_call_t *icall)659 { 660 ipc_callid_t callid;655 async_answer_0(icall_handle, retval); 656 } 657 658 static void loc_service_get_server_name(cap_call_handle_t icall_handle, ipc_call_t *icall) 659 { 660 cap_call_handle_t chandle; 661 661 size_t size; 662 662 size_t act_size; 663 663 loc_service_t *svc; 664 664 665 if (!async_data_read_receive(&c allid, &size)) {666 async_answer_0(c allid, EREFUSED);667 async_answer_0(i id, EREFUSED);665 if (!async_data_read_receive(&chandle, &size)) { 666 async_answer_0(chandle, EREFUSED); 667 async_answer_0(icall_handle, EREFUSED); 668 668 return; 669 669 } … … 674 674 if (svc == NULL) { 675 675 fibril_mutex_unlock(&services_list_mutex); 676 async_answer_0(c allid, ENOENT);677 async_answer_0(i id, ENOENT);676 async_answer_0(chandle, ENOENT); 677 async_answer_0(icall_handle, ENOENT); 678 678 return; 679 679 } … … 681 681 if (svc->server == NULL) { 682 682 fibril_mutex_unlock(&services_list_mutex); 683 async_answer_0(c allid, EINVAL);684 async_answer_0(i id, EINVAL);683 async_answer_0(chandle, EINVAL); 684 async_answer_0(icall_handle, EINVAL); 685 685 return; 686 686 } … … 689 689 if (act_size > size) { 690 690 fibril_mutex_unlock(&services_list_mutex); 691 async_answer_0(c allid, EOVERFLOW);692 async_answer_0(i id, EOVERFLOW);693 return; 694 } 695 696 errno_t retval = async_data_read_finalize(c allid, svc->server->name,691 async_answer_0(chandle, EOVERFLOW); 692 async_answer_0(icall_handle, EOVERFLOW); 693 return; 694 } 695 696 errno_t retval = async_data_read_finalize(chandle, svc->server->name, 697 697 min(size, act_size)); 698 698 699 699 fibril_mutex_unlock(&services_list_mutex); 700 700 701 async_answer_0(i id, retval);701 async_answer_0(icall_handle, retval); 702 702 } 703 703 … … 708 708 * 709 709 */ 710 static void loc_forward( ipc_callid_t callid, ipc_call_t *call, void *arg)710 static void loc_forward(cap_call_handle_t chandle, ipc_call_t *call, void *arg) 711 711 { 712 712 fibril_mutex_lock(&services_list_mutex); … … 721 721 if ((svc == NULL) || (svc->server == NULL) || (!svc->server->sess)) { 722 722 fibril_mutex_unlock(&services_list_mutex); 723 async_answer_0(c allid, ENOENT);723 async_answer_0(chandle, ENOENT); 724 724 return; 725 725 } 726 726 727 727 async_exch_t *exch = async_exchange_begin(svc->server->sess); 728 async_forward_fast(c allid, exch, iface, svc->id, 0, IPC_FF_NONE);728 async_forward_fast(chandle, exch, iface, svc->id, 0, IPC_FF_NONE); 729 729 async_exchange_end(exch); 730 730 … … 738 738 * 739 739 */ 740 static void loc_service_get_id( ipc_callid_t iid, ipc_call_t *icall)740 static void loc_service_get_id(cap_call_handle_t icall_handle, ipc_call_t *icall) 741 741 { 742 742 char *fqsn; … … 746 746 LOC_NAME_MAXLEN, 0, NULL); 747 747 if (rc != EOK) { 748 async_answer_0(i id, rc);748 async_answer_0(icall_handle, rc); 749 749 return; 750 750 } … … 754 754 if (!loc_fqsn_split(fqsn, &ns_name, &name)) { 755 755 free(fqsn); 756 async_answer_0(i id, EINVAL);756 async_answer_0(icall_handle, EINVAL); 757 757 return; 758 758 } … … 781 781 } 782 782 783 async_answer_0(i id, ENOENT);783 async_answer_0(icall_handle, ENOENT); 784 784 free(ns_name); 785 785 free(name); … … 788 788 } 789 789 790 async_answer_1(i id, EOK, svc->id);790 async_answer_1(icall_handle, EOK, svc->id); 791 791 792 792 fibril_mutex_unlock(&services_list_mutex); … … 801 801 * 802 802 */ 803 static void loc_namespace_get_id( ipc_callid_t iid, ipc_call_t *icall)803 static void loc_namespace_get_id(cap_call_handle_t icall_handle, ipc_call_t *icall) 804 804 { 805 805 char *name; … … 809 809 LOC_NAME_MAXLEN, 0, NULL); 810 810 if (rc != EOK) { 811 async_answer_0(i id, rc);811 async_answer_0(icall_handle, rc); 812 812 return; 813 813 } … … 834 834 } 835 835 836 async_answer_0(i id, ENOENT);836 async_answer_0(icall_handle, ENOENT); 837 837 free(name); 838 838 fibril_mutex_unlock(&services_list_mutex); … … 840 840 } 841 841 842 async_answer_1(i id, EOK, namespace->id);842 async_answer_1(icall_handle, EOK, namespace->id); 843 843 844 844 fibril_mutex_unlock(&services_list_mutex); … … 855 855 * 856 856 */ 857 static void loc_callback_create( ipc_callid_t iid, ipc_call_t *icall)857 static void loc_callback_create(cap_call_handle_t icall_handle, ipc_call_t *icall) 858 858 { 859 859 cb_sess_t *cb_sess = calloc(1, sizeof(cb_sess_t)); 860 860 if (cb_sess == NULL) { 861 async_answer_0(i id, ENOMEM);861 async_answer_0(icall_handle, ENOMEM); 862 862 return; 863 863 } … … 866 866 if (sess == NULL) { 867 867 free(cb_sess); 868 async_answer_0(i id, ENOMEM);868 async_answer_0(icall_handle, ENOMEM); 869 869 return; 870 870 } … … 877 877 fibril_mutex_unlock(&callback_sess_mutex); 878 878 879 async_answer_0(i id, EOK);879 async_answer_0(icall_handle, EOK); 880 880 } 881 881 … … 899 899 * 900 900 */ 901 static void loc_category_get_id( ipc_callid_t iid, ipc_call_t *icall)901 static void loc_category_get_id(cap_call_handle_t icall_handle, ipc_call_t *icall) 902 902 { 903 903 char *name; … … 908 908 LOC_NAME_MAXLEN, 0, NULL); 909 909 if (rc != EOK) { 910 async_answer_0(i id, rc);910 async_answer_0(icall_handle, rc); 911 911 return; 912 912 } … … 917 917 if (cat == NULL) { 918 918 /* Category not found */ 919 async_answer_0(i id, ENOENT);919 async_answer_0(icall_handle, ENOENT); 920 920 goto cleanup; 921 921 } 922 922 923 async_answer_1(i id, EOK, cat->id);923 async_answer_1(icall_handle, EOK, cat->id); 924 924 cleanup: 925 925 fibril_mutex_unlock(&cdir.mutex); … … 927 927 } 928 928 929 static void loc_id_probe( ipc_callid_t iid, ipc_call_t *icall)929 static void loc_id_probe(cap_call_handle_t icall_handle, ipc_call_t *icall) 930 930 { 931 931 fibril_mutex_lock(&services_list_mutex); … … 937 937 loc_service_find_id(IPC_GET_ARG1(*icall)); 938 938 if (svc == NULL) 939 async_answer_1(i id, EOK, LOC_OBJECT_NONE);939 async_answer_1(icall_handle, EOK, LOC_OBJECT_NONE); 940 940 else 941 async_answer_1(i id, EOK, LOC_OBJECT_SERVICE);941 async_answer_1(icall_handle, EOK, LOC_OBJECT_SERVICE); 942 942 } else 943 async_answer_1(i id, EOK, LOC_OBJECT_NAMESPACE);943 async_answer_1(icall_handle, EOK, LOC_OBJECT_NAMESPACE); 944 944 945 945 fibril_mutex_unlock(&services_list_mutex); 946 946 } 947 947 948 static void loc_get_namespace_count( ipc_callid_t iid, ipc_call_t *icall)948 static void loc_get_namespace_count(cap_call_handle_t icall_handle, ipc_call_t *icall) 949 949 { 950 950 fibril_mutex_lock(&services_list_mutex); 951 async_answer_1(i id, EOK, list_count(&namespaces_list));951 async_answer_1(icall_handle, EOK, list_count(&namespaces_list)); 952 952 fibril_mutex_unlock(&services_list_mutex); 953 953 } 954 954 955 static void loc_get_service_count( ipc_callid_t iid, ipc_call_t *icall)955 static void loc_get_service_count(cap_call_handle_t icall_handle, ipc_call_t *icall) 956 956 { 957 957 fibril_mutex_lock(&services_list_mutex); … … 960 960 loc_namespace_find_id(IPC_GET_ARG1(*icall)); 961 961 if (namespace == NULL) 962 async_answer_0(i id, EEXIST);962 async_answer_0(icall_handle, EEXIST); 963 963 else 964 async_answer_1(i id, EOK, namespace->refcnt);964 async_answer_1(icall_handle, EOK, namespace->refcnt); 965 965 966 966 fibril_mutex_unlock(&services_list_mutex); 967 967 } 968 968 969 static void loc_get_categories( ipc_callid_t iid, ipc_call_t *icall)970 { 971 ipc_callid_t callid;969 static void loc_get_categories(cap_call_handle_t icall_handle, ipc_call_t *icall) 970 { 971 cap_call_handle_t chandle; 972 972 size_t size; 973 973 size_t act_size; 974 974 errno_t rc; 975 975 976 if (!async_data_read_receive(&c allid, &size)) {977 async_answer_0(c allid, EREFUSED);978 async_answer_0(i id, EREFUSED);976 if (!async_data_read_receive(&chandle, &size)) { 977 async_answer_0(chandle, EREFUSED); 978 async_answer_0(icall_handle, EREFUSED); 979 979 return; 980 980 } … … 983 983 if (id_buf == NULL) { 984 984 fibril_mutex_unlock(&cdir.mutex); 985 async_answer_0(c allid, ENOMEM);986 async_answer_0(i id, ENOMEM);985 async_answer_0(chandle, ENOMEM); 986 async_answer_0(icall_handle, ENOMEM); 987 987 return; 988 988 } … … 993 993 if (rc != EOK) { 994 994 fibril_mutex_unlock(&cdir.mutex); 995 async_answer_0(c allid, rc);996 async_answer_0(i id, rc);995 async_answer_0(chandle, rc); 996 async_answer_0(icall_handle, rc); 997 997 return; 998 998 } … … 1000 1000 fibril_mutex_unlock(&cdir.mutex); 1001 1001 1002 errno_t retval = async_data_read_finalize(c allid, id_buf, size);1002 errno_t retval = async_data_read_finalize(chandle, id_buf, size); 1003 1003 free(id_buf); 1004 1004 1005 async_answer_1(i id, retval, act_size);1006 } 1007 1008 static void loc_get_namespaces( ipc_callid_t iid, ipc_call_t *icall)1009 { 1010 ipc_callid_t callid;1005 async_answer_1(icall_handle, retval, act_size); 1006 } 1007 1008 static void loc_get_namespaces(cap_call_handle_t icall_handle, ipc_call_t *icall) 1009 { 1010 cap_call_handle_t chandle; 1011 1011 size_t size; 1012 if (!async_data_read_receive(&c allid, &size)) {1013 async_answer_0(c allid, EREFUSED);1014 async_answer_0(i id, EREFUSED);1012 if (!async_data_read_receive(&chandle, &size)) { 1013 async_answer_0(chandle, EREFUSED); 1014 async_answer_0(icall_handle, EREFUSED); 1015 1015 return; 1016 1016 } 1017 1017 1018 1018 if ((size % sizeof(loc_sdesc_t)) != 0) { 1019 async_answer_0(c allid, EINVAL);1020 async_answer_0(i id, EINVAL);1019 async_answer_0(chandle, EINVAL); 1020 async_answer_0(icall_handle, EINVAL); 1021 1021 return; 1022 1022 } … … 1027 1027 if (count != list_count(&namespaces_list)) { 1028 1028 fibril_mutex_unlock(&services_list_mutex); 1029 async_answer_0(c allid, EOVERFLOW);1030 async_answer_0(i id, EOVERFLOW);1029 async_answer_0(chandle, EOVERFLOW); 1030 async_answer_0(icall_handle, EOVERFLOW); 1031 1031 return; 1032 1032 } … … 1035 1035 if (desc == NULL) { 1036 1036 fibril_mutex_unlock(&services_list_mutex); 1037 async_answer_0(c allid, ENOMEM);1038 async_answer_0(i id, ENOMEM);1037 async_answer_0(chandle, ENOMEM); 1038 async_answer_0(icall_handle, ENOMEM); 1039 1039 return; 1040 1040 } … … 1047 1047 } 1048 1048 1049 errno_t retval = async_data_read_finalize(c allid, desc, size);1049 errno_t retval = async_data_read_finalize(chandle, desc, size); 1050 1050 1051 1051 free(desc); 1052 1052 fibril_mutex_unlock(&services_list_mutex); 1053 1053 1054 async_answer_0(i id, retval);1055 } 1056 1057 static void loc_get_services( ipc_callid_t iid, ipc_call_t *icall)1054 async_answer_0(icall_handle, retval); 1055 } 1056 1057 static void loc_get_services(cap_call_handle_t icall_handle, ipc_call_t *icall) 1058 1058 { 1059 1059 /* FIXME: Use faster algorithm which can make better use 1060 1060 of namespaces */ 1061 1061 1062 ipc_callid_t callid;1062 cap_call_handle_t chandle; 1063 1063 size_t size; 1064 if (!async_data_read_receive(&c allid, &size)) {1065 async_answer_0(c allid, EREFUSED);1066 async_answer_0(i id, EREFUSED);1064 if (!async_data_read_receive(&chandle, &size)) { 1065 async_answer_0(chandle, EREFUSED); 1066 async_answer_0(icall_handle, EREFUSED); 1067 1067 return; 1068 1068 } 1069 1069 1070 1070 if ((size % sizeof(loc_sdesc_t)) != 0) { 1071 async_answer_0(c allid, EINVAL);1072 async_answer_0(i id, EINVAL);1071 async_answer_0(chandle, EINVAL); 1072 async_answer_0(icall_handle, EINVAL); 1073 1073 return; 1074 1074 } … … 1080 1080 if (namespace == NULL) { 1081 1081 fibril_mutex_unlock(&services_list_mutex); 1082 async_answer_0(c allid, ENOENT);1083 async_answer_0(i id, ENOENT);1082 async_answer_0(chandle, ENOENT); 1083 async_answer_0(icall_handle, ENOENT); 1084 1084 return; 1085 1085 } … … 1088 1088 if (count != namespace->refcnt) { 1089 1089 fibril_mutex_unlock(&services_list_mutex); 1090 async_answer_0(c allid, EOVERFLOW);1091 async_answer_0(i id, EOVERFLOW);1090 async_answer_0(chandle, EOVERFLOW); 1091 async_answer_0(icall_handle, EOVERFLOW); 1092 1092 return; 1093 1093 } … … 1096 1096 if (desc == NULL) { 1097 1097 fibril_mutex_unlock(&services_list_mutex); 1098 async_answer_0(c allid, ENOMEM);1099 async_answer_0(i id, EREFUSED);1098 async_answer_0(chandle, ENOMEM); 1099 async_answer_0(icall_handle, EREFUSED); 1100 1100 return; 1101 1101 } … … 1110 1110 } 1111 1111 1112 errno_t retval = async_data_read_finalize(c allid, desc, size);1112 errno_t retval = async_data_read_finalize(chandle, desc, size); 1113 1113 1114 1114 free(desc); 1115 1115 fibril_mutex_unlock(&services_list_mutex); 1116 1116 1117 async_answer_0(i id, retval);1118 } 1119 1120 static void loc_category_get_svcs( ipc_callid_t iid, ipc_call_t *icall)1121 { 1122 ipc_callid_t callid;1117 async_answer_0(icall_handle, retval); 1118 } 1119 1120 static void loc_category_get_svcs(cap_call_handle_t icall_handle, ipc_call_t *icall) 1121 { 1122 cap_call_handle_t chandle; 1123 1123 size_t size; 1124 1124 size_t act_size; 1125 1125 errno_t rc; 1126 1126 1127 if (!async_data_read_receive(&c allid, &size)) {1128 async_answer_0(c allid, EREFUSED);1129 async_answer_0(i id, EREFUSED);1127 if (!async_data_read_receive(&chandle, &size)) { 1128 async_answer_0(chandle, EREFUSED); 1129 async_answer_0(icall_handle, EREFUSED); 1130 1130 return; 1131 1131 } … … 1136 1136 if (cat == NULL) { 1137 1137 fibril_mutex_unlock(&cdir.mutex); 1138 async_answer_0(c allid, ENOENT);1139 async_answer_0(i id, ENOENT);1138 async_answer_0(chandle, ENOENT); 1139 async_answer_0(icall_handle, ENOENT); 1140 1140 return; 1141 1141 } … … 1144 1144 if (id_buf == NULL) { 1145 1145 fibril_mutex_unlock(&cdir.mutex); 1146 async_answer_0(c allid, ENOMEM);1147 async_answer_0(i id, ENOMEM);1146 async_answer_0(chandle, ENOMEM); 1147 async_answer_0(icall_handle, ENOMEM); 1148 1148 return; 1149 1149 } … … 1155 1155 fibril_mutex_unlock(&cat->mutex); 1156 1156 fibril_mutex_unlock(&cdir.mutex); 1157 async_answer_0(c allid, rc);1158 async_answer_0(i id, rc);1157 async_answer_0(chandle, rc); 1158 async_answer_0(icall_handle, rc); 1159 1159 return; 1160 1160 } … … 1163 1163 fibril_mutex_unlock(&cdir.mutex); 1164 1164 1165 errno_t retval = async_data_read_finalize(c allid, id_buf, size);1165 errno_t retval = async_data_read_finalize(chandle, id_buf, size); 1166 1166 free(id_buf); 1167 1167 1168 async_answer_1(i id, retval, act_size);1169 } 1170 1171 1172 static void loc_null_create( ipc_callid_t iid, ipc_call_t *icall)1168 async_answer_1(icall_handle, retval, act_size); 1169 } 1170 1171 1172 static void loc_null_create(cap_call_handle_t icall_handle, ipc_call_t *icall) 1173 1173 { 1174 1174 fibril_mutex_lock(&null_services_mutex); … … 1186 1186 if (!fnd) { 1187 1187 fibril_mutex_unlock(&null_services_mutex); 1188 async_answer_0(i id, ENOMEM);1188 async_answer_0(icall_handle, ENOMEM); 1189 1189 return; 1190 1190 } … … 1196 1196 if (dev_name == NULL) { 1197 1197 fibril_mutex_unlock(&null_services_mutex); 1198 async_answer_0(i id, ENOMEM);1198 async_answer_0(icall_handle, ENOMEM); 1199 1199 return; 1200 1200 } … … 1204 1204 if (service == NULL) { 1205 1205 fibril_mutex_unlock(&null_services_mutex); 1206 async_answer_0(i id, ENOMEM);1206 async_answer_0(icall_handle, ENOMEM); 1207 1207 return; 1208 1208 } … … 1214 1214 fibril_mutex_lock(&services_list_mutex); 1215 1215 fibril_mutex_unlock(&null_services_mutex); 1216 async_answer_0(i id, ENOMEM);1216 async_answer_0(icall_handle, ENOMEM); 1217 1217 return; 1218 1218 } … … 1241 1241 fibril_mutex_unlock(&null_services_mutex); 1242 1242 1243 async_answer_1(i id, EOK, (sysarg_t) i);1244 } 1245 1246 static void loc_null_destroy( ipc_callid_t iid, ipc_call_t *icall)1243 async_answer_1(icall_handle, EOK, (sysarg_t) i); 1244 } 1245 1246 static void loc_null_destroy(cap_call_handle_t icall_handle, ipc_call_t *icall) 1247 1247 { 1248 1248 sysarg_t i = IPC_GET_ARG1(*icall); 1249 1249 if (i >= NULL_SERVICES) { 1250 async_answer_0(i id, ELIMIT);1250 async_answer_0(icall_handle, ELIMIT); 1251 1251 return; 1252 1252 } … … 1256 1256 if (null_services[i] == NULL) { 1257 1257 fibril_mutex_unlock(&null_services_mutex); 1258 async_answer_0(i id, ENOENT);1258 async_answer_0(icall_handle, ENOENT); 1259 1259 return; 1260 1260 } … … 1269 1269 1270 1270 fibril_mutex_unlock(&null_services_mutex); 1271 async_answer_0(i id, EOK);1272 } 1273 1274 static void loc_service_add_to_cat( ipc_callid_t iid, ipc_call_t *icall)1271 async_answer_0(icall_handle, EOK); 1272 } 1273 1274 static void loc_service_add_to_cat(cap_call_handle_t icall_handle, ipc_call_t *icall) 1275 1275 { 1276 1276 category_t *cat; … … 1292 1292 fibril_mutex_unlock(&cdir.mutex); 1293 1293 fibril_mutex_unlock(&services_list_mutex); 1294 async_answer_0(i id, ENOENT);1294 async_answer_0(icall_handle, ENOENT); 1295 1295 return; 1296 1296 } … … 1309 1309 */ 1310 1310 loc_category_change_event(); 1311 async_answer_0(i id, retval);1311 async_answer_0(icall_handle, retval); 1312 1312 } 1313 1313 … … 1393 1393 * 1394 1394 */ 1395 static void loc_connection_supplier( ipc_callid_t iid, ipc_call_t *icall, void *arg)1395 static void loc_connection_supplier(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg) 1396 1396 { 1397 1397 /* Accept connection */ 1398 async_answer_0(i id, EOK);1398 async_answer_0(icall_handle, EOK); 1399 1399 1400 1400 loc_server_t *server = loc_server_register(); … … 1404 1404 while (true) { 1405 1405 ipc_call_t call; 1406 ipc_callid_t callid= async_get_call(&call);1406 cap_call_handle_t chandle = async_get_call(&call); 1407 1407 1408 1408 if (!IPC_GET_IMETHOD(call)) … … 1412 1412 case LOC_SERVER_UNREGISTER: 1413 1413 if (server == NULL) 1414 async_answer_0(c allid, ENOENT);1414 async_answer_0(chandle, ENOENT); 1415 1415 else 1416 async_answer_0(c allid, EOK);1416 async_answer_0(chandle, EOK); 1417 1417 break; 1418 1418 case LOC_SERVICE_ADD_TO_CAT: 1419 1419 /* Add service to category */ 1420 loc_service_add_to_cat(c allid, &call);1420 loc_service_add_to_cat(chandle, &call); 1421 1421 break; 1422 1422 case LOC_SERVICE_REGISTER: 1423 1423 /* Register one service */ 1424 loc_service_register(c allid, &call, server);1424 loc_service_register(chandle, &call, server); 1425 1425 break; 1426 1426 case LOC_SERVICE_UNREGISTER: 1427 1427 /* Remove one service */ 1428 loc_service_unregister(c allid, &call, server);1428 loc_service_unregister(chandle, &call, server); 1429 1429 break; 1430 1430 case LOC_SERVICE_GET_ID: 1431 loc_service_get_id(c allid, &call);1431 loc_service_get_id(chandle, &call); 1432 1432 break; 1433 1433 case LOC_NAMESPACE_GET_ID: 1434 loc_namespace_get_id(c allid, &call);1434 loc_namespace_get_id(chandle, &call); 1435 1435 break; 1436 1436 default: 1437 async_answer_0(c allid, ENOENT);1437 async_answer_0(chandle, ENOENT); 1438 1438 } 1439 1439 } … … 1451 1451 * 1452 1452 */ 1453 static void loc_connection_consumer( ipc_callid_t iid, ipc_call_t *icall, void *arg)1453 static void loc_connection_consumer(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg) 1454 1454 { 1455 1455 /* Accept connection */ 1456 async_answer_0(i id, EOK);1456 async_answer_0(icall_handle, EOK); 1457 1457 1458 1458 while (true) { 1459 1459 ipc_call_t call; 1460 ipc_callid_t callid= async_get_call(&call);1460 cap_call_handle_t chandle = async_get_call(&call); 1461 1461 1462 1462 if (!IPC_GET_IMETHOD(call)) … … 1465 1465 switch (IPC_GET_IMETHOD(call)) { 1466 1466 case LOC_SERVICE_GET_ID: 1467 loc_service_get_id(c allid, &call);1467 loc_service_get_id(chandle, &call); 1468 1468 break; 1469 1469 case LOC_SERVICE_GET_NAME: 1470 loc_service_get_name(c allid, &call);1470 loc_service_get_name(chandle, &call); 1471 1471 break; 1472 1472 case LOC_SERVICE_GET_SERVER_NAME: 1473 loc_service_get_server_name(c allid, &call);1473 loc_service_get_server_name(chandle, &call); 1474 1474 break; 1475 1475 case LOC_NAMESPACE_GET_ID: 1476 loc_namespace_get_id(c allid, &call);1476 loc_namespace_get_id(chandle, &call); 1477 1477 break; 1478 1478 case LOC_CALLBACK_CREATE: 1479 loc_callback_create(c allid, &call);1479 loc_callback_create(chandle, &call); 1480 1480 break; 1481 1481 case LOC_CATEGORY_GET_ID: 1482 loc_category_get_id(c allid, &call);1482 loc_category_get_id(chandle, &call); 1483 1483 break; 1484 1484 case LOC_CATEGORY_GET_NAME: 1485 loc_category_get_name(c allid, &call);1485 loc_category_get_name(chandle, &call); 1486 1486 break; 1487 1487 case LOC_CATEGORY_GET_SVCS: 1488 loc_category_get_svcs(c allid, &call);1488 loc_category_get_svcs(chandle, &call); 1489 1489 break; 1490 1490 case LOC_ID_PROBE: 1491 loc_id_probe(c allid, &call);1491 loc_id_probe(chandle, &call); 1492 1492 break; 1493 1493 case LOC_NULL_CREATE: 1494 loc_null_create(c allid, &call);1494 loc_null_create(chandle, &call); 1495 1495 break; 1496 1496 case LOC_NULL_DESTROY: 1497 loc_null_destroy(c allid, &call);1497 loc_null_destroy(chandle, &call); 1498 1498 break; 1499 1499 case LOC_GET_NAMESPACE_COUNT: 1500 loc_get_namespace_count(c allid, &call);1500 loc_get_namespace_count(chandle, &call); 1501 1501 break; 1502 1502 case LOC_GET_SERVICE_COUNT: 1503 loc_get_service_count(c allid, &call);1503 loc_get_service_count(chandle, &call); 1504 1504 break; 1505 1505 case LOC_GET_CATEGORIES: 1506 loc_get_categories(c allid, &call);1506 loc_get_categories(chandle, &call); 1507 1507 break; 1508 1508 case LOC_GET_NAMESPACES: 1509 loc_get_namespaces(c allid, &call);1509 loc_get_namespaces(chandle, &call); 1510 1510 break; 1511 1511 case LOC_GET_SERVICES: 1512 loc_get_services(c allid, &call);1512 loc_get_services(chandle, &call); 1513 1513 break; 1514 1514 default: 1515 async_answer_0(c allid, ENOENT);1515 async_answer_0(chandle, ENOENT); 1516 1516 } 1517 1517 }
Note:
See TracChangeset
for help on using the changeset viewer.