Edit

IABSD.fr/src/sys/dev/microcode/urtwn/build.c

Branch :

  • Show log

    Commit

  • Author : kevlo
    Date : 2023-04-28 01:24:14
    Hash : 067851b1
    Message : Add support for RTL8188FTV chip to urtwn(4). Tested with Comfast CF-WU710N v4. "go ahead" deraadt@ OK stsp@

  • sys/dev/microcode/urtwn/build.c
  • /*	$OpenBSD: build.c,v 1.2 2023/04/28 01:24:14 kevlo Exp $	*/
    
    /*-
     * Copyright (c) 2006
     *	Damien Bergamini <damien.bergamini@free.fr>
     *
     * Permission to use, copy, modify, and distribute this software for any
     * purpose with or without fee is hereby granted, provided that the above
     * copyright notice and this permission notice appear in all copies.
     *
     * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     */
    
    #include <sys/types.h>
    
    #include <err.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <unistd.h>
    
    #include "microcode.h"
    
    static void
    output(const char *name, const uint8_t *ucode, int size)
    {
    	ssize_t rlen;
    	int fd;
    
    	printf("creating %s length %d\n", name, size);
    
    	fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0644);
    	if (fd == -1)
    		err(1, "%s", name);
    
    	rlen = write(fd, ucode, size);
    	if (rlen == -1)
    		err(1, "%s", name);
    	if (rlen != size)
    		errx(1, "%s: short write", name);
    
    	close(fd);
    }
    
    int
    main(void)
    {
    	output("urtwn-rtl8188eu", rtl8188eu, sizeof rtl8188eu);
    	output("urtwn-rtl8188ftv", rtl8188ftv, sizeof rtl8188ftv);
    	output("urtwn-rtl8192cT", rtl8192cT, sizeof rtl8192cT);
    	output("urtwn-rtl8192cU", rtl8192cU, sizeof rtl8192cU);
    	output("urtwn-rtl8192eu", rtl8192eu, sizeof rtl8192eu);
    
    	return 0;
    }