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