diff options
author | sos <sos@FreeBSD.org> | 1995-02-22 13:48:07 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 1995-02-22 13:48:07 +0000 |
commit | a8582ea0491b2759ce277638d63d52662b72c5ed (patch) | |
tree | be2ffef6e40fae103a981c01ec004e3970d1cb63 /usr.sbin/vidcontrol/vidcontrol.c | |
parent | 243cac450e461fd60527db9de7f7090312bf561c (diff) | |
download | FreeBSD-src-a8582ea0491b2759ce277638d63d52662b72c5ed.zip FreeBSD-src-a8582ea0491b2759ce277638d63d52662b72c5ed.tar.gz |
Next syscons update (given up on numbering :)
Removed screensavers from syscons, they are now LKM's. This makes it
possible to do some really "interesting" screensavers...
Fixed bug that sometimes caused garbage to appear when leaving
"scroll-lock" history.
Reformattet indentation, it got too deep for a normal 80 pos screen.
Split up in syscons.c & syscons.h for use with the saver-lkm's.
Temporarily removed -s option from vidcontrol, savers should now
be loaded with modload.
Diffstat (limited to 'usr.sbin/vidcontrol/vidcontrol.c')
-rw-r--r-- | usr.sbin/vidcontrol/vidcontrol.c | 124 |
1 files changed, 34 insertions, 90 deletions
diff --git a/usr.sbin/vidcontrol/vidcontrol.c b/usr.sbin/vidcontrol/vidcontrol.c index 4793102..5af8e50 100644 --- a/usr.sbin/vidcontrol/vidcontrol.c +++ b/usr.sbin/vidcontrol/vidcontrol.c @@ -25,7 +25,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. * - * $Id: vidcontrol.c,v 1.7 1995/02/07 11:56:21 sos Exp $ + * $Id: vidcontrol.c,v 1.8 1995/02/08 01:07:16 dima Exp $ */ #include <ctype.h> @@ -34,19 +34,44 @@ #include <sys/errno.h> #include "path.h" - char legal_colors[16][16] = { "black", "blue", "green", "cyan", "red", "magenta", "brown", "white", "grey", "lightblue", "lightgreen", "lightcyan", "lightred", "lightmagenta", "yellow", "lightwhite" - }; +}; int hex = 0; int number; char letter; struct vid_info info; +void +usage() +{ + fprintf(stderr, +"Usage: vidcontrol mode (available modes: VGA_40x25, VGA_80x25,\n" +" VGA_80x50, VGA_320x200,\n" +" EGA_80x25, EGA_80x43)\n" +" (experimental) VGA_80x30, VGA_80x60)\n" +"\n" +" show (show available colors)\n" +" fgcol bgcol (set fore- & background colors)\n" +" -r fgcol bgcol (set reverse fore- & background colors)\n" +" -b color (set border color)\n" +" -c normal (set cursor to inverting block)\n" +" -c blink (set cursor to blinking inverted block)\n" +" -c destructive (set cursor to blinking destructive char)\n" +" -d (dump screenmap to stdout)\n" +" -l filename (load srceenmap file filename)\n" +" -L (load default screenmap)\n" +" -f DxL filename (load font, D dots wide & L lines high)\n" +" -s saver | help (set screensaver type or help for a list)\n" +" -t N (set screensaver timeout in seconds)\n" +" -x (use hex numbers for output)\n" + ); +} + char * nextarg(int ac, char **av, int *indp, int oc) { @@ -58,14 +83,12 @@ nextarg(int ac, char **av, int *indp, int oc) return(""); } - char * mkfullname(const char *s1, const char *s2, const char *s3) { -static char *buf = NULL; -static int bufl = 0; -int f; - + static char *buf = NULL; + static int bufl = 0; + int f; f = strlen(s1) + strlen(s2) + strlen(s3) + 1; if (f > bufl) @@ -85,7 +108,6 @@ int f; return(buf); } - void load_scrnmap(char *filename) { @@ -119,12 +141,11 @@ load_scrnmap(char *filename) close(fd); } - void load_default_scrnmap() { - int i; scrmap_t scrnmap; + int i; for (i=0; i<256; i++) *((char*)&scrnmap + i) = i; @@ -132,7 +153,6 @@ load_default_scrnmap() perror("can't load default screenmap"); } - void print_scrnmap() { @@ -155,7 +175,6 @@ print_scrnmap() } - void load_font(char *type, char *filename) { @@ -207,7 +226,6 @@ load_font(char *type, char *filename) free(fontmap); } - void set_screensaver_timeout(char *arg) { @@ -226,44 +244,6 @@ set_screensaver_timeout(char *arg) perror("setting screensaver period"); } - -void -set_screensaver_type(char *type) -{ - ssaver_t saver; - int i, e; - - if (!strcmp(type, "help")) { - i = 0; - printf("available screen saver types:\n"); - do { - saver.num = i; - e = ioctl(0, CONS_GSAVER, &saver); - i ++; - if (e == 0) - printf("\t%s\n", saver.name); - } while (e == 0); - if (e == -1 && errno != EIO) - perror("getting screensaver info"); - } else { - i = 0; - do { - saver.num = i; - e = ioctl(0, CONS_GSAVER, &saver); - i ++; - if (e == 0 && !strcmp(type, saver.name)) { - if (ioctl(0, CONS_SSAVER, &saver) == -1) - perror("setting screensaver type"); - return; - } - } while (e == 0); - if (e == -1 && errno != EIO) - perror("getting screensaver info"); - else - fprintf(stderr, "%s: No such screensaver\n", type); - } -} - void set_cursor_type(char *appearence) { @@ -283,7 +263,6 @@ set_cursor_type(char *appearence) ioctl(0, CONS_CURSORTYPE, &type); } - int video_mode(int argc, char **argv, int *index) { @@ -315,7 +294,6 @@ video_mode(int argc, char **argv, int *index) return; } - int get_color_number(char *color) { @@ -327,7 +305,6 @@ get_color_number(char *color) return -1; } - int set_normal_colors(int argc, char **argv, int *index) { @@ -345,7 +322,6 @@ set_normal_colors(int argc, char **argv, int *index) } } - set_reverse_colors(int argc, char **argv, int *index) { int color; @@ -361,7 +337,6 @@ set_reverse_colors(int argc, char **argv, int *index) } } - set_border_color(char *arg) { int color; @@ -373,7 +348,6 @@ set_border_color(char *arg) usage(); } - test_frame() { int i; @@ -391,33 +365,6 @@ test_frame() info.mv_rev.fore, info.mv_rev.back); } - -usage() -{ - fprintf(stderr, -"Usage: vidcontrol mode (available modes: VGA_40x25, VGA_80x25,\n" -" VGA_80x50, VGA_320x200,\n" -" EGA_80x25, EGA_80x43)\n" -" (experimental) VGA_80x30, VGA_80x60)\n" -"\n" -" show (show available colors)\n" -" fgcol bgcol (set fore- & background colors)\n" -" -r fgcol bgcol (set reverse fore- & background colors)\n" -" -b color (set border color)\n" -" -c normal (set cursor to inverting block)\n" -" -c blink (set cursor to blinking inverted block)\n" -" -c destructive (set cursor to blinking destructive char)\n" -" -d (dump screenmap to stdout)\n" -" -l filename (load srceenmap file filename)\n" -" -L (load default screenmap)\n" -" -f DxL filename (load font, D dots wide & L lines high)\n" -" -s saver | help (set screensaver type or help for a list)\n" -" -t N (set screensaver timeout in seconds)\n" -" -x (use hex numbers for output)\n" - ); -} - - void main(int argc, char **argv) { @@ -428,10 +375,10 @@ main(int argc, char **argv) info.size = sizeof(info); if (ioctl(0, CONS_GETINFO, &info) < 0) { - perror("Must be on a vrtual console"); + perror("Must be on a virtual console"); exit(1); } - while((opt = getopt(argc, argv, "b:c:df:l:Lr:s:t:x")) != -1) + while((opt = getopt(argc, argv, "b:c:df:l:Lr:t:x")) != -1) switch(opt) { case 'c': set_cursor_type(optarg); @@ -455,9 +402,6 @@ main(int argc, char **argv) case 'r': set_reverse_colors(argc, argv, &optind); break; - case 's': - set_screensaver_type(optarg); - break; case 't': set_screensaver_timeout(optarg); break; |