X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/8c8a5b54e79564c14fc7a2823a21a8f048449bcf..af359dea2e5ab3e937b62107ecd6a51d78189ed7:/usr/src/usr.sbin/trpt/trpt.c diff --git a/usr/src/usr.sbin/trpt/trpt.c b/usr/src/usr.sbin/trpt/trpt.c index c12a22aadb..e7b92a110d 100644 --- a/usr/src/usr.sbin/trpt/trpt.c +++ b/usr/src/usr.sbin/trpt/trpt.c @@ -2,7 +2,33 @@ * Copyright (c) 1983, 1988 Regents of the University of California. * All rights reserved. * - * %sccs.include.redist.c% + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. */ #ifndef lint @@ -12,13 +38,17 @@ char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)trpt.c 5.13 (Berkeley) %G%"; +static char sccsid[] = "@(#)trpt.c 5.14 (Berkeley) 7/1/91"; #endif /* not lint */ -#include - #include +#if BSD >= 199103 +#define NEWVM +#endif +#ifndef NEWVM +#include #include +#endif #include #include #define PRUREQUESTS @@ -56,14 +86,18 @@ struct nlist nl[] = { { "_tcp_debug" }, #define N_TCP_DEBX 1 { "_tcp_debx" }, +#ifndef NEWVM #define N_SYSMAP 2 { "_Sysmap" }, #define N_SYSSIZE 3 { "_Syssize" }, +#endif { "" }, }; +#ifndef NEWVM static struct pte *Sysmap; +#endif static caddr_t tcp_pcbs[TCP_NDEBUG]; static n_time ntime; static int aflag, kflag, memf, follow, sflag, tflag; @@ -80,7 +114,7 @@ main(argc, argv) jflag = npcbs = 0; while ((ch = getopt(argc, argv, "afjp:st")) != EOF) - switch((char)ch) { + switch (ch) { case 'a': ++aflag; break; @@ -136,18 +170,23 @@ main(argc, argv) exit(2); } if (kflag) { +#ifdef NEWVM + fputs("trpt: can't do core files yet\n", stderr); + exit(1); +#else off_t off; Sysmap = (struct pte *) malloc((u_int)(nl[N_SYSSIZE].n_value * sizeof(struct pte))); if (!Sysmap) { - fputs("arp: can't get memory for Sysmap.\n", stderr); + fputs("trpt: can't get memory for Sysmap.\n", stderr); exit(1); } off = nl[N_SYSMAP].n_value & ~KERNBASE; (void)lseek(memf, off, L_SET); (void)read(memf, (char *)Sysmap, (int)(nl[N_SYSSIZE].n_value * sizeof(struct pte))); +#endif } (void)klseek(memf, (off_t)nl[N_TCP_DEBX].n_value, L_SET); if (read(memf, (char *)&tcp_debx, sizeof(tcp_debx)) != @@ -360,9 +399,11 @@ klseek(fd, base, off) { off_t lseek(); +#ifndef NEWVM if (kflag) { /* get kernel pte */ base &= ~KERNBASE; base = ctob(Sysmap[btop(base)].pg_pfnum) + (base & PGOFSET); } +#endif (void)lseek(fd, base, off); }