summaryrefslogtreecommitdiff
path: root/asm/SDK/NHTTP/NHTTP_list.s
blob: 410ec87afdd1d31aad21ec83ba54a67c796e7726 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global NHTTPi_InitListInfo
NHTTPi_InitListInfo:
/* 802F81A4 002F3E04  38 00 00 00 */	li r0, 0
/* 802F81A8 002F3E08  90 03 00 00 */	stw r0, 0(r3)
/* 802F81AC 002F3E0C  90 03 00 04 */	stw r0, 4(r3)
/* 802F81B0 002F3E10  4E 80 00 20 */	blr

.global NHTTPi_setReqQueue
NHTTPi_setReqQueue:
/* 802F81B4 002F3E14  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F81B8 002F3E18  7C 08 02 A6 */	mflr r0
/* 802F81BC 002F3E1C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F81C0 002F3E20  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802F81C4 002F3E24  3B E0 FF FF */	li r31, -1
/* 802F81C8 002F3E28  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802F81CC 002F3E2C  7C 9E 23 78 */	mr r30, r4
/* 802F81D0 002F3E30  38 80 00 04 */	li r4, 4
/* 802F81D4 002F3E34  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802F81D8 002F3E38  7C 7D 1B 78 */	mr r29, r3
/* 802F81DC 002F3E3C  38 60 00 14 */	li r3, 0x14
/* 802F81E0 002F3E40  4B FF F9 81 */	bl NHTTPi_alloc
/* 802F81E4 002F3E44  2C 03 00 00 */	cmpwi r3, 0
/* 802F81E8 002F3E48  41 82 00 78 */	beq lbl_802F8260
/* 802F81EC 002F3E4C  80 9D 00 00 */	lwz r4, 0(r29)
/* 802F81F0 002F3E50  2C 04 00 00 */	cmpwi r4, 0
/* 802F81F4 002F3E54  41 82 00 2C */	beq lbl_802F8220
/* 802F81F8 002F3E58  80 04 00 00 */	lwz r0, 0(r4)
/* 802F81FC 002F3E5C  90 03 00 00 */	stw r0, 0(r3)
/* 802F8200 002F3E60  80 1D 00 00 */	lwz r0, 0(r29)
/* 802F8204 002F3E64  90 03 00 04 */	stw r0, 4(r3)
/* 802F8208 002F3E68  80 9D 00 00 */	lwz r4, 0(r29)
/* 802F820C 002F3E6C  80 84 00 00 */	lwz r4, 0(r4)
/* 802F8210 002F3E70  90 64 00 04 */	stw r3, 4(r4)
/* 802F8214 002F3E74  80 9D 00 00 */	lwz r4, 0(r29)
/* 802F8218 002F3E78  90 64 00 00 */	stw r3, 0(r4)
/* 802F821C 002F3E7C  48 00 00 10 */	b lbl_802F822C
lbl_802F8220:
/* 802F8220 002F3E80  90 63 00 00 */	stw r3, 0(r3)
/* 802F8224 002F3E84  90 63 00 04 */	stw r3, 4(r3)
/* 802F8228 002F3E88  90 7D 00 00 */	stw r3, 0(r29)
lbl_802F822C:
/* 802F822C 002F3E8C  80 9D 00 04 */	lwz r4, 4(r29)
/* 802F8230 002F3E90  38 00 FF FF */	li r0, -1
/* 802F8234 002F3E94  90 83 00 08 */	stw r4, 8(r3)
/* 802F8238 002F3E98  38 84 00 01 */	addi r4, r4, 1
/* 802F823C 002F3E9C  90 9D 00 04 */	stw r4, 4(r29)
/* 802F8240 002F3EA0  93 C3 00 0C */	stw r30, 0xc(r3)
/* 802F8244 002F3EA4  90 03 00 10 */	stw r0, 0x10(r3)
/* 802F8248 002F3EA8  80 1D 00 04 */	lwz r0, 4(r29)
/* 802F824C 002F3EAC  83 E3 00 08 */	lwz r31, 8(r3)
/* 802F8250 002F3EB0  2C 00 00 00 */	cmpwi r0, 0
/* 802F8254 002F3EB4  40 80 00 0C */	bge lbl_802F8260
/* 802F8258 002F3EB8  38 00 00 00 */	li r0, 0
/* 802F825C 002F3EBC  90 1D 00 04 */	stw r0, 4(r29)
lbl_802F8260:
/* 802F8260 002F3EC0  7F E3 FB 78 */	mr r3, r31
/* 802F8264 002F3EC4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802F8268 002F3EC8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802F826C 002F3ECC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802F8270 002F3ED0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F8274 002F3ED4  7C 08 03 A6 */	mtlr r0
/* 802F8278 002F3ED8  38 21 00 20 */	addi r1, r1, 0x20
/* 802F827C 002F3EDC  4E 80 00 20 */	blr

.global NHTTPi_freeReqQueue
NHTTPi_freeReqQueue:
/* 802F8280 002F3EE0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F8284 002F3EE4  7C 08 02 A6 */	mflr r0
/* 802F8288 002F3EE8  38 E0 00 00 */	li r7, 0
/* 802F828C 002F3EEC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F8290 002F3EF0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802F8294 002F3EF4  3B E0 00 00 */	li r31, 0
/* 802F8298 002F3EF8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802F829C 002F3EFC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802F82A0 002F3F00  7C 9D 23 78 */	mr r29, r4
/* 802F82A4 002F3F04  80 C3 00 00 */	lwz r6, 0(r3)
/* 802F82A8 002F3F08  2C 06 00 00 */	cmpwi r6, 0
/* 802F82AC 002F3F0C  41 82 00 40 */	beq lbl_802F82EC
/* 802F82B0 002F3F10  80 06 00 08 */	lwz r0, 8(r6)
/* 802F82B4 002F3F14  7C 00 28 00 */	cmpw r0, r5
/* 802F82B8 002F3F18  40 82 00 0C */	bne lbl_802F82C4
/* 802F82BC 002F3F1C  7C DF 33 78 */	mr r31, r6
/* 802F82C0 002F3F20  48 00 00 2C */	b lbl_802F82EC
lbl_802F82C4:
/* 802F82C4 002F3F24  80 86 00 04 */	lwz r4, 4(r6)
/* 802F82C8 002F3F28  48 00 00 1C */	b lbl_802F82E4
lbl_802F82CC:
/* 802F82CC 002F3F2C  80 04 00 08 */	lwz r0, 8(r4)
/* 802F82D0 002F3F30  7C 00 28 00 */	cmpw r0, r5
/* 802F82D4 002F3F34  40 82 00 0C */	bne lbl_802F82E0
/* 802F82D8 002F3F38  7C 9F 23 78 */	mr r31, r4
/* 802F82DC 002F3F3C  48 00 00 10 */	b lbl_802F82EC
lbl_802F82E0:
/* 802F82E0 002F3F40  80 84 00 04 */	lwz r4, 4(r4)
lbl_802F82E4:
/* 802F82E4 002F3F44  7C 04 30 40 */	cmplw r4, r6
/* 802F82E8 002F3F48  40 82 FF E4 */	bne lbl_802F82CC
lbl_802F82EC:
/* 802F82EC 002F3F4C  2C 1F 00 00 */	cmpwi r31, 0
/* 802F82F0 002F3F50  41 82 00 8C */	beq lbl_802F837C
/* 802F82F4 002F3F54  80 06 00 00 */	lwz r0, 0(r6)
/* 802F82F8 002F3F58  7C 06 00 40 */	cmplw r6, r0
/* 802F82FC 002F3F5C  41 82 00 34 */	beq lbl_802F8330
/* 802F8300 002F3F60  80 1F 00 04 */	lwz r0, 4(r31)
/* 802F8304 002F3F64  80 9F 00 00 */	lwz r4, 0(r31)
/* 802F8308 002F3F68  90 04 00 04 */	stw r0, 4(r4)
/* 802F830C 002F3F6C  80 1F 00 00 */	lwz r0, 0(r31)
/* 802F8310 002F3F70  80 9F 00 04 */	lwz r4, 4(r31)
/* 802F8314 002F3F74  90 04 00 00 */	stw r0, 0(r4)
/* 802F8318 002F3F78  80 03 00 00 */	lwz r0, 0(r3)
/* 802F831C 002F3F7C  7C 00 F8 40 */	cmplw r0, r31
/* 802F8320 002F3F80  40 82 00 18 */	bne lbl_802F8338
/* 802F8324 002F3F84  80 1F 00 04 */	lwz r0, 4(r31)
/* 802F8328 002F3F88  90 03 00 00 */	stw r0, 0(r3)
/* 802F832C 002F3F8C  48 00 00 0C */	b lbl_802F8338
lbl_802F8330:
/* 802F8330 002F3F90  38 00 00 00 */	li r0, 0
/* 802F8334 002F3F94  90 03 00 00 */	stw r0, 0(r3)
lbl_802F8338:
/* 802F8338 002F3F98  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 802F833C 002F3F9C  7F A3 EB 78 */	mr r3, r29
/* 802F8340 002F3FA0  48 00 76 F9 */	bl NHTTPi_Request2Connection
/* 802F8344 002F3FA4  80 9F 00 0C */	lwz r4, 0xc(r31)
/* 802F8348 002F3FA8  7C 7E 1B 78 */	mr r30, r3
/* 802F834C 002F3FAC  7F A3 EB 78 */	mr r3, r29
/* 802F8350 002F3FB0  48 00 10 2D */	bl NHTTPi_destroyRequestObject
/* 802F8354 002F3FB4  7F E3 FB 78 */	mr r3, r31
/* 802F8358 002F3FB8  4B FF F8 65 */	bl NHTTPi_free
/* 802F835C 002F3FBC  2C 1E 00 00 */	cmpwi r30, 0
/* 802F8360 002F3FC0  41 82 00 18 */	beq lbl_802F8378
/* 802F8364 002F3FC4  38 00 00 08 */	li r0, 8
/* 802F8368 002F3FC8  7F A3 EB 78 */	mr r3, r29
/* 802F836C 002F3FCC  90 1E 00 04 */	stw r0, 4(r30)
/* 802F8370 002F3FD0  7F C4 F3 78 */	mr r4, r30
/* 802F8374 002F3FD4  48 00 7A 9D */	bl NHTTPi_CompleteCallback
lbl_802F8378:
/* 802F8378 002F3FD8  38 E0 00 01 */	li r7, 1
lbl_802F837C:
/* 802F837C 002F3FDC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802F8380 002F3FE0  7C E3 3B 78 */	mr r3, r7
/* 802F8384 002F3FE4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802F8388 002F3FE8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802F838C 002F3FEC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F8390 002F3FF0  7C 08 03 A6 */	mtlr r0
/* 802F8394 002F3FF4  38 21 00 20 */	addi r1, r1, 0x20
/* 802F8398 002F3FF8  4E 80 00 20 */	blr

.global NHTTPi_allFreeReqQueue
NHTTPi_allFreeReqQueue:
/* 802F839C 002F3FFC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802F83A0 002F4000  7C 08 02 A6 */	mflr r0
/* 802F83A4 002F4004  90 01 00 14 */	stw r0, 0x14(r1)
/* 802F83A8 002F4008  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802F83AC 002F400C  7C 9F 23 78 */	mr r31, r4
/* 802F83B0 002F4010  93 C1 00 08 */	stw r30, 8(r1)
/* 802F83B4 002F4014  7C 7E 1B 78 */	mr r30, r3
/* 802F83B8 002F4018  48 00 00 14 */	b lbl_802F83CC
lbl_802F83BC:
/* 802F83BC 002F401C  80 A3 00 08 */	lwz r5, 8(r3)
/* 802F83C0 002F4020  7F C3 F3 78 */	mr r3, r30
/* 802F83C4 002F4024  7F E4 FB 78 */	mr r4, r31
/* 802F83C8 002F4028  4B FF FE B9 */	bl NHTTPi_freeReqQueue
lbl_802F83CC:
/* 802F83CC 002F402C  80 7E 00 00 */	lwz r3, 0(r30)
/* 802F83D0 002F4030  2C 03 00 00 */	cmpwi r3, 0
/* 802F83D4 002F4034  40 82 FF E8 */	bne lbl_802F83BC
/* 802F83D8 002F4038  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802F83DC 002F403C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802F83E0 002F4040  83 C1 00 08 */	lwz r30, 8(r1)
/* 802F83E4 002F4044  7C 08 03 A6 */	mtlr r0
/* 802F83E8 002F4048  38 21 00 10 */	addi r1, r1, 0x10
/* 802F83EC 002F404C  4E 80 00 20 */	blr

.global NHTTPi_getReqFromReqQueue
NHTTPi_getReqFromReqQueue:
/* 802F83F0 002F4050  4B FF FB D0 */	b NHTTPi_getHdrFromList