Module Name:    src
Committed By:   tls
Date:           Sun Aug 10 06:58:16 UTC 2014

Modified Files:
        src/usr.bin/ipcs [tls-earlyentropy]: Makefile ipcs.1 ipcs.c

Log Message:
Rebase.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.10.22.1 src/usr.bin/ipcs/Makefile
cvs rdiff -u -r1.19 -r1.19.2.1 src/usr.bin/ipcs/ipcs.1
cvs rdiff -u -r1.42 -r1.42.24.1 src/usr.bin/ipcs/ipcs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/ipcs/Makefile
diff -u src/usr.bin/ipcs/Makefile:1.10 src/usr.bin/ipcs/Makefile:1.10.22.1
--- src/usr.bin/ipcs/Makefile:1.10	Tue Apr 14 22:15:21 2009
+++ src/usr.bin/ipcs/Makefile	Sun Aug 10 06:58:16 2014
@@ -1,7 +1,5 @@
-#	$NetBSD: Makefile,v 1.10 2009/04/14 22:15:21 lukem Exp $
+#	$NetBSD: Makefile,v 1.10.22.1 2014/08/10 06:58:16 tls Exp $
 
 PROG=	ipcs
-DPADD+=	${LIBKVM}
-LDADD+=	-lkvm
 
 .include <bsd.prog.mk>

Index: src/usr.bin/ipcs/ipcs.1
diff -u src/usr.bin/ipcs/ipcs.1:1.19 src/usr.bin/ipcs/ipcs.1:1.19.2.1
--- src/usr.bin/ipcs/ipcs.1:1.19	Tue Mar 18 18:20:45 2014
+++ src/usr.bin/ipcs/ipcs.1	Sun Aug 10 06:58:16 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: ipcs.1,v 1.19 2014/03/18 18:20:45 riastradh Exp $
+.\"	$NetBSD: ipcs.1,v 1.19.2.1 2014/08/10 06:58:16 tls Exp $
 .\"
 .\" Copyright (c) 1994 SigmaSoft, Th. Lockert
 .\" All rights reserved.
@@ -23,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd March 21, 2004
+.Dd June 11, 2014
 .Dt IPCS 1
 .Os
 .Sh NAME
@@ -32,8 +32,6 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl abcmopqstMQST
-.Op Fl C Ar system
-.Op Fl N Ar core
 .Sh DESCRIPTION
 The
 .Nm
@@ -95,17 +93,8 @@ of the last control operation on an IPC 
 the last send or receive of a message,
 the last attach or detach of a shared memory segment,
 or the last operation on a semaphore.
-.It Fl C Ar system
-Extract the name list from the specified system instead of the
-default
-.Dq Pa /netbsd .
 .It Fl M
 Display system information about shared memory.
-.It Fl N Ar core
-Extract values associated with the name list from the specified
-core instead of the default
-.Dq Pa /dev/kmem .
-and semaphores.
 .It Fl Q
 Display system information about messages queues.
 .It Fl S
@@ -138,13 +127,6 @@ System data structures may change while
 is running; the output of
 .Nm
 is not guaranteed to be consistent.
-.Sh FILES
-.Bl -tag -width /etc/passwd -compact
-.It Pa /dev/kmem
-default kernel memory
-.It Pa /netbsd
-default system name list
-.El
 .Sh SEE ALSO
 .Xr ipcrm 1 ,
 .Xr shmat 2 ,

Index: src/usr.bin/ipcs/ipcs.c
diff -u src/usr.bin/ipcs/ipcs.c:1.42 src/usr.bin/ipcs/ipcs.c:1.42.24.1
--- src/usr.bin/ipcs/ipcs.c:1.42	Sun Jan 18 01:10:34 2009
+++ src/usr.bin/ipcs/ipcs.c	Sun Aug 10 06:58:16 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ipcs.c,v 1.42 2009/01/18 01:10:34 lukem Exp $	*/
+/*	$NetBSD: ipcs.c,v 1.42.24.1 2014/08/10 06:58:16 tls Exp $	*/
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -66,9 +66,7 @@
 #include <err.h>
 #include <fcntl.h>
 #include <grp.h>
-#include <kvm.h>
 #include <limits.h>
-#include <nlist.h>
 #include <paths.h>
 #include <pwd.h>
 #include <stdio.h>
@@ -90,13 +88,11 @@
 #define PID		8
 #define TIME		16
 
-static char	*core = NULL, *namelist = NULL;
 static int	display = 0;
 static int	option = 0;
 
 static void	cvt_time(time_t, char *, size_t);
 static char    *fmt_perm(u_short);
-static void	ipcs_kvm(void);
 static void	msg_sysctl(void);
 static void	sem_sysctl(void);
 static void	shm_sysctl(void);
@@ -174,7 +170,7 @@ main(int argc, char *argv[])
 	int i;
 	time_t now;
 
-	while ((i = getopt(argc, argv, "MmQqSsabC:cN:optT")) != -1)
+	while ((i = getopt(argc, argv, "MmQqSsabcoptT")) != -1)
 		switch (i) {
 		case 'M':
 			display |= SHMTOTAL;
@@ -203,15 +199,9 @@ main(int argc, char *argv[])
 		case 'b':
 			option |= BIGGEST;
 			break;
-		case 'C':
-			core = optarg;
-			break;
 		case 'c':
 			option |= CREATOR;
 			break;
-		case 'N':
-			namelist = optarg;
-			break;
 		case 'o':
 			option |= OUTSTANDING;
 			break;
@@ -229,22 +219,19 @@ main(int argc, char *argv[])
 		usage();
 
 	(void)time(&now);
-	(void)printf("IPC status from %s as of %s\n",
+	(void)printf("IPC status from <running system> as of %s\n",
 	    /* and extra \n from ctime(3) */
-	    core == NULL ? "<running system>" : core, ctime(&now));
+	    ctime(&now));
 
         if (display == 0)
 		display = SHMINFO | MSGINFO | SEMINFO;
 
-	if (core == NULL) {
-		if (display & (MSGINFO | MSGTOTAL))
-			msg_sysctl();
-		if (display & (SHMINFO | SHMTOTAL))
-			shm_sysctl();
-		if (display & (SEMINFO | SEMTOTAL))
-			sem_sysctl();
-	} else
-		ipcs_kvm();
+	if (display & (MSGINFO | MSGTOTAL))
+		msg_sysctl();
+	if (display & (SHMINFO | SHMTOTAL))
+		shm_sysctl();
+	if (display & (SEMINFO | SEMTOTAL))
+		sem_sysctl();
 	return 0;
 }
 
@@ -680,214 +667,12 @@ done:
 	free(buf);
 }
 
-static struct nlist symbols[] = {
-	{ .n_name = "_sema" },
-#define X_SEMA		0
-	{ .n_name = "_seminfo" },
-#define X_SEMINFO	1
-	{ .n_name = "_semu" },
-#define X_SEMU		2
-	{ .n_name = "_msginfo" },
-#define X_MSGINFO	3
-	{ .n_name = "_msqids" },
-#define X_MSQIDS	4
-	{ .n_name = "_shminfo" },
-#define X_SHMINFO	5
-	{ .n_name = "_shmsegs" },
-#define X_SHMSEGS	6
-	{ .n_name = NULL }
-};
-
-static void
-ipcs_kvm(void)
-{
-	struct msginfo msginfo;
-	struct msqid_ds *msqids;
-	struct seminfo seminfo;
-	struct semid_ds *sema;
-	struct shminfo shminfo;
-	struct shmid_ds *shmsegs;
-	kvm_t *kd;
-	char errbuf[_POSIX2_LINE_MAX];
-	int32_t i;
-	uint32_t u;
-
-	if ((kd = kvm_openfiles(namelist, core, NULL, O_RDONLY,
-	    errbuf)) == NULL)
-		errx(1, "can't open kvm: %s", errbuf);
-
-
-	switch (kvm_nlist(kd, symbols)) {
-	case 0:
-		break;
-	case -1:
-		errx(1, "%s: unable to read symbol table.",
-		    namelist == NULL ? _PATH_UNIX : namelist);
-		/* NOTREACHED */
-	default:
-#ifdef notdef		/* they'll be told more civilly later */
-		warnx("nlist failed");
-		for (i = 0; symbols[i].n_name != NULL; i++)
-			if (symbols[i].n_value == 0)
-				warnx("symbol %s not found",
-				    symbols[i].n_name);
-#endif
-		break;
-	}
-
-	if ((display & (MSGINFO | MSGTOTAL)) &&
-	    (kvm_read(kd, symbols[X_MSGINFO].n_value,
-	     &msginfo, sizeof(msginfo)) == sizeof(msginfo))) {
-
-		if (display & MSGTOTAL)
-			show_msgtotal(&msginfo);
-
-		if (display & MSGINFO) {
-			struct msqid_ds *xmsqids;
-
-			if (kvm_read(kd, symbols[X_MSQIDS].n_value,
-			    &msqids, sizeof(msqids)) != sizeof(msqids))
-				errx(1, "kvm_read (%s): %s",
-				    symbols[X_MSQIDS].n_name, kvm_geterr(kd));
-
-			xmsqids = malloc(sizeof(struct msqid_ds) *
-			    msginfo.msgmni);
-
-			if ((size_t)kvm_read(kd, (u_long)msqids, xmsqids,
-			    sizeof(struct msqid_ds) * msginfo.msgmni) !=
-			    sizeof(struct msqid_ds) * msginfo.msgmni)
-				errx(1, "kvm_read (msqids): %s",
-				    kvm_geterr(kd));
-
-			show_msginfo_hdr();
-			for (i = 0; i < msginfo.msgmni; i++) {
-				struct msqid_ds *msqptr = &xmsqids[i];
-				if (msqptr->msg_qbytes != 0)
-					show_msginfo(msqptr->msg_stime,
-					    msqptr->msg_rtime,
-					    msqptr->msg_ctime,
-					    IXSEQ_TO_IPCID(i, msqptr->msg_perm),
-					    (u_int64_t)msqptr->msg_perm._key,
-					    msqptr->msg_perm.mode,
-					    msqptr->msg_perm.uid,
-					    msqptr->msg_perm.gid,
-					    msqptr->msg_perm.cuid,
-					    msqptr->msg_perm.cgid,
-					    (u_int64_t)msqptr->_msg_cbytes,
-					    (u_int64_t)msqptr->msg_qnum,
-					    (u_int64_t)msqptr->msg_qbytes,
-					    msqptr->msg_lspid,
-					    msqptr->msg_lrpid);
-			}
-			(void)printf("\n");
-			free(xmsqids);
-		}
-	} else
-		if (display & (MSGINFO | MSGTOTAL))
-			unconfmsg();
-	if ((display & (SHMINFO | SHMTOTAL)) &&
-	    (kvm_read(kd, symbols[X_SHMINFO].n_value, &shminfo,
-	     sizeof(shminfo)) == sizeof(shminfo))) {
-
-		if (display & SHMTOTAL)
-			show_shmtotal(&shminfo);
-
-		if (display & SHMINFO) {
-			struct shmid_ds *xshmids;
-
-			if (kvm_read(kd, symbols[X_SHMSEGS].n_value, &shmsegs,
-			    sizeof(shmsegs)) != sizeof(shmsegs))
-				errx(1, "kvm_read (%s): %s",
-				    symbols[X_SHMSEGS].n_name, kvm_geterr(kd));
-
-			xshmids = malloc(sizeof(struct shmid_ds) *
-			    shminfo.shmmni);
-
-			if ((size_t)kvm_read(kd, (u_long)shmsegs, xshmids,
-			    sizeof(struct shmid_ds) * shminfo.shmmni) !=
-			    sizeof(struct shmid_ds) * shminfo.shmmni)
-				errx(1, "kvm_read (shmsegs): %s",
-				    kvm_geterr(kd));
-
-			show_shminfo_hdr();
-			for (u = 0; u < shminfo.shmmni; u++) {
-				struct shmid_ds *shmptr = &xshmids[u];
-				if (shmptr->shm_perm.mode & 0x0800)
-					show_shminfo(shmptr->shm_atime,
-					    shmptr->shm_dtime,
-					    shmptr->shm_ctime,
-					    IXSEQ_TO_IPCID(u, shmptr->shm_perm),
-					    (u_int64_t)shmptr->shm_perm._key,
-					    shmptr->shm_perm.mode,
-					    shmptr->shm_perm.uid,
-					    shmptr->shm_perm.gid,
-					    shmptr->shm_perm.cuid,
-					    shmptr->shm_perm.cgid,
-					    shmptr->shm_nattch,
-					    (u_int64_t)shmptr->shm_segsz,
-					    shmptr->shm_cpid,
-					    shmptr->shm_lpid);
-			}
-			(void)printf("\n");
-			free(xshmids);
-		}
-	} else
-		if (display & (SHMINFO | SHMTOTAL))
-			unconfshm();
-	if ((display & (SEMINFO | SEMTOTAL)) &&
-	    (kvm_read(kd, symbols[X_SEMINFO].n_value, &seminfo,
-	     sizeof(seminfo)) == sizeof(seminfo))) {
-		struct semid_ds *xsema;
-
-		if (display & SEMTOTAL)
-			show_semtotal(&seminfo);
-
-		if (display & SEMINFO) {
-			if (kvm_read(kd, symbols[X_SEMA].n_value, &sema,
-			    sizeof(sema)) != sizeof(sema))
-				errx(1, "kvm_read (%s): %s",
-				    symbols[X_SEMA].n_name, kvm_geterr(kd));
-
-			xsema = malloc(sizeof(struct semid_ds) *
-			    seminfo.semmni);
-
-			if ((size_t)kvm_read(kd, (u_long)sema, xsema,
-			    sizeof(struct semid_ds) * seminfo.semmni) !=
-			    sizeof(struct semid_ds) * seminfo.semmni)
-				errx(1, "kvm_read (sema): %s",
-				    kvm_geterr(kd));
-
-			show_seminfo_hdr();
-			for (i = 0; i < seminfo.semmni; i++) {
-				struct semid_ds *semaptr = &xsema[i];
-				if ((semaptr->sem_perm.mode & SEM_ALLOC) != 0)
-					show_seminfo(semaptr->sem_otime,
-					    semaptr->sem_ctime,
-					    IXSEQ_TO_IPCID(i, semaptr->sem_perm),
-					    (u_int64_t)semaptr->sem_perm._key,
-					    semaptr->sem_perm.mode,
-					    semaptr->sem_perm.uid,
-					    semaptr->sem_perm.gid,
-					    semaptr->sem_perm.cuid,
-					    semaptr->sem_perm.cgid,
-					    semaptr->sem_nsems);
-			}
-
-			(void)printf("\n");
-			free(xsema);
-		}
-	} else
-		if (display & (SEMINFO | SEMTOTAL)) 
-			unconfsem();
-	(void)kvm_close(kd);
-}
-
 static void
 usage(void)
 {
 
 	(void)fprintf(stderr,
-	    "Usage: %s [-abcmopqstMQST] [-C corefile] [-N namelist]\n",
+	    "Usage: %s [-abcmopqstMQST]\n",
 	    getprogname());
 	exit(1);
 }

Reply via email to