003 File Manager
Current Path:
/usr/src/lib/libc/rpc
usr
/
src
/
lib
/
libc
/
rpc
/
📁
..
📄
DISCLAIMER
(3.23 KB)
📄
Makefile.inc
(5.92 KB)
📄
README
(7.92 KB)
📄
Symbol.map
(4.1 KB)
📄
auth_des.c
(13.95 KB)
📄
auth_none.c
(4.69 KB)
📄
auth_time.c
(12.49 KB)
📄
auth_unix.c
(9.43 KB)
📄
authdes_prot.c
(3.06 KB)
📄
authunix_prot.c
(2.73 KB)
📄
bindresvport.3
(2 KB)
📄
bindresvport.c
(4.21 KB)
📄
clnt_bcast.c
(18.36 KB)
📄
clnt_dg.c
(23.62 KB)
📄
clnt_generic.c
(12.83 KB)
📄
clnt_perror.c
(8.23 KB)
📄
clnt_raw.c
(7.98 KB)
📄
clnt_simple.c
(6.27 KB)
📄
clnt_vc.c
(23.01 KB)
📄
crypt_client.c
(3.44 KB)
📄
des_crypt.3
(2.64 KB)
📄
des_crypt.c
(3.92 KB)
📄
des_soft.c
(2.8 KB)
📄
getnetconfig.3
(4.15 KB)
📄
getnetconfig.c
(19.6 KB)
📄
getnetpath.3
(3.04 KB)
📄
getnetpath.c
(8.87 KB)
📄
getpublickey.c
(4.35 KB)
📄
getrpcent.3
(2.09 KB)
📄
getrpcent.c
(21.69 KB)
📄
getrpcport.3
(805 B)
📄
getrpcport.c
(2.77 KB)
📄
key_call.c
(11.85 KB)
📄
key_prot_xdr.c
(4.38 KB)
📄
mt_misc.c
(3.28 KB)
📄
mt_misc.h
(2.66 KB)
📄
netconfig
(729 B)
📄
netconfig.5
(3.3 KB)
📄
netname.c
(4.06 KB)
📄
netnamer.c
(7.35 KB)
📄
pmap_clnt.c
(3.71 KB)
📄
pmap_getmaps.c
(3.21 KB)
📄
pmap_getport.c
(3.41 KB)
📄
pmap_prot.c
(2.43 KB)
📄
pmap_prot2.c
(4.56 KB)
📄
pmap_rmt.c
(4.94 KB)
📄
publickey.3
(1.11 KB)
📄
publickey.5
(944 B)
📄
rpc
(1.58 KB)
📄
rpc.3
(12.8 KB)
📄
rpc.5
(1.17 KB)
📄
rpc_callmsg.c
(6.35 KB)
📄
rpc_clnt_auth.3
(2.33 KB)
📄
rpc_clnt_calls.3
(8.12 KB)
📄
rpc_clnt_create.3
(13.28 KB)
📄
rpc_com.h
(3.39 KB)
📄
rpc_commondata.c
(2.08 KB)
📄
rpc_dtablesize.c
(2.57 KB)
📄
rpc_generic.c
(18.13 KB)
📄
rpc_prot.c
(8.7 KB)
📄
rpc_secure.3
(5.9 KB)
📄
rpc_soc.3
(31.75 KB)
📄
rpc_soc.c
(13.54 KB)
📄
rpc_svc_calls.3
(6.58 KB)
📄
rpc_svc_create.3
(8.04 KB)
📄
rpc_svc_err.3
(2.65 KB)
📄
rpc_svc_reg.3
(4.5 KB)
📄
rpc_xdr.3
(2.71 KB)
📄
rpcb_clnt.c
(34.61 KB)
📄
rpcb_prot.c
(8.45 KB)
📄
rpcb_st_xdr.c
(6.7 KB)
📄
rpcbind.3
(4.71 KB)
📄
rpcdname.c
(2.73 KB)
📄
rpcsec_gss_stub.c
(1.8 KB)
📄
rtime.3
(934 B)
📄
rtime.c
(4.18 KB)
📄
svc.c
(17.78 KB)
📄
svc_auth.c
(6.43 KB)
📄
svc_auth_des.c
(13.79 KB)
📄
svc_auth_unix.c
(4.82 KB)
📄
svc_dg.c
(19.47 KB)
📄
svc_generic.c
(8.75 KB)
📄
svc_raw.c
(6.98 KB)
📄
svc_run.c
(2.98 KB)
📄
svc_simple.c
(8.78 KB)
📄
svc_vc.c
(19.38 KB)
Editing: rtime.c
/*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 2009, Sun Microsystems, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * - Neither the name of Sun Microsystems, Inc. nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * Copyright (c) 1988 by Sun Microsystems, Inc. */ /* * rtime - get time from remote machine * * gets time, obtaining value from host * on the udp/time socket. Since timeserver returns * with time of day in seconds since Jan 1, 1900, must * subtract seconds before Jan 1, 1970 to get * what unix uses. */ #include "namespace.h" #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/time.h> #include <netinet/in.h> #include <stdio.h> #include <netdb.h> #include "un-namespace.h" #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)rtime.c 2.2 88/08/10 4.0 RPCSRC; from 1.8 88/02/08 SMI"; #endif #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); extern int _rpc_dtablesize( void ); #define NYEARS (unsigned long)(1970 - 1900) #define TOFFSET (unsigned long)(60*60*24*(365*NYEARS + (NYEARS/4))) static void do_close( int ); int rtime(struct sockaddr_in *addrp, struct timeval *timep, struct timeval *timeout) { int s; fd_set readfds; int res; unsigned long thetime; struct sockaddr_in from; socklen_t fromlen; int type; struct servent *serv; if (timeout == NULL) { type = SOCK_STREAM; } else { type = SOCK_DGRAM; } s = _socket(AF_INET, type, 0); if (s < 0) { return(-1); } addrp->sin_family = AF_INET; /* TCP and UDP port are the same in this case */ if ((serv = getservbyname("time", "tcp")) == NULL) { return(-1); } addrp->sin_port = serv->s_port; if (type == SOCK_DGRAM) { res = _sendto(s, (char *)&thetime, sizeof(thetime), 0, (struct sockaddr *)addrp, sizeof(*addrp)); if (res < 0) { do_close(s); return(-1); } do { FD_ZERO(&readfds); FD_SET(s, &readfds); res = _select(_rpc_dtablesize(), &readfds, (fd_set *)NULL, (fd_set *)NULL, timeout); } while (res < 0 && errno == EINTR); if (res <= 0) { if (res == 0) { errno = ETIMEDOUT; } do_close(s); return(-1); } fromlen = sizeof(from); res = _recvfrom(s, (char *)&thetime, sizeof(thetime), 0, (struct sockaddr *)&from, &fromlen); do_close(s); if (res < 0) { return(-1); } } else { if (_connect(s, (struct sockaddr *)addrp, sizeof(*addrp)) < 0) { do_close(s); return(-1); } res = _read(s, (char *)&thetime, sizeof(thetime)); do_close(s); if (res < 0) { return(-1); } } if (res != sizeof(thetime)) { errno = EIO; return(-1); } thetime = ntohl(thetime); timep->tv_sec = thetime - TOFFSET; timep->tv_usec = 0; return(0); } static void do_close(int s) { int save; save = errno; (void)_close(s); errno = save; }
Upload File
Create Folder