build.c revision 1.1 1 1.1 kiyohara /* $OpenBSD: build.c,v 1.2 2006/11/13 02:52:46 jsg Exp $ */
2 1.1 kiyohara
3 1.1 kiyohara /*-
4 1.1 kiyohara * Copyright (c) 2006
5 1.1 kiyohara * Damien Bergamini <damien.bergamini (at) free.fr>
6 1.1 kiyohara *
7 1.1 kiyohara * Permission to use, copy, modify, and distribute this software for any
8 1.1 kiyohara * purpose with or without fee is hereby granted, provided that the above
9 1.1 kiyohara * copyright notice and this permission notice appear in all copies.
10 1.1 kiyohara *
11 1.1 kiyohara * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 1.1 kiyohara * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 1.1 kiyohara * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 1.1 kiyohara * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 1.1 kiyohara * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 1.1 kiyohara * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 1.1 kiyohara * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 1.1 kiyohara */
19 1.1 kiyohara
20 1.1 kiyohara #include <sys/types.h>
21 1.1 kiyohara
22 1.1 kiyohara #include <err.h>
23 1.1 kiyohara #include <fcntl.h>
24 1.1 kiyohara #include <stdio.h>
25 1.1 kiyohara #include <unistd.h>
26 1.1 kiyohara
27 1.1 kiyohara #include "microcode.h"
28 1.1 kiyohara
29 1.1 kiyohara static void
30 1.1 kiyohara output(const char *name, const uint8_t *ucode, int size)
31 1.1 kiyohara {
32 1.1 kiyohara ssize_t rlen;
33 1.1 kiyohara int fd;
34 1.1 kiyohara
35 1.1 kiyohara printf("creating %s length %d\n", name, size);
36 1.1 kiyohara
37 1.1 kiyohara fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0644);
38 1.1 kiyohara if (fd == -1)
39 1.1 kiyohara err(1, "%s", name);
40 1.1 kiyohara
41 1.1 kiyohara rlen = write(fd, ucode, size);
42 1.1 kiyohara if (rlen == -1)
43 1.1 kiyohara err(1, "%s", name);
44 1.1 kiyohara if (rlen != size)
45 1.1 kiyohara errx(1, "%s: short write", name);
46 1.1 kiyohara
47 1.1 kiyohara close(fd);
48 1.1 kiyohara }
49 1.1 kiyohara
50 1.1 kiyohara int
51 1.1 kiyohara main(void)
52 1.1 kiyohara {
53 1.1 kiyohara output("zyd-zd1211", zd1211_firmware, sizeof zd1211_firmware);
54 1.1 kiyohara output("zyd-zd1211b", zd1211b_firmware, sizeof zd1211b_firmware);
55 1.1 kiyohara
56 1.1 kiyohara return 0;
57 1.1 kiyohara }
58