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