libefi.h revision 285830
1/*- 2 * Copyright (c) 2010 Marcel Moolenaar 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD: releng/10.2/lib/libefi/libefi.h 203181 2010-01-30 04:24:03Z marcel $ 27 */ 28 29#ifndef _LIBEFI_H_ 30#define _LIBEFI_H_ 31 32#include <sys/types.h> 33#include <sys/uuid.h> 34#include <stddef.h> 35 36/* Attributes. */ 37#define EFI_ATTR_NV 0x0001 /* Variable stored in NVRAM. */ 38#define EFI_ATTR_BS 0x0002 /* Boot services accessable. */ 39#define EFI_ATTR_RT 0x0004 /* Runtime accessable. */ 40#define EFI_ATTR_HR 0x0008 /* Hardware error record. */ 41#define EFI_ATTR_WR 0x0010 /* Authenticated write access. */ 42 43/* Vendor for architecturally defined variables. */ 44#define EFI_GLOBAL_VARIABLE \ 45 {0x8be4df61,0x93ca,0x11d2,0xaa,0x0d,{0x00,0xe0,0x98,0x03,0x2b,0x8c}} 46 47/* Vendor for FreeBSD-specific variables. */ 48#define EFI_FREEBSD_VARIABLE \ 49 {0x13c32014,0x0c9c,0x11df,0xa2,0x38,{0x00,0x17,0xa4,0xab,0x91,0x2d}} 50 51__BEGIN_DECLS 52int efi_getvar (char *, uuid_t *, uint32_t *, size_t *, void *); 53int efi_nextvarname (size_t *, char *, uuid_t *); 54int efi_setvar (char *, uuid_t *, uint32_t, size_t, void *); 55__END_DECLS 56 57#endif /* _LIBEFI_H_ */ 58