diff options
27 files changed, 0 insertions, 752 deletions
diff --git a/.gitignore b/.gitignore index bafe2587c..968a0890d 100644 --- a/.gitignore +++ b/.gitignore @@ -83,7 +83,6 @@ update.log /colrm /column /ctrlaltdel -/cytune /delpart /dmesg /eject diff --git a/bash-completion/Makemodule.am b/bash-completion/Makemodule.am index aaf2737d3..0031aba0a 100644 --- a/bash-completion/Makemodule.am +++ b/bash-completion/Makemodule.am @@ -212,10 +212,6 @@ if BUILD_WDCTL dist_bashcompletion_DATA += \ bash-completion/wdctl endif -if BUILD_CYTUNE -dist_bashcompletion_DATA += \ - bash-completion/cytune -endif if LINUX dist_bashcompletion_DATA += \ bash-completion/blkdiscard \ diff --git a/bash-completion/cytune b/bash-completion/cytune deleted file mode 100644 index f685c88ee..000000000 --- a/bash-completion/cytune +++ /dev/null @@ -1,41 +0,0 @@ -_cytune_module() -{ - local cur prev OPTS - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - case $prev in - '-s'|'--set-threshold'|'-S'|'--set-default-threshold'|'-t'|'--set-flush'|'-T'|'--set-default-flush') - COMPREPLY=( $(compgen -W "num" -- $cur) ) - return 0 - ;; - '-i'|'--interval') - COMPREPLY=( $(compgen -W "seconds" -- $cur) ) - return 0 - ;; - '-h'|'--help'|'-V'|'--version') - return 0 - ;; - esac - case $cur in - -*) - OPTS="--set-threshold - --get-threshold - --set-default-threshold - --set-flush - --get-glush - --set-default-flush - --stats - --interval - --help - --version" - COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) - return 0 - ;; - esac - local IFS=$'\n' - compopt -o filenames - COMPREPLY=( $(compgen -f -- ${cur:-"/dev/tty"}) ) - return 0 -} -complete -F _cytune_module cytune diff --git a/configure.ac b/configure.ac index bb469bb89..c5a3ef5a3 100644 --- a/configure.ac +++ b/configure.ac @@ -847,15 +847,6 @@ UL_REQUIRES_LINUX([losetup]) AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes]) -AC_ARG_ENABLE([cytune], - AS_HELP_STRING([--disable-cytune], [do not build cytune]), - [], [enable_cytune=check] -) -UL_BUILD_INIT([cytune]) -UL_REQUIRES_LINUX([cytune]) -AM_CONDITIONAL([BUILD_CYTUNE], [test "x$build_cytune" = xyes]) - - AC_ARG_ENABLE([fsck], AS_HELP_STRING([--disable-fsck], [do not build fsck]), [], [enable_fsck=check] diff --git a/sys-utils/Makemodule.am b/sys-utils/Makemodule.am index eb78176cc..9d69bc60e 100644 --- a/sys-utils/Makemodule.am +++ b/sys-utils/Makemodule.am @@ -40,13 +40,6 @@ dist_man_MANS += sys-utils/tunelp.8 tunelp_SOURCES = sys-utils/tunelp.c sys-utils/lp.h endif -if BUILD_CYTUNE -usrbin_exec_PROGRAMS += cytune -dist_man_MANS += sys-utils/cytune.8 -cytune_SOURCES = sys-utils/cytune.c sys-utils/cyclades.h -cytune_LDADD = $(LDADD) libcommon.la -endif - if BUILD_FSTRIM sbin_PROGRAMS += fstrim dist_man_MANS += sys-utils/fstrim.8 diff --git a/sys-utils/cyclades.h b/sys-utils/cyclades.h deleted file mode 100644 index afcf6005d..000000000 --- a/sys-utils/cyclades.h +++ /dev/null @@ -1,16 +0,0 @@ -struct cyclades_monitor { - unsigned long int_count; - unsigned long char_count; - unsigned long char_max; - unsigned long char_last; -}; - -#define CYGETMON 0x435901 -#define CYGETTHRESH 0x435902 -#define CYSETTHRESH 0x435903 -#define CYGETDEFTHRESH 0x435904 -#define CYSETDEFTHRESH 0x435905 -#define CYGETTIMEOUT 0x435906 -#define CYSETTIMEOUT 0x435907 -#define CYGETDEFTIMEOUT 0x435908 -#define CYSETDEFTIMEOUT 0x435909 diff --git a/sys-utils/cytune.8 b/sys-utils/cytune.8 deleted file mode 100644 index 3bf7afce3..000000000 --- a/sys-utils/cytune.8 +++ /dev/null @@ -1,194 +0,0 @@ -.\" cytune.8 -- -.\" Created: Sat Mar 4 17:44:53 1995 by faith@cs.unc.edu -.\" Update: Sat Mar 4 18:22:24 1995 by faith@cs.unc.edu -.\" Update: Sun Mar 5 06:40:12 1995 by njs@scifi.emi.net -.\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" " -.TH CYTUNE 8 "September 2011" "util-linux" "System Administration" -.SH NAME -cytune \- tune driver parameters for Cyclades-Z multiport serial card -.SH SYNOPSIS -.B cytune -.RI [options] tty ... -.SH DESCRIPTION -.B cytune -queries and modifies the interruption threshold for the Cyclades driver. -Each serial line on a Cyclades card has a 12-byte FIFO for input (and another -12-byte FIFO for output). The "threshold" specifies how many input -characters must be present in the FIFO before an interruption is raised. -When a Cyclades tty is opened, this threshold is set to a default value based -on baud rate: -.sp -.RS -Baud Threshold -.sp -50-4800 10 -.br -9600 8 -.br -19200 4 -.br -38400 2 -.br -57600-150000 1 -.RE -.PP -If the threshold is set too low, the large number of interruptions can load -the machine and decrease overall system throughput. If the threshold is set -too high, the FIFO buffer can overflow, and characters will be lost. Slower -machines, however, may not be able to deal with the interrupt load, and will -require that the threshold be adjusted upwards. -.PP -If the cyclades driver was compiled with -.B ENABLE_MONITORING -defined, the cytune command can be used with the -.B \-q -option to report interrupts over the monitoring interval and characters -transferred over the monitoring interval. It will also report the state of -the FIFO. The maximum number of characters in the FIFO when an interrupt -occurred, the instantaneous count of characters in the FIFO, and how many -characters are now in the FIFO are reported. This output might look like -this: -.sp -.RS -/dev/cubC0: 830 ints, 9130 chars; fifo: 11 threshold, 11 max, 11 now -.br - 166.259866 interrupts/second, 1828.858521 characters/second -.RE -.PP -This output indicates that for this monitoring period, the interrupts were -always being handled within one character time, because -.B max -never rose above -.BR threshold . -This is good, and you can probably run this way, provided that a large number -of samples come out this way. You will lose characters if you overrun the -FIFO, as the Cyclades hardware does not seem to support the RTS RS-232 signal -line for hardware flow control from the DCE to the DTE. -.PP -In query mode -.B cytune -will produce a summary report when ended with a SIGINT or when the threshold -or timeout is changed. -.PP -There may be a responsiveness vs. throughput tradeoff. The Cyclades card, at -the higher speeds, is capable of putting a very high interrupt load on the -system. This will reduce the amount of CPU time available for other tasks on -your system. However, the time it takes to respond to a single character may -be increased if you increase the threshold. This might be noticed by -monitoring -.BR ping (8) -times on a SLIP link controlled by a Cyclades card. If your SLIP link is -generally used for interactive work such as -.BR telnet (1), -you may want to leave the threshold low, so that characters are responded to -as quickly as possible. If your SLIP link is generally used for file -transfer, WWW, and the like, setting the FIFO to a high value is likely to -reduce the load on your system while not significantly affecting throughput. -Alternatively, see the -.B \-t -or -.B \-T -options to adjust the time that the cyclades waits before flushing its -buffer. Units are 5ms. -.PP -If you are running a mouse on a Cyclades port, it is likely that you would -want to maintain the threshold and timeout at a low value. -.PP -.SH OPTIONS -.TP -\fB\-s\fR, \fB\-\-set\-threshold\fR \fIvalue\fR -Set the current threshold to -.I value -characters. Note that if the -.I tty -is not being held open by another process, the threshold will be reset on the -next open. Only values between 1 and 12, inclusive, are permitted. -.TP -\fB\-t\fR, \fB\-\-set\-flush\fR \fIvalue\fR -Set the current flush timeout to -.I value -units. Note that if the -.I tty -is not being held open by another process, the threshold will be reset on the -next open. Only values between 0 and 255, inclusive, are permitted. Setting -.I value -to zero forces the default, currently 0x20 (160ms), but soon to be 0x02 -(10ms). Units are 5 ms. -.TP -\fB\-g\fR, \fB\-\-get-threshold\fR -Get the current threshold and flush timeout values. -.TP -\fB\-S\fR, \fB\-\-set\-default\-threshold\fR \fIvalue\fR -Set the default threshold to -.I value -characters. When the -.I tty -is next opened, this value will be used instead of the default. Only values -between 1 and 12, inclusive, are permitted. -.TP -\fB\-T\fR, \fB\-\-set\-default\-flush\fR \fIvalue\fR -Set the default flush timeout to -.I value -units. When the -.I tty -is next opened, this value will be used instead of the default. If -.I value -is zero, then the value will default to 0x20 (160ms), soon to be 0x02 -(10ms). -.TP -\fB\-G\fR, \fB\-\-get-flush\fR -Get the default threshold and flush timeout values. -.TP -\fB\-q\fR, \fB\-\-stats\fR -Gather statistics about the -.IR tty . -The results are only valid if the Cyclades driver has been compiled with -.B ENABLE_MONITORING -defined. This is probably not the default. -.TP -\fB\-i\fR, \fB\-\-interval\fR \fIinterval\fR -Statistics will be gathered every -.I interval -seconds. -.SH BUGS -If you run two copies of -.B cytune -at the same time to report statistics about the same port, the 'ints', 'chars', -and 'max' value will be reset and not reported correctly. -.B cytune -should prevent this, but does not. -.\" .SH AUTHOR -.\" Nick Simicich (njs@scifi.emi.net), with modifications by -.\" Rik Faith (faith@cs.unc.edu) -.SH FILES -.I /dev/ttyC[0-8] -.br -.I /dev/cubC[0-8] -.SH "SEE ALSO" -.BR setserial (8) -.SH AVAILABILITY -The cytune command is part of the util-linux package and is available from -.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ -Linux Kernel Archive -.UE . diff --git a/sys-utils/cytune.c b/sys-utils/cytune.c deleted file mode 100644 index 15529ff35..000000000 --- a/sys-utils/cytune.c +++ /dev/null @@ -1,461 +0,0 @@ -/* cytune.c -- Tune Cyclades driver - * - * Copyright 1995 Nick Simicich (njs@scifi.emi.net) - * Modifications by Rik Faith (faith@cs.unc.edu) - * - * 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 Nick Simicich - * 4. Neither the name of the Nick Simicich 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 NICK SIMICICH 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 NICK SIMICICH 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. - */ - /* - * 1999-02-22 Arkadiusz MiĆkiewicz <misiek@pld.ORG.PL> - * - added Native Language Support - * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br> - * - fixed strerr(errno) in gettext calls - */ - -#include <getopt.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/types.h> -#include <sys/time.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <string.h> -#include <fcntl.h> -#include <errno.h> -#include <signal.h> -#include <termios.h> - -#include "c.h" -#include "cyclades.h" -#include "closestream.h" -#include "strutils.h" - -#if 0 -# ifndef XMIT -# include <linux/version.h> -# if LINUX_VERSION_CODE > 66056 -# define XMIT -# endif -# endif -#endif - -#include "xalloc.h" -#include "nls.h" -/* Until it gets put in the kernel, toggle by hand. */ -#undef XMIT - -struct cyclades_control { - struct cyclades_monitor c; - int cfile; - int maxmax; - double maxtran; - double maxxmit; - unsigned long threshold_value; - unsigned long timeout_value; -}; -struct cyclades_control *cmon; -int cmon_index; - -static int global_argc, global_optind; -static char ***global_argv; - -#define mvtime(tvpto, tvpfrom) (((tvpto)->tv_sec = (tvpfrom)->tv_sec),(tvpto)->tv_usec = (tvpfrom)->tv_usec) - -static void __attribute__ ((__noreturn__)) usage(FILE * out) -{ - fprintf(out, USAGE_HEADER); - fprintf(out, _(" %s [options] <tty>...\n"), program_invocation_short_name); - fprintf(out, USAGE_OPTIONS); - fprintf(out, _(" -s, --set-threshold <num> set interruption threshold value\n")); - fprintf(out, _(" -g, --get-threshold display the current values\n")); - fprintf(out, _(" -S, --set-default-threshold <num> set the default threshold value\n")); - fprintf(out, _(" -t, --set-flush <num> set the flush timeout\n")); - fprintf(out, _(" -G, --get-flush display the default values\n")); - fprintf(out, _(" -T, --set-default-flush <num> set the default flush timeout\n")); - fprintf(out, _(" -q, --stats display statistics about the tty\n")); - fprintf(out, _(" -i, --interval <seconds> gather statistics every <seconds> interval\n")); - fprintf(out, USAGE_SEPARATOR); - fprintf(out, USAGE_HELP); - fprintf(out, USAGE_VERSION); - fprintf(out, USAGE_MAN_TAIL("cytune(8)")); - - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); -} - -static inline double dtime(struct timeval *tvpnew, struct timeval *tvpold) -{ - double diff; - diff = (double)tvpnew->tv_sec - (double)tvpold->tv_sec; - diff += ((double)tvpnew->tv_usec - (double)tvpold->tv_usec) / 1000000; - return diff; -} - -static void summary(int sig) -{ - struct cyclades_control *cc; - int argc, local_optind; - char **argv; - int i; - - argc = global_argc; - argv = *global_argv; - local_optind = global_optind; - - if (sig > 0) { - for (i = local_optind; i < argc; i++) { - cc = &cmon[cmon_index]; - warnx(_("File %s, For threshold value %lu, Maximum characters in fifo were %d,\n" - "and the maximum transfer rate in characters/second was %f"), - argv[i], cc->threshold_value, cc->maxmax, - cc->maxtran); - } - exit(EXIT_SUCCESS); - } - cc = &cmon[cmon_index]; - if (cc->threshold_value > 0 && sig != -1) { - warnx(_("File %s, For threshold value %lu and timeout value %lu, Maximum characters in fifo were %d,\n" - "and the maximum transfer rate in characters/second was %f"), - argv[cmon_index + local_optind], cc->threshold_value, - cc->timeout_value, cc->maxmax, cc->maxtran); - } - cc->maxmax = 0; - cc->maxtran = 0.0; - cc->threshold_value = 0; - cc->timeout_value = 0; -} - -static void query_tty_stats(int argc, char **argv, int interval, int numfiles, - unsigned long *threshold_value, - unsigned long *timeout_value) -{ - struct cyclades_monitor cywork; - struct timeval lasttime, thistime; - struct timezone tz = { 0, 0 }; - int i; - double diff; - double xfer_rate; -#ifdef XMIT - double xmit_rate; -#endif - - cmon = xmalloc(sizeof(struct cyclades_control) * numfiles); - - if (signal(SIGINT, summary) || - signal(SIGQUIT, summary) || signal(SIGTERM, summary)) - err(EXIT_FAILURE, _("cannot set signal handler")); - if (gettimeofday(&lasttime, &tz)) - err(EXIT_FAILURE, _("gettimeofday failed")); - - for (i = optind; i < argc; i++) { - cmon_index = i - optind; - cmon[cmon_index].cfile = open(argv[i], O_RDONLY); - if (cmon[cmon_index].cfile == -1) - err(EXIT_FAILURE, _("cannot open %s"), argv[i]); - if (ioctl - (cmon[cmon_index].cfile, CYGETMON, &cmon[cmon_index].c)) - err(EXIT_FAILURE, _("cannot issue CYGETMON on %s"), - argv[i]); - summary(-1); - if (ioctl - (cmon[cmon_index].cfile, CYGETTHRESH, &threshold_value)) - err(EXIT_FAILURE, _("cannot get threshold for %s"), - argv[i]); - if (ioctl(cmon[cmon_index].cfile, CYGETTIMEOUT, &timeout_value)) - err(EXIT_FAILURE, _("cannot get timeout for %s"), - argv[i]); - } - while (1) { - sleep(interval); - - if (gettimeofday(&thistime, &tz)) - err(EXIT_FAILURE, _("gettimeofday failed")); - diff = dtime(&thistime, &lasttime); - mvtime(&lasttime, &thistime); - - for (i = optind; i < argc; i++) { - cmon_index = i - optind; - if (ioctl(cmon[cmon_index].cfile, CYGETMON, &cywork)) - err(EXIT_FAILURE, - _("cannot issue CYGETMON on %s"), argv[i]); - if (ioctl - (cmon[cmon_index].cfile, CYGETTHRESH, - &threshold_value)) - err(EXIT_FAILURE, - _("cannot get threshold for %s"), argv[i]); - if (ioctl - (cmon[cmon_index].cfile, CYGETTIMEOUT, - &timeout_value)) - err(EXIT_FAILURE, - _("cannot get timeout for %s"), argv[i]); - - xfer_rate = cywork.char_count / diff; -#ifdef XMIT - xmit_rate = cywork.send_count / diff; -#endif - if ((*threshold_value) != - cmon[cmon_index].threshold_value - || (*timeout_value) != - cmon[cmon_index].timeout_value) { - summary(-2); - /* Note that the summary must come before the - * setting of threshold_value */ - cmon[cmon_index].threshold_value = - (*threshold_value); - cmon[cmon_index].timeout_value = - (*timeout_value); - } else { - /* Don't record this first cycle after change */ - if (xfer_rate > cmon[cmon_index].maxtran) - cmon[cmon_index].maxtran = xfer_rate; -#ifdef XMIT - if (xmit_rate > cmon[cmon_index].maxxmit) - cmon[cmon_index].maxxmit = xmit_rate; -#endif - if (cmon[cmon_index].maxmax < 0 || - cywork.char_max > - (unsigned long)cmon[cmon_index].maxmax) - cmon[cmon_index].maxmax = - cywork.char_max; - } - -#ifdef XMIT - printf(_("%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, " - "%lu max, %lu now\n"), argv[i], - cywork.int_count, cywork.char_count, - cywork.send_count, *threshold_value, - *timeout_value, cywork.char_max, - cywork.char_last); - printf(_(" %f int/sec; %f rec, %f send (char/sec)\n"), - cywork.int_count / diff, xfer_rate, xmit_rate); -#else - printf(_("%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, " - "%lu max, %lu now\n"), argv[i], - cywork.int_count, cywork.char_count, - *threshold_value, *timeout_value, cywork.char_max, - cywork.char_last); - printf(_(" %f int/sec; %f rec (char/sec)\n"), - cywork.int_count / diff, xfer_rate); -#endif - memcpy(&cmon[cmon_index].c, &cywork, - sizeof(struct cyclades_monitor)); - } - } - - free(cmon); - return; -} - -int main(int argc, char **argv) -{ - int query = 0; - int interval = 1; - int set = 0; - int set_val = -1; - int get = 0; - int set_def = 0; - int set_def_val = -1; - int get_def = 0; - int set_time = 0; - int set_time_val = -1; - int set_def_time = 0; - int set_def_time_val = -1; - int errflg = 0; - int file; - int numfiles; - int i; - unsigned long threshold_value; - unsigned long timeout_value; - - static const struct option longopts[] = { - {"set-threshold", required_argument, NULL, 's'}, - {"get-threshold", no_argument, NULL, 'g'}, - {"set-default-threshold", required_argument, NULL, 'S'}, - {"set-flush", required_argument, NULL, 't'}, - {"get-flush", no_argument, NULL, 'G'}, - {"set-default-flush", required_argument, NULL, 'T'}, - {"stats", no_argument, NULL, 'q'}, - {"interval", required_argument, NULL, 'i'}, - {"version", no_argument, NULL, 'V'}, - {"help", no_argument, NULL, 'h'}, - {NULL, 0, NULL, 0} - }; - - /* For signal routine. */ - global_argc = argc; - global_argv = &argv; - - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); - atexit(close_stdout); - - while ((i = - getopt_long(argc, argv, "qs:S:t:T:gGi:Vh", longopts, - NULL)) != -1) { - switch (i) { - case 'q': - query = 1; - break; - case 'i': - interval = strtou32_or_err(optarg, - _("Invalid interval value")); - if (interval < 1) { - warnx(_("Invalid interval value: %d"), - interval); - errflg++; - } - break; - case 's': - ++set; - set_val = strtou32_or_err(optarg, _("Invalid set value")); - if (set_val < 1 || 12 < set_val) { - warnx(_("Invalid set value: %d"), set_val); - errflg++; - } - break; - case 'S': - ++set_def; - set_def_val = strtou32_or_err(optarg, - _("Invalid default value")); - if (set_def_val < 0 || 12 < set_def_val) { - warnx(_("Invalid default value: %d"), - set_def_val); - errflg++; - } - break; - case 't': - ++set_time; - set_time_val = strtou32_or_err(optarg, - _("Invalid set time value")); - if (set_time_val < 1 || 255 < set_time_val) { - warnx(_("Invalid set time value: %d"), - set_time_val); - errflg++; - } - break; - case 'T': - ++set_def_time; - set_def_time_val = strtou32_or_err(optarg, - _("Invalid default time value")); - if (set_def_time_val < 0 || 255 < set_def_time_val) { - warnx(_("Invalid default time value: %d"), - set_def_time_val); - errflg++; - } - break; - case 'g': - ++get; - break; - case 'G': - ++get_def; - break; - case 'V': - printf(_("%s from %s\n"), program_invocation_short_name, - PACKAGE_STRING); - return EXIT_SUCCESS; - case 'h': - usage(stdout); - default: - usage(stderr); - } - } - numfiles = argc - optind; - - if (errflg - || (numfiles == 0) - || (!query && !set && !set_def && !get && !get_def && !set_time && !set_def_time) - || (set && set_def) - || (set_time && set_def_time) - || (get && get_def)) - usage(stderr); - - /* For signal routine. */ - global_optind = optind; - - if (set || set_def) { - for (i = optind; i < argc; i++) { - file = open(argv[i], O_RDONLY); - if (file == -1) - err(EXIT_FAILURE, _("cannot open %s"), argv[i]); - if (ioctl(file, - set ? CYSETTHRESH : CYSETDEFTHRESH, - set ? set_val : set_def_val)) - err(EXIT_FAILURE, - _("cannot set %s to threshold %d"), argv[i], - set ? set_val : set_def_val); - close(file); - } - } - if (set_time || set_def_time) { - for (i = optind; i < argc; i++) { - file = open(argv[i], O_RDONLY); - if (file == -1) - err(EXIT_FAILURE, _("cannot open %s"), argv[i]); - if (ioctl(file, - set_time ? CYSETTIMEOUT : CYSETDEFTIMEOUT, - set_time ? set_time_val : set_def_time_val)) - err(EXIT_FAILURE, - _("cannot set %s to time threshold %d"), - argv[i], - set_time ? set_time_val : set_def_time_val); - close(file); - } - } - - if (get || get_def) { - for (i = optind; i < argc; i++) { - file = open(argv[i], O_RDONLY); - if (file == -1) - err(EXIT_FAILURE, _("cannot open %s"), argv[i]); - if (ioctl - (file, get ? CYGETTHRESH : CYGETDEFTHRESH, - &threshold_value)) - err(EXIT_FAILURE, - _("cannot get threshold for %s"), argv[i]); - if (ioctl - (file, get ? CYGETTIMEOUT : CYGETDEFTIMEOUT, - &timeout_value)) - err(EXIT_FAILURE, - _("cannot get timeout for %s"), argv[i]); - close(file); - if (get) - printf(_("%s: %ld current threshold and %ld current timeout\n"), - argv[i], threshold_value, timeout_value); - else - printf(_("%s: %ld default threshold and %ld default timeout\n"), - argv[i], threshold_value, timeout_value); - } - } - - if (!query) - return EXIT_SUCCESS; - - query_tty_stats(argc, argv, interval, numfiles, &threshold_value, &timeout_value); - - return EXIT_SUCCESS; -} diff --git a/tests/expected/build-sys/config-all b/tests/expected/build-sys/config-all index 2b2a48717..428490fdb 100644 --- a/tests/expected/build-sys/config-all +++ b/tests/expected/build-sys/config-all @@ -37,7 +37,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-all-devel b/tests/expected/build-sys/config-all-devel index f3933aa5c..812777d15 100644 --- a/tests/expected/build-sys/config-all-devel +++ b/tests/expected/build-sys/config-all-devel @@ -73,7 +73,6 @@ mountpoint: libblkid libmount libselinux libsepol libuuid arch: chcpu: ctrlaltdel: -cytune: dmesg: fallocate: flock: diff --git a/tests/expected/build-sys/config-all-non-nls b/tests/expected/build-sys/config-all-non-nls index 2b2a48717..428490fdb 100644 --- a/tests/expected/build-sys/config-all-non-nls +++ b/tests/expected/build-sys/config-all-non-nls @@ -37,7 +37,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-audit b/tests/expected/build-sys/config-audit index 4f37b1c86..cb623be47 100644 --- a/tests/expected/build-sys/config-audit +++ b/tests/expected/build-sys/config-audit @@ -34,7 +34,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-chfnsh-libuser b/tests/expected/build-sys/config-chfnsh-libuser index 4863257de..6ac5e56f4 100644 --- a/tests/expected/build-sys/config-chfnsh-libuser +++ b/tests/expected/build-sys/config-chfnsh-libuser @@ -36,7 +36,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-chfnsh-no-password b/tests/expected/build-sys/config-chfnsh-no-password index 09831b6b8..7d04805ba 100644 --- a/tests/expected/build-sys/config-chfnsh-no-password +++ b/tests/expected/build-sys/config-chfnsh-no-password @@ -36,7 +36,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-chfnsh-pam b/tests/expected/build-sys/config-chfnsh-pam index ccf072845..5fa2be19d 100644 --- a/tests/expected/build-sys/config-chfnsh-pam +++ b/tests/expected/build-sys/config-chfnsh-pam @@ -36,7 +36,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-core b/tests/expected/build-sys/config-core index 1d1468233..a0e6dd476 100644 --- a/tests/expected/build-sys/config-core +++ b/tests/expected/build-sys/config-core @@ -34,7 +34,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-devel b/tests/expected/build-sys/config-devel index ef6c556cd..1d377d951 100644 --- a/tests/expected/build-sys/config-devel +++ b/tests/expected/build-sys/config-devel @@ -37,7 +37,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-devel-new-mount b/tests/expected/build-sys/config-devel-new-mount index 121a3f6e6..d56be6c70 100644 --- a/tests/expected/build-sys/config-devel-new-mount +++ b/tests/expected/build-sys/config-devel-new-mount @@ -75,7 +75,6 @@ umount: libblkid libmount libselinux libsepol libuuid arch: chcpu: ctrlaltdel: -cytune: dmesg: fallocate: flock: diff --git a/tests/expected/build-sys/config-devel-non-docs b/tests/expected/build-sys/config-devel-non-docs index ef6c556cd..1d377d951 100644 --- a/tests/expected/build-sys/config-devel-non-docs +++ b/tests/expected/build-sys/config-devel-non-docs @@ -37,7 +37,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-non-libblkid b/tests/expected/build-sys/config-non-libblkid index c284f0836..fa9ce33a9 100644 --- a/tests/expected/build-sys/config-non-libblkid +++ b/tests/expected/build-sys/config-non-libblkid @@ -15,7 +15,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: dmesg: librt fallocate: fdformat: diff --git a/tests/expected/build-sys/config-non-libmount b/tests/expected/build-sys/config-non-libmount index 22e1f9637..78e659f6e 100644 --- a/tests/expected/build-sys/config-non-libmount +++ b/tests/expected/build-sys/config-non-libmount @@ -22,7 +22,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-non-libs b/tests/expected/build-sys/config-non-libs index 46cc7bef9..2aa4820b1 100644 --- a/tests/expected/build-sys/config-non-libs +++ b/tests/expected/build-sys/config-non-libs @@ -10,7 +10,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: dmesg: librt fallocate: fdformat: diff --git a/tests/expected/build-sys/config-non-libuuid b/tests/expected/build-sys/config-non-libuuid index 6279aa590..91fe3406b 100644 --- a/tests/expected/build-sys/config-non-libuuid +++ b/tests/expected/build-sys/config-non-libuuid @@ -30,7 +30,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-non-nls b/tests/expected/build-sys/config-non-nls index 1d1468233..a0e6dd476 100644 --- a/tests/expected/build-sys/config-non-nls +++ b/tests/expected/build-sys/config-non-nls @@ -34,7 +34,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-selinux b/tests/expected/build-sys/config-selinux index c0faa85dd..c2644abf7 100644 --- a/tests/expected/build-sys/config-selinux +++ b/tests/expected/build-sys/config-selinux @@ -34,7 +34,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-slang b/tests/expected/build-sys/config-slang index 7baebb95f..363649210 100644 --- a/tests/expected/build-sys/config-slang +++ b/tests/expected/build-sys/config-slang @@ -34,7 +34,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: diff --git a/tests/expected/build-sys/config-static b/tests/expected/build-sys/config-static index 5b91300b7..ba2184a0f 100644 --- a/tests/expected/build-sys/config-static +++ b/tests/expected/build-sys/config-static @@ -35,7 +35,6 @@ colcrt: colrm: column: ctrlaltdel: -cytune: delpart: dmesg: librt fallocate: |