f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld/* $NetBSD: firmload.h,v 1.2 2008/04/28 20:23:46 martin Exp $ */
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld/*
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld */
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld/*
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * All rights reserved.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld *
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * This code is derived from software contributed to The NetBSD Foundation
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * by Jason R. Thorpe.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld *
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * Redistribution and use in source and binary forms, with or without
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * modification, are permitted provided that the following conditions
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * are met:
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * 1. Redistributions of source code must retain the above copyright
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * notice, this list of conditions and the following disclaimer.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * 2. Redistributions in binary form must reproduce the above copyright
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * notice, this list of conditions and the following disclaimer in the
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * documentation and/or other materials provided with the distribution.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld *
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld * POSSIBILITY OF SUCH DAMAGE.
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld */
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#ifndef _SYS_FIRMLOAD_H
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#define _SYS_FIRMLOAD_H
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#ifdef _KERNEL
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#include <sys/types.h>
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#ifdef __cplusplus
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldextern "C" {
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#endif
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldtypedef struct firmware_handle *firmware_handle_t;
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldextern int firmware_open(const char *, const char *, firmware_handle_t *);
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldextern int firmware_close(firmware_handle_t);
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldextern off_t firmware_get_size(firmware_handle_t);
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeldextern int firmware_read(firmware_handle_t, off_t, void *, size_t);
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#ifdef __cplusplus
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld}
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#endif
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#endif /* _KERNEL */
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld
f73e0305a745f17c6a584c4470f99ea1e023657fHans Rosenfeld#endif /* _SYS_FIRMLOAD_H */