Skip to content

Commit ac64a5e

Browse files
committed
network_wii: rename some magic numbers in network code
does nothing, but clears up some numbers
1 parent e33faa9 commit ac64a5e

1 file changed

Lines changed: 19 additions & 10 deletions

File tree

libogc/network_wii.c

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ enum {
118118
SO_GETINTERFACEOPT_ROUTING = 0x4006,
119119
};
120120

121+
//wii doesn't have, or use, sin_zero in sockaddr_in and all communications assumes its not there
122+
//bsd sockets does have it, so we ignore it. the struct is directly compatible with bsd sockets normally
123+
struct wii_sockaddr_in{
124+
u8 sin_len;
125+
u8 sin_family;
126+
u16 sin_port;
127+
u32 sin_addr;
128+
};
129+
121130
struct init_data {
122131
u32 state;
123132
s32 fd;
@@ -820,12 +829,12 @@ s32 net_bind(s32 s, struct sockaddr *name, socklen_t namelen)
820829
if (net_ip_top_fd < 0) return -ENXIO;
821830
if (name->sa_family != AF_INET) return -EAFNOSUPPORT;
822831

823-
name->sa_len = 8;
832+
name->sa_len = sizeof(struct wii_sockaddr_in);
824833

825834
memset(params, 0, sizeof(struct bind_params));
826835
params->socket = s;
827836
params->has_name = 1;
828-
memcpy(params->name, name, 8);
837+
memcpy(params->name, name, sizeof(struct wii_sockaddr_in));
829838

830839
ret = _net_convert_error(IOS_Ioctl(net_ip_top_fd, IOCTL_SO_BIND, params, sizeof (struct bind_params), NULL, 0));
831840
debug_printf("net_bind(%d, %p)=%d\n", s, name, ret);
@@ -860,14 +869,14 @@ s32 net_accept(s32 s, struct sockaddr *addr, socklen_t *addrlen)
860869
if (net_ip_top_fd < 0) return -ENXIO;
861870

862871
if (!addr) return -EINVAL;
863-
addr->sa_len = 8;
872+
addr->sa_len = sizeof(struct wii_sockaddr_in);
864873
addr->sa_family = AF_INET;
865874

866875
if (!addrlen) return -EINVAL;
867876

868-
if (*addrlen < 8) return -ENOMEM;
877+
if (*addrlen < sizeof(struct wii_sockaddr_in)) return -ENOMEM;
869878

870-
*addrlen = 8;
879+
*addrlen = sizeof(struct wii_sockaddr_in);
871880

872881
*_socket = s;
873882
debug_printf("calling ios_ioctl(%d, %d, %p, %d)\n", net_ip_top_fd, IOCTL_SO_ACCEPT, _socket, 4);
@@ -884,9 +893,9 @@ s32 net_connect(s32 s, struct sockaddr *addr, socklen_t addrlen)
884893

885894
if (net_ip_top_fd < 0) return -ENXIO;
886895
if (addr->sa_family != AF_INET) return -EAFNOSUPPORT;
887-
if (addrlen < 8) return -EINVAL;
896+
if (addrlen < sizeof(struct wii_sockaddr_in)) return -EINVAL;
888897

889-
addrlen = 8;
898+
addrlen = sizeof(struct wii_sockaddr_in);
890899

891900
addr->sa_len = addrlen;
892901

@@ -1143,11 +1152,11 @@ s32 net_getsockname(s32 s, struct sockaddr *addr, socklen_t *addrlen)
11431152
if (!addr) return -EINVAL;
11441153
if (!addrlen) return -EINVAL;
11451154

1146-
if (*addrlen < 8) return -ENOMEM;
1155+
if (*addrlen < sizeof(struct wii_sockaddr_in)) return -ENOMEM;
11471156

1148-
addr->sa_len = 8;
1157+
addr->sa_len = sizeof(struct wii_sockaddr_in);
11491158
addr->sa_family = AF_INET;
1150-
*addrlen = 8;
1159+
*addrlen = sizeof(struct wii_sockaddr_in);
11511160
*_socket = s;
11521161

11531162
ret = _net_convert_error(IOS_Ioctl(net_ip_top_fd, IOCTL_SO_GETSOCKNAME, _socket, 4, addr, *addrlen));

0 commit comments

Comments
 (0)