1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-23 16:01:42 +00:00

Style and WARNS cleanups.

Submitted by: ru
This commit is contained in:
Jonathan Lemon 2001-10-25 16:41:38 +00:00
parent bc3a4bf55d
commit 068c21c653
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=85486
3 changed files with 65 additions and 65 deletions

View File

@ -2,5 +2,6 @@
PROG= conscontrol
MAN= conscontrol.8
WARNS?= 2
.include <bsd.prog.mk>

View File

@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd Oct 23, 2001
.Dd October 23, 2001
.Dt CONSCONTROL 8
.Os
.Sh NAME
@ -34,7 +34,7 @@
.Sh SYNOPSIS
.Nm
.Op Cm list
.Nm
.Nm
.Cm mute on | off
.Nm
.Cm add | delete
@ -43,7 +43,7 @@
The
.Nm
utility is used to examine and modify the physical devices which back
the virtual console console devices.
the virtual console devices.
If no arguments
(or only the
.Cm list
@ -53,7 +53,8 @@ the current console settings are shown.
.Pp
There are two types of logical consoles; a high level console which
is represented by
.Pa /dev/console , and a low level console.
.Pa /dev/console ,
and a low level console.
The low level console is used for kernel
.Xr printf 9
and
@ -65,8 +66,7 @@ Multiple device support is implemented only for the low level console;
the high level console is set to the first device in the console list.
.Pp
Multiple console support may be invoked by passing the kernel the
.\" XXX The Fl macro doesn't really apply here
-D
.Fl D
flag from the boot loader, or by using
.Nm
to change the list of console devices after the system has booted.
@ -78,9 +78,10 @@ Add or delete a physical device from the logical console.
The device must support low-level console operations.
Adding a device will place it at the front of the list of console
devices; the first device is used for the high level console.
.It Cm mute Cm on | off
.It Cm mute on | off
Change the state of console muting.
All console output is suppressed when console muting is on.
All console output is suppressed when console muting is
.Cm on .
.El
.Sh SEE ALSO
.Xr sio 4 ,

View File

@ -22,32 +22,34 @@
* 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.
*
* $FreeBSD$
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include <sys/types.h>
#include <sys/sysctl.h>
#include <err.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/sysctl.h>
#include <unistd.h>
static void __dead2
usage(void)
{
const char *pname = getprogname();
fprintf(stderr, "usage: %s [list]\n", pname);
fprintf(stderr, " %s mute on|off\n", pname);
fprintf(stderr, " %s add|delete console\n", pname);
(void)fprintf(stderr, "%s\n%s\n%s\n",
"usage: conscontrol [list]",
" conscontrol mute on | off",
" conscontrol add | delete console");
exit(1);
}
#define CONSBUFSIZE 32
static void
constatus(void)
consstatus(void)
{
int mute;
size_t len;
@ -55,23 +57,15 @@ constatus(void)
len = sizeof(mute);
if (sysctlbyname("kern.consmute", &mute, &len, NULL, 0) == -1)
goto fail;
len = 0;
alloc:
len += CONSBUFSIZE;
buf = malloc(len);
if (buf == NULL)
err(1, "Could not malloc sysctl buffer");
if (sysctlbyname("kern.console", buf, &len, NULL, 0) == -1) {
if (errno == ENOMEM) {
free(buf);
goto alloc;
}
goto fail;
}
avail = strchr(buf, '/');
err(1, "kern.consmute retrieval failed");
if (sysctlbyname("kern.console", NULL, &len, NULL, 0) == -1)
err(1, "kern.console estimate failed");
if ((buf = malloc(len)) == NULL)
errx(1, "kern.console malloc failed");
if (sysctlbyname("kern.console", buf, &len, NULL, 0) == -1)
err(1, "kern.console retrieval failed");
if ((avail = strchr(buf, '/')) == NULL)
errx(1, "kern.console format not understood");
p = avail;
*avail++ = '\0';
if (p != buf)
@ -83,9 +77,6 @@ constatus(void)
printf(" Available: %s\n", avail);
printf(" Muting: %s\n", mute ? "on" : "off");
free(buf);
return;
fail:
err(1, "Could not get console information");
}
static void
@ -102,49 +93,56 @@ consmute(const char *onoff)
usage();
len = sizeof(mute);
if (sysctlbyname("kern.consmute", NULL, NULL, &mute, len) == -1)
err(1, "Could not change console muting");
err(1, "could not change console muting");
}
static void
consadd(char *devname)
consadd(char *devnam)
{
size_t len;
len = strlen(devname);
if (sysctlbyname("kern.console", NULL, NULL, devname, len) == -1)
err(1, "Could not add %s as a console", devname);
len = strlen(devnam);
if (sysctlbyname("kern.console", NULL, NULL, devnam, len) == -1)
err(1, "could not add %s as a console", devnam);
}
#define MAXDEVNAME 32
static void
consdel(const char *devname)
consdel(const char *devnam)
{
char buf[MAXDEVNAME];
char *buf;
size_t len;
snprintf(buf, MAXDEVNAME, "-%s", devname);
len = strlen(buf);
if (sysctlbyname("kern.console", NULL, NULL, &buf, len) == -1)
err(1, "Could not remove %s as a console", devname);
len = strlen(devnam) + sizeof("-");
if ((buf = malloc(len)) == NULL)
errx(1, "malloc failed");
buf[0] = '-';
strcpy(buf + 1, devnam);
if (sysctlbyname("kern.console", NULL, NULL, buf, len) == -1)
err(1, "could not remove %s as a console", devnam);
free(buf);
}
int
main(int argc, char **argv)
{
if (argc < 2 || strcmp(argv[1], "list") == 0)
goto done;
if (argc < 3)
if (getopt(argc, argv, "") != -1)
usage();
if (strcmp(argv[1], "mute") == 0)
consmute(argv[2]);
else if (strcmp(argv[1], "add") == 0)
consadd(argv[2]);
else if (strcmp(argv[1], "delete") == 0)
consdel(argv[2]);
else
usage();
done:
constatus();
argc -= optind;
argv += optind;
if (argc > 0 && strcmp(argv[0], "list") != 0) {
if (argc != 2)
usage();
if (strcmp(argv[0], "mute") == 0)
consmute(argv[1]);
else if (strcmp(argv[0], "add") == 0)
consadd(argv[1]);
else if (strcmp(argv[0], "delete") == 0)
consdel(argv[1]);
else
usage();
}
consstatus();
exit(0);
}