1*f46eb752SWarner Losh /*- 2*f46eb752SWarner Losh * Copyright (c) 2019 Netflix, Inc 3*f46eb752SWarner Losh * 4*f46eb752SWarner Losh * Redistribution and use in source and binary forms, with or without 5*f46eb752SWarner Losh * modification, are permitted provided that the following conditions 6*f46eb752SWarner Losh * are met: 7*f46eb752SWarner Losh * 1. Redistributions of source code must retain the above copyright 8*f46eb752SWarner Losh * notice, this list of conditions and the following disclaimer. 9*f46eb752SWarner Losh * 2. Redistributions in binary form must reproduce the above copyright 10*f46eb752SWarner Losh * notice, this list of conditions and the following disclaimer in the 11*f46eb752SWarner Losh * documentation and/or other materials provided with the distribution. 12*f46eb752SWarner Losh * 13*f46eb752SWarner Losh * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*f46eb752SWarner Losh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*f46eb752SWarner Losh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*f46eb752SWarner Losh * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*f46eb752SWarner Losh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*f46eb752SWarner Losh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*f46eb752SWarner Losh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*f46eb752SWarner Losh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*f46eb752SWarner Losh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*f46eb752SWarner Losh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*f46eb752SWarner Losh * SUCH DAMAGE. 24*f46eb752SWarner Losh */ 25*f46eb752SWarner Losh 26*f46eb752SWarner Losh void choice_protocol(EFI_HANDLE *handles, UINTN nhandles, EFI_DEVICE_PATH *imgpath); 27*f46eb752SWarner Losh EFI_STATUS try_boot(const boot_module_t *mod, dev_info_t *dev, void *loaderbuf, size_t loadersize); 28