1*f73e0305SHans Rosenfeld /* $NetBSD: firmload.h,v 1.2 2008/04/28 20:23:46 martin Exp $ */ 2*f73e0305SHans Rosenfeld 3*f73e0305SHans Rosenfeld /* 4*f73e0305SHans Rosenfeld * Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> 5*f73e0305SHans Rosenfeld */ 6*f73e0305SHans Rosenfeld 7*f73e0305SHans Rosenfeld /* 8*f73e0305SHans Rosenfeld * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. 9*f73e0305SHans Rosenfeld * All rights reserved. 10*f73e0305SHans Rosenfeld * 11*f73e0305SHans Rosenfeld * This code is derived from software contributed to The NetBSD Foundation 12*f73e0305SHans Rosenfeld * by Jason R. Thorpe. 13*f73e0305SHans Rosenfeld * 14*f73e0305SHans Rosenfeld * Redistribution and use in source and binary forms, with or without 15*f73e0305SHans Rosenfeld * modification, are permitted provided that the following conditions 16*f73e0305SHans Rosenfeld * are met: 17*f73e0305SHans Rosenfeld * 1. Redistributions of source code must retain the above copyright 18*f73e0305SHans Rosenfeld * notice, this list of conditions and the following disclaimer. 19*f73e0305SHans Rosenfeld * 2. Redistributions in binary form must reproduce the above copyright 20*f73e0305SHans Rosenfeld * notice, this list of conditions and the following disclaimer in the 21*f73e0305SHans Rosenfeld * documentation and/or other materials provided with the distribution. 22*f73e0305SHans Rosenfeld * 23*f73e0305SHans Rosenfeld * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 24*f73e0305SHans Rosenfeld * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 25*f73e0305SHans Rosenfeld * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 26*f73e0305SHans Rosenfeld * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 27*f73e0305SHans Rosenfeld * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28*f73e0305SHans Rosenfeld * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29*f73e0305SHans Rosenfeld * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30*f73e0305SHans Rosenfeld * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31*f73e0305SHans Rosenfeld * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32*f73e0305SHans Rosenfeld * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33*f73e0305SHans Rosenfeld * POSSIBILITY OF SUCH DAMAGE. 34*f73e0305SHans Rosenfeld */ 35*f73e0305SHans Rosenfeld 36*f73e0305SHans Rosenfeld #ifndef _SYS_FIRMLOAD_H 37*f73e0305SHans Rosenfeld #define _SYS_FIRMLOAD_H 38*f73e0305SHans Rosenfeld 39*f73e0305SHans Rosenfeld #ifdef _KERNEL 40*f73e0305SHans Rosenfeld 41*f73e0305SHans Rosenfeld #include <sys/types.h> 42*f73e0305SHans Rosenfeld 43*f73e0305SHans Rosenfeld #ifdef __cplusplus 44*f73e0305SHans Rosenfeld extern "C" { 45*f73e0305SHans Rosenfeld #endif 46*f73e0305SHans Rosenfeld 47*f73e0305SHans Rosenfeld typedef struct firmware_handle *firmware_handle_t; 48*f73e0305SHans Rosenfeld 49*f73e0305SHans Rosenfeld extern int firmware_open(const char *, const char *, firmware_handle_t *); 50*f73e0305SHans Rosenfeld extern int firmware_close(firmware_handle_t); 51*f73e0305SHans Rosenfeld 52*f73e0305SHans Rosenfeld extern off_t firmware_get_size(firmware_handle_t); 53*f73e0305SHans Rosenfeld 54*f73e0305SHans Rosenfeld extern int firmware_read(firmware_handle_t, off_t, void *, size_t); 55*f73e0305SHans Rosenfeld 56*f73e0305SHans Rosenfeld #ifdef __cplusplus 57*f73e0305SHans Rosenfeld } 58*f73e0305SHans Rosenfeld #endif 59*f73e0305SHans Rosenfeld 60*f73e0305SHans Rosenfeld #endif /* _KERNEL */ 61*f73e0305SHans Rosenfeld 62*f73e0305SHans Rosenfeld #endif /* _SYS_FIRMLOAD_H */ 63