xref: /openbsd-src/sys/dev/microcode/udl/build.c (revision f7bc645e69627a930b2433cf8a1f657f28ca6b8a)
1*f7bc645eSmpf /*	$OpenBSD: build.c,v 1.6 2009/11/10 23:55:12 mpf Exp $ */
2277843a5Smglocker 
3277843a5Smglocker /*
4277843a5Smglocker  * Copyright (c) 2009 Marcus Glocker <mglocker@openbsd.org>
5277843a5Smglocker  *
6277843a5Smglocker  * Permission to use, copy, modify, and distribute this software for any
7277843a5Smglocker  * purpose with or without fee is hereby granted, provided that the above
8277843a5Smglocker  * copyright notice and this permission notice appear in all copies.
9277843a5Smglocker  *
10277843a5Smglocker  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11277843a5Smglocker  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12277843a5Smglocker  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13277843a5Smglocker  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14277843a5Smglocker  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15277843a5Smglocker  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16277843a5Smglocker  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17277843a5Smglocker  */
18277843a5Smglocker 
19277843a5Smglocker #include <sys/types.h>
20277843a5Smglocker 
21277843a5Smglocker #include <err.h>
22277843a5Smglocker #include <fcntl.h>
23*f7bc645eSmpf #include <stdio.h>
24277843a5Smglocker #include <unistd.h>
25277843a5Smglocker 
26277843a5Smglocker #include "udl_huffman.h"
27277843a5Smglocker 
28277843a5Smglocker #define FILENAME "udl_huffman"
29277843a5Smglocker 
30277843a5Smglocker int
main(void)31277843a5Smglocker main(void)
32277843a5Smglocker {
33*f7bc645eSmpf 	int i;
34*f7bc645eSmpf 	FILE *file;
350cd96c03Smglocker 	uint32_t bit_count;
360cd96c03Smglocker 	uint32_t bit_pattern;
37277843a5Smglocker 
38*f7bc645eSmpf 	if ((file = fopen(FILENAME, "w")) == NULL)
39*f7bc645eSmpf 		err(1, "fopen %s", FILENAME);
40277843a5Smglocker 
41277843a5Smglocker 	for (i = 0; i < UDL_HUFFMAN_RECORDS; i++) {
420cd96c03Smglocker 		bit_count = udl_huffman[i].bit_count;
430cd96c03Smglocker 		bit_pattern = htobe32(udl_huffman[i].bit_pattern);
44*f7bc645eSmpf 		if (fwrite(&bit_count, sizeof(bit_count), 1, file) != 1)
45*f7bc645eSmpf 			err(1, "fwrite");
46*f7bc645eSmpf 		if (fwrite(&bit_pattern, sizeof(bit_pattern), 1, file) != 1)
47*f7bc645eSmpf 			err(1, "fwrite");
48277843a5Smglocker 	}
49277843a5Smglocker 
50*f7bc645eSmpf 	fclose(file);
51277843a5Smglocker 
52277843a5Smglocker 	return (0);
53277843a5Smglocker }
54