Deleted Added
full compact
pstat.c (8335) pstat.c (8495)
1/*-
2 * Copyright (c) 1980, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 134 unchanged lines hidden (view full) ---

143};
144
145int usenumflag;
146int totalflag;
147char *nlistf = NULL;
148char *memf = NULL;
149kvm_t *kd;
150
1/*-
2 * Copyright (c) 1980, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 134 unchanged lines hidden (view full) ---

143};
144
145int usenumflag;
146int totalflag;
147char *nlistf = NULL;
148char *memf = NULL;
149kvm_t *kd;
150
151char *usage;
152
151#define SVAR(var) __STRING(var) /* to force expansion */
152#define KGET(idx, var) \
153 KGET1(idx, &var, sizeof(var), SVAR(var))
154#define KGET1(idx, p, s, msg) \
155 KGET2(nl[idx].n_value, p, s, msg)
156#define KGET2(addr, p, s, msg) \
157 if (kvm_read(kd, (u_long)(addr), p, s) != s) \
158 warnx("cannot read %s: %s", msg, kvm_geterr(kd))

--- 15 unchanged lines hidden (view full) ---

174void nfs_header __P((void));
175int nfs_print __P((struct vnode *));
176void swapmode __P((void));
177void ttymode __P((void));
178void ttyprt __P((struct tty *, int));
179void ttytype __P((struct tty *, char *, int, int));
180void ufs_header __P((void));
181int ufs_print __P((struct vnode *));
153#define SVAR(var) __STRING(var) /* to force expansion */
154#define KGET(idx, var) \
155 KGET1(idx, &var, sizeof(var), SVAR(var))
156#define KGET1(idx, p, s, msg) \
157 KGET2(nl[idx].n_value, p, s, msg)
158#define KGET2(addr, p, s, msg) \
159 if (kvm_read(kd, (u_long)(addr), p, s) != s) \
160 warnx("cannot read %s: %s", msg, kvm_geterr(kd))

--- 15 unchanged lines hidden (view full) ---

176void nfs_header __P((void));
177int nfs_print __P((struct vnode *));
178void swapmode __P((void));
179void ttymode __P((void));
180void ttyprt __P((struct tty *, int));
181void ttytype __P((struct tty *, char *, int, int));
182void ufs_header __P((void));
183int ufs_print __P((struct vnode *));
182void usage __P((void));
183void vnode_header __P((void));
184void vnode_print __P((struct vnode *, struct vnode *));
185void vnodemode __P((void));
186
187int
188main(argc, argv)
189 int argc;
190 char *argv[];
191{
192 extern char *optarg;
193 extern int optind;
194 int ch, i, quit, ret;
195 int fileflag, swapflag, ttyflag, vnodeflag;
184void vnode_header __P((void));
185void vnode_print __P((struct vnode *, struct vnode *));
186void vnodemode __P((void));
187
188int
189main(argc, argv)
190 int argc;
191 char *argv[];
192{
193 extern char *optarg;
194 extern int optind;
195 int ch, i, quit, ret;
196 int fileflag, swapflag, ttyflag, vnodeflag;
196 char buf[_POSIX2_LINE_MAX];
197 char buf[_POSIX2_LINE_MAX],*opts;
197
198 fileflag = swapflag = ttyflag = vnodeflag = 0;
198
199 fileflag = swapflag = ttyflag = vnodeflag = 0;
199 while ((ch = getopt(argc, argv, "TM:N:finstv")) != EOF)
200
201 /* We will behave like good old swapinfo if thus invoked */
202 opts = strrchr(argv[0],'/');
203 if (opts)
204 opts++;
205 else
206 opts = argv[0];
207 if (!strcmp(opts,"swapinfo")) {
208 swapflag = 1;
209 opts = "k";
210 usage = "usage: swapinfo [-k] [-M core] [-N system]\n";
211 } else {
212 opts = "TM:N:fiknstv";
213 usage = "usage: pstat [-Tfknstv] [-M core] [-N system]\n";
214 }
215
216 while ((ch = getopt(argc, argv, opts)) != EOF)
200 switch (ch) {
201 case 'f':
202 fileflag = 1;
203 break;
217 switch (ch) {
218 case 'f':
219 fileflag = 1;
220 break;
221 case 'k':
222 putenv("BLOCKSIZE=1K");
223 break;
204 case 'M':
205 memf = optarg;
206 break;
207 case 'N':
208 nlistf = optarg;
209 break;
210 case 'n':
211 usenumflag = 1;

--- 7 unchanged lines hidden (view full) ---

219 case 't':
220 ttyflag = 1;
221 break;
222 case 'v':
223 case 'i': /* Backward compatibility. */
224 vnodeflag = 1;
225 break;
226 default:
224 case 'M':
225 memf = optarg;
226 break;
227 case 'N':
228 nlistf = optarg;
229 break;
230 case 'n':
231 usenumflag = 1;

--- 7 unchanged lines hidden (view full) ---

239 case 't':
240 ttyflag = 1;
241 break;
242 case 'v':
243 case 'i': /* Backward compatibility. */
244 vnodeflag = 1;
245 break;
246 default:
227 usage();
247 (void)fprintf(stderr, usage);
248 exit(1);
228 }
229 argc -= optind;
230 argv += optind;
231
232 /*
233 * Discard setgid privileges if not the running kernel so that bad
234 * guys can't print interesting stuff from kernel memory.
235 */

--- 8 unchanged lines hidden (view full) ---

244 for (i = quit = 0; i <= NLMANDATORY; i++)
245 if (!nl[i].n_value) {
246 quit = 1;
247 warnx("undefined symbol: %s\n", nl[i].n_name);
248 }
249 if (quit)
250 exit(1);
251 }
249 }
250 argc -= optind;
251 argv += optind;
252
253 /*
254 * Discard setgid privileges if not the running kernel so that bad
255 * guys can't print interesting stuff from kernel memory.
256 */

--- 8 unchanged lines hidden (view full) ---

265 for (i = quit = 0; i <= NLMANDATORY; i++)
266 if (!nl[i].n_value) {
267 quit = 1;
268 warnx("undefined symbol: %s\n", nl[i].n_name);
269 }
270 if (quit)
271 exit(1);
272 }
252 if (!(fileflag | vnodeflag | ttyflag | swapflag | totalflag))
253 usage();
273 if (!(fileflag | vnodeflag | ttyflag | swapflag | totalflag)) {
274 (void)fprintf(stderr, usage);
275 exit(1);
276 }
254 if (fileflag || totalflag)
255 filemode();
256 if (vnodeflag || totalflag)
257 vnodemode();
258 if (ttyflag)
259 ttymode();
260 if (swapflag || totalflag)
261 swapmode();

--- 780 unchanged lines hidden (view full) ---

1042 (void)printf("%-11s %*s %8s %8s %8s %s\n",
1043 "Device", hlen, header,
1044 "Used", "Avail", "Capacity", "Type");
1045 div = blocksize / 512;
1046 avail = npfree = 0;
1047 for (i = 0; i < nswdev; i++) {
1048 int xsize, xfree;
1049
277 if (fileflag || totalflag)
278 filemode();
279 if (vnodeflag || totalflag)
280 vnodemode();
281 if (ttyflag)
282 ttymode();
283 if (swapflag || totalflag)
284 swapmode();

--- 780 unchanged lines hidden (view full) ---

1065 (void)printf("%-11s %*s %8s %8s %8s %s\n",
1066 "Device", hlen, header,
1067 "Used", "Avail", "Capacity", "Type");
1068 div = blocksize / 512;
1069 avail = npfree = 0;
1070 for (i = 0; i < nswdev; i++) {
1071 int xsize, xfree;
1072
1050 if (!totalflag)
1051 (void)printf("/dev/%-6s %*d ",
1052 devname(sw[i].sw_dev, S_IFBLK),
1053 hlen, sw[i].sw_nblks / div);
1054
1055 /*
1056 * Don't report statistics for partitions which have not
1057 * yet been activated via swapon(8).
1058 */
1073 /*
1074 * Don't report statistics for partitions which have not
1075 * yet been activated via swapon(8).
1076 */
1059 if (!(sw[i].sw_flags & SW_FREED)) {
1060 if (totalflag)
1061 continue;
1062 (void)printf(" *** not available for swapping ***\n");
1077 if (!(sw[i].sw_flags & SW_FREED))
1063 continue;
1078 continue;
1064 }
1079
1080 if (!totalflag)
1081 (void)printf("/dev/%-6s %*d ",
1082 devname(sw[i].sw_dev, S_IFBLK),
1083 hlen, sw[i].sw_nblks / div);
1084
1065 xsize = sw[i].sw_nblks;
1066 xfree = perdev[i];
1067 used = xsize - xfree;
1068 npfree++;
1069 avail += xsize;
1070 if (totalflag)
1071 continue;
1072 (void)printf("%8d %8d %5.0f%% %s\n",

--- 13 unchanged lines hidden (view full) ---

1086 return;
1087 }
1088 if (npfree > 1) {
1089 (void)printf("%-11s %*d %8d %8d %5.0f%%\n",
1090 "Total", hlen, avail / div, used / div, nfree / div,
1091 (double)used / (double)avail * 100.0);
1092 }
1093}
1085 xsize = sw[i].sw_nblks;
1086 xfree = perdev[i];
1087 used = xsize - xfree;
1088 npfree++;
1089 avail += xsize;
1090 if (totalflag)
1091 continue;
1092 (void)printf("%8d %8d %5.0f%% %s\n",

--- 13 unchanged lines hidden (view full) ---

1106 return;
1107 }
1108 if (npfree > 1) {
1109 (void)printf("%-11s %*d %8d %8d %5.0f%%\n",
1110 "Total", hlen, avail / div, used / div, nfree / div,
1111 (double)used / (double)avail * 100.0);
1112 }
1113}
1094
1095void
1096usage()
1097{
1098 (void)fprintf(stderr,
1099 "usage: pstat [-Tfnstv] [-M core] [-N system]\n");
1100 exit(1);
1101}