loadfont.c revision 1.4
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.4Sisaki *	$NetBSD: loadfont.c,v 1.4 2003/05/17 10:37:55 isaki Exp $
71.1Soki */
81.1Soki
91.1Soki#include <stdio.h>
101.1Soki#include <sys/file.h>
111.1Soki#include <sys/ioctl.h>
121.1Soki#define ITEKANJI 1 /* XXX */
131.3Sminoura#include <machine/iteioctl.h>
141.1Soki
151.4Sisakivoid load_font(const char *);
161.1Soki
171.1Sokiint
181.4Sisakimain(int argc, char *argv[])
191.1Soki{
201.1Soki
211.4Sisaki	if (argc != 2) {
221.4Sisaki		fprintf(stderr, "Usage: %s fontfile\n", argv[0]);
231.4Sisaki		exit (1);
241.4Sisaki	}
251.4Sisaki
261.4Sisaki	load_font(argv[1]);
271.4Sisaki	exit(0);
281.1Soki}
291.1Soki
301.1Sokivoid
311.4Sisakiload_font(const char *file)
321.1Soki{
331.4Sisaki	unsigned char buf[4096];
341.4Sisaki	int fd;
351.1Soki
361.4Sisaki	if ((fd = open(file, O_RDONLY)) >= 0) {
371.4Sisaki		if (read (fd, buf, sizeof(buf)) == sizeof (buf)) {
381.4Sisaki			if (ioctl(0, ITELOADFONT, buf) == 0)
391.4Sisaki				return;
401.4Sisaki			else
411.4Sisaki				perror("ITELOADFONT");
421.4Sisaki		} else {
431.4Sisaki			perror("read font");
441.4Sisaki		}
451.4Sisaki
461.4Sisaki		close(fd);
471.4Sisaki	} else {
481.4Sisaki		perror("open font");
491.4Sisaki	}
501.1Soki}
51