|  | /* | 
|  | * This file is part of the UCB release of Plan 9. It is subject to the license | 
|  | * terms in the LICENSE file found in the top-level directory of this | 
|  | * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No | 
|  | * part of the UCB release of Plan 9, including this file, may be copied, | 
|  | * modified, propagated, or distributed except according to the terms contained | 
|  | * in the LICENSE file. | 
|  | */ | 
|  | #include <sys/types.h> | 
|  | #include <unistd.h> | 
|  | #include <stdio.h> | 
|  |  | 
|  | /* bsd extensions */ | 
|  | #include <sys/uio.h> | 
|  | #include <sys/socket.h> | 
|  | #include <netinet/in.h> | 
|  | #include <netdb.h> | 
|  | #include <arpa/inet.h> | 
|  |  | 
|  | #include <sys/plan9_helpers.h> | 
|  |  | 
|  | int __getservbyport_r(int port, const char *proto, struct servent *result_buf, | 
|  | char *buf, size_t buflen, struct servent **result) | 
|  | { | 
|  |  | 
|  | char port_buf[32]; | 
|  |  | 
|  | snprintf(port_buf, sizeof(port_buf), "%d", port); | 
|  | /* the plan 9 version can handle a port or a name */ | 
|  | return getservbyname_r(port_buf, proto, result_buf, buf, buflen, | 
|  | result); | 
|  | } | 
|  | weak_alias(__getservbyport_r, getservbyport_r); |