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.8Schristos *	$NetBSD: loadfont.c,v 1.8 2011/05/19 03:22:27 christos Exp $
71.1Soki */
81.5Slukem
91.5Slukem#include <sys/cdefs.h>
101.8Schristos__RCSID("$NetBSD: loadfont.c,v 1.8 2011/05/19 03:22:27 christos Exp $");
111.1Soki
121.1Soki#include <stdio.h>
131.7Smhitch#include <stdlib.h>
141.8Schristos#include <fcntl.h>
151.8Schristos#include <unistd.h>
161.1Soki#include <sys/ioctl.h>
171.1Soki#define ITEKANJI 1 /* XXX */
181.3Sminoura#include <machine/iteioctl.h>
191.1Soki
201.4Sisakivoid load_font(const char *);
211.1Soki
221.1Sokiint
231.4Sisakimain(int argc, char *argv[])
241.1Soki{
251.1Soki
261.4Sisaki	if (argc != 2) {
271.4Sisaki		fprintf(stderr, "Usage: %s fontfile\n", argv[0]);
281.4Sisaki		exit (1);
291.4Sisaki	}
301.4Sisaki
311.4Sisaki	load_font(argv[1]);
321.4Sisaki	exit(0);
331.1Soki}
341.1Soki
351.1Sokivoid
361.4Sisakiload_font(const char *file)
371.1Soki{
381.4Sisaki	unsigned char buf[4096];
391.4Sisaki	int fd;
401.1Soki
411.4Sisaki	if ((fd = open(file, O_RDONLY)) >= 0) {
421.4Sisaki		if (read (fd, buf, sizeof(buf)) == sizeof (buf)) {
431.4Sisaki			if (ioctl(0, ITELOADFONT, buf) == 0)
441.4Sisaki				return;
451.4Sisaki			else
461.4Sisaki				perror("ITELOADFONT");
471.4Sisaki		} else {
481.4Sisaki			perror("read font");
491.4Sisaki		}
501.4Sisaki
511.4Sisaki		close(fd);
521.4Sisaki	} else {
531.4Sisaki		perror("open font");
541.4Sisaki	}
551.1Soki}
56