1*52467047SWarner Losh.\" 2*52467047SWarner Losh.\" Copyright (c) 2017 Netflix, Inc. 32bcbcb59SWarner Losh.\" 42bcbcb59SWarner Losh.\" Redistribution and use in source and binary forms, with or without 52bcbcb59SWarner Losh.\" modification, are permitted provided that the following conditions 62bcbcb59SWarner Losh.\" are met: 72bcbcb59SWarner Losh.\" 1. Redistributions of source code must retain the above copyright 82bcbcb59SWarner Losh.\" notice, this list of conditions and the following disclaimer. 92bcbcb59SWarner Losh.\" 2. Redistributions in binary form must reproduce the above copyright 102bcbcb59SWarner Losh.\" notice, this list of conditions and the following disclaimer in the 112bcbcb59SWarner Losh.\" documentation and/or other materials provided with the distribution. 122bcbcb59SWarner Losh.\" 132bcbcb59SWarner Losh.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 142bcbcb59SWarner Losh.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 152bcbcb59SWarner Losh.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 162bcbcb59SWarner Losh.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 172bcbcb59SWarner Losh.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 182bcbcb59SWarner Losh.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 192bcbcb59SWarner Losh.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 202bcbcb59SWarner Losh.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 212bcbcb59SWarner Losh.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 222bcbcb59SWarner Losh.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 232bcbcb59SWarner Losh.\" SUCH DAMAGE. 242bcbcb59SWarner Losh.\" 25693ba58fSWarner Losh.Dd December 1, 2017 262bcbcb59SWarner Losh.Dt EFIDP 8 272bcbcb59SWarner Losh.Os 282bcbcb59SWarner Losh.Sh NAME 292bcbcb59SWarner Losh.Nm efidp 302bcbcb59SWarner Losh.Nd UEFI Device Path manipulation 312bcbcb59SWarner Losh.Sh SYNOPSIS 322bcbcb59SWarner Losh.Nm 332bcbcb59SWarner Losh.Op Fl fp 342bcbcb59SWarner Losh.Op Fl -parse 352bcbcb59SWarner Losh.Op Fl -format 362bcbcb59SWarner Losh.Sh DESCRIPTION 371c3a0e1aSWarner LoshThis program converts 382bcbcb59SWarner Losh.Dq Unified Extensible Firmware Interface 392bcbcb59SWarner Losh.Pq UEFI 401c3a0e1aSWarner LoshDevice Paths, as defined in the UEFI standard, to and from binary form. 411c3a0e1aSWarner LoshBinary and textual forms are defined in Chapter 9 of the UEFI 421c3a0e1aSWarner LoshSpecification. 431c3a0e1aSWarner Losh.Pp 441c3a0e1aSWarner Losh.Bl -tag -width 20m 451c3a0e1aSWarner Losh.It Fl f Fl -format 461c3a0e1aSWarner LoshFormats a binary UEFI Device Path into its canonical UTF-8 textual form. 47693ba58fSWarner LoshA binary Device Path can be no longer than 65536 bytes. 48693ba58fSWarner LoshThe textual form must fit into 65536 bytes. 49693ba58fSWarner LoshMultiple binary device paths may be specified. 501c3a0e1aSWarner Losh.It Fl p Fl -parse 511c3a0e1aSWarner LoshParses a UEFI Device Path UTF-8 specification and outputs the binary 521c3a0e1aSWarner LoshDevice Path form. 531c3a0e1aSWarner LoshOnly one device path is parsed, even if there are multiple present in 541c3a0e1aSWarner Loshthe input. 551c3a0e1aSWarner LoshLeading white space is ignored. 56693ba58fSWarner LoshThe resulting binary Device Path can be no longer than 65536 bytes. 57693ba58fSWarner LoshMultiple lines may be specified. 58693ba58fSWarner LoshEach one will be translated. 59693ba58fSWarner Losh.It Fl e Fl --to-efi 60693ba58fSWarner LoshTranslate a Unix file path to an EFI Device Path. 61693ba58fSWarner LoshThe output is the textual representation of the EFI Device Path. 62693ba58fSWarner Losh.It Fl u Fl --to-unix 63693ba58fSWarner LoshTranslate an EFI device path to a Unix file path. 64693ba58fSWarner LoshThe input is the textual representation of the EFI Device Path. 651c3a0e1aSWarner Losh.El 662bcbcb59SWarner Losh.Sh SEE ALSO 672bcbcb59SWarner LoshAppendix A of the UEFI specification has the format for GUIDs. 682bcbcb59SWarner LoshAll GUIDs 692bcbcb59SWarner Losh.Dq Globally Unique Identifiers 702bcbcb59SWarner Loshhave the format described in RFC 4122. 711c3a0e1aSWarner Losh.Pp 721c3a0e1aSWarner LoshThe Unified Extensible Firmware Interface Specification is available 731c3a0e1aSWarner Loshfrom 741c3a0e1aSWarner Losh.Pa www.uefi.org . 752bcbcb59SWarner Losh.Sh HISTORY 762bcbcb59SWarner LoshThe 772bcbcb59SWarner Losh.Nm 782bcbcb59SWarner Loshutility first appeared in 799a7af23fSGlen Barber.Fx 11.1 . 80