1 /* $Id: miniupnpc_socketdef.h,v 1.1 2018/03/13 23:44:10 nanard Exp $ */ 2 /* Miniupnp project : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/ 3 * Author : Thomas Bernard 4 * Copyright (c) 2018 Thomas Bernard 5 * This software is subject to the conditions detailed in the 6 * LICENCE file provided within this distribution */ 7 #ifndef MINIUPNPC_SOCKETDEF_H_INCLUDED 8 #define MINIUPNPC_SOCKETDEF_H_INCLUDED 9 10 #ifdef _MSC_VER 11 12 #define ISINVALID(s) (INVALID_SOCKET==(s)) 13 14 #else 15 16 #ifndef SOCKET 17 #define SOCKET int 18 #endif 19 #ifndef SSIZE_T 20 #define SSIZE_T ssize_t 21 #endif 22 #ifndef INVALID_SOCKET 23 #define INVALID_SOCKET (-1) 24 #endif 25 #ifndef ISINVALID 26 #define ISINVALID(s) ((s)<0) 27 #endif 28 29 #endif 30 31 #ifdef _MSC_VER 32 #define MSC_CAST_INT (int) 33 #else 34 #define MSC_CAST_INT 35 #endif 36 37 /* definition of PRINT_SOCKET_ERROR */ 38 #ifdef _WIN32 39 #define PRINT_SOCKET_ERROR(x) fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError()); 40 #else 41 #define PRINT_SOCKET_ERROR(x) perror(x) 42 #endif 43 44 #endif /* MINIUPNPC_SOCKETDEF_H_INCLUDED */ 45