.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global gpiFailedOpCallback gpiFailedOpCallback: /* 80343B64 0033F7C4 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80343B68 0033F7C8 7C 08 02 A6 */ mflr r0 /* 80343B6C 0033F7CC 80 A4 00 0C */ lwz r5, 0xc(r4) /* 80343B70 0033F7D0 90 01 00 54 */ stw r0, 0x54(r1) /* 80343B74 0033F7D4 80 04 00 10 */ lwz r0, 0x10(r4) /* 80343B78 0033F7D8 2C 05 00 00 */ cmpwi r5, 0 /* 80343B7C 0033F7DC 93 E1 00 4C */ stw r31, 0x4c(r1) /* 80343B80 0033F7E0 7C 9F 23 78 */ mr r31, r4 /* 80343B84 0033F7E4 93 C1 00 48 */ stw r30, 0x48(r1) /* 80343B88 0033F7E8 7C 7E 1B 78 */ mr r30, r3 /* 80343B8C 0033F7EC 93 A1 00 44 */ stw r29, 0x44(r1) /* 80343B90 0033F7F0 93 81 00 40 */ stw r28, 0x40(r1) /* 80343B94 0033F7F4 90 A1 00 38 */ stw r5, 0x38(r1) /* 80343B98 0033F7F8 83 A3 00 00 */ lwz r29, 0(r3) /* 80343B9C 0033F7FC 90 01 00 3C */ stw r0, 0x3c(r1) /* 80343BA0 0033F800 41 82 03 18 */ beq lbl_80343EB8 /* 80343BA4 0033F804 80 04 00 00 */ lwz r0, 0(r4) /* 80343BA8 0033F808 2C 00 00 03 */ cmpwi r0, 3 /* 80343BAC 0033F80C 41 82 02 1C */ beq lbl_80343DC8 /* 80343BB0 0033F810 40 80 00 1C */ bge lbl_80343BCC /* 80343BB4 0033F814 2C 00 00 01 */ cmpwi r0, 1 /* 80343BB8 0033F818 41 82 00 B4 */ beq lbl_80343C6C /* 80343BBC 0033F81C 40 80 01 98 */ bge lbl_80343D54 /* 80343BC0 0033F820 2C 00 00 00 */ cmpwi r0, 0 /* 80343BC4 0033F824 40 80 00 18 */ bge lbl_80343BDC /* 80343BC8 0033F828 48 00 02 F0 */ b lbl_80343EB8 lbl_80343BCC: /* 80343BCC 0033F82C 2C 00 00 05 */ cmpwi r0, 5 /* 80343BD0 0033F830 41 82 01 10 */ beq lbl_80343CE0 /* 80343BD4 0033F834 40 80 02 E4 */ bge lbl_80343EB8 /* 80343BD8 0033F838 48 00 02 6C */ b lbl_80343E44 lbl_80343BDC: /* 80343BDC 0033F83C 38 60 00 20 */ li r3, 0x20 /* 80343BE0 0033F840 4B FF 57 35 */ bl gsimalloc /* 80343BE4 0033F844 2C 03 00 00 */ cmpwi r3, 0 /* 80343BE8 0033F848 7C 7C 1B 78 */ mr r28, r3 /* 80343BEC 0033F84C 40 82 00 1C */ bne lbl_80343C08 /* 80343BF0 0033F850 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343BF4 0033F854 7F C3 F3 78 */ mr r3, r30 /* 80343BF8 0033F858 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343BFC 0033F85C 48 00 48 5D */ bl gpiSetErrorString /* 80343C00 0033F860 38 60 00 01 */ li r3, 1 /* 80343C04 0033F864 48 00 02 B8 */ b lbl_80343EBC lbl_80343C08: /* 80343C08 0033F868 38 80 00 00 */ li r4, 0 /* 80343C0C 0033F86C 38 A0 00 20 */ li r5, 0x20 /* 80343C10 0033F870 4B CC 04 F5 */ bl memset /* 80343C14 0033F874 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343C18 0033F878 90 1C 00 00 */ stw r0, 0(r28) /* 80343C1C 0033F87C 80 1D 04 34 */ lwz r0, 0x434(r29) /* 80343C20 0033F880 2C 00 02 01 */ cmpwi r0, 0x201 /* 80343C24 0033F884 40 82 00 14 */ bne lbl_80343C38 /* 80343C28 0033F888 80 7D 01 A0 */ lwz r3, 0x1a0(r29) /* 80343C2C 0033F88C 38 00 00 00 */ li r0, 0 /* 80343C30 0033F890 90 7C 00 04 */ stw r3, 4(r28) /* 80343C34 0033F894 90 1D 01 A0 */ stw r0, 0x1a0(r29) lbl_80343C38: /* 80343C38 0033F898 80 81 00 38 */ lwz r4, 0x38(r1) /* 80343C3C 0033F89C 7F C3 F3 78 */ mr r3, r30 /* 80343C40 0033F8A0 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343C44 0033F8A4 7F 85 E3 78 */ mr r5, r28 /* 80343C48 0033F8A8 90 81 00 30 */ stw r4, 0x30(r1) /* 80343C4C 0033F8AC 7F E6 FB 78 */ mr r6, r31 /* 80343C50 0033F8B0 38 81 00 30 */ addi r4, r1, 0x30 /* 80343C54 0033F8B4 38 E0 00 00 */ li r7, 0 /* 80343C58 0033F8B8 90 01 00 34 */ stw r0, 0x34(r1) /* 80343C5C 0033F8BC 4B FF C0 CD */ bl gpiAddCallback /* 80343C60 0033F8C0 2C 03 00 00 */ cmpwi r3, 0 /* 80343C64 0033F8C4 41 82 02 54 */ beq lbl_80343EB8 /* 80343C68 0033F8C8 48 00 02 54 */ b lbl_80343EBC lbl_80343C6C: /* 80343C6C 0033F8CC 38 60 00 08 */ li r3, 8 /* 80343C70 0033F8D0 4B FF 56 A5 */ bl gsimalloc /* 80343C74 0033F8D4 2C 03 00 00 */ cmpwi r3, 0 /* 80343C78 0033F8D8 7C 7C 1B 78 */ mr r28, r3 /* 80343C7C 0033F8DC 40 82 00 1C */ bne lbl_80343C98 /* 80343C80 0033F8E0 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343C84 0033F8E4 7F C3 F3 78 */ mr r3, r30 /* 80343C88 0033F8E8 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343C8C 0033F8EC 48 00 47 CD */ bl gpiSetErrorString /* 80343C90 0033F8F0 38 60 00 01 */ li r3, 1 /* 80343C94 0033F8F4 48 00 02 28 */ b lbl_80343EBC lbl_80343C98: /* 80343C98 0033F8F8 38 80 00 00 */ li r4, 0 /* 80343C9C 0033F8FC 38 A0 00 08 */ li r5, 8 /* 80343CA0 0033F900 4B CC 04 65 */ bl memset /* 80343CA4 0033F904 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343CA8 0033F908 7F C3 F3 78 */ mr r3, r30 /* 80343CAC 0033F90C 80 E1 00 38 */ lwz r7, 0x38(r1) /* 80343CB0 0033F910 7F 85 E3 78 */ mr r5, r28 /* 80343CB4 0033F914 90 1C 00 00 */ stw r0, 0(r28) /* 80343CB8 0033F918 7F E6 FB 78 */ mr r6, r31 /* 80343CBC 0033F91C 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343CC0 0033F920 38 81 00 28 */ addi r4, r1, 0x28 /* 80343CC4 0033F924 90 E1 00 28 */ stw r7, 0x28(r1) /* 80343CC8 0033F928 38 E0 00 00 */ li r7, 0 /* 80343CCC 0033F92C 90 01 00 2C */ stw r0, 0x2c(r1) /* 80343CD0 0033F930 4B FF C0 59 */ bl gpiAddCallback /* 80343CD4 0033F934 2C 03 00 00 */ cmpwi r3, 0 /* 80343CD8 0033F938 41 82 01 E0 */ beq lbl_80343EB8 /* 80343CDC 0033F93C 48 00 01 E0 */ b lbl_80343EBC lbl_80343CE0: /* 80343CE0 0033F940 38 60 00 08 */ li r3, 8 /* 80343CE4 0033F944 4B FF 56 31 */ bl gsimalloc /* 80343CE8 0033F948 2C 03 00 00 */ cmpwi r3, 0 /* 80343CEC 0033F94C 7C 7C 1B 78 */ mr r28, r3 /* 80343CF0 0033F950 40 82 00 1C */ bne lbl_80343D0C /* 80343CF4 0033F954 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343CF8 0033F958 7F C3 F3 78 */ mr r3, r30 /* 80343CFC 0033F95C 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343D00 0033F960 48 00 47 59 */ bl gpiSetErrorString /* 80343D04 0033F964 38 60 00 01 */ li r3, 1 /* 80343D08 0033F968 48 00 01 B4 */ b lbl_80343EBC lbl_80343D0C: /* 80343D0C 0033F96C 38 80 00 00 */ li r4, 0 /* 80343D10 0033F970 38 A0 00 08 */ li r5, 8 /* 80343D14 0033F974 4B CC 03 F1 */ bl memset /* 80343D18 0033F978 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343D1C 0033F97C 7F C3 F3 78 */ mr r3, r30 /* 80343D20 0033F980 80 E1 00 38 */ lwz r7, 0x38(r1) /* 80343D24 0033F984 7F 85 E3 78 */ mr r5, r28 /* 80343D28 0033F988 90 1C 00 00 */ stw r0, 0(r28) /* 80343D2C 0033F98C 7F E6 FB 78 */ mr r6, r31 /* 80343D30 0033F990 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343D34 0033F994 38 81 00 20 */ addi r4, r1, 0x20 /* 80343D38 0033F998 90 E1 00 20 */ stw r7, 0x20(r1) /* 80343D3C 0033F99C 38 E0 00 00 */ li r7, 0 /* 80343D40 0033F9A0 90 01 00 24 */ stw r0, 0x24(r1) /* 80343D44 0033F9A4 4B FF BF E5 */ bl gpiAddCallback /* 80343D48 0033F9A8 2C 03 00 00 */ cmpwi r3, 0 /* 80343D4C 0033F9AC 41 82 01 6C */ beq lbl_80343EB8 /* 80343D50 0033F9B0 48 00 01 6C */ b lbl_80343EBC lbl_80343D54: /* 80343D54 0033F9B4 38 60 02 04 */ li r3, 0x204 /* 80343D58 0033F9B8 4B FF 55 BD */ bl gsimalloc /* 80343D5C 0033F9BC 2C 03 00 00 */ cmpwi r3, 0 /* 80343D60 0033F9C0 7C 7C 1B 78 */ mr r28, r3 /* 80343D64 0033F9C4 40 82 00 1C */ bne lbl_80343D80 /* 80343D68 0033F9C8 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343D6C 0033F9CC 7F C3 F3 78 */ mr r3, r30 /* 80343D70 0033F9D0 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343D74 0033F9D4 48 00 46 E5 */ bl gpiSetErrorString /* 80343D78 0033F9D8 38 60 00 01 */ li r3, 1 /* 80343D7C 0033F9DC 48 00 01 40 */ b lbl_80343EBC lbl_80343D80: /* 80343D80 0033F9E0 38 80 00 00 */ li r4, 0 /* 80343D84 0033F9E4 38 A0 02 04 */ li r5, 0x204 /* 80343D88 0033F9E8 4B CC 03 7D */ bl memset /* 80343D8C 0033F9EC 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343D90 0033F9F0 7F C3 F3 78 */ mr r3, r30 /* 80343D94 0033F9F4 80 E1 00 38 */ lwz r7, 0x38(r1) /* 80343D98 0033F9F8 7F 85 E3 78 */ mr r5, r28 /* 80343D9C 0033F9FC 90 1C 00 00 */ stw r0, 0(r28) /* 80343DA0 0033FA00 7F E6 FB 78 */ mr r6, r31 /* 80343DA4 0033FA04 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343DA8 0033FA08 38 81 00 18 */ addi r4, r1, 0x18 /* 80343DAC 0033FA0C 90 E1 00 18 */ stw r7, 0x18(r1) /* 80343DB0 0033FA10 38 E0 00 00 */ li r7, 0 /* 80343DB4 0033FA14 90 01 00 1C */ stw r0, 0x1c(r1) /* 80343DB8 0033FA18 4B FF BF 71 */ bl gpiAddCallback /* 80343DBC 0033FA1C 2C 03 00 00 */ cmpwi r3, 0 /* 80343DC0 0033FA20 41 82 00 F8 */ beq lbl_80343EB8 /* 80343DC4 0033FA24 48 00 00 F8 */ b lbl_80343EBC lbl_80343DC8: /* 80343DC8 0033FA28 38 60 00 10 */ li r3, 0x10 /* 80343DCC 0033FA2C 4B FF 55 49 */ bl gsimalloc /* 80343DD0 0033FA30 2C 03 00 00 */ cmpwi r3, 0 /* 80343DD4 0033FA34 7C 7C 1B 78 */ mr r28, r3 /* 80343DD8 0033FA38 40 82 00 1C */ bne lbl_80343DF4 /* 80343DDC 0033FA3C 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343DE0 0033FA40 7F C3 F3 78 */ mr r3, r30 /* 80343DE4 0033FA44 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343DE8 0033FA48 48 00 46 71 */ bl gpiSetErrorString /* 80343DEC 0033FA4C 38 60 00 01 */ li r3, 1 /* 80343DF0 0033FA50 48 00 00 CC */ b lbl_80343EBC lbl_80343DF4: /* 80343DF4 0033FA54 38 80 00 00 */ li r4, 0 /* 80343DF8 0033FA58 38 A0 00 10 */ li r5, 0x10 /* 80343DFC 0033FA5C 4B CC 03 09 */ bl memset /* 80343E00 0033FA60 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343E04 0033FA64 38 80 00 00 */ li r4, 0 /* 80343E08 0033FA68 81 01 00 38 */ lwz r8, 0x38(r1) /* 80343E0C 0033FA6C 7F C3 F3 78 */ mr r3, r30 /* 80343E10 0033FA70 90 1C 00 00 */ stw r0, 0(r28) /* 80343E14 0033FA74 7F 85 E3 78 */ mr r5, r28 /* 80343E18 0033FA78 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343E1C 0033FA7C 7F E6 FB 78 */ mr r6, r31 /* 80343E20 0033FA80 90 9C 00 0C */ stw r4, 0xc(r28) /* 80343E24 0033FA84 38 81 00 10 */ addi r4, r1, 0x10 /* 80343E28 0033FA88 38 E0 00 00 */ li r7, 0 /* 80343E2C 0033FA8C 91 01 00 10 */ stw r8, 0x10(r1) /* 80343E30 0033FA90 90 01 00 14 */ stw r0, 0x14(r1) /* 80343E34 0033FA94 4B FF BE F5 */ bl gpiAddCallback /* 80343E38 0033FA98 2C 03 00 00 */ cmpwi r3, 0 /* 80343E3C 0033FA9C 41 82 00 7C */ beq lbl_80343EB8 /* 80343E40 0033FAA0 48 00 00 7C */ b lbl_80343EBC lbl_80343E44: /* 80343E44 0033FAA4 38 60 00 04 */ li r3, 4 /* 80343E48 0033FAA8 4B FF 54 CD */ bl gsimalloc /* 80343E4C 0033FAAC 2C 03 00 00 */ cmpwi r3, 0 /* 80343E50 0033FAB0 7C 7C 1B 78 */ mr r28, r3 /* 80343E54 0033FAB4 40 82 00 1C */ bne lbl_80343E70 /* 80343E58 0033FAB8 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343E5C 0033FABC 7F C3 F3 78 */ mr r3, r30 /* 80343E60 0033FAC0 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343E64 0033FAC4 48 00 45 F5 */ bl gpiSetErrorString /* 80343E68 0033FAC8 38 60 00 01 */ li r3, 1 /* 80343E6C 0033FACC 48 00 00 50 */ b lbl_80343EBC lbl_80343E70: /* 80343E70 0033FAD0 38 80 00 00 */ li r4, 0 /* 80343E74 0033FAD4 38 A0 00 04 */ li r5, 4 /* 80343E78 0033FAD8 4B CC 02 8D */ bl memset /* 80343E7C 0033FADC 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80343E80 0033FAE0 7F C3 F3 78 */ mr r3, r30 /* 80343E84 0033FAE4 80 E1 00 38 */ lwz r7, 0x38(r1) /* 80343E88 0033FAE8 7F 85 E3 78 */ mr r5, r28 /* 80343E8C 0033FAEC 90 1C 00 00 */ stw r0, 0(r28) /* 80343E90 0033FAF0 7F E6 FB 78 */ mr r6, r31 /* 80343E94 0033FAF4 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80343E98 0033FAF8 38 81 00 08 */ addi r4, r1, 8 /* 80343E9C 0033FAFC 90 E1 00 08 */ stw r7, 8(r1) /* 80343EA0 0033FB00 38 E0 00 00 */ li r7, 0 /* 80343EA4 0033FB04 90 01 00 0C */ stw r0, 0xc(r1) /* 80343EA8 0033FB08 4B FF BE 81 */ bl gpiAddCallback /* 80343EAC 0033FB0C 2C 03 00 00 */ cmpwi r3, 0 /* 80343EB0 0033FB10 41 82 00 08 */ beq lbl_80343EB8 /* 80343EB4 0033FB14 48 00 00 08 */ b lbl_80343EBC lbl_80343EB8: /* 80343EB8 0033FB18 38 60 00 00 */ li r3, 0 lbl_80343EBC: /* 80343EBC 0033FB1C 80 01 00 54 */ lwz r0, 0x54(r1) /* 80343EC0 0033FB20 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80343EC4 0033FB24 83 C1 00 48 */ lwz r30, 0x48(r1) /* 80343EC8 0033FB28 83 A1 00 44 */ lwz r29, 0x44(r1) /* 80343ECC 0033FB2C 83 81 00 40 */ lwz r28, 0x40(r1) /* 80343ED0 0033FB30 7C 08 03 A6 */ mtlr r0 /* 80343ED4 0033FB34 38 21 00 50 */ addi r1, r1, 0x50 /* 80343ED8 0033FB38 4E 80 00 20 */ blr .global gpiAddOperation gpiAddOperation: /* 80343EDC 0033FB3C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80343EE0 0033FB40 7C 08 02 A6 */ mflr r0 /* 80343EE4 0033FB44 90 01 00 34 */ stw r0, 0x34(r1) /* 80343EE8 0033FB48 39 61 00 30 */ addi r11, r1, 0x30 /* 80343EEC 0033FB4C 4B E8 32 31 */ bl _savegpr_24 /* 80343EF0 0033FB50 83 E3 00 00 */ lwz r31, 0(r3) /* 80343EF4 0033FB54 7C 78 1B 78 */ mr r24, r3 /* 80343EF8 0033FB58 7C 99 23 78 */ mr r25, r4 /* 80343EFC 0033FB5C 7C BA 2B 78 */ mr r26, r5 /* 80343F00 0033FB60 7C DB 33 78 */ mr r27, r6 /* 80343F04 0033FB64 7C FC 3B 78 */ mr r28, r7 /* 80343F08 0033FB68 7D 1D 43 78 */ mr r29, r8 /* 80343F0C 0033FB6C 7D 3E 4B 78 */ mr r30, r9 /* 80343F10 0033FB70 38 60 00 24 */ li r3, 0x24 /* 80343F14 0033FB74 4B FF 54 01 */ bl gsimalloc /* 80343F18 0033FB78 2C 03 00 00 */ cmpwi r3, 0 /* 80343F1C 0033FB7C 40 82 00 1C */ bne lbl_80343F38 /* 80343F20 0033FB80 3C 80 80 45 */ lis r4, lbl_8044AF40@ha /* 80343F24 0033FB84 7F 03 C3 78 */ mr r3, r24 /* 80343F28 0033FB88 38 84 AF 40 */ addi r4, r4, lbl_8044AF40@l /* 80343F2C 0033FB8C 48 00 45 2D */ bl gpiSetErrorString /* 80343F30 0033FB90 38 60 00 01 */ li r3, 1 /* 80343F34 0033FB94 48 00 00 70 */ b lbl_80343FA4 lbl_80343F38: /* 80343F38 0033FB98 93 23 00 00 */ stw r25, 0(r3) /* 80343F3C 0033FB9C 2C 19 00 00 */ cmpwi r25, 0 /* 80343F40 0033FBA0 38 00 00 00 */ li r0, 0 /* 80343F44 0033FBA4 93 43 00 04 */ stw r26, 4(r3) /* 80343F48 0033FBA8 93 83 00 08 */ stw r28, 8(r3) /* 80343F4C 0033FBAC 90 03 00 14 */ stw r0, 0x14(r3) /* 80343F50 0033FBB0 40 82 00 10 */ bne lbl_80343F60 /* 80343F54 0033FBB4 38 00 00 01 */ li r0, 1 /* 80343F58 0033FBB8 90 03 00 18 */ stw r0, 0x18(r3) /* 80343F5C 0033FBBC 48 00 00 24 */ b lbl_80343F80 lbl_80343F60: /* 80343F60 0033FBC0 80 9F 02 28 */ lwz r4, 0x228(r31) /* 80343F64 0033FBC4 38 04 00 01 */ addi r0, r4, 1 /* 80343F68 0033FBC8 90 83 00 18 */ stw r4, 0x18(r3) /* 80343F6C 0033FBCC 2C 00 00 02 */ cmpwi r0, 2 /* 80343F70 0033FBD0 90 1F 02 28 */ stw r0, 0x228(r31) /* 80343F74 0033FBD4 40 80 00 0C */ bge lbl_80343F80 /* 80343F78 0033FBD8 38 00 00 02 */ li r0, 2 /* 80343F7C 0033FBDC 90 1F 02 28 */ stw r0, 0x228(r31) lbl_80343F80: /* 80343F80 0033FBE0 38 00 00 00 */ li r0, 0 /* 80343F84 0033FBE4 90 03 00 1C */ stw r0, 0x1c(r3) /* 80343F88 0033FBE8 93 A3 00 0C */ stw r29, 0xc(r3) /* 80343F8C 0033FBEC 93 C3 00 10 */ stw r30, 0x10(r3) /* 80343F90 0033FBF0 80 1F 04 40 */ lwz r0, 0x440(r31) /* 80343F94 0033FBF4 90 03 00 20 */ stw r0, 0x20(r3) /* 80343F98 0033FBF8 90 7F 04 40 */ stw r3, 0x440(r31) /* 80343F9C 0033FBFC 90 7B 00 00 */ stw r3, 0(r27) /* 80343FA0 0033FC00 38 60 00 00 */ li r3, 0 lbl_80343FA4: /* 80343FA4 0033FC04 39 61 00 30 */ addi r11, r1, 0x30 /* 80343FA8 0033FC08 4B E8 31 C1 */ bl _restgpr_24 /* 80343FAC 0033FC0C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80343FB0 0033FC10 7C 08 03 A6 */ mtlr r0 /* 80343FB4 0033FC14 38 21 00 30 */ addi r1, r1, 0x30 /* 80343FB8 0033FC18 4E 80 00 20 */ blr lbl_80343FBC: /* 80343FBC 0033FC1C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80343FC0 0033FC20 7C 08 02 A6 */ mflr r0 /* 80343FC4 0033FC24 90 01 00 24 */ stw r0, 0x24(r1) /* 80343FC8 0033FC28 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80343FCC 0033FC2C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80343FD0 0033FC30 93 A1 00 14 */ stw r29, 0x14(r1) /* 80343FD4 0033FC34 7C 9D 23 78 */ mr r29, r4 /* 80343FD8 0033FC38 80 04 00 00 */ lwz r0, 0(r4) /* 80343FDC 0033FC3C 80 A3 00 00 */ lwz r5, 0(r3) /* 80343FE0 0033FC40 2C 00 00 03 */ cmpwi r0, 3 /* 80343FE4 0033FC44 40 82 00 44 */ bne lbl_80344028 /* 80343FE8 0033FC48 80 65 02 2C */ lwz r3, 0x22c(r5) /* 80343FEC 0033FC4C 83 C4 00 04 */ lwz r30, 4(r4) /* 80343FF0 0033FC50 38 80 00 02 */ li r4, 2 /* 80343FF4 0033FC54 38 03 FF FF */ addi r0, r3, -1 /* 80343FF8 0033FC58 90 05 02 2C */ stw r0, 0x22c(r5) /* 80343FFC 0033FC5C 80 7E 00 04 */ lwz r3, 4(r30) /* 80344000 0033FC60 4B FF 3C 31 */ bl shutdown /* 80344004 0033FC64 80 7E 00 04 */ lwz r3, 4(r30) /* 80344008 0033FC68 4B FF 3B F5 */ bl closesocket /* 8034400C 0033FC6C 80 7E 00 18 */ lwz r3, 0x18(r30) /* 80344010 0033FC70 4B FF 53 29 */ bl gsifree /* 80344014 0033FC74 3B E0 00 00 */ li r31, 0 /* 80344018 0033FC78 93 FE 00 18 */ stw r31, 0x18(r30) /* 8034401C 0033FC7C 80 7E 00 08 */ lwz r3, 8(r30) /* 80344020 0033FC80 4B FF 53 19 */ bl gsifree /* 80344024 0033FC84 93 FE 00 08 */ stw r31, 8(r30) lbl_80344028: /* 80344028 0033FC88 80 7D 00 04 */ lwz r3, 4(r29) /* 8034402C 0033FC8C 4B FF 53 0D */ bl gsifree /* 80344030 0033FC90 38 00 00 00 */ li r0, 0 /* 80344034 0033FC94 7F A3 EB 78 */ mr r3, r29 /* 80344038 0033FC98 90 1D 00 04 */ stw r0, 4(r29) /* 8034403C 0033FC9C 4B FF 52 FD */ bl gsifree /* 80344040 0033FCA0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80344044 0033FCA4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80344048 0033FCA8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8034404C 0033FCAC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80344050 0033FCB0 7C 08 03 A6 */ mtlr r0 /* 80344054 0033FCB4 38 21 00 20 */ addi r1, r1, 0x20 /* 80344058 0033FCB8 4E 80 00 20 */ blr .global gpiRemoveOperation gpiRemoveOperation: /* 8034405C 0033FCBC 80 A3 00 00 */ lwz r5, 0(r3) /* 80344060 0033FCC0 38 E0 00 00 */ li r7, 0 /* 80344064 0033FCC4 80 C5 04 40 */ lwz r6, 0x440(r5) /* 80344068 0033FCC8 48 00 00 34 */ b lbl_8034409C lbl_8034406C: /* 8034406C 0033FCCC 7C 06 20 40 */ cmplw r6, r4 /* 80344070 0033FCD0 40 82 00 24 */ bne lbl_80344094 /* 80344074 0033FCD4 2C 07 00 00 */ cmpwi r7, 0 /* 80344078 0033FCD8 40 82 00 10 */ bne lbl_80344088 /* 8034407C 0033FCDC 80 06 00 20 */ lwz r0, 0x20(r6) /* 80344080 0033FCE0 90 05 04 40 */ stw r0, 0x440(r5) /* 80344084 0033FCE4 48 00 00 0C */ b lbl_80344090 lbl_80344088: /* 80344088 0033FCE8 80 04 00 20 */ lwz r0, 0x20(r4) /* 8034408C 0033FCEC 90 07 00 20 */ stw r0, 0x20(r7) lbl_80344090: /* 80344090 0033FCF0 4B FF FF 2C */ b lbl_80343FBC lbl_80344094: /* 80344094 0033FCF4 7C C7 33 78 */ mr r7, r6 /* 80344098 0033FCF8 80 C6 00 20 */ lwz r6, 0x20(r6) lbl_8034409C: /* 8034409C 0033FCFC 2C 06 00 00 */ cmpwi r6, 0 /* 803440A0 0033FD00 40 82 FF CC */ bne lbl_8034406C /* 803440A4 0033FD04 4E 80 00 20 */ blr .global gpiFindOperationByID gpiFindOperationByID: /* 803440A8 0033FD08 80 63 00 00 */ lwz r3, 0(r3) /* 803440AC 0033FD0C 80 63 04 40 */ lwz r3, 0x440(r3) /* 803440B0 0033FD10 48 00 00 28 */ b lbl_803440D8 lbl_803440B4: /* 803440B4 0033FD14 80 03 00 18 */ lwz r0, 0x18(r3) /* 803440B8 0033FD18 7C 00 28 00 */ cmpw r0, r5 /* 803440BC 0033FD1C 40 82 00 18 */ bne lbl_803440D4 /* 803440C0 0033FD20 2C 04 00 00 */ cmpwi r4, 0 /* 803440C4 0033FD24 41 82 00 08 */ beq lbl_803440CC /* 803440C8 0033FD28 90 64 00 00 */ stw r3, 0(r4) lbl_803440CC: /* 803440CC 0033FD2C 38 60 00 01 */ li r3, 1 /* 803440D0 0033FD30 4E 80 00 20 */ blr lbl_803440D4: /* 803440D4 0033FD34 80 63 00 20 */ lwz r3, 0x20(r3) lbl_803440D8: /* 803440D8 0033FD38 2C 03 00 00 */ cmpwi r3, 0 /* 803440DC 0033FD3C 40 82 FF D8 */ bne lbl_803440B4 /* 803440E0 0033FD40 2C 04 00 00 */ cmpwi r4, 0 /* 803440E4 0033FD44 41 82 00 0C */ beq lbl_803440F0 /* 803440E8 0033FD48 38 00 00 00 */ li r0, 0 /* 803440EC 0033FD4C 90 04 00 00 */ stw r0, 0(r4) lbl_803440F0: /* 803440F0 0033FD50 38 60 00 00 */ li r3, 0 /* 803440F4 0033FD54 4E 80 00 20 */ blr .global gpiOperationsAreBlocking gpiOperationsAreBlocking: /* 803440F8 0033FD58 80 63 00 00 */ lwz r3, 0(r3) /* 803440FC 0033FD5C 80 63 04 40 */ lwz r3, 0x440(r3) /* 80344100 0033FD60 48 00 00 28 */ b lbl_80344128 lbl_80344104: /* 80344104 0033FD64 80 03 00 08 */ lwz r0, 8(r3) /* 80344108 0033FD68 2C 00 00 00 */ cmpwi r0, 0 /* 8034410C 0033FD6C 41 82 00 18 */ beq lbl_80344124 /* 80344110 0033FD70 80 03 00 00 */ lwz r0, 0(r3) /* 80344114 0033FD74 2C 00 00 03 */ cmpwi r0, 3 /* 80344118 0033FD78 41 82 00 0C */ beq lbl_80344124 /* 8034411C 0033FD7C 38 60 00 01 */ li r3, 1 /* 80344120 0033FD80 4E 80 00 20 */ blr lbl_80344124: /* 80344124 0033FD84 80 63 00 20 */ lwz r3, 0x20(r3) lbl_80344128: /* 80344128 0033FD88 2C 03 00 00 */ cmpwi r3, 0 /* 8034412C 0033FD8C 40 82 FF D8 */ bne lbl_80344104 /* 80344130 0033FD90 38 60 00 00 */ li r3, 0 /* 80344134 0033FD94 4E 80 00 20 */ blr .global gpiProcessOperation gpiProcessOperation: /* 80344138 0033FD98 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8034413C 0033FD9C 7C 08 02 A6 */ mflr r0 /* 80344140 0033FDA0 38 C0 00 00 */ li r6, 0 /* 80344144 0033FDA4 90 01 00 14 */ stw r0, 0x14(r1) /* 80344148 0033FDA8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8034414C 0033FDAC 7C 9F 23 78 */ mr r31, r4 /* 80344150 0033FDB0 80 04 00 00 */ lwz r0, 0(r4) /* 80344154 0033FDB4 2C 00 00 03 */ cmpwi r0, 3 /* 80344158 0033FDB8 41 82 00 68 */ beq lbl_803441C0 /* 8034415C 0033FDBC 40 80 00 1C */ bge lbl_80344178 /* 80344160 0033FDC0 2C 00 00 01 */ cmpwi r0, 1 /* 80344164 0033FDC4 41 82 00 30 */ beq lbl_80344194 /* 80344168 0033FDC8 40 80 00 44 */ bge lbl_803441AC /* 8034416C 0033FDCC 2C 00 00 00 */ cmpwi r0, 0 /* 80344170 0033FDD0 40 80 00 18 */ bge lbl_80344188 /* 80344174 0033FDD4 48 00 00 4C */ b lbl_803441C0 lbl_80344178: /* 80344178 0033FDD8 2C 00 00 05 */ cmpwi r0, 5 /* 8034417C 0033FDDC 41 82 00 24 */ beq lbl_803441A0 /* 80344180 0033FDE0 40 80 00 40 */ bge lbl_803441C0 /* 80344184 0033FDE4 48 00 00 34 */ b lbl_803441B8 lbl_80344188: /* 80344188 0033FDE8 4B FF CB 7D */ bl gpiProcessConnect /* 8034418C 0033FDEC 7C 66 1B 78 */ mr r6, r3 /* 80344190 0033FDF0 48 00 00 30 */ b lbl_803441C0 lbl_80344194: /* 80344194 0033FDF4 48 00 14 E1 */ bl gpiProcessNewProfile /* 80344198 0033FDF8 7C 66 1B 78 */ mr r6, r3 /* 8034419C 0033FDFC 48 00 00 24 */ b lbl_803441C0 lbl_803441A0: /* 803441A0 0033FE00 48 00 17 85 */ bl gpiProcessDeleteProfle /* 803441A4 0033FE04 7C 66 1B 78 */ mr r6, r3 /* 803441A8 0033FE08 48 00 00 18 */ b lbl_803441C0 lbl_803441AC: /* 803441AC 0033FE0C 4B FF D8 C1 */ bl gpiProcessGetInfo /* 803441B0 0033FE10 7C 66 1B 78 */ mr r6, r3 /* 803441B4 0033FE14 48 00 00 0C */ b lbl_803441C0 lbl_803441B8: /* 803441B8 0033FE18 48 00 3C 6D */ bl gpiProcessRegisterUniqueNick /* 803441BC 0033FE1C 7C 66 1B 78 */ mr r6, r3 lbl_803441C0: /* 803441C0 0033FE20 2C 06 00 00 */ cmpwi r6, 0 /* 803441C4 0033FE24 41 82 00 08 */ beq lbl_803441CC /* 803441C8 0033FE28 90 DF 00 1C */ stw r6, 0x1c(r31) lbl_803441CC: /* 803441CC 0033FE2C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803441D0 0033FE30 7C C3 33 78 */ mr r3, r6 /* 803441D4 0033FE34 80 01 00 14 */ lwz r0, 0x14(r1) /* 803441D8 0033FE38 7C 08 03 A6 */ mtlr r0 /* 803441DC 0033FE3C 38 21 00 10 */ addi r1, r1, 0x10 /* 803441E0 0033FE40 4E 80 00 20 */ blr