@@ -114,18 +114,18 @@ enet_address_set_host (ENetAddress * address, const char * name)
114
114
#endif
115
115
116
116
if (hostEntry == NULL ||
117
- hostEntry -> h_addrtype != AF_INET )
117
+ hostEntry -> h_addrtype != AF_INET6 )
118
118
{
119
119
#ifdef HAS_INET_PTON
120
- if (! inet_pton (AF_INET , name , & address -> host ))
120
+ if (! inet_pton (AF_INET6 , name , & address -> host ))
121
121
#else
122
- if (! inet_aton (name , (struct in_addr * ) & address -> host ))
122
+ if (! inet_aton (name , (struct in6_addr * ) & address -> host ))
123
123
#endif
124
124
return -1 ;
125
125
return 0 ;
126
126
}
127
127
128
- address -> host = * (enet_uint32 * ) hostEntry -> h_addr_list [0 ];
128
+ // address -> host = * (enet_uint32 *) hostEntry -> h_addr_list [0];
129
129
130
130
return 0 ;
131
131
}
134
134
enet_address_get_host_ip (const ENetAddress * address , char * name , size_t nameLength )
135
135
{
136
136
#ifdef HAS_INET_NTOP
137
- if (inet_ntop (AF_INET , & address -> host , name , nameLength ) == NULL )
137
+ if (inet_ntop (AF_INET6 , & address -> host , name , nameLength ) == NULL )
138
138
#else
139
- char * addr = inet_ntoa (* (struct in_addr * ) & address -> host );
139
+ char * addr = inet_ntoa (* (struct in6_addr * ) & address -> host );
140
140
if (addr != NULL )
141
141
{
142
142
size_t addrLen = strlen (addr );
@@ -153,24 +153,24 @@ enet_address_get_host_ip (const ENetAddress * address, char * name, size_t nameL
153
153
int
154
154
enet_address_get_host (const ENetAddress * address , char * name , size_t nameLength )
155
155
{
156
- struct in_addr in ;
156
+ struct in6_addr in ;
157
157
struct hostent * hostEntry = NULL ;
158
158
#ifdef HAS_GETHOSTBYADDR_R
159
159
struct hostent hostData ;
160
160
char buffer [2048 ];
161
161
int errnum ;
162
162
163
- in . s_addr = address -> host ;
163
+ in = address -> host ;
164
164
165
165
#if defined(linux ) || defined(__linux ) || defined(__linux__ ) || defined(__FreeBSD__ ) || defined(__FreeBSD_kernel__ )
166
- gethostbyaddr_r ((char * ) & in , sizeof (struct in_addr ), AF_INET , & hostData , buffer , sizeof (buffer ), & hostEntry , & errnum );
166
+ gethostbyaddr_r ((char * ) & in , sizeof (struct in6_addr ), AF_INET6 , & hostData , buffer , sizeof (buffer ), & hostEntry , & errnum );
167
167
#else
168
- hostEntry = gethostbyaddr_r ((char * ) & in , sizeof (struct in_addr ), AF_INET , & hostData , buffer , sizeof (buffer ), & errnum );
168
+ hostEntry = gethostbyaddr_r ((char * ) & in , sizeof (struct in6_addr ), AF_INET6 , & hostData , buffer , sizeof (buffer ), & errnum );
169
169
#endif
170
170
#else
171
171
in .s_addr = address -> host ;
172
172
173
- hostEntry = gethostbyaddr ((char * ) & in , sizeof (struct in_addr ), AF_INET );
173
+ hostEntry = gethostbyaddr ((char * ) & in , sizeof (struct in6_addr ), AF_INET6 );
174
174
#endif
175
175
176
176
if (hostEntry == NULL )
@@ -189,39 +189,39 @@ enet_address_get_host (const ENetAddress * address, char * name, size_t nameLeng
189
189
int
190
190
enet_socket_bind (ENetSocket socket , const ENetAddress * address )
191
191
{
192
- struct sockaddr_in sin ;
192
+ struct sockaddr_in6 sin ;
193
193
194
- memset (& sin , 0 , sizeof (struct sockaddr_in ));
194
+ memset (& sin , 0 , sizeof (struct sockaddr_in6 ));
195
195
196
- sin .sin_family = AF_INET ;
196
+ sin .sin6_family = AF_INET6 ;
197
197
198
198
if (address != NULL )
199
199
{
200
- sin .sin_port = ENET_HOST_TO_NET_16 (address -> port );
201
- sin .sin_addr . s_addr = address -> host ;
200
+ sin .sin6_port = ENET_HOST_TO_NET_16 (address -> port );
201
+ sin .sin6_addr = address -> host ;
202
202
}
203
203
else
204
204
{
205
- sin .sin_port = 0 ;
206
- sin .sin_addr . s_addr = INADDR_ANY ;
205
+ sin .sin6_port = 0 ;
206
+ sin .sin6_addr = in6addr_any ;
207
207
}
208
208
209
209
return bind (socket ,
210
210
(struct sockaddr * ) & sin ,
211
- sizeof (struct sockaddr_in ));
211
+ sizeof (struct sockaddr_in6 ));
212
212
}
213
213
214
214
int
215
215
enet_socket_get_address (ENetSocket socket , ENetAddress * address )
216
216
{
217
- struct sockaddr_in sin ;
218
- socklen_t sinLength = sizeof (struct sockaddr_in );
217
+ struct sockaddr_in6 sin ;
218
+ socklen_t sinLength = sizeof (struct sockaddr_in6 );
219
219
220
220
if (getsockname (socket , (struct sockaddr * ) & sin , & sinLength ) == -1 )
221
221
return -1 ;
222
222
223
- address -> host = ( enet_uint32 ) sin .sin_addr . s_addr ;
224
- address -> port = ENET_NET_TO_HOST_16 (sin .sin_port );
223
+ address -> host = sin .sin6_addr ;
224
+ address -> port = ENET_NET_TO_HOST_16 (sin .sin6_port );
225
225
226
226
return 0 ;
227
227
}
@@ -235,7 +235,7 @@ enet_socket_listen (ENetSocket socket, int backlog)
235
235
ENetSocket
236
236
enet_socket_create (ENetSocketType type )
237
237
{
238
- return socket (PF_INET , type == ENET_SOCKET_TYPE_DATAGRAM ? SOCK_DGRAM : SOCK_STREAM , 0 );
238
+ return socket (PF_INET6 , type == ENET_SOCKET_TYPE_DATAGRAM ? SOCK_DGRAM : SOCK_STREAM , 0 );
239
239
}
240
240
241
241
int
@@ -317,16 +317,16 @@ enet_socket_get_option (ENetSocket socket, ENetSocketOption option, int * value)
317
317
int
318
318
enet_socket_connect (ENetSocket socket , const ENetAddress * address )
319
319
{
320
- struct sockaddr_in sin ;
320
+ struct sockaddr_in6 sin ;
321
321
int result ;
322
322
323
- memset (& sin , 0 , sizeof (struct sockaddr_in ));
323
+ memset (& sin , 0 , sizeof (struct sockaddr_in6 ));
324
324
325
- sin .sin_family = AF_INET ;
326
- sin .sin_port = ENET_HOST_TO_NET_16 (address -> port );
327
- sin .sin_addr . s_addr = address -> host ;
325
+ sin .sin6_family = AF_INET6 ;
326
+ sin .sin6_port = ENET_HOST_TO_NET_16 (address -> port );
327
+ sin .sin6_addr = address -> host ;
328
328
329
- result = connect (socket , (struct sockaddr * ) & sin , sizeof (struct sockaddr_in ));
329
+ result = connect (socket , (struct sockaddr * ) & sin , sizeof (struct sockaddr_in6 ));
330
330
if (result == -1 && errno == EINPROGRESS )
331
331
return 0 ;
332
332
@@ -337,8 +337,8 @@ ENetSocket
337
337
enet_socket_accept (ENetSocket socket , ENetAddress * address )
338
338
{
339
339
int result ;
340
- struct sockaddr_in sin ;
341
- socklen_t sinLength = sizeof (struct sockaddr_in );
340
+ struct sockaddr_in6 sin ;
341
+ socklen_t sinLength = sizeof (struct sockaddr_in6 );
342
342
343
343
result = accept (socket ,
344
344
address != NULL ? (struct sockaddr * ) & sin : NULL ,
@@ -349,8 +349,8 @@ enet_socket_accept (ENetSocket socket, ENetAddress * address)
349
349
350
350
if (address != NULL )
351
351
{
352
- address -> host = ( enet_uint32 ) sin .sin_addr . s_addr ;
353
- address -> port = ENET_NET_TO_HOST_16 (sin .sin_port );
352
+ address -> host = sin .sin6_addr ;
353
+ address -> port = ENET_NET_TO_HOST_16 (sin .sin6_port );
354
354
}
355
355
356
356
return result ;
@@ -376,21 +376,21 @@ enet_socket_send (ENetSocket socket,
376
376
size_t bufferCount )
377
377
{
378
378
struct msghdr msgHdr ;
379
- struct sockaddr_in sin ;
379
+ struct sockaddr_in6 sin ;
380
380
int sentLength ;
381
381
382
382
memset (& msgHdr , 0 , sizeof (struct msghdr ));
383
383
384
384
if (address != NULL )
385
385
{
386
- memset (& sin , 0 , sizeof (struct sockaddr_in ));
386
+ memset (& sin , 0 , sizeof (struct sockaddr_in6 ));
387
387
388
- sin .sin_family = AF_INET ;
389
- sin .sin_port = ENET_HOST_TO_NET_16 (address -> port );
390
- sin .sin_addr . s_addr = address -> host ;
388
+ sin .sin6_family = AF_INET6 ;
389
+ sin .sin6_port = ENET_HOST_TO_NET_16 (address -> port );
390
+ sin .sin6_addr = address -> host ;
391
391
392
392
msgHdr .msg_name = & sin ;
393
- msgHdr .msg_namelen = sizeof (struct sockaddr_in );
393
+ msgHdr .msg_namelen = sizeof (struct sockaddr_in6 );
394
394
}
395
395
396
396
msgHdr .msg_iov = (struct iovec * ) buffers ;
@@ -416,15 +416,15 @@ enet_socket_receive (ENetSocket socket,
416
416
size_t bufferCount )
417
417
{
418
418
struct msghdr msgHdr ;
419
- struct sockaddr_in sin ;
419
+ struct sockaddr_in6 sin ;
420
420
int recvLength ;
421
421
422
422
memset (& msgHdr , 0 , sizeof (struct msghdr ));
423
423
424
424
if (address != NULL )
425
425
{
426
426
msgHdr .msg_name = & sin ;
427
- msgHdr .msg_namelen = sizeof (struct sockaddr_in );
427
+ msgHdr .msg_namelen = sizeof (struct sockaddr_in6 );
428
428
}
429
429
430
430
msgHdr .msg_iov = (struct iovec * ) buffers ;
@@ -447,8 +447,8 @@ enet_socket_receive (ENetSocket socket,
447
447
448
448
if (address != NULL )
449
449
{
450
- address -> host = ( enet_uint32 ) sin .sin_addr . s_addr ;
451
- address -> port = ENET_NET_TO_HOST_16 (sin .sin_port );
450
+ address -> host = sin .sin6_addr ;
451
+ address -> port = ENET_NET_TO_HOST_16 (sin .sin6_port );
452
452
}
453
453
454
454
return recvLength ;
0 commit comments