Changeset 31
- Timestamp:
- Jun 19, 2010, 12:29:16 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/openjdk/jdk/src/windows/hpi/src/socket_md.c
r2 r31 60 60 #define FN_SOCKETAVAILABLE 24 61 61 62 static int (PASCAL FAR *sockfnptrs[])() = 62 typedef int (PASCAL FAR *PSOCKFN)(); 63 64 static PSOCKFN sockfnptrs[] = 63 65 {NULL, NULL, NULL, NULL, NULL, 64 66 NULL, NULL, NULL, NULL, NULL, … … 117 119 static void 118 120 initSockFnTable() { 119 int (PASCAL FAR* WSAStartupPtr)(WORD, LPWSADATA); 121 typedef int (PASCAL FAR* WSAStartupPtr_t)(WORD, LPWSADATA); 122 WSAStartupPtr_t WSAStartupPtr; 120 123 WSADATA wsadata; 121 124 OSVERSIONINFO info; … … 141 144 142 145 /* If we loaded a DLL, then we might as well initialize it. */ 143 WSAStartupPtr = (int (PASCAL FAR *)(WORD, LPWSADATA)) 144 GetProcAddress(hWinsock, "WSAStartup"); 146 WSAStartupPtr = (WSAStartupPtr_t)GetProcAddress(hWinsock, "WSAStartup"); 145 147 if (WSAStartupPtr(MAKEWORD(1,1), &wsadata) != 0) { 146 148 VM_CALL(jio_fprintf)(stderr, "Could not initialize Winsock\n"); … … 148 150 149 151 sockfnptrs[FN_RECV] 150 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "recv");152 = (PSOCKFN)GetProcAddress(hWinsock, "recv"); 151 153 sockfnptrs[FN_SEND] 152 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "send");154 = (PSOCKFN)GetProcAddress(hWinsock, "send"); 153 155 sockfnptrs[FN_LISTEN] 154 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "listen");156 = (PSOCKFN)GetProcAddress(hWinsock, "listen"); 155 157 sockfnptrs[FN_BIND] 156 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "bind");158 = (PSOCKFN)GetProcAddress(hWinsock, "bind"); 157 159 sockfnptrs[FN_ACCEPT] 158 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "accept");160 = (PSOCKFN)GetProcAddress(hWinsock, "accept"); 159 161 sockfnptrs[FN_RECVFROM] 160 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "recvfrom");162 = (PSOCKFN)GetProcAddress(hWinsock, "recvfrom"); 161 163 sockfnptrs[FN_SENDTO] 162 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "sendto");164 = (PSOCKFN)GetProcAddress(hWinsock, "sendto"); 163 165 sockfnptrs[FN_SELECT] 164 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "select");166 = (PSOCKFN)GetProcAddress(hWinsock, "select"); 165 167 sockfnptrs[FN_CONNECT] 166 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "connect");168 = (PSOCKFN)GetProcAddress(hWinsock, "connect"); 167 169 sockfnptrs[FN_CLOSESOCKET] 168 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "closesocket");170 = (PSOCKFN)GetProcAddress(hWinsock, "closesocket"); 169 171 /* we don't use this */ 170 172 sockfnptrs[FN_SHUTDOWN] 171 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "shutdown");173 = (PSOCKFN)GetProcAddress(hWinsock, "shutdown"); 172 174 sockfnptrs[FN_GETHOSTNAME] 173 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "gethostname");175 = (PSOCKFN)GetProcAddress(hWinsock, "gethostname"); 174 176 sockfnptrs[FN_GETHOSTBYADDR] 175 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "gethostbyaddr");177 = (PSOCKFN)GetProcAddress(hWinsock, "gethostbyaddr"); 176 178 sockfnptrs[FN_GETHOSTBYNAME] 177 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "gethostbyname");179 = (PSOCKFN)GetProcAddress(hWinsock, "gethostbyname"); 178 180 sockfnptrs[FN_HTONS] 179 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "htons");181 = (PSOCKFN)GetProcAddress(hWinsock, "htons"); 180 182 sockfnptrs[FN_HTONL] 181 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "htonl");183 = (PSOCKFN)GetProcAddress(hWinsock, "htonl"); 182 184 sockfnptrs[FN_NTOHS] 183 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "ntohs");185 = (PSOCKFN)GetProcAddress(hWinsock, "ntohs"); 184 186 sockfnptrs[FN_NTOHL] 185 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "ntohl");187 = (PSOCKFN)GetProcAddress(hWinsock, "ntohl"); 186 188 sockfnptrs[FN_GETSOCKOPT] 187 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "getsockopt");189 = (PSOCKFN)GetProcAddress(hWinsock, "getsockopt"); 188 190 sockfnptrs[FN_SETSOCKOPT] 189 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "setsockopt");191 = (PSOCKFN)GetProcAddress(hWinsock, "setsockopt"); 190 192 sockfnptrs[FN_GETPROTOBYNAME] 191 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "getprotobyname");193 = (PSOCKFN)GetProcAddress(hWinsock, "getprotobyname"); 192 194 sockfnptrs[FN_GETSOCKNAME] 193 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "getsockname");195 = (PSOCKFN)GetProcAddress(hWinsock, "getsockname"); 194 196 195 197 sockfnptrs[FN_SOCKET] 196 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock, "socket");198 = (PSOCKFN)GetProcAddress(hWinsock, "socket"); 197 199 /* in winsock 1, this will simply be 0 */ 198 200 sockfnptrs[FN_WSASENDDISCONNECT] 199 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock,200 201 = (PSOCKFN)GetProcAddress(hWinsock, 202 "WSASendDisconnect"); 201 203 sockfnptrs[FN_SOCKETAVAILABLE] 202 = ( int (PASCAL FAR *)())GetProcAddress(hWinsock,203 204 = (PSOCKFN)GetProcAddress(hWinsock, 205 "ioctlsocket"); 204 206 } 205 207 … … 245 247 int 246 248 sysListen(int fd, int count) { 247 int (PASCAL FAR *listenfn)();249 PSOCKFN listenfn; 248 250 if ((listenfn = sockfnptrs[FN_LISTEN]) == NULL) { 249 251 initSockFnTable(); … … 256 258 int 257 259 sysConnect(int fd, struct sockaddr *name, int namelen) { 258 int (PASCAL FAR *connectfn)();260 PSOCKFN connectfn; 259 261 if ((connectfn = sockfnptrs[FN_CONNECT]) == NULL) { 260 262 initSockFnTable(); … … 268 270 int 269 271 sysBind(int fd, struct sockaddr *name, int namelen) { 270 int (PASCAL FAR *bindfn)();272 PSOCKFN bindfn; 271 273 if ((bindfn = sockfnptrs[FN_BIND]) == NULL) { 272 274 initSockFnTable(); … … 280 282 int 281 283 sysAccept(int fd, struct sockaddr *name, int *namelen) { 282 int (PASCAL FAR *acceptfn)();284 PSOCKFN acceptfn; 283 285 if ((acceptfn = sockfnptrs[FN_ACCEPT]) == NULL) { 284 286 initSockFnTable(); … … 292 294 sysRecvFrom(int fd, char *buf, int nBytes, 293 295 int flags, struct sockaddr *from, int *fromlen) { 294 int (PASCAL FAR *recvfromfn)();296 PSOCKFN recvfromfn; 295 297 if ((recvfromfn = sockfnptrs[FN_RECVFROM]) == NULL) { 296 298 initSockFnTable(); … … 304 306 sysSendTo(int fd, char *buf, int len, 305 307 int flags, struct sockaddr *to, int tolen) { 306 int (PASCAL FAR *sendtofn)();308 PSOCKFN sendtofn; 307 309 if ((sendtofn = sockfnptrs[FN_SENDTO]) == NULL) { 308 310 initSockFnTable(); … … 315 317 int 316 318 sysRecv(int fd, char *buf, int nBytes, int flags) { 317 int (PASCAL FAR *recvfn)();319 PSOCKFN recvfn; 318 320 if ((recvfn = sockfnptrs[FN_RECV]) == NULL) { 319 321 initSockFnTable(); … … 326 328 int 327 329 sysSend(int fd, char *buf, int nBytes, int flags) { 328 int (PASCAL FAR *sendfn)();330 PSOCKFN sendfn; 329 331 if ((sendfn = sockfnptrs[FN_SEND]) == NULL) { 330 332 initSockFnTable(); … … 338 340 int 339 341 sysGetHostName(char *hostname, int namelen) { 340 int (PASCAL FAR *fn)();342 PSOCKFN fn; 341 343 if ((fn = sockfnptrs[FN_GETHOSTNAME]) == NULL) { 342 344 initSockFnTable(); … … 349 351 struct hostent * 350 352 sysGetHostByAddr(const char *hostname, int len, int type) { 351 struct hostent * (PASCAL FAR *fn)(); 352 if ((fn = (struct hostent * (PASCAL FAR *)()) sockfnptrs[FN_GETHOSTBYADDR]) == NULL) { 353 initSockFnTable(); 354 fn = (struct hostent * (PASCAL FAR *)()) sockfnptrs[FN_GETHOSTBYADDR]; 353 typedef struct hostent * (PASCAL FAR *fn_t)(); 354 fn_t fn; 355 if ((fn = (fn_t) sockfnptrs[FN_GETHOSTBYADDR]) == NULL) { 356 initSockFnTable(); 357 fn = (fn_t) sockfnptrs[FN_GETHOSTBYADDR]; 355 358 } 356 359 sysAssert(sockfnptrs_initialized == TRUE && fn != NULL); … … 360 363 struct hostent * 361 364 sysGetHostByName(char *hostname) { 362 struct hostent * (PASCAL FAR *fn)(); 363 if ((fn = (struct hostent * (PASCAL FAR *)()) sockfnptrs[FN_GETHOSTBYNAME]) == NULL) { 364 initSockFnTable(); 365 fn = (struct hostent * (PASCAL FAR *)()) sockfnptrs[FN_GETHOSTBYNAME]; 365 typedef struct hostent * (PASCAL FAR *fn_t)(); 366 fn_t fn; 367 if ((fn = (fn_t) sockfnptrs[FN_GETHOSTBYNAME]) == NULL) { 368 initSockFnTable(); 369 fn = (fn_t) sockfnptrs[FN_GETHOSTBYNAME]; 366 370 } 367 371 sysAssert(sockfnptrs_initialized == TRUE && fn != NULL); … … 372 376 sysSocket(int domain, int type, int protocol) { 373 377 int sock; 374 int (PASCAL FAR *socketfn)();378 PSOCKFN socketfn; 375 379 if ((socketfn = sockfnptrs[FN_SOCKET]) == NULL) { 376 380 initSockFnTable(); … … 387 391 int sysSocketShutdown(int fd, int how) { 388 392 if (fd > 0) { 389 int (PASCAL FAR *shutdownfn)();393 PSOCKFN shutdownfn; 390 394 if ((shutdownfn = sockfnptrs[FN_SHUTDOWN]) == NULL) { 391 395 initSockFnTable(); … … 407 411 408 412 if (fd > 0) { 409 int (PASCAL FAR *closesocketfn)();410 int (PASCAL FAR *wsasenddisconnectfn)();413 PSOCKFN closesocketfn; 414 PSOCKFN wsasenddisconnectfn; 411 415 int dynamic_ref = -1; 412 416 … … 445 449 fd_set tbl; 446 450 struct timeval t; 447 int (PASCAL FAR *selectfn)();451 PSOCKFN selectfn; 448 452 449 453 t.tv_sec = timeout / 1000; … … 464 468 sysSocketAvailable(int fd, jint *pbytes) 465 469 { 466 int (PASCAL FAR *socketfn)();470 PSOCKFN socketfn; 467 471 if ((socketfn = sockfnptrs[FN_SOCKETAVAILABLE]) == NULL) { 468 472 initSockFnTable(); … … 475 479 int 476 480 sysGetSockName(int fd, struct sockaddr *name, int *namelen) { 477 int (PASCAL FAR *getsocknamefn)();481 PSOCKFN getsocknamefn; 478 482 if ((getsocknamefn = sockfnptrs[FN_GETSOCKNAME]) == NULL) { 479 483 initSockFnTable(); … … 487 491 int 488 492 sysGetSockOpt(int fd, int level, int optname, char *optval, int *optlen ) { 489 int (PASCAL FAR *getsockoptfn)();493 PSOCKFN getsockoptfn; 490 494 if ((getsockoptfn = sockfnptrs[FN_GETSOCKOPT]) == NULL) { 491 495 initSockFnTable(); … … 507 511 int 508 512 sysSetSockOpt(int fd, int level, int optname, const char *optval, int optlen ) { 509 int (PASCAL FAR *setsockoptfn)();513 PSOCKFN setsockoptfn; 510 514 if ((setsockoptfn = sockfnptrs[FN_SETSOCKOPT]) == NULL) { 511 515 initSockFnTable(); … … 528 532 struct protoent * 529 533 sysGetProtoByName(char *name) { 530 struct protoent * (PASCAL FAR *getprotobynamefn)(); 531 if ((getprotobynamefn = (struct protoent * (PASCAL FAR *)()) sockfnptrs[FN_GETPROTOBYNAME]) == NULL) { 532 initSockFnTable(); 533 getprotobynamefn = (struct protoent * (PASCAL FAR *)()) sockfnptrs[FN_GETPROTOBYNAME]; 534 typedef struct protoent * (PASCAL FAR *getprotobynamefn_t)(); 535 getprotobynamefn_t getprotobynamefn; 536 if ((getprotobynamefn = (getprotobynamefn_t) sockfnptrs[FN_GETPROTOBYNAME]) == NULL) { 537 initSockFnTable(); 538 getprotobynamefn = (getprotobynamefn_t) sockfnptrs[FN_GETPROTOBYNAME]; 534 539 } 535 540 sysAssert(sockfnptrs_initialized == TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.