ObjFW  Diff

Differences From Artifact [eb6613e2c6]:

To Artifact [adf8c12199]:


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
230
231
232

233
234

235
236

237
238
239
240

241
242
243
244

245
246
247
248

249
250
251
252
253
254

255
256
257
258

259
260
261
262
263
264
265

266
267
268
269


270
271
272

273
274
275

276
277
278

279
280
281
282
283

284
285
286
287
288


289
290
291
292
293
294
295

296
297
298
299
300
301

302
303

304
305
306


307
308
309
310
311

312
313
314
315


316
317
318
319
320
321

322
323
324
325

326
327
328


329
330

331
332
333
334

335
336

337
338

339
340
341
342

343
344

345
346
347

348
349
350
351

352
353

354
355
356

357
358
359
360

361
362

363
364

365
366
367
368

369
370

371
372
373

374
375
376
377

378
379

380
381

382
383
384
385

386
387

388











389
390
391
392
393
394















395
396
397

398
399

400
401
402
403


404
405

406
407

408
409
410
411


412

413
414
415
416
417
418
419
420
421
422
423


























424
425
426
427


428
429



430
431

432
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
230
231
232
233
234
235


236
237
238

239
240

241
242
243
244

245
246

247
248

249
250
251


252
253
254


255





256
257
258
259
260
261
262
263

264
265

266
267
268


269
270
271

272


273

274
275
276
277

278
279

280
281

282
283
284
285

286
287
288
289

290
291
292
293

294
295
296
297
298
299

300
301
302
303

304
305
306
307
308
309
310

311
312
313


314
315
316


317



318



319





320

321
322


323
324
325
326
327
328



329






330


331



332
333
334
335
336
337

338
339
340


341
342
343
344
345
346
347

348
349
350
351

352
353


354
355
356

357
358
359
360

361
362

363
364

365
366
367
368

369
370

371

372

373
374
375
376

377
378

379
380
381

382
383
384
385

386
387

388
389

390
391
392
393

394
395

396
397
398

399
400
401
402

403
404

405
406

407
408
409
410

411
412

413
414
415
416
417
418
419
420
421
422
423
424
425






426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441


442
443

444
445
446


447
448
449

450
451

452
453
454


455
456
457
458











459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486


487
488
489

490
491
492
493

494
495







-
+


-
+


-
+



-
+




-
+



-
+




-
+



-
+





-
+


-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+


-
-
+
+
+
+
+
+
+
+

-
+

+
+
+
-
+
+
+
+
+
+
+
+
+
+

-
+

-
+



+
+
+
+
-
+
+
+

-
+



-
+




-
+



-
+





-
+


-
-
+
+

-
+

-
+


-
-
+
+

+
-
-
+
+
+
-
-
+
-

-
+

-
+

-
+


-
-
+
+

-
+

-
+

+
+
+
-
+
-
-
-
-
+

-
+


-
-
+
+

-
+

+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+

-
+

-
+


-
-
+
+

-
-
+

-
+


-
-
+
+

-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+


-
-
+
+

-
+

-
+



-
+

-
+

-
+


-
-
+
+

-
-
+
-
-
-
-
-
+
+
+
+
+
+

+
-
+

-
+


-
-
+
+

-
+
-
-

-
+



-
+

-
+

-
+



-
+



-
+



-
+





-
+



-
+






-
+


-
-
+
+

-
-
+
-
-
-
+
-
-
-
+
-
-
-
-
-
+
-


-
-
+
+




-
-
-
+
-
-
-
-
-
-
+
-
-
+
-
-
-
+
+




-
+


-
-
+
+





-
+



-
+

-
-
+
+

-
+



-
+

-
+

-
+



-
+

-
+
-

-
+



-
+

-
+


-
+



-
+

-
+

-
+



-
+

-
+


-
+



-
+

-
+

-
+



-
+

-
+

+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
+

-
+


-
-
+
+

-
+

-
+


-
-
+
+

+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


-
-
+
+

-
+
+
+

-
+

    "__restore_r13:\n"
    "	lwz	%r13, 44(%r12)\n"
    "	blr\n"
);
#endif

bool __saveds
glue_of_init PPC_PARAMS(unsigned int version, struct of_libc *_Nonnull libc, FILE *_Nonnull *_Nonnull sF)
glue_OFInit PPC_PARAMS(unsigned int version, struct OFLibC *_Nonnull libc, FILE *_Nonnull *_Nonnull sF)
{
	M68K_ARG(unsigned int, version, d0)
	M68K_ARG(struct of_libc *_Nonnull, libc, a0)
	M68K_ARG(struct OFLibC *_Nonnull, libc, a0)
	M68K_ARG(FILE *_Nonnull *_Nonnull, sF, a1)

	return of_init(version, libc, sF);
	return OFInit(version, libc, sF);
}

void *_Nullable __saveds
glue_of_alloc PPC_PARAMS(size_t count, size_t size)
glue_OFAllocMemory PPC_PARAMS(size_t count, size_t size)
{
	M68K_ARG(size_t, count, d0)
	M68K_ARG(size_t, size, d1)

	return of_alloc(count, size);
	return OFAllocMemory(count, size);
}

void *_Nullable __saveds
glue_of_alloc_zeroed PPC_PARAMS(size_t count, size_t size)
glue_OFAllocZeroedMemory PPC_PARAMS(size_t count, size_t size)
{
	M68K_ARG(size_t, count, d0)
	M68K_ARG(size_t, size, d1)

	return of_alloc_zeroed(count, size);
	return OFAllocZeroedMemory(count, size);
}

void *_Nullable __saveds
glue_of_realloc PPC_PARAMS(void *_Nullable pointer, size_t count, size_t size)
glue_OFResizeMemory PPC_PARAMS(void *_Nullable pointer, size_t count, size_t size)
{
	M68K_ARG(void *_Nullable, pointer, a0)
	M68K_ARG(size_t, count, d0)
	M68K_ARG(size_t, size, d1)

	return of_realloc(pointer, count, size);
	return OFResizeMemory(pointer, count, size);
}

uint32_t *_Nonnull __saveds
glue_of_hash_seed_ref(void)
{
	return of_hash_seed_ref();
void __saveds
glue_OFFreeMemory PPC_PARAMS(void *_Nullable pointer)
{
	M68K_ARG(void *_Nullable, pointer, a0)

	OFFreeMemory(pointer);
}

void __saveds
glue_OFHashInit PPC_PARAMS(unsigned long *_Nonnull hash)
{
	M68K_ARG(unsigned long *_Nonnull, hash, a0)

	OFHashInit(hash);
}

OFStdIOStream *_Nonnull *_Nullable __saveds
glue_of_stdin_ref(void)
uint16_t __saveds
glue_OFRandom16(void)
{
	return OFRandom16();
}

uint32_t __saveds
glue_OFRandom32(void)
{
	return of_stdin_ref();
	return OFRandom32();
}

uint64_t __saveds
glue_OFRandom64(void)

{
	return OFRandom64();
}

unsigned long *_Nonnull __saveds
glue_OFHashSeedRef(void)
{
	return OFHashSeedRef();
}

OFStdIOStream *_Nonnull *_Nullable __saveds
glue_of_stdout_ref(void)
glue_OFStdInRef(void)
{
	return of_stdout_ref();
	return OFStdInRef();
}

OFStdIOStream *_Nonnull *_Nullable __saveds
glue_OFStdOutRef(void)
{
	return OFStdOutRef();
}
glue_of_stderr_ref(void)

OFStdIOStream *_Nonnull *_Nullable __saveds
glue_OFStdErrRef(void)
{
	return of_stderr_ref();
	return OFStdErrRef();
}

void __saveds
glue_of_logv PPC_PARAMS(OFConstantString *format, va_list arguments)
glue_OFLogV PPC_PARAMS(OFConstantString *format, va_list arguments)
{
	M68K_ARG(OFConstantString *, format, a0)
	M68K_ARG(va_list, arguments, a1)

	of_logv(format, arguments);
	OFLogV(format, arguments);
}

int __saveds
glue_of_application_main PPC_PARAMS(int *_Nonnull argc, char *_Nullable *_Nonnull *_Nonnull argv, id <OFApplicationDelegate> delegate)
glue_OFApplicationMain PPC_PARAMS(int *_Nonnull argc, char *_Nullable *_Nonnull *_Nonnull argv, id <OFApplicationDelegate> delegate)
{
	M68K_ARG(int *_Nonnull, argc, a0)
	M68K_ARG(char *_Nullable *_Nonnull *_Nonnull, argv, a1)
	M68K_ARG(id <OFApplicationDelegate>, delegate, a2)

	return of_application_main(argc, argv, delegate);
	return OFApplicationMain(argc, argv, delegate);
}

const char *_Nullable __saveds
glue_of_http_request_method_to_string PPC_PARAMS(of_http_request_method_t method)
void *_Nullable __saveds
glue__Block_copy PPC_PARAMS(const void *_Nullable block)
{
	M68K_ARG(of_http_request_method_t, method, d0)
	M68K_ARG(const void *_Nullable, block, a0)

	return of_http_request_method_to_string(method);
	return _Block_copy(block);
}

of_http_request_method_t __saveds
glue_of_http_request_method_from_string PPC_PARAMS(OFString *string)
void __saveds
glue__Block_release PPC_PARAMS(const void *_Nullable block)
{
	M68K_ARG(const void *_Nullable, block, a0)
	M68K_ARG(OFString *, string, a0)


	_Block_release(block);
}
	return of_http_request_method_from_string(string);
}


OFString *_Nonnull __saveds
glue_of_http_status_code_to_string PPC_PARAMS(short code)
glue_OFDNSClassName PPC_PARAMS(OFDNSClass DNSClass)
{
	M68K_ARG(short, code, d0)
	M68K_ARG(OFDNSClass, DNSClass, d0)

	return of_http_status_code_to_string(code);
	return OFDNSClassName(DNSClass);
}

size_t __saveds
glue_of_sizeof_type_encoding PPC_PARAMS(const char *type)
OFString *_Nonnull __saveds
glue_OFDNSRecordTypeName PPC_PARAMS(OFDNSRecordType recordType)
{
	M68K_ARG(const char *, type, a0)
	M68K_ARG(OFDNSRecordType, recordType, d0)

	return of_sizeof_type_encoding(type);
	return OFDNSRecordTypeName(recordType);
}

OFDNSClass __saveds
glue_OFDNSClassParseName PPC_PARAMS(OFString *_Nonnull string)

{
size_t __saveds
glue_of_alignof_type_encoding PPC_PARAMS(const char *type)
{
	M68K_ARG(const char *, type, a0)
	M68K_ARG(OFString *_Nonnull, string, a0)

	return of_alignof_type_encoding(type);
	return OFDNSClassParseName(string);
}

of_string_encoding_t __saveds
glue_of_string_parse_encoding PPC_PARAMS(OFString *string)
OFDNSRecordType __saveds
glue_OFDNSRecordTypeParseName PPC_PARAMS(OFString *_Nonnull string)
{
	M68K_ARG(OFString *, string, a0)
	M68K_ARG(OFString *_Nonnull, string, a0)

	return OFDNSRecordTypeParseName(string);
}
	return of_string_parse_encoding(string);
}

OFString *_Nullable __saveds
glue_of_string_name_of_encoding PPC_PARAMS(of_string_encoding_t encoding)

const char *_Nullable __saveds
glue_OFHTTPRequestMethodName PPC_PARAMS(OFHTTPRequestMethod method)
{
	M68K_ARG(OFHTTPRequestMethod, method, d0)

	return OFHTTPRequestMethodName(method);
}

OFHTTPRequestMethod __saveds
glue_OFHTTPRequestMethodParseName PPC_PARAMS(OFString *string)
{
	M68K_ARG(of_string_encoding_t, encoding, d0)
	M68K_ARG(OFString *, string, a0)

	return of_string_name_of_encoding(encoding);
	return OFHTTPRequestMethodParseName(string);
}

size_t __saveds
glue_of_string_utf8_encode PPC_PARAMS(of_unichar_t c, char *UTF8)
OFString *_Nonnull __saveds
glue_OFHTTPStatusCodeString PPC_PARAMS(short code)
{
	M68K_ARG(of_unichar_t, c, d0)
	M68K_ARG(char *, UTF8, a0)
	M68K_ARG(short, code, d0)

	return of_string_utf8_encode(c, UTF8);
	return OFHTTPStatusCodeString(code);
}

ssize_t __saveds
glue_of_string_utf8_decode PPC_PARAMS(const char *UTF8, size_t len, of_unichar_t *c)
OFListItem _Nullable __saveds
glue_OFListItemNext PPC_PARAMS(OFListItem _Nonnull listItem)
{
	M68K_ARG(const char *, UTF8, a0)
	M68K_ARG(size_t, len, d0)
	M68K_ARG(of_unichar_t *, c, a1)

	return of_string_utf8_decode(UTF8, len, c);
	M68K_ARG(OFListItem _Nonnull, listItem, a0)

	return OFListItemNext(listItem);
}

OFListItem _Nullable __saveds
glue_OFListItemPrevious PPC_PARAMS(OFListItem _Nonnull listItem)
{
	M68K_ARG(OFListItem _Nonnull, listItem, a0)

	return OFListItemPrevious(listItem);
}

size_t __saveds
glue_of_string_utf16_length PPC_PARAMS(const of_char16_t *string)
id _Nonnull __saveds
glue_OFListItemObject PPC_PARAMS(OFListItem _Nonnull listItem)
{
	M68K_ARG(const of_char16_t *, string, a0)
	M68K_ARG(OFListItem _Nonnull, listItem, a0)

	return of_string_utf16_length(string);
	return OFListItemObject(listItem);
}

size_t __saveds
glue_of_string_utf32_length PPC_PARAMS(const of_char32_t *string)
glue_OFSizeOfTypeEncoding PPC_PARAMS(const char *type)
{
	M68K_ARG(const of_char32_t *, string, a0)
	M68K_ARG(const char *, type, a0)

	return of_string_utf32_length(string);
	return OFSizeOfTypeEncoding(type);
}

OFString *_Nonnull __saveds
glue_of_zip_archive_entry_version_to_string PPC_PARAMS(uint16_t version)
size_t __saveds
glue_OFAlignmentOfTypeEncoding PPC_PARAMS(const char *type)
{
	M68K_ARG(uint16_t, version, d0)

	M68K_ARG(const char *, type, a0)
	return of_zip_archive_entry_version_to_string(version);
}

OFString *_Nonnull __saveds
glue_of_zip_archive_entry_compression_method_to_string PPC_PARAMS(uint16_t compressionMethod)

	return OFAlignmentOfTypeEncoding(type);
}

void __saveds
glue_OFOnce PPC_PARAMS(OFOnceControl *_Nonnull control, OFOnceFunction _Nonnull func)
{
	M68K_ARG(OFOnceControl *_Nonnull, control, (nil))
	M68K_ARG(uint16_t, compressionMethod, d0)
	M68K_ARG(OFOnceFunction _Nonnull, func, (nil))

	return of_zip_archive_entry_compression_method_to_string(compressionMethod);
	OFOnce(control, func);
}

size_t __saveds
glue_of_zip_archive_entry_extra_field_find PPC_PARAMS(OFData *extraField, uint16_t tag, uint16_t *size)
void __saveds
glue_OFPBKDF2 PPC_PARAMS(OFPBKDF2Parameters parameters)
{
	M68K_ARG(OFData *, extraField, a0)
	M68K_ARG(OFPBKDF2Parameters, parameters, a0)
	M68K_ARG(uint16_t, tag, d0)
	M68K_ARG(uint16_t *, size, a1)

	return of_zip_archive_entry_extra_field_find(extraField, tag, size);
	OFPBKDF2(parameters);
}

void __saveds
glue_of_pbkdf2 PPC_PARAMS(of_pbkdf2_parameters_t param)
glue_OFScrypt PPC_PARAMS(OFScryptParameters parameters)
{
	M68K_ARG(of_pbkdf2_parameters_t, param, a0)
	M68K_ARG(OFScryptParameters, parameters, a0)

	of_pbkdf2(param);
	OFScrypt(parameters);
}

void __saveds
glue_of_salsa20_8_core PPC_PARAMS(uint32_t *_Nonnull buffer)
glue_OFSalsa20_8Core PPC_PARAMS(uint32_t *_Nonnull buffer)
{
	M68K_ARG(uint32_t *_Nonnull, buffer, a0)

	of_salsa20_8_core(buffer);
	OFSalsa20_8Core(buffer);
}

void __saveds
glue_of_scrypt_block_mix PPC_PARAMS(uint32_t *_Nonnull output, const uint32_t *_Nonnull input, size_t blockSize)
glue_OFScryptBlockMix PPC_PARAMS(uint32_t *_Nonnull output, const uint32_t *_Nonnull input, size_t blockSize)
{
	M68K_ARG(uint32_t *_Nonnull, output, a0)
	M68K_ARG(const uint32_t *_Nonnull, input, a1)
	M68K_ARG(size_t, blockSize, d0)

	of_scrypt_block_mix(output, input, blockSize);
	OFScryptBlockMix(output, input, blockSize);
}

void __saveds
glue_of_scrypt_romix PPC_PARAMS(uint32_t *buffer, size_t blockSize, size_t costFactor, uint32_t *tmp)
glue_OFScryptROMix PPC_PARAMS(uint32_t *buffer, size_t blockSize, size_t costFactor, uint32_t *tmp)
{
	M68K_ARG(uint32_t *, buffer, a0)
	M68K_ARG(size_t, blockSize, d0)
	M68K_ARG(size_t, costFactor, d1)
	M68K_ARG(uint32_t *, tmp, a1)

	of_scrypt_romix(buffer, blockSize, costFactor, tmp);
	OFScryptROMix(buffer, blockSize, costFactor, tmp);
}

void __saveds
glue_of_scrypt PPC_PARAMS(of_scrypt_parameters_t param)
OFSocketAddress __saveds
glue_OFSocketAddressParseIP PPC_PARAMS(OFString *IP, uint16_t port)
{
	M68K_ARG(of_scrypt_parameters_t, param, a0)

	M68K_ARG(OFString *, IP, a0)
	of_scrypt(param);
}

	M68K_ARG(uint16_t, port, d0)
const char *_Nullable __saveds
glue_of_strptime PPC_PARAMS(const char *buf, const char *fmt, struct tm *tm, int16_t *_Nullable tz)
{

	M68K_ARG(const char *, buf, a0)
	M68K_ARG(const char *, fmt, a1)
	M68K_ARG(struct tm *, tm, a2)
	M68K_ARG(int16_t *_Nullable, tz, a3)

	return OFSocketAddressParseIP(IP, port);
	return of_strptime(buf, fmt, tm, tz);
}

of_socket_address_t __saveds
glue_of_socket_address_parse_ip PPC_PARAMS(OFString *IP, uint16_t port)
OFSocketAddress __saveds
glue_OFSocketAddressParseIPv4 PPC_PARAMS(OFString *IP, uint16_t port)
{
	M68K_ARG(OFString *, IP, a0)
	M68K_ARG(uint16_t, port, d0)

	return of_socket_address_parse_ip(IP, port);
}

	return OFSocketAddressParseIPv4(IP, port);
of_socket_address_t __saveds
glue_of_socket_address_parse_ipv4 PPC_PARAMS(OFString *IP, uint16_t port)
{
	M68K_ARG(OFString *, IP, a0)
	M68K_ARG(uint16_t, port, d0)

}
	return of_socket_address_parse_ipv4(IP, port);
}


of_socket_address_t __saveds
glue_of_socket_address_parse_ipv6 PPC_PARAMS(OFString *IP, uint16_t port)
OFSocketAddress __saveds
glue_OFSocketAddressParseIPv6 PPC_PARAMS(OFString *IP, uint16_t port)
{
	M68K_ARG(OFString *, IP, a0)
	M68K_ARG(uint16_t, port, d0)

	return of_socket_address_parse_ipv6(IP, port);
	return OFSocketAddressParseIPv6(IP, port);
}

of_socket_address_t __saveds
glue_of_socket_address_ipx PPC_PARAMS(const unsigned char *_Nonnull node, uint32_t network, uint16_t port)
OFSocketAddress __saveds
glue_OFSocketAddressMakeIPX PPC_PARAMS(const unsigned char *_Nonnull node, uint32_t network, uint16_t port)
{
	M68K_ARG(const unsigned char *_Nonnull, node, a0)
	M68K_ARG(uint32_t, network, d0)
	M68K_ARG(uint16_t, port, d1)

	return of_socket_address_ipx(node, network, port);
	return OFSocketAddressMakeIPX(node, network, port);
}

bool __saveds
glue_of_socket_address_equal PPC_PARAMS(const of_socket_address_t *_Nonnull address1, const of_socket_address_t *_Nonnull address2)
glue_OFSocketAddressEqual PPC_PARAMS(const OFSocketAddress *_Nonnull address1, const OFSocketAddress *_Nonnull address2)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address1, a0)
	M68K_ARG(const of_socket_address_t *_Nonnull, address2, a1)
	M68K_ARG(const OFSocketAddress *_Nonnull, address1, a0)
	M68K_ARG(const OFSocketAddress *_Nonnull, address2, a1)

	return of_socket_address_equal(address1, address2);
	return OFSocketAddressEqual(address1, address2);
}

unsigned long __saveds
glue_of_socket_address_hash PPC_PARAMS(const of_socket_address_t *_Nonnull address)
glue_OFSocketAddressHash PPC_PARAMS(const OFSocketAddress *_Nonnull address)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(const OFSocketAddress *_Nonnull, address, a0)

	return of_socket_address_hash(address);
	return OFSocketAddressHash(address);
}

OFString *_Nonnull __saveds
glue_of_socket_address_ip_string PPC_PARAMS(const of_socket_address_t *_Nonnull address, uint16_t *_Nullable port)
glue_OFSocketAddressString PPC_PARAMS(const OFSocketAddress *_Nonnull address)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(const OFSocketAddress *_Nonnull, address, a0)
	M68K_ARG(uint16_t *_Nullable, port, a1)

	return of_socket_address_ip_string(address, port);
	return OFSocketAddressString(address);
}

void __saveds
glue_of_socket_address_set_port PPC_PARAMS(of_socket_address_t *_Nonnull address, uint16_t port)
glue_OFSocketAddressSetPort PPC_PARAMS(OFSocketAddress *_Nonnull address, uint16_t port)
{
	M68K_ARG(of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(OFSocketAddress *_Nonnull, address, a0)
	M68K_ARG(uint16_t, port, d0)

	of_socket_address_set_port(address, port);
	OFSocketAddressSetPort(address, port);
}

uint16_t __saveds
glue_of_socket_address_get_port PPC_PARAMS(const of_socket_address_t *_Nonnull address)
glue_OFSocketAddressPort PPC_PARAMS(const OFSocketAddress *_Nonnull address)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(const OFSocketAddress *_Nonnull, address, a0)

	return of_socket_address_get_port(address);
	return OFSocketAddressPort(address);
}

void __saveds
glue_of_socket_address_set_ipx_network PPC_PARAMS(of_socket_address_t *_Nonnull address, uint32_t network)
glue_OFSocketAddressSetIPXNetwork PPC_PARAMS(OFSocketAddress *_Nonnull address, uint32_t network)
{
	M68K_ARG(of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(OFSocketAddress *_Nonnull, address, a0)
	M68K_ARG(uint32_t, network, d0)

	of_socket_address_set_ipx_network(address, network);
	OFSocketAddressSetIPXNetwork(address, network);
}

uint32_t __saveds
glue_of_socket_address_get_ipx_network PPC_PARAMS(const of_socket_address_t *_Nonnull address)
glue_OFSocketAddressIPXNetwork PPC_PARAMS(const OFSocketAddress *_Nonnull address)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(const OFSocketAddress *_Nonnull, address, a0)

	return of_socket_address_get_ipx_network(address);
	return OFSocketAddressIPXNetwork(address);
}

void __saveds
glue_of_socket_address_set_ipx_node PPC_PARAMS(of_socket_address_t *_Nonnull address, const unsigned char *_Nonnull node)
glue_OFSocketAddressSetIPXNode PPC_PARAMS(OFSocketAddress *_Nonnull address, const unsigned char *_Nonnull node)
{
	M68K_ARG(of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(OFSocketAddress *_Nonnull, address, a0)
	M68K_ARG(const unsigned char *_Nonnull, node, a1)

	OFSocketAddressSetIPXNode(address, node);
}

void __saveds
glue_OFSocketAddressIPXNode PPC_PARAMS(const OFSocketAddress *_Nonnull address, unsigned char *_Nonnull node)
{
	M68K_ARG(const OFSocketAddress *_Nonnull, address, a0)
	M68K_ARG(unsigned char *_Nonnull, node, a1)

	OFSocketAddressIPXNode(address, node);

	of_socket_address_set_ipx_node(address, node);
}

void __saveds
glue_of_socket_address_get_ipx_node PPC_PARAMS(const of_socket_address_t *_Nonnull address, unsigned char *_Nonnull node)
}

const char *_Nullable __saveds
glue_OFStrPTime PPC_PARAMS(const char *buffer, const char *format, struct tm *tm, int16_t *_Nullable tz)
{
	M68K_ARG(const char *, buffer, a0)
	M68K_ARG(const char *, format, a1)
	M68K_ARG(struct tm *, tm, a2)
	M68K_ARG(int16_t *_Nullable, tz, a3)

	return OFStrPTime(buffer, format, tm, tz);
}

OFStringEncoding __saveds
glue_OFStringEncodingParseName PPC_PARAMS(OFString *string)
{
	M68K_ARG(const of_socket_address_t *_Nonnull, address, a0)
	M68K_ARG(unsigned char *_Nonnull, node, a1)
	M68K_ARG(OFString *, string, a0)

	of_socket_address_get_ipx_node(address, node);
	return OFStringEncodingParseName(string);
}

OFString *_Nonnull __saveds
glue_of_dns_class_to_string PPC_PARAMS(of_dns_class_t DNSClass)
OFString *_Nullable __saveds
glue_OFStringEncodingName PPC_PARAMS(OFStringEncoding encoding)
{
	M68K_ARG(of_dns_class_t, DNSClass, d0)
	M68K_ARG(OFStringEncoding, encoding, d0)

	return of_dns_class_to_string(DNSClass);
	return OFStringEncodingName(encoding);
}

OFString *_Nonnull __saveds
glue_of_dns_record_type_to_string PPC_PARAMS(of_dns_record_type_t recordType)
size_t __saveds
glue_OFUTF16StringLength PPC_PARAMS(const OFChar16 *string)
{
	M68K_ARG(const OFChar16 *, string, a0)
	M68K_ARG(of_dns_record_type_t, recordType, d0)

	return of_dns_record_type_to_string(recordType);
}

of_dns_class_t __saveds
glue_of_dns_class_parse PPC_PARAMS(OFString *_Nonnull string)
{
	M68K_ARG(OFString *_Nonnull, string, a0)

	return of_dns_class_parse(string);

	return OFUTF16StringLength(string);
}

size_t __saveds
glue_OFUTF32StringLength PPC_PARAMS(const OFChar32 *string)
{
	M68K_ARG(const OFChar32 *, string, a0)

	return OFUTF32StringLength(string);
}

OFString *_Nonnull __saveds
glue_OFZIPArchiveEntryVersionToString PPC_PARAMS(uint16_t version)
{
	M68K_ARG(uint16_t, version, d0)

	return OFZIPArchiveEntryVersionToString(version);
}

OFString *_Nonnull __saveds
glue_OFZIPArchiveEntryCompressionMethodName PPC_PARAMS(OFZIPArchiveEntryCompressionMethod compressionMethod)
{
	M68K_ARG(OFZIPArchiveEntryCompressionMethod, compressionMethod, d0)

	return OFZIPArchiveEntryCompressionMethodName(compressionMethod);
}

of_dns_record_type_t __saveds
glue_of_dns_record_type_parse PPC_PARAMS(OFString *_Nonnull string)
size_t __saveds
glue_OFZIPArchiveEntryExtraFieldFind PPC_PARAMS(OFData *extraField, OFZIPArchiveEntryExtraFieldTag tag, uint16_t *size)
{
	M68K_ARG(OFString *_Nonnull, string, a0)
	M68K_ARG(OFData *, extraField, a0)
	M68K_ARG(OFZIPArchiveEntryExtraFieldTag, tag, d0)
	M68K_ARG(uint16_t *, size, a1)

	return of_dns_record_type_parse(string);
	return OFZIPArchiveEntryExtraFieldFind(extraField, tag, size);
}