.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global BTA_HhEnable BTA_HhEnable: /* 802C275C 002BE3BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C2760 002BE3C0 7C 08 02 A6 */ mflr r0 /* 802C2764 002BE3C4 90 01 00 24 */ stw r0, 0x24(r1) /* 802C2768 002BE3C8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C276C 002BE3CC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C2770 002BE3D0 7C 9E 23 78 */ mr r30, r4 /* 802C2774 002BE3D4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C2778 002BE3D8 7C 7D 1B 78 */ mr r29, r3 /* 802C277C 002BE3DC 4B FF 89 29 */ bl GKI_sched_lock /* 802C2780 002BE3E0 38 60 00 17 */ li r3, 0x17 /* 802C2784 002BE3E4 38 82 A4 68 */ addi r4, r2, lbl_80642A68-_SDA2_BASE_ /* 802C2788 002BE3E8 4B FF B2 71 */ bl bta_sys_register /* 802C278C 002BE3EC 4B FF 89 1D */ bl GKI_sched_unlock /* 802C2790 002BE3F0 38 60 00 34 */ li r3, 0x34 /* 802C2794 002BE3F4 4B FF 73 19 */ bl GKI_getbuf /* 802C2798 002BE3F8 2C 03 00 00 */ cmpwi r3, 0 /* 802C279C 002BE3FC 7C 7F 1B 78 */ mr r31, r3 /* 802C27A0 002BE400 41 82 00 28 */ beq lbl_802C27C8 /* 802C27A4 002BE404 38 80 00 00 */ li r4, 0 /* 802C27A8 002BE408 38 A0 00 34 */ li r5, 0x34 /* 802C27AC 002BE40C 4B D4 19 59 */ bl memset /* 802C27B0 002BE410 38 00 17 0C */ li r0, 0x170c /* 802C27B4 002BE414 7F E3 FB 78 */ mr r3, r31 /* 802C27B8 002BE418 B0 1F 00 00 */ sth r0, 0(r31) /* 802C27BC 002BE41C 93 DF 00 30 */ stw r30, 0x30(r31) /* 802C27C0 002BE420 9B BF 00 08 */ stb r29, 8(r31) /* 802C27C4 002BE424 4B FF B2 49 */ bl bta_sys_sendmsg lbl_802C27C8: /* 802C27C8 002BE428 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C27CC 002BE42C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C27D0 002BE430 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C27D4 002BE434 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C27D8 002BE438 7C 08 03 A6 */ mtlr r0 /* 802C27DC 002BE43C 38 21 00 20 */ addi r1, r1, 0x20 /* 802C27E0 002BE440 4E 80 00 20 */ blr /* 802C27E4 002BE444 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C27E8 002BE448 7C 08 02 A6 */ mflr r0 /* 802C27EC 002BE44C 38 60 00 08 */ li r3, 8 /* 802C27F0 002BE450 90 01 00 14 */ stw r0, 0x14(r1) /* 802C27F4 002BE454 4B FF 72 B9 */ bl GKI_getbuf /* 802C27F8 002BE458 2C 03 00 00 */ cmpwi r3, 0 /* 802C27FC 002BE45C 41 82 00 10 */ beq lbl_802C280C /* 802C2800 002BE460 38 00 17 0D */ li r0, 0x170d /* 802C2804 002BE464 B0 03 00 00 */ sth r0, 0(r3) /* 802C2808 002BE468 4B FF B2 05 */ bl bta_sys_sendmsg lbl_802C280C: /* 802C280C 002BE46C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C2810 002BE470 7C 08 03 A6 */ mtlr r0 /* 802C2814 002BE474 38 21 00 10 */ addi r1, r1, 0x10 /* 802C2818 002BE478 4E 80 00 20 */ blr .global BTA_HhClose BTA_HhClose: /* 802C281C 002BE47C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C2820 002BE480 7C 08 02 A6 */ mflr r0 /* 802C2824 002BE484 90 01 00 14 */ stw r0, 0x14(r1) /* 802C2828 002BE488 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C282C 002BE48C 93 C1 00 08 */ stw r30, 8(r1) /* 802C2830 002BE490 7C 7E 1B 78 */ mr r30, r3 /* 802C2834 002BE494 38 60 00 08 */ li r3, 8 /* 802C2838 002BE498 4B FF 72 75 */ bl GKI_getbuf /* 802C283C 002BE49C 2C 03 00 00 */ cmpwi r3, 0 /* 802C2840 002BE4A0 7C 7F 1B 78 */ mr r31, r3 /* 802C2844 002BE4A4 41 82 00 24 */ beq lbl_802C2868 /* 802C2848 002BE4A8 38 80 00 00 */ li r4, 0 /* 802C284C 002BE4AC 38 A0 00 08 */ li r5, 8 /* 802C2850 002BE4B0 4B D4 18 B5 */ bl memset /* 802C2854 002BE4B4 38 00 17 01 */ li r0, 0x1701 /* 802C2858 002BE4B8 7F E3 FB 78 */ mr r3, r31 /* 802C285C 002BE4BC B0 1F 00 00 */ sth r0, 0(r31) /* 802C2860 002BE4C0 B3 DF 00 06 */ sth r30, 6(r31) /* 802C2864 002BE4C4 4B FF B1 A9 */ bl bta_sys_sendmsg lbl_802C2868: /* 802C2868 002BE4C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C286C 002BE4CC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C2870 002BE4D0 83 C1 00 08 */ lwz r30, 8(r1) /* 802C2874 002BE4D4 7C 08 03 A6 */ mtlr r0 /* 802C2878 002BE4D8 38 21 00 10 */ addi r1, r1, 0x10 /* 802C287C 002BE4DC 4E 80 00 20 */ blr .global BTA_HhOpen BTA_HhOpen: /* 802C2880 002BE4E0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C2884 002BE4E4 7C 08 02 A6 */ mflr r0 /* 802C2888 002BE4E8 90 01 00 24 */ stw r0, 0x24(r1) /* 802C288C 002BE4EC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C2890 002BE4F0 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C2894 002BE4F4 7C BE 2B 78 */ mr r30, r5 /* 802C2898 002BE4F8 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C289C 002BE4FC 7C 9D 23 78 */ mr r29, r4 /* 802C28A0 002BE500 93 81 00 10 */ stw r28, 0x10(r1) /* 802C28A4 002BE504 7C 7C 1B 78 */ mr r28, r3 /* 802C28A8 002BE508 38 60 00 10 */ li r3, 0x10 /* 802C28AC 002BE50C 4B FF 72 01 */ bl GKI_getbuf /* 802C28B0 002BE510 2C 03 00 00 */ cmpwi r3, 0 /* 802C28B4 002BE514 7C 7F 1B 78 */ mr r31, r3 /* 802C28B8 002BE518 41 82 00 40 */ beq lbl_802C28F8 /* 802C28BC 002BE51C 38 80 00 00 */ li r4, 0 /* 802C28C0 002BE520 38 A0 00 10 */ li r5, 0x10 /* 802C28C4 002BE524 4B D4 18 41 */ bl memset /* 802C28C8 002BE528 38 60 17 00 */ li r3, 0x1700 /* 802C28CC 002BE52C 38 00 00 FF */ li r0, 0xff /* 802C28D0 002BE530 B0 7F 00 00 */ sth r3, 0(r31) /* 802C28D4 002BE534 7F 84 E3 78 */ mr r4, r28 /* 802C28D8 002BE538 38 7F 00 08 */ addi r3, r31, 8 /* 802C28DC 002BE53C B0 1F 00 06 */ sth r0, 6(r31) /* 802C28E0 002BE540 9B DF 00 0E */ stb r30, 0xe(r31) /* 802C28E4 002BE544 9B BF 00 0F */ stb r29, 0xf(r31) /* 802C28E8 002BE548 4B FF AC 79 */ bl bdcpy /* 802C28EC 002BE54C 7F E3 FB 78 */ mr r3, r31 /* 802C28F0 002BE550 4B FF B1 1D */ bl bta_sys_sendmsg /* 802C28F4 002BE554 48 00 00 20 */ b lbl_802C2914 lbl_802C28F8: /* 802C28F8 002BE558 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C28FC 002BE55C 28 00 00 01 */ cmplwi r0, 1 /* 802C2900 002BE560 41 80 00 14 */ blt lbl_802C2914 /* 802C2904 002BE564 3C 80 80 44 */ lis r4, lbl_804406F0@ha /* 802C2908 002BE568 38 60 05 00 */ li r3, 0x500 /* 802C290C 002BE56C 38 84 06 F0 */ addi r4, r4, lbl_804406F0@l /* 802C2910 002BE570 4B FF A6 01 */ bl LogMsg_0 lbl_802C2914: /* 802C2914 002BE574 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C2918 002BE578 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C291C 002BE57C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C2920 002BE580 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C2924 002BE584 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C2928 002BE588 7C 08 03 A6 */ mtlr r0 /* 802C292C 002BE58C 38 21 00 20 */ addi r1, r1, 0x20 /* 802C2930 002BE590 4E 80 00 20 */ blr .global BTA_HhSendData BTA_HhSendData: /* 802C2934 002BE594 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C2938 002BE598 7C 08 02 A6 */ mflr r0 /* 802C293C 002BE59C 90 01 00 24 */ stw r0, 0x24(r1) /* 802C2940 002BE5A0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C2944 002BE5A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C2948 002BE5A8 7C 9E 23 78 */ mr r30, r4 /* 802C294C 002BE5AC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C2950 002BE5B0 7C 7D 1B 78 */ mr r29, r3 /* 802C2954 002BE5B4 38 60 00 14 */ li r3, 0x14 /* 802C2958 002BE5B8 4B FF 71 55 */ bl GKI_getbuf /* 802C295C 002BE5BC 2C 03 00 00 */ cmpwi r3, 0 /* 802C2960 002BE5C0 7C 7F 1B 78 */ mr r31, r3 /* 802C2964 002BE5C4 41 82 00 44 */ beq lbl_802C29A8 /* 802C2968 002BE5C8 38 80 00 00 */ li r4, 0 /* 802C296C 002BE5CC 38 A0 00 14 */ li r5, 0x14 /* 802C2970 002BE5D0 4B D4 17 95 */ bl memset /* 802C2974 002BE5D4 38 00 17 08 */ li r0, 0x1708 /* 802C2978 002BE5D8 38 A0 00 0A */ li r5, 0xa /* 802C297C 002BE5DC B0 1F 00 00 */ sth r0, 0(r31) /* 802C2980 002BE5E0 38 80 00 00 */ li r4, 0 /* 802C2984 002BE5E4 38 00 00 02 */ li r0, 2 /* 802C2988 002BE5E8 7F E3 FB 78 */ mr r3, r31 /* 802C298C 002BE5EC B3 BF 00 06 */ sth r29, 6(r31) /* 802C2990 002BE5F0 98 BF 00 08 */ stb r5, 8(r31) /* 802C2994 002BE5F4 B0 9F 00 0C */ sth r4, 0xc(r31) /* 802C2998 002BE5F8 98 1F 00 09 */ stb r0, 9(r31) /* 802C299C 002BE5FC 93 DF 00 10 */ stw r30, 0x10(r31) /* 802C29A0 002BE600 98 9F 00 0A */ stb r4, 0xa(r31) /* 802C29A4 002BE604 4B FF B0 69 */ bl bta_sys_sendmsg lbl_802C29A8: /* 802C29A8 002BE608 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C29AC 002BE60C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C29B0 002BE610 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C29B4 002BE614 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C29B8 002BE618 7C 08 03 A6 */ mtlr r0 /* 802C29BC 002BE61C 38 21 00 20 */ addi r1, r1, 0x20 /* 802C29C0 002BE620 4E 80 00 20 */ blr .global BTA_HhAddDev BTA_HhAddDev: /* 802C29C4 002BE624 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C29C8 002BE628 7C 08 02 A6 */ mflr r0 /* 802C29CC 002BE62C 90 01 00 24 */ stw r0, 0x24(r1) /* 802C29D0 002BE630 39 61 00 20 */ addi r11, r1, 0x20 /* 802C29D4 002BE634 4B F0 47 51 */ bl _savegpr_26 /* 802C29D8 002BE638 7C 7A 1B 78 */ mr r26, r3 /* 802C29DC 002BE63C 7C 9B 23 78 */ mr r27, r4 /* 802C29E0 002BE640 7C BC 2B 78 */ mr r28, r5 /* 802C29E4 002BE644 7C DD 33 78 */ mr r29, r6 /* 802C29E8 002BE648 7C FE 3B 78 */ mr r30, r7 /* 802C29EC 002BE64C 38 60 00 1C */ li r3, 0x1c /* 802C29F0 002BE650 4B FF 70 BD */ bl GKI_getbuf /* 802C29F4 002BE654 2C 03 00 00 */ cmpwi r3, 0 /* 802C29F8 002BE658 7C 7F 1B 78 */ mr r31, r3 /* 802C29FC 002BE65C 41 82 00 58 */ beq lbl_802C2A54 /* 802C2A00 002BE660 38 80 00 00 */ li r4, 0 /* 802C2A04 002BE664 38 A0 00 1C */ li r5, 0x1c /* 802C2A08 002BE668 4B D4 16 FD */ bl memset /* 802C2A0C 002BE66C 38 00 17 0A */ li r0, 0x170a /* 802C2A10 002BE670 38 A0 00 0B */ li r5, 0xb /* 802C2A14 002BE674 B0 1F 00 00 */ sth r0, 0(r31) /* 802C2A18 002BE678 38 00 00 FF */ li r0, 0xff /* 802C2A1C 002BE67C 7F C4 F3 78 */ mr r4, r30 /* 802C2A20 002BE680 38 7F 00 14 */ addi r3, r31, 0x14 /* 802C2A24 002BE684 B0 BF 00 10 */ sth r5, 0x10(r31) /* 802C2A28 002BE688 38 A0 00 08 */ li r5, 8 /* 802C2A2C 002BE68C B0 1F 00 06 */ sth r0, 6(r31) /* 802C2A30 002BE690 B3 7F 00 0E */ sth r27, 0xe(r31) /* 802C2A34 002BE694 9B 9F 00 12 */ stb r28, 0x12(r31) /* 802C2A38 002BE698 9B BF 00 13 */ stb r29, 0x13(r31) /* 802C2A3C 002BE69C 4B D4 15 C5 */ bl memcpy /* 802C2A40 002BE6A0 7F 44 D3 78 */ mr r4, r26 /* 802C2A44 002BE6A4 38 7F 00 08 */ addi r3, r31, 8 /* 802C2A48 002BE6A8 4B FF AB 19 */ bl bdcpy /* 802C2A4C 002BE6AC 7F E3 FB 78 */ mr r3, r31 /* 802C2A50 002BE6B0 4B FF AF BD */ bl bta_sys_sendmsg lbl_802C2A54: /* 802C2A54 002BE6B4 39 61 00 20 */ addi r11, r1, 0x20 /* 802C2A58 002BE6B8 4B F0 47 19 */ bl _restgpr_26 /* 802C2A5C 002BE6BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C2A60 002BE6C0 7C 08 03 A6 */ mtlr r0 /* 802C2A64 002BE6C4 38 21 00 20 */ addi r1, r1, 0x20 /* 802C2A68 002BE6C8 4E 80 00 20 */ blr .global BTA_HhRemoveDev BTA_HhRemoveDev: /* 802C2A6C 002BE6CC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C2A70 002BE6D0 7C 08 02 A6 */ mflr r0 /* 802C2A74 002BE6D4 90 01 00 14 */ stw r0, 0x14(r1) /* 802C2A78 002BE6D8 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C2A7C 002BE6DC 93 C1 00 08 */ stw r30, 8(r1) /* 802C2A80 002BE6E0 7C 7E 1B 78 */ mr r30, r3 /* 802C2A84 002BE6E4 38 60 00 1C */ li r3, 0x1c /* 802C2A88 002BE6E8 4B FF 70 25 */ bl GKI_getbuf /* 802C2A8C 002BE6EC 2C 03 00 00 */ cmpwi r3, 0 /* 802C2A90 002BE6F0 7C 7F 1B 78 */ mr r31, r3 /* 802C2A94 002BE6F4 41 82 00 2C */ beq lbl_802C2AC0 /* 802C2A98 002BE6F8 38 80 00 00 */ li r4, 0 /* 802C2A9C 002BE6FC 38 A0 00 1C */ li r5, 0x1c /* 802C2AA0 002BE700 4B D4 16 65 */ bl memset /* 802C2AA4 002BE704 38 60 17 0A */ li r3, 0x170a /* 802C2AA8 002BE708 38 00 00 0C */ li r0, 0xc /* 802C2AAC 002BE70C B0 7F 00 00 */ sth r3, 0(r31) /* 802C2AB0 002BE710 7F E3 FB 78 */ mr r3, r31 /* 802C2AB4 002BE714 B0 1F 00 10 */ sth r0, 0x10(r31) /* 802C2AB8 002BE718 B3 DF 00 06 */ sth r30, 6(r31) /* 802C2ABC 002BE71C 4B FF AF 51 */ bl bta_sys_sendmsg lbl_802C2AC0: /* 802C2AC0 002BE720 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C2AC4 002BE724 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C2AC8 002BE728 83 C1 00 08 */ lwz r30, 8(r1) /* 802C2ACC 002BE72C 7C 08 03 A6 */ mtlr r0 /* 802C2AD0 002BE730 38 21 00 10 */ addi r1, r1, 0x10 /* 802C2AD4 002BE734 4E 80 00 20 */ blr .global BTA_HhGetAclQueueInfo BTA_HhGetAclQueueInfo: /* 802C2AD8 002BE738 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C2ADC 002BE73C 7C 08 02 A6 */ mflr r0 /* 802C2AE0 002BE740 38 60 00 08 */ li r3, 8 /* 802C2AE4 002BE744 90 01 00 14 */ stw r0, 0x14(r1) /* 802C2AE8 002BE748 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C2AEC 002BE74C 4B FF 6F C1 */ bl GKI_getbuf /* 802C2AF0 002BE750 2C 03 00 00 */ cmpwi r3, 0 /* 802C2AF4 002BE754 7C 7F 1B 78 */ mr r31, r3 /* 802C2AF8 002BE758 41 82 00 20 */ beq lbl_802C2B18 /* 802C2AFC 002BE75C 38 80 00 00 */ li r4, 0 /* 802C2B00 002BE760 38 A0 00 08 */ li r5, 8 /* 802C2B04 002BE764 4B D4 16 01 */ bl memset /* 802C2B08 002BE768 38 00 17 0E */ li r0, 0x170e /* 802C2B0C 002BE76C 7F E3 FB 78 */ mr r3, r31 /* 802C2B10 002BE770 B0 1F 00 00 */ sth r0, 0(r31) /* 802C2B14 002BE774 4B FF AE F9 */ bl bta_sys_sendmsg lbl_802C2B18: /* 802C2B18 002BE778 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C2B1C 002BE77C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C2B20 002BE780 7C 08 03 A6 */ mtlr r0 /* 802C2B24 002BE784 38 21 00 10 */ addi r1, r1, 0x10 /* 802C2B28 002BE788 4E 80 00 20 */ blr