Index: src/amiga-glue.m ================================================================== --- src/amiga-glue.m +++ src/amiga-glue.m @@ -188,46 +188,53 @@ of_scrypt(blockSize, costFactor, parallelization, salt, saltLength, password, passwordLength, key, keyLength, allowsSwappableMemory); } -of_socket_address_t __saveds -glue_of_socket_address_parse_ip 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); -} - -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) -{ - M68K_ARG(OFString *, IP, a0) - M68K_ARG(uint16_t, port, d0) - - return of_socket_address_parse_ipv6(IP, port); -} - -of_socket_address_t __saveds -glue_of_socket_address_ipx PPC_PARAMS(const unsigned char *node, - uint32_t network, uint16_t port) -{ - M68K_ARG(const unsigned char *, node, a0) +void __saveds +glue_of_socket_address_parse_ip PPC_PARAMS(of_socket_address_t *address, + OFString *IP, uint16_t port) +{ + M68K_ARG(of_socket_address_t *, address, a0) + M68K_ARG(OFString *, IP, a1) + M68K_ARG(uint16_t, port, d0) + + *address = of_socket_address_parse_ip(IP, port); +} + +void __saveds +glue_of_socket_address_parse_ipv4 PPC_PARAMS(of_socket_address_t *address, + OFString *IP, uint16_t port) +{ + M68K_ARG(of_socket_address_t *, address, a0) + M68K_ARG(OFString *, IP, a1) + M68K_ARG(uint16_t, port, d0) + + *address = of_socket_address_parse_ipv4(IP, port); +} + +void __saveds +glue_of_socket_address_parse_ipv6 PPC_PARAMS(of_socket_address_t *address, + OFString *IP, uint16_t port) +{ + M68K_ARG(of_socket_address_t *, address, a0) + M68K_ARG(OFString *, IP, a1) + M68K_ARG(uint16_t, port, d0) + + *address = of_socket_address_parse_ipv6(IP, port); +} + +void __saveds +glue_of_socket_address_ipx PPC_PARAMS(of_socket_address_t *address, + const unsigned char *node, uint32_t network, uint16_t port) +{ + M68K_ARG(of_socket_address_t *, address, a0) + M68K_ARG(const unsigned char *, node, a1) M68K_ARG(uint32_t, network, d0) M68K_ARG(uint16_t, port, d1) - return of_socket_address_ipx(node, network, port); + *address = of_socket_address_ipx(node, network, port); } bool __saveds glue_of_socket_address_equal PPC_PARAMS(const of_socket_address_t *address1, const of_socket_address_t *address2) Index: src/amigaos3.sfd ================================================================== --- src/amigaos3.sfd +++ src/amigaos3.sfd @@ -15,18 +15,18 @@ OFString *_Nonnull glue_of_zip_archive_entry_version_to_string(uint16_t version)(d0) OFString *_Nonnull glue_of_zip_archive_entry_compression_method_to_string(uint16_t compressionMethod)(d0) size_t glue_of_zip_archive_entry_extra_field_find(OFData *extraField, uint16_t tag, uint16_t *size)(a0,d0,a1) void glue_of_pbkdf2(OFHMAC *HMAC, size_t iterations, const unsigned char *salt, size_t saltLength, const char *password, size_t passwordLength, unsigned char *key, size_t keyLength, bool allowsSwappableMemory)(a0,d0,a1,d1,a2,d2,a3,d3,d4) void glue_of_scrypt(size_t blockSize, size_t costFactor, size_t parallelization, const unsigned char *salt, size_t saltLength, const char *password, size_t passwordLength, unsigned char *key, size_t keyLength, bool allowsSwappableMemory)(d0,d1,d2,a0,d3,a1,d4,a2,d5,d6) -of_socket_address_t glue_of_socket_address_parse_ip(OFString *IP, uint16_t port)(a0,d0) -of_socket_address_t glue_of_socket_address_parse_ipv4(OFString *IP, uint16_t port)(a0,d0) -of_socket_address_t glue_of_socket_address_parse_ipv6(OFString *IP, uint16_t port)(a0,d0) -of_socket_address_t glue_of_socket_address_ipx(const unsigned char *_Nonnull node, uint32_t network, uint16_t port)(a0,d0,d1) +void glue_of_socket_address_parse_ip(of_socket_address_t *_Nonnull address, OFString *IP, uint16_t port)(a0,a1,d0) +void glue_of_socket_address_parse_ipv4(of_socket_address_t *_Nonnull address, OFString *IP, uint16_t port)(a0,a1,d0) +void glue_of_socket_address_parse_ipv6(of_socket_address_t *_Nonnull address, OFString *IP, uint16_t port)(a0,a1,d0) +void glue_of_socket_address_ipx(of_socket_address_t *_Nonnull address, const unsigned char *_Nonnull node, uint32_t network, uint16_t port)(a0,a1,d0,d1) bool glue_of_socket_address_equal(const of_socket_address_t *_Nonnull address1, const of_socket_address_t *_Nonnull address2)(a0,a1) uint32_t glue_of_socket_address_hash(const of_socket_address_t *_Nonnull address)(a0) OFString *_Nonnull glue_of_socket_address_ip_string(const of_socket_address_t *_Nonnull address, uint16_t *_Nullable port)(a0,a1) void glue_of_socket_address_set_port(of_socket_address_t *_Nonnull address, uint16_t port)(a0,d0) uint16_t glue_of_socket_address_get_port(const of_socket_address_t *_Nonnull address)(a0) void glue_of_socket_address_set_ipx_network(of_socket_address_t *_Nonnull address, uint32_t network)(a0,d0) uint32_t glue_of_socket_address_get_ipx_network(const of_socket_address_t *_Nonnull address)(a0) void glue_of_socket_address_set_ipx_node(of_socket_address_t *_Nonnull address, const unsigned char *_Nonnull node)(a0,a1) void glue_of_socket_address_get_ipx_node(const of_socket_address_t *_Nonnull address, unsigned char *_Nonnull node)(a0,a1) Index: src/linklib/linklib.m ================================================================== --- src/linklib/linklib.m +++ src/linklib/linklib.m @@ -160,5 +160,186 @@ { dtor(); } #endif +int +of_application_main(int *argc, char ***argv, + id delegate) +{ + return glue_of_application_main(argc, argv, delegate); +} + +const char * +of_http_request_method_to_string(of_http_request_method_t method) +{ + return glue_of_http_request_method_to_string(method); +} + +of_http_request_method_t +of_http_request_method_from_string(OFString *string) +{ + return glue_of_http_request_method_from_string(string); +} + +OFString * +of_http_status_code_to_string(short code) +{ + return glue_of_http_status_code_to_string(code); +} + +size_t +of_sizeof_type_encoding(const char *type) +{ + return glue_of_sizeof_type_encoding(type); +} + +size_t +of_alignof_type_encoding(const char *type) +{ + return glue_of_alignof_type_encoding(type); +} + +void +of_logv(OFConstantString *format, va_list arguments) +{ + glue_of_logv(format, arguments); +} + +OFString * +of_zip_archive_entry_version_to_string(uint16_t version) +{ + return glue_of_zip_archive_entry_version_to_string(version); +} + +OFString * +of_zip_archive_entry_compression_method_to_string(uint16_t compressionMethod) +{ + return glue_of_zip_archive_entry_compression_method_to_string( + compressionMethod); +} + +size_t +of_zip_archive_entry_extra_field_find(OFData *extraField, uint16_t tag, + uint16_t *size) +{ + return glue_of_zip_archive_entry_extra_field_find( + extraField, tag, size); +} + +void +of_pbkdf2(OFHMAC *HMAC, size_t iterations, const unsigned char *salt, + size_t saltLength, const char *password, size_t passwordLength, + unsigned char *key, size_t keyLength, bool allowsSwappableMemory) +{ + glue_of_pbkdf2(HMAC, iterations, salt, saltLength, + password, passwordLength, key, keyLength, allowsSwappableMemory); +} + +void +of_scrypt(size_t blockSize, size_t costFactor, size_t parallelization, + const unsigned char *salt, size_t saltLength, const char *password, + size_t passwordLength, unsigned char *key, size_t keyLength, + bool allowsSwappableMemory) +{ + glue_of_scrypt(blockSize, costFactor, parallelization, salt, saltLength, + password, passwordLength, key, keyLength, allowsSwappableMemory); +} + +of_socket_address_t +of_socket_address_parse_ip(OFString *IP, uint16_t port) +{ + of_socket_address_t address; + + glue_of_socket_address_parse_ip(&address, IP, port); + + return address; +} + +of_socket_address_t +of_socket_address_parse_ipv4(OFString *IP, uint16_t port) +{ + of_socket_address_t address; + + glue_of_socket_address_parse_ipv4(&address, IP, port); + + return address; +} + +of_socket_address_t +of_socket_address_parse_ipv6(OFString *IP, uint16_t port) +{ + of_socket_address_t address; + + glue_of_socket_address_parse_ipv6(&address, IP, port); + + return address; +} + +of_socket_address_t +of_socket_address_ipx(const unsigned char *node, uint32_t network, + uint16_t port) +{ + of_socket_address_t address; + + glue_of_socket_address_ipx(&address, node, network, port); + + return address; +} + +bool +of_socket_address_equal(const of_socket_address_t *address1, + const of_socket_address_t *address2) +{ + return glue_of_socket_address_equal(address1, address2); +} + +uint32_t +of_socket_address_hash(const of_socket_address_t *address) +{ + return glue_of_socket_address_hash(address); +} + +OFString * +of_socket_address_ip_string(const of_socket_address_t *address, uint16_t *port) +{ + return glue_of_socket_address_ip_string(address, port); +} + +void +of_socket_address_set_port(of_socket_address_t *address, uint16_t port) +{ + glue_of_socket_address_set_port(address, port); +} + +uint16_t +of_socket_address_get_port(const of_socket_address_t *address) +{ + return glue_of_socket_address_get_port(address); +} + +void +of_socket_address_set_ipx_network(of_socket_address_t *address, + uint32_t network) +{ + glue_of_socket_address_set_ipx_network(address, network); +} + +uint32_t +of_socket_address_get_ipx_network(const of_socket_address_t *address) +{ + return glue_of_socket_address_get_ipx_network(address); +} + +void +of_socket_address_set_ipx_node(of_socket_address_t *address, + const unsigned char *node) +{ + glue_of_socket_address_set_ipx_node(address, node); +} + +void +of_socket_address_get_ipx_node(const of_socket_address_t *address, + unsigned char *node) +{ + glue_of_socket_address_get_ipx_node(address, node); +}