Module Name: src
Committed By: joerg
Date: Wed Jun 11 14:57:55 UTC 2014
Modified Files:
src/usr.bin/ipcs: Makefile ipcs.1 ipcs.c
Log Message:
Remove KVM support.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.bin/ipcs/Makefile
cvs rdiff -u -r1.19 -r1.20 src/usr.bin/ipcs/ipcs.1
cvs rdiff -u -r1.42 -r1.43 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.11
--- src/usr.bin/ipcs/Makefile:1.10 Tue Apr 14 22:15:21 2009
+++ src/usr.bin/ipcs/Makefile Wed Jun 11 14:57:55 2014
@@ -1,7 +1,5 @@
-# $NetBSD: Makefile,v 1.10 2009/04/14 22:15:21 lukem Exp $
+# $NetBSD: Makefile,v 1.11 2014/06/11 14:57:55 joerg 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.20
--- src/usr.bin/ipcs/ipcs.1:1.19 Tue Mar 18 18:20:45 2014
+++ src/usr.bin/ipcs/ipcs.1 Wed Jun 11 14:57:55 2014
@@ -1,4 +1,4 @@
-.\" $NetBSD: ipcs.1,v 1.19 2014/03/18 18:20:45 riastradh Exp $
+.\" $NetBSD: ipcs.1,v 1.20 2014/06/11 14:57:55 joerg 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.43
--- src/usr.bin/ipcs/ipcs.c:1.42 Sun Jan 18 01:10:34 2009
+++ src/usr.bin/ipcs/ipcs.c Wed Jun 11 14:57:55 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: ipcs.c,v 1.42 2009/01/18 01:10:34 lukem Exp $ */
+/* $NetBSD: ipcs.c,v 1.43 2014/06/11 14:57:55 joerg 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);
}