More minor updates to docs (and making apps behave as the docs
suggest they should) -Erik
This commit is contained in:
2
Makefile
2
Makefile
@ -26,7 +26,7 @@ export VERSION
|
|||||||
# Set the following to `true' to make a debuggable build.
|
# Set the following to `true' to make a debuggable build.
|
||||||
# Leave this set to `false' for production use.
|
# Leave this set to `false' for production use.
|
||||||
# eg: `make DODEBUG=true tests'
|
# eg: `make DODEBUG=true tests'
|
||||||
DODEBUG = true
|
DODEBUG = false
|
||||||
|
|
||||||
# If you want a static binary, turn this on.
|
# If you want a static binary, turn this on.
|
||||||
DOSTATIC = false
|
DOSTATIC = false
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* Peter Novodvorsky <petya@logic.ru>
|
* Peter Novodvorsky <petya@logic.ru>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "internal.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
@ -21,6 +22,9 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/kd.h>
|
#include <sys/kd.h>
|
||||||
|
|
||||||
|
static const char loadacm_usage[] = "loadacm\n\n"
|
||||||
|
"Loads an acm from standard input.\n";
|
||||||
|
|
||||||
typedef unsigned short unicode;
|
typedef unsigned short unicode;
|
||||||
|
|
||||||
static long int ctoi(unsigned char *s, int *is_unicode);
|
static long int ctoi(unsigned char *s, int *is_unicode);
|
||||||
@ -33,20 +37,24 @@ int loadacm_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
|
if (argc>=2 && *argv[1]=='-') {
|
||||||
|
usage(loadacm_usage);
|
||||||
|
}
|
||||||
|
|
||||||
fd = open("/dev/tty", O_RDWR);
|
fd = open("/dev/tty", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty1: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty1: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screen_map_load(fd, stdin)) {
|
if (screen_map_load(fd, stdin)) {
|
||||||
fprintf(stderr, "Error loading acm: %s\n", strerror(errno));
|
fprintf(stderr, "Error loading acm: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
write(fd, "\033(K", 3);
|
write(fd, "\033(K", 3);
|
||||||
|
|
||||||
return 0;
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int screen_map_load(int fd, FILE * fp)
|
int screen_map_load(int fd, FILE * fp)
|
||||||
|
@ -54,11 +54,11 @@ extern int loadfont_main(int argc, char **argv)
|
|||||||
fd = open("/dev/tty0", O_RDWR);
|
fd = open("/dev/tty0", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
loadnewfont(fd);
|
loadnewfont(fd);
|
||||||
|
|
||||||
return 0;
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_loadfont(int fd, char *inbuf, int unit, int fontsize)
|
static void do_loadfont(int fd, char *inbuf, int unit, int fontsize)
|
||||||
|
@ -29,11 +29,8 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
|
||||||
static const char loadkmap_usage[] = "loadkmap\n"
|
static const char loadkmap_usage[] = "loadkmap\n\n"
|
||||||
"\n"
|
"Loads a binary keyboard translation table from standard input.\n";
|
||||||
|
|
||||||
"\tLoad a binary keyboard translation table from standard input.\n"
|
|
||||||
"\n";
|
|
||||||
|
|
||||||
|
|
||||||
int loadkmap_main(int argc, char **argv)
|
int loadkmap_main(int argc, char **argv)
|
||||||
@ -43,28 +40,32 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
int i, j, fd, readsz, pos, ibuffsz = NR_KEYS * sizeof(u_short);
|
int i, j, fd, readsz, pos, ibuffsz = NR_KEYS * sizeof(u_short);
|
||||||
char flags[MAX_NR_KEYMAPS], magic[] = "bkeymap", buff[7];
|
char flags[MAX_NR_KEYMAPS], magic[] = "bkeymap", buff[7];
|
||||||
|
|
||||||
|
if (argc>=2 && *argv[1]=='-') {
|
||||||
|
usage(loadkmap_usage);
|
||||||
|
}
|
||||||
|
|
||||||
fd = open("/dev/tty0", O_RDWR);
|
fd = open("/dev/tty0", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
read(0, buff, 7);
|
read(0, buff, 7);
|
||||||
if (0 != strncmp(buff, magic, 7)) {
|
if (0 != strncmp(buff, magic, 7)) {
|
||||||
fprintf(stderr, "This is not a valid binary keymap.\n");
|
fprintf(stderr, "This is not a valid binary keymap.\n");
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MAX_NR_KEYMAPS != read(0, flags, MAX_NR_KEYMAPS)) {
|
if (MAX_NR_KEYMAPS != read(0, flags, MAX_NR_KEYMAPS)) {
|
||||||
fprintf(stderr, "Error reading keymap flags: %s\n",
|
fprintf(stderr, "Error reading keymap flags: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
ibuff = (u_short *) malloc(ibuffsz);
|
ibuff = (u_short *) malloc(ibuffsz);
|
||||||
if (!ibuff) {
|
if (!ibuff) {
|
||||||
fprintf(stderr, "Out of memory.\n");
|
fprintf(stderr, "Out of memory.\n");
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < MAX_NR_KEYMAPS; i++) {
|
for (i = 0; i < MAX_NR_KEYMAPS; i++) {
|
||||||
@ -75,7 +76,7 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
< 0) {
|
< 0) {
|
||||||
fprintf(stderr, "Error reading keymap: %s\n",
|
fprintf(stderr, "Error reading keymap: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
pos += readsz;
|
pos += readsz;
|
||||||
}
|
}
|
||||||
@ -90,5 +91,5 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
/* Don't bother to close files. Exit does that
|
/* Don't bother to close files. Exit does that
|
||||||
* automagically, so we can save a few bytes */
|
* automagically, so we can save a few bytes */
|
||||||
/* close(fd); */
|
/* close(fd); */
|
||||||
return 0;
|
exit(TRUE);
|
||||||
}
|
}
|
||||||
|
@ -807,7 +807,13 @@ Example:
|
|||||||
|
|
||||||
=item loadacm
|
=item loadacm
|
||||||
|
|
||||||
FIXME -- this command does not yet have proper documentation
|
Usage: loadacm
|
||||||
|
|
||||||
|
Loads an acm from standard input.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
$ loadacm < /etc/i18n/acmname
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
@ -817,12 +823,21 @@ Usage: loadfont
|
|||||||
|
|
||||||
Loads a console font from standard input.
|
Loads a console font from standard input.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
$ loadfont < /etc/i18n/fontname
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
=item loadkmap
|
=item loadkmap
|
||||||
|
|
||||||
FIXME -- this command does not yet have proper documentation
|
Usage: loadkmap
|
||||||
|
|
||||||
|
Loads a binary keyboard translation table from standard input.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
$ loadkmap < /etc/i18n/lang-keymap
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
@ -1297,7 +1312,14 @@ Usage: sh
|
|||||||
|
|
||||||
lash -- the BusyBox LAme SHell (command interpreter)
|
lash -- the BusyBox LAme SHell (command interpreter)
|
||||||
|
|
||||||
FIXME -- this command does not yet have proper documentation
|
This command does not yet have proper documentation.
|
||||||
|
|
||||||
|
Use lash just as you would use any other shell. It properly handles pipes,
|
||||||
|
redirects, job control, can be used as the shell for scripts (#!/bin/sh), and
|
||||||
|
has a sufficient set of builtins to do what is needed. It does not (yet)
|
||||||
|
support Bourne Shell syntax. If you need things like "if-then-else", "while",
|
||||||
|
and such, use ash or bash. If you just need a very simple and extremely small
|
||||||
|
shell, this will do the job.
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
@ -1781,4 +1803,4 @@ Enrique Zanardi <ezanardi@ull.es>
|
|||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
# $Id: busybox.pod,v 1.16 2000/04/18 00:00:52 erik Exp $
|
# $Id: busybox.pod,v 1.17 2000/04/19 03:59:10 erik Exp $
|
||||||
|
14
loadacm.c
14
loadacm.c
@ -7,6 +7,7 @@
|
|||||||
* Peter Novodvorsky <petya@logic.ru>
|
* Peter Novodvorsky <petya@logic.ru>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "internal.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
@ -21,6 +22,9 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/kd.h>
|
#include <sys/kd.h>
|
||||||
|
|
||||||
|
static const char loadacm_usage[] = "loadacm\n\n"
|
||||||
|
"Loads an acm from standard input.\n";
|
||||||
|
|
||||||
typedef unsigned short unicode;
|
typedef unsigned short unicode;
|
||||||
|
|
||||||
static long int ctoi(unsigned char *s, int *is_unicode);
|
static long int ctoi(unsigned char *s, int *is_unicode);
|
||||||
@ -33,20 +37,24 @@ int loadacm_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
|
if (argc>=2 && *argv[1]=='-') {
|
||||||
|
usage(loadacm_usage);
|
||||||
|
}
|
||||||
|
|
||||||
fd = open("/dev/tty", O_RDWR);
|
fd = open("/dev/tty", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty1: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty1: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screen_map_load(fd, stdin)) {
|
if (screen_map_load(fd, stdin)) {
|
||||||
fprintf(stderr, "Error loading acm: %s\n", strerror(errno));
|
fprintf(stderr, "Error loading acm: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
write(fd, "\033(K", 3);
|
write(fd, "\033(K", 3);
|
||||||
|
|
||||||
return 0;
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int screen_map_load(int fd, FILE * fp)
|
int screen_map_load(int fd, FILE * fp)
|
||||||
|
@ -54,11 +54,11 @@ extern int loadfont_main(int argc, char **argv)
|
|||||||
fd = open("/dev/tty0", O_RDWR);
|
fd = open("/dev/tty0", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
||||||
return 1;
|
return( FALSE);
|
||||||
}
|
}
|
||||||
loadnewfont(fd);
|
loadnewfont(fd);
|
||||||
|
|
||||||
return 0;
|
return( TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_loadfont(int fd, char *inbuf, int unit, int fontsize)
|
static void do_loadfont(int fd, char *inbuf, int unit, int fontsize)
|
||||||
|
23
loadkmap.c
23
loadkmap.c
@ -29,11 +29,8 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
|
||||||
static const char loadkmap_usage[] = "loadkmap\n"
|
static const char loadkmap_usage[] = "loadkmap\n\n"
|
||||||
"\n"
|
"Loads a binary keyboard translation table from standard input.\n";
|
||||||
|
|
||||||
"\tLoad a binary keyboard translation table from standard input.\n"
|
|
||||||
"\n";
|
|
||||||
|
|
||||||
|
|
||||||
int loadkmap_main(int argc, char **argv)
|
int loadkmap_main(int argc, char **argv)
|
||||||
@ -43,28 +40,32 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
int i, j, fd, readsz, pos, ibuffsz = NR_KEYS * sizeof(u_short);
|
int i, j, fd, readsz, pos, ibuffsz = NR_KEYS * sizeof(u_short);
|
||||||
char flags[MAX_NR_KEYMAPS], magic[] = "bkeymap", buff[7];
|
char flags[MAX_NR_KEYMAPS], magic[] = "bkeymap", buff[7];
|
||||||
|
|
||||||
|
if (argc>=2 && *argv[1]=='-') {
|
||||||
|
usage(loadkmap_usage);
|
||||||
|
}
|
||||||
|
|
||||||
fd = open("/dev/tty0", O_RDWR);
|
fd = open("/dev/tty0", O_RDWR);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
read(0, buff, 7);
|
read(0, buff, 7);
|
||||||
if (0 != strncmp(buff, magic, 7)) {
|
if (0 != strncmp(buff, magic, 7)) {
|
||||||
fprintf(stderr, "This is not a valid binary keymap.\n");
|
fprintf(stderr, "This is not a valid binary keymap.\n");
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MAX_NR_KEYMAPS != read(0, flags, MAX_NR_KEYMAPS)) {
|
if (MAX_NR_KEYMAPS != read(0, flags, MAX_NR_KEYMAPS)) {
|
||||||
fprintf(stderr, "Error reading keymap flags: %s\n",
|
fprintf(stderr, "Error reading keymap flags: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
ibuff = (u_short *) malloc(ibuffsz);
|
ibuff = (u_short *) malloc(ibuffsz);
|
||||||
if (!ibuff) {
|
if (!ibuff) {
|
||||||
fprintf(stderr, "Out of memory.\n");
|
fprintf(stderr, "Out of memory.\n");
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < MAX_NR_KEYMAPS; i++) {
|
for (i = 0; i < MAX_NR_KEYMAPS; i++) {
|
||||||
@ -75,7 +76,7 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
< 0) {
|
< 0) {
|
||||||
fprintf(stderr, "Error reading keymap: %s\n",
|
fprintf(stderr, "Error reading keymap: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return 1;
|
exit(FALSE);
|
||||||
}
|
}
|
||||||
pos += readsz;
|
pos += readsz;
|
||||||
}
|
}
|
||||||
@ -90,5 +91,5 @@ int loadkmap_main(int argc, char **argv)
|
|||||||
/* Don't bother to close files. Exit does that
|
/* Don't bother to close files. Exit does that
|
||||||
* automagically, so we can save a few bytes */
|
* automagically, so we can save a few bytes */
|
||||||
/* close(fd); */
|
/* close(fd); */
|
||||||
return 0;
|
exit(TRUE);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user