loadfont.c revision 1.7
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.7Smhitch *	$NetBSD: loadfont.c,v 1.7 2006/08/04 02:30:00 mhitch Exp $
71.1Soki */
81.5Slukem
91.5Slukem#include <sys/cdefs.h>
101.7Smhitch__RCSID("$NetBSD: loadfont.c,v 1.7 2006/08/04 02:30:00 mhitch Exp $");
111.1Soki
121.1Soki#include <stdio.h>
131.7Smhitch#include <stdlib.h>
141.1Soki#include <sys/file.h>
151.1Soki#include <sys/ioctl.h>
161.1Soki#define ITEKANJI 1 /* XXX */
171.3Sminoura#include <machine/iteioctl.h>
181.1Soki
191.4Sisakivoid load_font(const char *);
201.1Soki
211.1Sokiint
221.4Sisakimain(int argc, char *argv[])
231.1Soki{
241.1Soki
251.4Sisaki	if (argc != 2) {
261.4Sisaki		fprintf(stderr, "Usage: %s fontfile\n", argv[0]);
271.4Sisaki		exit (1);
281.4Sisaki	}
291.4Sisaki
301.4Sisaki	load_font(argv[1]);
311.4Sisaki	exit(0);
321.1Soki}
331.1Soki
341.1Sokivoid
351.4Sisakiload_font(const char *file)
361.1Soki{
371.4Sisaki	unsigned char buf[4096];
381.4Sisaki	int fd;
391.1Soki
401.4Sisaki	if ((fd = open(file, O_RDONLY)) >= 0) {
411.4Sisaki		if (read (fd, buf, sizeof(buf)) == sizeof (buf)) {
421.4Sisaki			if (ioctl(0, ITELOADFONT, buf) == 0)
431.4Sisaki				return;
441.4Sisaki			else
451.4Sisaki				perror("ITELOADFONT");
461.4Sisaki		} else {
471.4Sisaki			perror("read font");
481.4Sisaki		}
491.4Sisaki
501.4Sisaki		close(fd);
511.4Sisaki	} else {
521.4Sisaki		perror("open font");
531.4Sisaki	}
541.1Soki}
55