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