loadfont.c revision 1.5
11.1Soki/*
21.1Soki * loadfont - load ascii font (for NetBSD/X680x0)
31.1Soki * from: amiga/stand/loadkmap/loadkmap.c
41.1Soki * Copyright 1993 by Masaru Oki
51.1Soki *
61.5Slukem *	$NetBSD: loadfont.c,v 1.5 2003/07/15 01:44:54 lukem Exp $
71.1Soki */
81.5Slukem
91.5Slukem#include <sys/cdefs.h>
101.5Slukem__RCSID("$NetBSD: loadfont.c,v 1.5 2003/07/15 01:44:54 lukem Exp $");
111.1Soki
121.1Soki#include <stdio.h>
131.1Soki#include <sys/file.h>
141.1Soki#include <sys/ioctl.h>
151.1Soki#define ITEKANJI 1 /* XXX */
161.3Sminoura#include <machine/iteioctl.h>
171.1Soki
181.4Sisakivoid load_font(const char *);
191.1Soki
201.1Sokiint
211.4Sisakimain(int argc, char *argv[])
221.1Soki{
231.1Soki
241.4Sisaki	if (argc != 2) {
251.4Sisaki		fprintf(stderr, "Usage: %s fontfile\n", argv[0]);
261.4Sisaki		exit (1);
271.4Sisaki	}
281.4Sisaki
291.4Sisaki	load_font(argv[1]);
301.4Sisaki	exit(0);
311.1Soki}
321.1Soki
331.1Sokivoid
341.4Sisakiload_font(const char *file)
351.1Soki{
361.4Sisaki	unsigned char buf[4096];
371.4Sisaki	int fd;
381.1Soki
391.4Sisaki	if ((fd = open(file, O_RDONLY)) >= 0) {
401.4Sisaki		if (read (fd, buf, sizeof(buf)) == sizeof (buf)) {
411.4Sisaki			if (ioctl(0, ITELOADFONT, buf) == 0)
421.4Sisaki				return;
431.4Sisaki			else
441.4Sisaki				perror("ITELOADFONT");
451.4Sisaki		} else {
461.4Sisaki			perror("read font");
471.4Sisaki		}
481.4Sisaki
491.4Sisaki		close(fd);
501.4Sisaki	} else {
511.4Sisaki		perror("open font");
521.4Sisaki	}
531.1Soki}
54