2 /* Copyright (C) 2010-2011 by Daniel Stenberg
4 * Permission to use, copy, modify, and distribute this
5 * software and its documentation for any purpose and without
6 * fee is hereby granted, provided that the above copyright
7 * notice appear in all copies and that both that copyright
8 * notice and this permission notice appear in supporting
9 * documentation, and that the name of M.I.T. not be used in
10 * advertising or publicity pertaining to distribution of the
11 * software without specific, written prior permission.
12 * M.I.T. makes no representations about the suitability of
13 * this software for any purpose. It is provided "as is"
14 * without express or implied warranty.
18 #include "ares_setup.h"
24 #define BUILDING_ARES_NOWARN_C 1
26 #include "ares_nowarn.h"
29 # define CARES_MASK_SINT 0x7FFF
30 # define CARES_MASK_UINT 0xFFFF
31 #elif (SIZEOF_INT == 4)
32 # define CARES_MASK_SINT 0x7FFFFFFF
33 # define CARES_MASK_UINT 0xFFFFFFFF
34 #elif (SIZEOF_INT == 8)
35 # define CARES_MASK_SINT 0x7FFFFFFFFFFFFFFF
36 # define CARES_MASK_UINT 0xFFFFFFFFFFFFFFFF
37 #elif (SIZEOF_INT == 16)
38 # define CARES_MASK_SINT 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
39 # define CARES_MASK_UINT 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
43 ** unsigned size_t to signed int
46 int aresx_uztosi(size_t uznum)
48 #ifdef __INTEL_COMPILER
49 # pragma warning(push)
50 # pragma warning(disable:810) /* conversion may lose significant bits */
53 return (int)(uznum & (size_t) CARES_MASK_SINT);
55 #ifdef __INTEL_COMPILER
61 ** signed long to signed int
64 int aresx_sltosi(long slnum)
66 #ifdef __INTEL_COMPILER
67 # pragma warning(push)
68 # pragma warning(disable:810) /* conversion may lose significant bits */
71 DEBUGASSERT(slnum >= 0);
72 return (int)(slnum & (long) CARES_MASK_SINT);
74 #ifdef __INTEL_COMPILER
80 ** signed ssize_t to signed int
83 int aresx_sztosi(ssize_t sznum)
85 #ifdef __INTEL_COMPILER
86 # pragma warning(push)
87 # pragma warning(disable:810) /* conversion may lose significant bits */
90 DEBUGASSERT(sznum >= 0);
91 return (int)(sznum & (ssize_t) CARES_MASK_SINT);
93 #ifdef __INTEL_COMPILER
99 ** signed ssize_t to unsigned int
102 unsigned int aresx_sztoui(ssize_t sznum)
104 #ifdef __INTEL_COMPILER
105 # pragma warning(push)
106 # pragma warning(disable:810) /* conversion may lose significant bits */
109 DEBUGASSERT(sznum >= 0);
110 return (unsigned int)(sznum & (ssize_t) CARES_MASK_UINT);
112 #ifdef __INTEL_COMPILER
113 # pragma warning(pop)
117 #if defined(__INTEL_COMPILER) && defined(__unix__)
119 int aresx_FD_ISSET(int fd, fd_set *fdset)
121 #pragma warning(push)
122 #pragma warning(disable:1469) /* clobber ignored */
123 return FD_ISSET(fd, fdset);
127 void aresx_FD_SET(int fd, fd_set *fdset)
129 #pragma warning(push)
130 #pragma warning(disable:1469) /* clobber ignored */
135 void aresx_FD_ZERO(fd_set *fdset)
137 #pragma warning(push)
138 #pragma warning(disable:593) /* variable was set but never used */
143 unsigned short aresx_htons(unsigned short usnum)
145 #pragma warning(push)
146 #pragma warning(disable:810) /* conversion may lose significant bits */
151 unsigned short aresx_ntohs(unsigned short usnum)
153 #pragma warning(push)
154 #pragma warning(disable:810) /* conversion may lose significant bits */
159 #endif /* __INTEL_COMPILER && __unix__ */