summaryrefslogtreecommitdiff
path: root/asm/SDK/NHTTP/d_nhttp_private.s
blob: d16ab55a7a903509dc20d2a9566d1929b5bd523b (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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
.include "macros.inc"

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

.global NHTTPCreateConnection
NHTTPCreateConnection:
/* 802FEB18 002FA778  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802FEB1C 002FA77C  7C 08 02 A6 */	mflr r0
/* 802FEB20 002FA780  90 01 00 34 */	stw r0, 0x34(r1)
/* 802FEB24 002FA784  39 61 00 30 */	addi r11, r1, 0x30
/* 802FEB28 002FA788  4B EC 85 F1 */	bl _savegpr_23
/* 802FEB2C 002FA78C  7C 77 1B 78 */	mr r23, r3
/* 802FEB30 002FA790  7C 98 23 78 */	mr r24, r4
/* 802FEB34 002FA794  7C B9 2B 78 */	mr r25, r5
/* 802FEB38 002FA798  7C DA 33 78 */	mr r26, r6
/* 802FEB3C 002FA79C  7C FB 3B 78 */	mr r27, r7
/* 802FEB40 002FA7A0  7D 1C 43 78 */	mr r28, r8
/* 802FEB44 002FA7A4  48 00 13 25 */	bl NHTTPi_GetSystemInfoP
/* 802FEB48 002FA7A8  7C 7E 1B 78 */	mr r30, r3
/* 802FEB4C 002FA7AC  48 00 13 85 */	bl NHTTPi_GetBgnEndInfoP
/* 802FEB50 002FA7B0  7C 7F 1B 78 */	mr r31, r3
/* 802FEB54 002FA7B4  7F C3 F3 78 */	mr r3, r30
/* 802FEB58 002FA7B8  48 00 13 95 */	bl NHTTPi_GetMutexInfoP
/* 802FEB5C 002FA7BC  7C 7D 1B 78 */	mr r29, r3
/* 802FEB60 002FA7C0  38 60 00 50 */	li r3, 0x50
/* 802FEB64 002FA7C4  38 80 00 04 */	li r4, 4
/* 802FEB68 002FA7C8  4B FF 8F F9 */	bl NHTTPi_alloc
/* 802FEB6C 002FA7CC  2C 03 00 00 */	cmpwi r3, 0
/* 802FEB70 002FA7D0  7C 7E 1B 78 */	mr r30, r3
/* 802FEB74 002FA7D4  40 82 00 18 */	bne lbl_802FEB8C
/* 802FEB78 002FA7D8  7F E3 FB 78 */	mr r3, r31
/* 802FEB7C 002FA7DC  38 80 00 01 */	li r4, 1
/* 802FEB80 002FA7E0  4B FF 90 81 */	bl NHTTPi_SetError
/* 802FEB84 002FA7E4  38 60 00 00 */	li r3, 0
/* 802FEB88 002FA7E8  48 00 00 A0 */	b lbl_802FEC28
lbl_802FEB8C:
/* 802FEB8C 002FA7EC  7F E3 FB 78 */	mr r3, r31
/* 802FEB90 002FA7F0  7E E4 BB 78 */	mr r4, r23
/* 802FEB94 002FA7F4  7F 05 C3 78 */	mr r5, r24
/* 802FEB98 002FA7F8  7F 26 CB 78 */	mr r6, r25
/* 802FEB9C 002FA7FC  7F 47 D3 78 */	mr r7, r26
/* 802FEBA0 002FA800  7F 88 E3 78 */	mr r8, r28
/* 802FEBA4 002FA804  39 20 00 00 */	li r9, 0
/* 802FEBA8 002FA808  39 40 00 00 */	li r10, 0
/* 802FEBAC 002FA80C  4B FF A1 15 */	bl NHTTP_CreateRequest
/* 802FEBB0 002FA810  2C 03 00 00 */	cmpwi r3, 0
/* 802FEBB4 002FA814  90 7E 00 2C */	stw r3, 0x2c(r30)
/* 802FEBB8 002FA818  40 82 00 14 */	bne lbl_802FEBCC
/* 802FEBBC 002FA81C  7F C3 F3 78 */	mr r3, r30
/* 802FEBC0 002FA820  4B FF 8F FD */	bl NHTTPi_free
/* 802FEBC4 002FA824  38 60 00 00 */	li r3, 0
/* 802FEBC8 002FA828  48 00 00 60 */	b lbl_802FEC28
lbl_802FEBCC:
/* 802FEBCC 002FA82C  80 83 00 2C */	lwz r4, 0x2c(r3)
/* 802FEBD0 002FA830  3B E0 00 00 */	li r31, 0
/* 802FEBD4 002FA834  38 00 FF FF */	li r0, -1
/* 802FEBD8 002FA838  7F A3 EB 78 */	mr r3, r29
/* 802FEBDC 002FA83C  90 9E 00 30 */	stw r4, 0x30(r30)
/* 802FEBE0 002FA840  7F C4 F3 78 */	mr r4, r30
/* 802FEBE4 002FA844  93 FE 00 00 */	stw r31, 0(r30)
/* 802FEBE8 002FA848  93 7E 00 38 */	stw r27, 0x38(r30)
/* 802FEBEC 002FA84C  93 FE 00 40 */	stw r31, 0x40(r30)
/* 802FEBF0 002FA850  93 FE 00 44 */	stw r31, 0x44(r30)
/* 802FEBF4 002FA854  90 1E 00 34 */	stw r0, 0x34(r30)
/* 802FEBF8 002FA858  48 00 0D 71 */	bl NHTTPi_CommitConnectionList
/* 802FEBFC 002FA85C  38 00 00 0F */	li r0, 0xf
/* 802FEC00 002FA860  38 7E 00 0C */	addi r3, r30, 0xc
/* 802FEC04 002FA864  90 1E 00 04 */	stw r0, 4(r30)
/* 802FEC08 002FA868  4B F7 10 0D */	bl OSInitCond
/* 802FEC0C 002FA86C  38 7E 00 14 */	addi r3, r30, 0x14
/* 802FEC10 002FA870  4B F7 0D 01 */	bl OSInitMutex
/* 802FEC14 002FA874  7F C3 F3 78 */	mr r3, r30
/* 802FEC18 002FA878  38 80 00 00 */	li r4, 0
/* 802FEC1C 002FA87C  48 00 12 D9 */	bl NHTTPi_SetVirtualContentLength
/* 802FEC20 002FA880  93 FE 00 4C */	stw r31, 0x4c(r30)
/* 802FEC24 002FA884  7F C3 F3 78 */	mr r3, r30
lbl_802FEC28:
/* 802FEC28 002FA888  39 61 00 30 */	addi r11, r1, 0x30
/* 802FEC2C 002FA88C  4B EC 85 39 */	bl _restgpr_23
/* 802FEC30 002FA890  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802FEC34 002FA894  7C 08 03 A6 */	mtlr r0
/* 802FEC38 002FA898  38 21 00 30 */	addi r1, r1, 0x30
/* 802FEC3C 002FA89C  4E 80 00 20 */	blr

.global NHTTPStartConnection
NHTTPStartConnection:
/* 802FEC40 002FA8A0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FEC44 002FA8A4  7C 08 02 A6 */	mflr r0
/* 802FEC48 002FA8A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FEC4C 002FA8AC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FEC50 002FA8B0  7C 7F 1B 78 */	mr r31, r3
/* 802FEC54 002FA8B4  93 C1 00 08 */	stw r30, 8(r1)
/* 802FEC58 002FA8B8  48 00 12 11 */	bl NHTTPi_GetSystemInfoP
/* 802FEC5C 002FA8BC  7C 7E 1B 78 */	mr r30, r3
/* 802FEC60 002FA8C0  48 00 12 8D */	bl NHTTPi_GetMutexInfoP
/* 802FEC64 002FA8C4  7F E4 FB 78 */	mr r4, r31
/* 802FEC68 002FA8C8  48 00 0D E1 */	bl NHTTPi_GetConnection
/* 802FEC6C 002FA8CC  2C 03 00 00 */	cmpwi r3, 0
/* 802FEC70 002FA8D0  7C 7F 1B 78 */	mr r31, r3
/* 802FEC74 002FA8D4  40 82 00 0C */	bne lbl_802FEC80
/* 802FEC78 002FA8D8  38 60 FF FF */	li r3, -1
/* 802FEC7C 002FA8DC  48 00 00 38 */	b lbl_802FECB4
lbl_802FEC80:
/* 802FEC80 002FA8E0  80 83 00 2C */	lwz r4, 0x2c(r3)
/* 802FEC84 002FA8E4  2C 04 00 00 */	cmpwi r4, 0
/* 802FEC88 002FA8E8  40 82 00 0C */	bne lbl_802FEC94
/* 802FEC8C 002FA8EC  38 60 FF FF */	li r3, -1
/* 802FEC90 002FA8F0  48 00 00 24 */	b lbl_802FECB4
lbl_802FEC94:
/* 802FEC94 002FA8F4  7F C3 F3 78 */	mr r3, r30
/* 802FEC98 002FA8F8  4B FF A7 BD */	bl NHTTP_SendRequestAsync
/* 802FEC9C 002FA8FC  2C 03 00 00 */	cmpwi r3, 0
/* 802FECA0 002FA900  90 7F 00 34 */	stw r3, 0x34(r31)
/* 802FECA4 002FA904  41 80 00 0C */	blt lbl_802FECB0
/* 802FECA8 002FA908  38 00 00 01 */	li r0, 1
/* 802FECAC 002FA90C  90 1F 00 00 */	stw r0, 0(r31)
lbl_802FECB0:
/* 802FECB0 002FA910  38 60 00 00 */	li r3, 0
lbl_802FECB4:
/* 802FECB4 002FA914  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FECB8 002FA918  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FECBC 002FA91C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802FECC0 002FA920  7C 08 03 A6 */	mtlr r0
/* 802FECC4 002FA924  38 21 00 10 */	addi r1, r1, 0x10
/* 802FECC8 002FA928  4E 80 00 20 */	blr

.global NHTTPGetBodyBuffer
NHTTPGetBodyBuffer:
/* 802FECCC 002FA92C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802FECD0 002FA930  7C 08 02 A6 */	mflr r0
/* 802FECD4 002FA934  90 01 00 24 */	stw r0, 0x24(r1)
/* 802FECD8 002FA938  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802FECDC 002FA93C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802FECE0 002FA940  7C BE 2B 78 */	mr r30, r5
/* 802FECE4 002FA944  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802FECE8 002FA948  7C 9D 23 78 */	mr r29, r4
/* 802FECEC 002FA94C  93 81 00 10 */	stw r28, 0x10(r1)
/* 802FECF0 002FA950  7C 7C 1B 78 */	mr r28, r3
/* 802FECF4 002FA954  48 00 11 75 */	bl NHTTPi_GetSystemInfoP
/* 802FECF8 002FA958  48 00 11 F5 */	bl NHTTPi_GetMutexInfoP
/* 802FECFC 002FA95C  7C 7F 1B 78 */	mr r31, r3
/* 802FED00 002FA960  7F 84 E3 78 */	mr r4, r28
/* 802FED04 002FA964  48 00 0D 45 */	bl NHTTPi_GetConnection
/* 802FED08 002FA968  2C 03 00 00 */	cmpwi r3, 0
/* 802FED0C 002FA96C  7C 64 1B 78 */	mr r4, r3
/* 802FED10 002FA970  41 82 00 34 */	beq lbl_802FED44
/* 802FED14 002FA974  7F E3 FB 78 */	mr r3, r31
/* 802FED18 002FA978  48 00 0C E9 */	bl NHTTPi_Connection2Response
/* 802FED1C 002FA97C  2C 03 00 00 */	cmpwi r3, 0
/* 802FED20 002FA980  41 82 00 1C */	beq lbl_802FED3C
/* 802FED24 002FA984  80 03 00 28 */	lwz r0, 0x28(r3)
/* 802FED28 002FA988  90 1D 00 00 */	stw r0, 0(r29)
/* 802FED2C 002FA98C  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 802FED30 002FA990  90 1E 00 00 */	stw r0, 0(r30)
/* 802FED34 002FA994  80 63 00 04 */	lwz r3, 4(r3)
/* 802FED38 002FA998  48 00 00 10 */	b lbl_802FED48
lbl_802FED3C:
/* 802FED3C 002FA99C  38 60 FF FF */	li r3, -1
/* 802FED40 002FA9A0  48 00 00 08 */	b lbl_802FED48
lbl_802FED44:
/* 802FED44 002FA9A4  38 60 FF FF */	li r3, -1
lbl_802FED48:
/* 802FED48 002FA9A8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802FED4C 002FA9AC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802FED50 002FA9B0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802FED54 002FA9B4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802FED58 002FA9B8  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802FED5C 002FA9BC  7C 08 03 A6 */	mtlr r0
/* 802FED60 002FA9C0  38 21 00 20 */	addi r1, r1, 0x20
/* 802FED64 002FA9C4  4E 80 00 20 */	blr

.global NHTTPGetUserParam
NHTTPGetUserParam:
/* 802FED68 002FA9C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FED6C 002FA9CC  7C 08 02 A6 */	mflr r0
/* 802FED70 002FA9D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FED74 002FA9D4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FED78 002FA9D8  93 C1 00 08 */	stw r30, 8(r1)
/* 802FED7C 002FA9DC  7C 7E 1B 78 */	mr r30, r3
/* 802FED80 002FA9E0  48 00 10 E9 */	bl NHTTPi_GetSystemInfoP
/* 802FED84 002FA9E4  48 00 11 69 */	bl NHTTPi_GetMutexInfoP
/* 802FED88 002FA9E8  7C 7F 1B 78 */	mr r31, r3
/* 802FED8C 002FA9EC  7F C4 F3 78 */	mr r4, r30
/* 802FED90 002FA9F0  48 00 0C B9 */	bl NHTTPi_GetConnection
/* 802FED94 002FA9F4  2C 03 00 00 */	cmpwi r3, 0
/* 802FED98 002FA9F8  7C 64 1B 78 */	mr r4, r3
/* 802FED9C 002FA9FC  41 82 00 24 */	beq lbl_802FEDC0
/* 802FEDA0 002FAA00  7F E3 FB 78 */	mr r3, r31
/* 802FEDA4 002FAA04  48 00 0C 5D */	bl NHTTPi_Connection2Response
/* 802FEDA8 002FAA08  2C 03 00 00 */	cmpwi r3, 0
/* 802FEDAC 002FAA0C  41 82 00 0C */	beq lbl_802FEDB8
/* 802FEDB0 002FAA10  80 63 04 38 */	lwz r3, 0x438(r3)
/* 802FEDB4 002FAA14  48 00 00 10 */	b lbl_802FEDC4
lbl_802FEDB8:
/* 802FEDB8 002FAA18  38 60 00 00 */	li r3, 0
/* 802FEDBC 002FAA1C  48 00 00 08 */	b lbl_802FEDC4
lbl_802FEDC0:
/* 802FEDC0 002FAA20  38 60 00 00 */	li r3, 0
lbl_802FEDC4:
/* 802FEDC4 002FAA24  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FEDC8 002FAA28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FEDCC 002FAA2C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802FEDD0 002FAA30  7C 08 03 A6 */	mtlr r0
/* 802FEDD4 002FAA34  38 21 00 10 */	addi r1, r1, 0x10
/* 802FEDD8 002FAA38  4E 80 00 20 */	blr

.global NHTTPGetConnectionError
NHTTPGetConnectionError:
/* 802FEDDC 002FAA3C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FEDE0 002FAA40  7C 08 02 A6 */	mflr r0
/* 802FEDE4 002FAA44  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FEDE8 002FAA48  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FEDEC 002FAA4C  7C 7F 1B 78 */	mr r31, r3
/* 802FEDF0 002FAA50  48 00 10 79 */	bl NHTTPi_GetSystemInfoP
/* 802FEDF4 002FAA54  48 00 10 F9 */	bl NHTTPi_GetMutexInfoP
/* 802FEDF8 002FAA58  7F E4 FB 78 */	mr r4, r31
/* 802FEDFC 002FAA5C  48 00 0C 4D */	bl NHTTPi_GetConnection
/* 802FEE00 002FAA60  2C 03 00 00 */	cmpwi r3, 0
/* 802FEE04 002FAA64  41 82 00 0C */	beq lbl_802FEE10
/* 802FEE08 002FAA68  80 63 00 04 */	lwz r3, 4(r3)
/* 802FEE0C 002FAA6C  48 00 00 08 */	b lbl_802FEE14
lbl_802FEE10:
/* 802FEE10 002FAA70  38 60 FF FF */	li r3, -1
lbl_802FEE14:
/* 802FEE14 002FAA74  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FEE18 002FAA78  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FEE1C 002FAA7C  7C 08 03 A6 */	mtlr r0
/* 802FEE20 002FAA80  38 21 00 10 */	addi r1, r1, 0x10
/* 802FEE24 002FAA84  4E 80 00 20 */	blr