5089 |
5089 |
5090 int os::socket_close(int fd) { |
5090 int os::socket_close(int fd) { |
5091 return ::closesocket(fd); |
5091 return ::closesocket(fd); |
5092 } |
5092 } |
5093 |
5093 |
5094 int os::socket_available(int fd, jint *pbytes) { |
|
5095 int ret = ::ioctlsocket(fd, FIONREAD, (u_long*)pbytes); |
|
5096 return (ret < 0) ? 0 : 1; |
|
5097 } |
|
5098 |
|
5099 int os::socket(int domain, int type, int protocol) { |
5094 int os::socket(int domain, int type, int protocol) { |
5100 return ::socket(domain, type, protocol); |
5095 return ::socket(domain, type, protocol); |
5101 } |
5096 } |
5102 |
5097 |
5103 int os::listen(int fd, int count) { |
|
5104 return ::listen(fd, count); |
|
5105 } |
|
5106 |
|
5107 int os::connect(int fd, struct sockaddr* him, socklen_t len) { |
5098 int os::connect(int fd, struct sockaddr* him, socklen_t len) { |
5108 return ::connect(fd, him, len); |
5099 return ::connect(fd, him, len); |
5109 } |
5100 } |
5110 |
5101 |
5111 int os::accept(int fd, struct sockaddr* him, socklen_t* len) { |
|
5112 return ::accept(fd, him, len); |
|
5113 } |
|
5114 |
|
5115 int os::sendto(int fd, char* buf, size_t len, uint flags, |
|
5116 struct sockaddr* to, socklen_t tolen) { |
|
5117 |
|
5118 return ::sendto(fd, buf, (int)len, flags, to, tolen); |
|
5119 } |
|
5120 |
|
5121 int os::recvfrom(int fd, char *buf, size_t nBytes, uint flags, |
|
5122 sockaddr* from, socklen_t* fromlen) { |
|
5123 |
|
5124 return ::recvfrom(fd, buf, (int)nBytes, flags, from, fromlen); |
|
5125 } |
|
5126 |
|
5127 int os::recv(int fd, char* buf, size_t nBytes, uint flags) { |
5102 int os::recv(int fd, char* buf, size_t nBytes, uint flags) { |
5128 return ::recv(fd, buf, (int)nBytes, flags); |
5103 return ::recv(fd, buf, (int)nBytes, flags); |
5129 } |
5104 } |
5130 |
5105 |
5131 int os::send(int fd, char* buf, size_t nBytes, uint flags) { |
5106 int os::send(int fd, char* buf, size_t nBytes, uint flags) { |
5132 return ::send(fd, buf, (int)nBytes, flags); |
5107 return ::send(fd, buf, (int)nBytes, flags); |
5133 } |
5108 } |
5134 |
5109 |
5135 int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) { |
5110 int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) { |
5136 return ::send(fd, buf, (int)nBytes, flags); |
5111 return ::send(fd, buf, (int)nBytes, flags); |
5137 } |
|
5138 |
|
5139 int os::timeout(int fd, long timeout) { |
|
5140 fd_set tbl; |
|
5141 struct timeval t; |
|
5142 |
|
5143 t.tv_sec = timeout / 1000; |
|
5144 t.tv_usec = (timeout % 1000) * 1000; |
|
5145 |
|
5146 tbl.fd_count = 1; |
|
5147 tbl.fd_array[0] = fd; |
|
5148 |
|
5149 return ::select(1, &tbl, 0, 0, &t); |
|
5150 } |
|
5151 |
|
5152 int os::get_host_name(char* name, int namelen) { |
|
5153 return ::gethostname(name, namelen); |
|
5154 } |
|
5155 |
|
5156 int os::socket_shutdown(int fd, int howto) { |
|
5157 return ::shutdown(fd, howto); |
|
5158 } |
|
5159 |
|
5160 int os::bind(int fd, struct sockaddr* him, socklen_t len) { |
|
5161 return ::bind(fd, him, len); |
|
5162 } |
|
5163 |
|
5164 int os::get_sock_name(int fd, struct sockaddr* him, socklen_t* len) { |
|
5165 return ::getsockname(fd, him, len); |
|
5166 } |
|
5167 |
|
5168 int os::get_sock_opt(int fd, int level, int optname, |
|
5169 char* optval, socklen_t* optlen) { |
|
5170 return ::getsockopt(fd, level, optname, optval, optlen); |
|
5171 } |
|
5172 |
|
5173 int os::set_sock_opt(int fd, int level, int optname, |
|
5174 const char* optval, socklen_t optlen) { |
|
5175 return ::setsockopt(fd, level, optname, optval, optlen); |
|
5176 } |
5112 } |
5177 |
5113 |
5178 // WINDOWS CONTEXT Flags for THREAD_SAMPLING |
5114 // WINDOWS CONTEXT Flags for THREAD_SAMPLING |
5179 #if defined(IA32) |
5115 #if defined(IA32) |
5180 #define sampling_context_flags (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_EXTENDED_REGISTERS) |
5116 #define sampling_context_flags (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_EXTENDED_REGISTERS) |