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