build.c revision 1.1
11.1Srpaulo/* $NetBSD: build.c,v 1.1 2006/06/04 20:30:17 rpaulo Exp $ */ 21.1Srpaulo/* $OpenBSD: build.c,v 1.1 2006/01/09 20:03:40 damien Exp $ */ 31.1Srpaulo 41.1Srpaulo/*- 51.1Srpaulo * Copyright (c) 2006 61.1Srpaulo * Damien Bergamini <damien.bergamini@free.fr> 71.1Srpaulo * 81.1Srpaulo * Permission to use, copy, modify, and distribute this software for any 91.1Srpaulo * purpose with or without fee is hereby granted, provided that the above 101.1Srpaulo * copyright notice and this permission notice appear in all copies. 111.1Srpaulo * 121.1Srpaulo * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 131.1Srpaulo * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 141.1Srpaulo * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 151.1Srpaulo * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 161.1Srpaulo * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 171.1Srpaulo * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 181.1Srpaulo * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 191.1Srpaulo */ 201.1Srpaulo 211.1Srpaulo#include <sys/types.h> 221.1Srpaulo 231.1Srpaulo#include <err.h> 241.1Srpaulo#include <fcntl.h> 251.1Srpaulo#include <stdio.h> 261.1Srpaulo#include <unistd.h> 271.1Srpaulo 281.1Srpaulo#include "microcode.h" 291.1Srpaulo 301.1Srpaulostatic void 311.1Srpaulooutput(const char *name, const uint8_t *ucode, int size) 321.1Srpaulo{ 331.1Srpaulo ssize_t rlen; 341.1Srpaulo int fd; 351.1Srpaulo 361.1Srpaulo printf("creating %s length %d\n", name, size); 371.1Srpaulo 381.1Srpaulo fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0644); 391.1Srpaulo if (fd == -1) 401.1Srpaulo err(1, "%s", name); 411.1Srpaulo 421.1Srpaulo rlen = write(fd, ucode, size); 431.1Srpaulo if (rlen == -1) 441.1Srpaulo err(1, "%s", name); 451.1Srpaulo if (rlen != size) 461.1Srpaulo errx(1, "%s: short write", name); 471.1Srpaulo 481.1Srpaulo close(fd); 491.1Srpaulo} 501.1Srpaulo 511.1Srpauloint 521.1Srpaulomain(void) 531.1Srpaulo{ 541.1Srpaulo output("ral-rt2561", rt2561, sizeof rt2561); 551.1Srpaulo output("ral-rt2561s", rt2561s, sizeof rt2561s); 561.1Srpaulo output("ral-rt2661", rt2661, sizeof rt2661); 571.1Srpaulo 581.1Srpaulo return 0; 591.1Srpaulo} 60