@@ -78,6 +78,13 @@ typedef socklen_t SockLen;
78
78
typedef struct sockaddr_storage AddressStorage ;
79
79
#endif
80
80
81
+ typedef enum NET_Status
82
+ {
83
+ NET_FAILURE = -1 ,
84
+ NET_WOULDBLOCK ,
85
+ NET_SUCCESS ,
86
+ } NET_Status ;
87
+
81
88
typedef enum NET_SocketType
82
89
{
83
90
SOCKETTYPE_STREAM ,
@@ -214,7 +221,7 @@ static bool SetGetAddrInfoErrorBool(const char *msg, int err)
214
221
}
215
222
216
223
// this blocks!
217
- static int ResolveAddress (NET_Address * addr )
224
+ static NET_Status ResolveAddress (NET_Address * addr )
218
225
{
219
226
SDL_assert (addr != NULL ); // we control all this, so this shouldn't happen.
220
227
struct addrinfo * ainfo = NULL ;
@@ -225,23 +232,23 @@ static int ResolveAddress(NET_Address *addr)
225
232
//SDL_Log("rc=%d", rc);
226
233
if (rc != 0 ) {
227
234
addr -> errstr = CreateGetAddrInfoErrorString (rc );
228
- return -1 ; // error
235
+ return NET_FAILURE ; // error
229
236
} else if (ainfo == NULL ) {
230
237
addr -> errstr = SDL_strdup ("Unknown error (query succeeded but result was NULL!)" );
231
- return -1 ;
238
+ return NET_FAILURE ;
232
239
}
233
240
234
241
char buf [128 ];
235
242
rc = getnameinfo (ainfo -> ai_addr , ainfo -> ai_addrlen , buf , sizeof (buf ), NULL , 0 , NI_NUMERICHOST );
236
243
if (rc != 0 ) {
237
244
addr -> errstr = CreateGetAddrInfoErrorString (rc );
238
245
freeaddrinfo (ainfo );
239
- return -1 ; // error
246
+ return NET_FAILURE ; // error
240
247
}
241
248
242
249
addr -> human_readable = SDL_strdup (buf );
243
250
addr -> ainfo = ainfo ;
244
- return 1 ; // success (zero means "still in progress").
251
+ return NET_SUCCESS ; // success (zero means "still in progress").
245
252
}
246
253
247
254
static int SDLCALL ResolverThread (void * data )
@@ -1335,22 +1342,22 @@ NET_DatagramSocket *NET_CreateDatagramSocket(NET_Address *addr, Uint16 port)
1335
1342
return sock ;
1336
1343
}
1337
1344
1338
- static int SendOneDatagram (NET_DatagramSocket * sock , NET_Address * addr , Uint16 port , const void * buf , int buflen )
1345
+ static NET_Status SendOneDatagram (NET_DatagramSocket * sock , NET_Address * addr , Uint16 port , const void * buf , int buflen )
1339
1346
{
1340
1347
struct addrinfo * addrwithport = MakeAddrInfoWithPort (addr , SOCK_DGRAM , port );
1341
1348
if (!addrwithport ) {
1342
- return -1 ;
1349
+ return NET_FAILURE ;
1343
1350
}
1344
1351
const int rc = sendto (sock -> handle , buf , (size_t ) buflen , 0 , addrwithport -> ai_addr , addrwithport -> ai_addrlen );
1345
1352
freeaddrinfo (addrwithport );
1346
1353
1347
1354
if (rc == SOCKET_ERROR ) {
1348
1355
const int err = LastSocketError ();
1349
- return WouldBlock (err ) ? 0 : SetSocketError ("Failed to send from socket" , err );
1356
+ return WouldBlock (err ) ? NET_WOULDBLOCK : SetSocketError ("Failed to send from socket" , err );
1350
1357
}
1351
1358
1352
1359
SDL_assert (rc == buflen );
1353
- return 1 ;
1360
+ return NET_SUCCESS ;
1354
1361
}
1355
1362
1356
1363
// see if any pending data can finally be sent, etc
0 commit comments