Imported Upstream version 3.7 upstream/3.7
authorBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 05:09:37 +0000 (23:09 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 05:09:37 +0000 (23:09 -0600)
37 files changed:
ChangeLog
Make.defaults
Make.rules
Makefile
README
README.gnu-efi
alloc.c
alternate.c
bootparams.c
choosers/simple.c
choosers/textmenu.c
config.c
cscope.out [new file with mode: 0644]
docs/elilo.txt
elf.h
elilo.c
fileops.c
fs/ext2fs.c
fs/localfs.c
fs/netfs.c
getopt.c
glue_netfs.c
sysdeps.h
util.c
x86_64/Makefile [new file with mode: 0644]
x86_64/bin_to_h.c [new file with mode: 0644]
x86_64/bzimage.c [new file with mode: 0644]
x86_64/config.c [new file with mode: 0644]
x86_64/gzip.c [new file with mode: 0644]
x86_64/gzip.h [new file with mode: 0644]
x86_64/gzip_loader.c [new file with mode: 0644]
x86_64/inflate.c [new file with mode: 0644]
x86_64/plain_loader.c [new file with mode: 0644]
x86_64/private.h [new file with mode: 0644]
x86_64/rmswitch.S [new file with mode: 0644]
x86_64/sysdeps.h [new file with mode: 0644]
x86_64/system.c [new file with mode: 0644]

index d2cbe27a8012fc359b483683292aa0b7178fcf0d..1a08d9e8dd35d2fa2cc15d90efc23e3066a90ecf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,77 @@
+2007-07-19 Jason Fleischli <jason.fleischli@hp.com>
+       * Integrated x86_64 support patches from Chandramouli Narayanan
+         <mouli@linux.intel.com> changes summarized in following bullets.
+       * alloc.c -- adds patch contributors credit to copyright
+       * alloc.c -- adds uefi_call_wrapper around BS->function calls
+       * alloc.c -- adds call to Print on VERB_PRT
+       * alternate.c -- adds patch contributors credit around copyright
+       * alternate.c -- adds uefi_call_wrapper around RT->function calls
+       * simple.c -- adds patch contributors credit to copyright
+       * simple.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
+       * textmenu.c -- adds patch contributors credit to copyright
+       * textmenu.c -- adds uefi_call_wrapper around ClearScreen &
+         SetTextAttr
+       * textmenu.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
+       * elilo.c -- adds patch contributors credit to copyright
+       * elilo.c -- fixes version number for ELILO_VERSION macro to current
+       * elilo.c -- adds uefi_call_wrapper around BS->function calls
+       * elilo.c -- adds uefi_call_wrapper around RT->function calls
+       * fileops.c -- adds patch contributors credit to copyright
+       * fileops.c -- adds uefi_call_wrapper around BS->function calls
+       * fileops.c -- adds uefi_call_wrapper around RT->function calls
+       * fileops.c -- adds uefi_call_wrapper around blkio->function calls
+       * localfs.c -- adds patch contributors credit to copyright
+       * localfs.c -- changed EFI_HANDLE *dev declaration to non-pointer type
+       * localfs.c -- adds uefi_call_wrapper around lfs->volume->functions
+       * localfs.c -- adds uefi_call_wrapper around BS->function calls
+       * netfs.c -- adds patch contributors credit to copyright
+       * netfs.c -- adds uefi_call_wrapper around nfs->pxe->function calls
+       * netfs.c -- adds uefi_call_wrapper around BS->function calls
+       * getopt.c -- changed int to char in StrChr() function
+       * Make.defaults -- adds patch contributors credit to copyright
+       * Make.defaults -- adds cflag for efi function wrapper
+       * Makefile -- adds patch contributors credit to copyright
+       * Makefile -- x86_64 subdir and a new rule for .S
+       * util.c -- adds patch contributors credit to copyright
+       * util.c -- adds uefi_call_wrapper to systab->functions
+       * util.c -- adds uefi_call_wrapper to conin->functions
+       * util.c -- adds uefi_call_wrapper to BS->functions
+       * util.c -- doubles ELILO_MEMMAP_SIZE_DEFAULT in get_memmap() function
+       * bootparams.c -- uses ia32 params for x86_64 addition.. hmmmm?
+       * config.c -- adds patch contributors credit to copyright
+       * config.c -- adds define reference for x86_64.conf
+       * config.c -- in config_error() removes use of va_list which maps to
+         the gnu C-lib iface __gnuc_va_list. Replaces the use of _IPrint on
+         the va_list with direct use of IPrint(systab->ConOut, msg);
+         *maintainer note, this probably introduces a bug, in light of this
+         note from the patch submitter --> "On some x86_64 systems with
+         EFI1.10 firmware I tested, early boot messages did not appear on console. 
+         However, I didn't encounter this behavior on x86_64 systems with UEFI2.0 
+         firmware"
+       * elf.h -- adds #def for x86_64
+       * glue_netfs.c -- adds patch contributors credit to copyright
+       * glue_netfs.c -- adds define for x86_64.conf
+       * sysdeps.h -- adds patch contributors credit to copyright
+       * sysdeps.h -- add include reference for new x86_64 subdir
+       * x86_64/ -- new subdir - all based on elilo/ia32 subdir
+       * x86_64/bin_to_h.c -- new file, stream fed binary to hex converter
+       * x86_64/bzimage.c -- new file, binary compressed kernel support
+       * x86_64/gzip.c -- new file, embedded gzip
+       * x86_64/gzip_loader.c -- new file, embedded gzip
+       * x86_64/gzip.h -- new file, embedded gzip
+       * x86_64/inflate.c -- new file, a pkzip method 8 embedded decompressor
+       * x86_64/Makefile -- new file
+       * x86_64/plain_loader.c -- new file, for loading non-compressed kernels
+       * x86_64/private.h -- new file
+       * x86_64/rmswitch.S -- new file, RealMode assembly module
+       * x86_64/sysdeps.h -- new file, system stuff for x86_64, e820 mapping
+         added.
+       * x86_64/sysdeps.c -- new file, system stuff for x86_64
+       * elilo.txt -- documentation update, add Intel to copyright
+       * README.gnu-efi -- documentation update for x86_64
+2006-01-27 Alex Williamson <alex.williamson@hp.com>
+       * Found a couple more places where vmcode isn't zeroed, causing the
+         option to get carried over to labels it shouldn't.
 2006-01-09 Brett Johnson <brett@hp.com>
        * Released 3.6
 2005-12-22 Alex Williamson <alex.williamson@hp.com>
index 0a90776e0e2783c2fd7a3291460594addc86169f..0558a58ea3bc84ac295e1198d20b1dbe7c592083 100644 (file)
@@ -1,6 +1,7 @@
 #
 #  Copyright (C) 2001-2003 Hewlett-Packard Co.
 #      Contributed by Stephane Eranian <eranian@hpl.hp.com>
+#      Contributed by Chandramouli Narayanan<mouli@linux.intel.com>
 #
 # This file is part of ELILO, the LINUX EFI boot loader.
 #
@@ -54,7 +55,7 @@ CONFIG_machspec_netconfig=y
 # They are installed as part of the GNU-EFI package installation
 #
 EFIINC    = /usr/include/efi
-GNUEFILIB   = /usr/lib
+GNUEFILIB  = /usr/lib
 EFILIB    = /usr/lib
 EFICRT0           = /usr/lib
 
@@ -67,7 +68,7 @@ CPPFLAGS   = -DCONFIG_$(ARCH)
 
 OPTIMFLAGS = -O2 
 DEBUGFLAGS = -Wall
-CFLAGS    = $(OPTIMFLAGS) -fpic -fshort-wchar $(DEBUGFLAGS)
+CFLAGS     = $(OPTIMFLAGS) -fpic -fshort-wchar $(DEBUGFLAGS)
 LDFLAGS           = -nostdlib -znocombreloc
 INSTALL           = install
 
@@ -105,6 +106,12 @@ AR         = $(prefix)ar
 RANLIB         = $(prefix)ranlib
 OBJCOPY                = $(prefix)objcopy
 
+# Use Modified binutils that supports x86_64 using UEFI ABI
+ifeq ($(ARCH), x86_64)
+        CFLAGS   += -DEFI_FUNCTION_WRAPPER
+       OBJCOPY   = /usr/bin/objcopy
+endif
+
 ifeq ($(ARCH),ia64)
  GCC_VERSION=$(shell $(CROSS_COMPILE)$(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')
 
index 2f4ade2536f9b6219c372b34e010422773dbabcc..c9c87c8191d148bb4000256c7e8a6ce3846b016b 100644 (file)
@@ -32,4 +32,7 @@
 
 %.o: %.c 
        $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+# a rule for .S
+%.o: %.S 
+       $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
index 5015faf441589b6b789eca2d98903b93e90f0ec4..73dc4d4f731f5f71579fc6607c3d0c9996077e28 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
 #
 #  Copyright (C) 2001-2003 Hewlett-Packard Co.
 #      Contributed by Stephane Eranian <eranian@hpl.hp.com>
+#      Contributed by Fenghua Yu<fenghua.yu@intel.com>
+#      Contributed by Chandramouli Narayanan<mouli@linux.intel.com>
 #
 # This file is part of ELILO, the LINUX EFI boot loader.
 #
@@ -58,6 +60,10 @@ ifeq ($(ARCH),ia32)
 SUBDIRS += ia32
 endif
 
+ifeq ($(ARCH),x86_64)
+SUBDIRS += x86_64
+endif
+
 FILES = elilo.o getopt.o strops.o loader.o \
         fileops.o util.o vars.o alloc.o chooser.o  \
        config.o initrd.o alternate.o bootparams.o \
diff --git a/README b/README
index 29724e7f01a91039124b59d8d7bee00e6e3efbd9..92d29efe23e4d990b20983aa5dee00f47e3d2129 100644 (file)
--- a/README
+++ b/README
@@ -1,14 +1,15 @@
-                     ELILO: the IA-32 and IA-64 Linux Loader
-                    ---------------------------------------
+                     ELILO: the IA-32,IA-64 and x86_64 Linux Loader
+                    ----------------------------------------------
                       Stephane Eranian <eranian@hpl.hp.com>
 
                                 August 2003
 
                   Copyright (C) 2000-2003 Hewlett-Packard Co.
+                  Copyright (C) 2006-2010 Intel Co.
 
 
-This package contains version 3.4 of elilo, the EFI boot loader
-for IA-64(IPF) and IA-32(x86) EFI-based platforms.
+This package contains version 3.7 of elilo, the EFI boot loader
+for IA-64(IPF),IA-32(x86) and x86_64 EFI-based platforms.
 
 
 RELEASE NOTES:
@@ -65,6 +66,12 @@ RELEASE NOTES:
 
        The Redhat 9.0 toolchain does not work at the moment.
 
+       For x86_64, a toolchain known to produce working binaries is:
+               gcc-4.1.1 or above
+               binutils-2.17.50.0.14 with Intel64 EFI support
+       For x86_64, the following libraries are required for the elilo build
+               gnu-efi library with x86_64
+
 DOCUMENTATION:
 --------------
        PLEASE READ THE docs/elilo.txt file for some documentation on how
index 1653032d641152ea083411012167a84222396744..7007f09c697ff8df033f24fbdf7aab759bc54bde 100644 (file)
@@ -1,5 +1,6 @@
 
                    IMPORTANT Information related to the gnu-efi package
+                               and x86_64 efi support 
                    ----------------------------------------------------
                                        August 2003
 
@@ -12,6 +13,10 @@ As of version elilo-3.0, the gnu-efi package is now split in two different packa
 Note that X.y don't need to match for both packages. However elilo-3.x requires at
 least gnu-efi >= 3.0. When using a version of gcc >3.0 you MUST use at least gnu-efi-3.0a.
 
+Note that EFI support for x86_64 has been added as a patch to gnu-efi-3.0c.
+
+For x86_64, see the important notes under x86_64.
+
 IMPORTANT NOTE FOR IA-32:
 -------------------------
        For IA-32, the Redhat 8.0 toolchain is known to produce
@@ -29,3 +34,32 @@ IMPORTANT NOTE FOR IA-32:
 The gnu-efi  package can be downloaded from:
 
        ftp://ftp.hpl.hp.com/pub/linux-ia64/gnu-efi-X.y.tar.gz
+
+IMPORTANT NOTE FOR x86_64:
+-------------------------
+
+       EFI x86_64 elilo support requires the following libraries:
+
+       1. gnu-efi-3.0c library with x86_64 support.
+
+       2. The toolchain known to produce working x86_64 efi binary are:
+
+               gcc-4.1.1 or above
+               binutils-2.17.50.0.14 with Intel64 EFI support
+
+       Implementation:
+       --------------
+       Calls to EFI services in x86_64 require a wrapper to pass the arguments
+       in the appropriate manner. This is implemented with efi wrapper. 
+       For IA32 and IA64, the wrapper is a macro that merely calls the
+       EFI services directly. The elilo source has been modified to use the
+       efi wrapper implemented in gnu-efi-3.0c library. 
+       elilo for x86_64 and its dependent libraries are built and the final
+       ELF image is converted into PE-COFF image using the objcopy supported
+       by binutils-2.17.50.0.14 or above with Intel64 EFI support.
+
+       On UEFI 2.0 firmware, only Graphics Output Protocol (GOP) is supported. 
+       The x86_64 elilo first queries video information from GOP failing which
+       it queries for text mode support. The video information is passed to
+       Linux kernel via boot parameter. The GOP support requires
+       Linux kernel EFI framebuffer driver (kernel configuration option).
diff --git a/alloc.c b/alloc.c
index 349da9f24e6dbc85101f99fcc3645ff8077f1c51..358939ac1d957bdb5b8f6d44d80115bf16ffd086 100644 (file)
--- a/alloc.c
+++ b/alloc.c
@@ -1,6 +1,9 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Fenghua Yu <Fenghua.Yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -100,7 +103,7 @@ alloc(UINTN size, EFI_MEMORY_TYPE type)
 
        if (type == 0) type = EfiLoaderData;
 
-       status = BS->AllocatePool (type, size, &tmp);
+       status = uefi_call_wrapper(BS->AllocatePool, 3, type, size, &tmp);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"allocator: AllocatePool(%d, %d, 0x%x) failed (%r)\n", type, size, status));
                return NULL;
@@ -127,9 +130,9 @@ alloc_pages(UINTN pgcnt, EFI_MEMORY_TYPE type, EFI_ALLOCATE_TYPE where, VOID *ad
                return NULL;
        }
 
-       status = BS->AllocatePages(where, type , pgcnt, &tmp);
+       status = uefi_call_wrapper(BS->AllocatePages, 4, where, type , pgcnt, &tmp);
        if (EFI_ERROR(status)) {
-               VERB_PRT(1, (L"allocator: AllocatePages(%d, %d, %d, 0x%lx) failed (%r)\n", where, type, pgcnt, tmp, status));
+               VERB_PRT(1, Print(L"allocator: AllocatePages(%d, %d, %d, 0x%lx) failed (%r)\n", where, type, pgcnt, tmp, status));
                return NULL;
        }
        /* XXX: will cause warning on IA-32 */
@@ -155,7 +158,7 @@ free(VOID *addr)
                if (p->addr == addr) goto found;
        }
        /* not found */
-        VERB_PRT(1, (L"allocator: invalid free @ 0x%lx\n", addr));
+        VERB_PRT(1, Print(L"allocator: invalid free @ 0x%lx\n", addr));
        return; 
 found:
         DBG_PRT((L"free: %s @0x%lx size=%ld\n", 
@@ -163,9 +166,9 @@ found:
                addr, p->size));
 
        if (p->type == ALLOC_POOL) 
-               BS->FreePool(addr);
+               uefi_call_wrapper(BS->FreePool, 1, addr);
        else
-               BS->FreePages((EFI_PHYSICAL_ADDRESS)addr, p->size);
+               uefi_call_wrapper(BS->FreePages, 2, (EFI_PHYSICAL_ADDRESS)addr, p->size);
 
        /* remove from used list */
        if (p->next) 
@@ -195,9 +198,9 @@ free_all(VOID)
                DBG_PRT((L"free_all %a @ 0x%lx\n", used_allocs->type == ALLOC_POOL ? "pool" : "pages", used_allocs->addr));
        
                if (used_allocs->type == ALLOC_POOL)
-                       BS->FreePool(used_allocs->addr);
+                       uefi_call_wrapper(BS->FreePool, 1, used_allocs->addr);
                else
-                       BS->FreePages((EFI_PHYSICAL_ADDRESS)used_allocs->addr, used_allocs->size);
+                       uefi_call_wrapper(BS->FreePages, 2, (EFI_PHYSICAL_ADDRESS)used_allocs->addr, used_allocs->size);
 
                tmp = used_allocs->next;
 
index df138ad8764ec004798ffd781ec09f2d6e9093fd..992e9bdc57db5113954b8508fc94b3be6ef71114 100644 (file)
@@ -1,6 +1,9 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan<mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -77,7 +80,7 @@ alternate_kernel(CHAR16 *buffer, INTN size)
         *      - the variable does not exist
         *      - our buffer size is too small.
         */
-       status = RT->GetVariable(ELILO_ALTK_VAR, &altk_guid, NULL, &size, buffer);
+       status = uefi_call_wrapper(RT->GetVariable, 5, ELILO_ALTK_VAR, &altk_guid, NULL, &size, buffer);
        if (EFI_ERROR(status)) {
                DBG_PRT((L"cannot access variable %s: %r", ELILO_ALTK_VAR, status));
 
@@ -110,7 +113,7 @@ alternate_kernel(CHAR16 *buffer, INTN size)
 
        ret = 0;
 delete_var:
-       status = RT->SetVariable(ELILO_ALTK_VAR, &altk_guid, 0, 0, NULL);
+       status = uefi_call_wrapper(RT->SetVariable, 5, ELILO_ALTK_VAR, &altk_guid, 0, 0, NULL);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"cannot erase variable %s", ELILO_ALTK_VAR));
        }
index 8859fcc48c1a0864e3ee25210629c56bf3929598..1a2c54b3b0e388697d2b174b3e154f33d4390472 100644 (file)
@@ -83,7 +83,7 @@ create_boot_params(CHAR16 *args, memdesc_t *initrd, memdesc_t *vmcode, UINTN *co
 /* XXX: need to fix this for 3.5 */
 #ifdef CONFIG_ia64
        cp = ((CHAR8 *)bp) + BOOT_PARAM_MEMSIZE - cmdline_size;
-#elif defined CONFIG_ia32
+#elif defined CONFIG_ia32 || CONFIG_x86_64
        cp = ((CHAR8 *)bp) + BOOT_PARAM_MEMSIZE - 2048;
 #endif
 
index b246a910fad125e5dd59a9edab40edd9495fb931..552508661367fc822fd5c23c6c5b3d031acc9bc3 100644 (file)
@@ -1,6 +1,10 @@
 /* 
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -136,7 +140,8 @@ reprint:
        first_time = 0;
 
        for (;;) {
-               while ((status=ip->ReadKeyStroke(ip, &key)) == EFI_NOT_READY);
+               while ((status = uefi_call_wrapper(ip->ReadKeyStroke, 2, ip, &key))
+                                == EFI_NOT_READY);
                if (EFI_ERROR(status)) {
                        ERR_PRT((L"select_kernel readkey: %r", status));
                        return -1;
@@ -274,7 +279,7 @@ restart:
                argc     = argify(alt_buffer,sizeof(alt_buffer), argv); 
                alt_argv = argv;
                index    = 0;
-               args[0]  = initrd_name[0] = 0;
+               args[0]  = initrd_name[0] = vmcode_name[0] = 0;
                /* 
                 * don't check twice because the variable is deleted after
                 * first access
@@ -354,7 +359,7 @@ restart:
                ret = wait_timeout(elilo_opt.delay);
                if (ret != 0) {
                        elilo_opt.prompt = 1;
-                       elilo_opt.initrd[0] = CHAR_NULL;
+                       elilo_opt.initrd[0] = elilo_opt.vmcode[0] = CHAR_NULL;
                        elilo_opt.timeout =  ELILO_TIMEOUT_INFINITY;
                        goto restart;
                }
index 3210dda1b91e8344d2af5569e382d89440baceea..400d4f6489013df9abbcd2d619b73e7376aa2aba 100644 (file)
@@ -1,6 +1,10 @@
 /* 
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Richard Hirst <rhirst@linuxcare.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -45,8 +49,8 @@ static CHAR16 PromptBuf[CMDLINE_MAXLEN];
 #define DEF_ATTR       EFI_TEXT_ATTR(EFI_LIGHTGRAY,EFI_BLACK)
 
 
-#define ClearScreen()  ST->ConOut->ClearScreen(ST->ConOut)
-#define SetTextAttr(a) ST->ConOut->SetAttribute(ST->ConOut, a)
+#define ClearScreen()  uefi_call_wrapper(ST->ConOut->ClearScreen, 1, ST->ConOut)
+#define SetTextAttr(a) uefi_call_wrapper(ST->ConOut->SetAttribute, 2, ST->ConOut, a)
 
 static INTN
 tohex(INTN c)
@@ -249,7 +253,8 @@ reprint:
        SetTextAttr(CurrentAttr);
 
        for (;;) {
-               while ((status=ip->ReadKeyStroke(ip, &key)) == EFI_NOT_READY);
+               while ((status = uefi_call_wrapper(ip->ReadKeyStroke, 2, ip, &key)) 
+                       == EFI_NOT_READY);
                if (EFI_ERROR(status)) {
                        SetTextAttr(EFI_TEXT_ATTR(EFI_LIGHTGRAY,EFI_BLACK));
                        ClearScreen();
@@ -295,7 +300,7 @@ reprint:
                        if (i) {
                                msgbuf[i] = 0;
                                paint_msg(msgbuf);
-                               while ((status=ip->ReadKeyStroke(ip, &key)) == EFI_NOT_READY);
+                               while ((status= uefi_call_wrapper(ip->ReadKeyStroke, 2, ip, &key)) == EFI_NOT_READY);
                                goto reprint;
                        }
                }
@@ -465,7 +470,7 @@ restart:
                ret = wait_timeout(elilo_opt.delay);
                if (ret != 0) {
                        elilo_opt.prompt = 1;
-                       elilo_opt.initrd[0] = CHAR_NULL;
+                       elilo_opt.initrd[0] = elilo_opt.vmcode[0] = CHAR_NULL;
                        elilo_opt.timeout =  ELILO_TIMEOUT_INFINITY;
                        goto restart;
                }
index e24c0c0198613c2338215e4302ed12428e7c4295..026e0984629f5e0792d81492a25917034e112d2c 100644 (file)
--- a/config.c
+++ b/config.c
@@ -1,6 +1,9 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -42,6 +45,8 @@
 #define ELILO_ARCH_DEFAULT_CONFIG      L"elilo-ia64.conf"
 #elif defined (CONFIG_ia32)
 #define ELILO_ARCH_DEFAULT_CONFIG      L"elilo-ia32.conf"
+#elif defined (CONFIG_x86_64)
+#define ELILO_ARCH_DEFAULT_CONFIG       L"elilo-x86_64.conf"
 #else
 #error "You need to specfy your default arch config file"
 #endif
@@ -204,14 +209,8 @@ static fops_fd_t config_fd;
 static VOID 
 config_error(CHAR16 *msg,...)
 {
-    va_list ap;
-    extern UINTN _IPrint (UINTN, UINTN, SIMPLE_TEXT_OUTPUT_INTERFACE *, CHAR16 *, CHAR8 *, va_list);
-
     Print(L"near line %d: ",line_num);
-
-    va_start(ap,msg);
-    _IPrint((UINTN)-1, (UINTN)-1, systab->ConOut, msg, NULL, ap);
-    va_end(ap);
+    IPrint(systab->ConOut, msg);
     Print(L"\n");
 }
 
diff --git a/cscope.out b/cscope.out
new file mode 100644 (file)
index 0000000..9750688
--- /dev/null
@@ -0,0 +1,135421 @@
+cscope 16 $HOME/dev/elilo               0000729622
+       @alloc.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+31 \ 1
+       #NALLOC
+ 512
+
+       )
+
+33 \e\92um { 
+       mALLOC_POOL
+, 
+       mALLOC_PAGES
+ } 
+       t®loc_ty³s_t
+;
+
+35 \e\19
+       s_®loc_\92\8cy
+ {
+
+36 \19
+_®loc_\92\8cy
+ *
+       mÃxt
+;
+
+37 \19
+_®loc_\92\8cy
+ *
+       m´ev
+;
+
+38 
+VOID
+ *
+       maddr
+;
+
+39 
+UINTN
+       msize
+;
+
+40 
+®loc_ty³s_t
+       mty³
+;
+
+41 } 
+       t®loc_\92\8cy_t
+;
+
+43 \18
+®loc_\92\8cy_t
+       g®locs
+[
+NALLOC
+];
+
+44 \18
+®loc_\92\8cy_t
+ *
+       gä\93_®locs
+, *
+       gu£d_®locs
+;
+
+46 \18
+VOID
+ *
+       gkmem_addr
+;
+
+47 \18
+UINTN
+       gkmem_pgút
+;
+
+52 
+INTN
+
+
+53 
+       $®loc_\9a\99
+(
+VOID
+)
+
+55 
+UINTN
+i
+;
+
+57 \ f
+i
+=0; i < 
+NALLOC
+-1; i++) {
+
+58 
+®locs
+[
+i
+].
+Ãxt
+ =\87llocs+i+1;
+
+60 
+®locs
+[
+i
+].
+Ãxt
+ = 
+NULL
+;
+
+62 
\93_®locs
+ = 
+®locs
+;
+
+63 
+u£d_®locs
+ = 
+NULL
+;
+
+66 
+       }
+}
+
+68 \18
+VOID
+
+
+69 
+       $®loc_add
+(
+VOID
+ * 
+addr
+, 
+UINTN
+size
+, 
+®loc_ty³s_t
+ty³
+)
+
+71 
+®loc_\92\8cy_t
+ *
+®loc
+;
+
+74 
+®loc
+ = 
\93_®locs
+;
+
+75 
\93_®locs
+ = f»e_®locs->
+Ãxt
+;
+
+77 
+®loc
+->
+´ev
+ = 
+NULL
+;
+
+78 
+®loc
+->
+Ãxt
+ = 
+u£d_®locs
+;
+
+79 
+®loc
+->
+addr
+ =\87ddr;
+
+80 
+®loc
+->
+ty³
+ =\81ype;
+
+81 
+®loc
+->
+size
+ = size;
+
+84 ià(
+u£d_®locs
+èu£d_®locs->
+´ev
+ = 
+®loc
+;
+
+86 
+u£d_®locs
+ = 
+®loc
+;
+
+87 
+       }
+}
+
+89 
+VOID
+ *
+
+90 
+       $®loc
+(
+UINTN
+size
+, 
+EFI_MEMORY_TYPE
+ty³
+)
+
+92 
+EFI_STATUS
+¡©us
+;
+
+93 
+VOID
+ *
+tmp
+ = 0;
+
+96 ià(
\93_®locs
+ =ð
+NULL
+) {
+
+97 
+       `ERR_PRT
+((
+L
+"allocator:\82o more slots\n"));
+
+98 \15 
+NULL
+;
+
+101 ià(
+ty³
+ =ð0èty³ = 
+EfiLßd\94D©a
+;
+
+103 
+¡©us
+ = 
+BS
+->
+       `AÎoÿ\8bPoÞ
+ (
+ty³
+, 
+size
+, &
+tmp
+);
+
+104 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+105 
+       `ERR_PRT
+((
+L
+"®loÿtÜ: AÎoÿ\8bPoÞ(%d, %d, 0x%xèç\9eed (%r)\n", 
+ty³
+, 
+size
+, 
+¡©us
+));
+
+106 \15 
+NULL
+;
+
+108 
+       `®loc_add
+(
+tmp
+, 
+size
+, 
+ALLOC_POOL
+);
+
+110 
+       `DBG_PRT
+((
+L
+"®loc:\87Îoÿ\8bd %d by\8b @[0x%lx-0x%lx]\n", 
+size
+, 
+tmp
+,\81mp+size));
+
+112 \15 
+tmp
+;
+
+113 
+       }
+}
+
+118 
+VOID
+ *
+
+119 
+       $®loc_·ges
+(
+UINTN
+pgút
+, 
+EFI_MEMORY_TYPE
+ty³
+, 
+EFI_ALLOCATE_TYPE
+wh\94e
+, 
+VOID
+ *
+addr
+)
+
+121 
+EFI_STATUS
+¡©us
+;
+
+122 
+EFI_PHYSICAL_ADDRESS
+tmp
+ = (EFI_PHYSICAL_ADDRESS)
+addr
+;
+
+125 ià(
\93_®locs
+ =ð
+NULL
+) {
+
+126 
+       `ERR_PRT
+((
+L
+"allocator:\82o more slots\n"));
+
+127 \15 
+NULL
+;
+
+130 
+¡©us
+ = 
+BS
+->
+       `AÎoÿ\8bPages
+(
+wh\94e
+, 
+ty³
+ , 
+pgút
+, &
+tmp
+);
+
+131 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+132 
+       `VERB_PRT
+(1, (
+L
+"®loÿtÜ: AÎoÿ\8bPages(%d, %d, %d, 0x%lxèç\9eed (%r)\n", 
+wh\94e
+, 
+ty³
+, 
+pgút
+, 
+tmp
+, 
+¡©us
+));
+
+133 \15 
+NULL
+;
+
+136 
+addr
+ = (
+VOID
+ *)
+tmp
+;
+
+138 
+       `®loc_add
+(
+addr
+, 
+pgút
+, 
+ALLOC_PAGES
+);
+
+140 
+       `DBG_PRT
+((
+L
+"®loÿtÜ:\87Îoÿ\8bd %d\85age @0x%lx\n", 
+pgút
+, 
+tmp
+));
+
+142 \15 
+addr
+;
+
+143 
+       }
+}
+
+148 
+VOID
+
+
+149 
+       $ä\93
+(
+VOID
+ *
+addr
+)
+
+151 
+®loc_\92\8cy_t
+ *
+p
+;
+
+154 \ f
+p
+=
+u£d_®locs
+;\85 ;\85 =\85->
+Ãxt
+) {
+
+155 ià(
+p
+->
+addr
+ =ðaddrè\10
+found
+;
+
+158 
+       `VERB_PRT
+(1, (
+L
+"®loÿtÜ: inv®id f»\90@ 0x%lx\n", 
+addr
+));
+
+160 
+found
+:
+
+161 
+       `DBG_PRT
+((
+L
+"free: %s @0x%lx size=%ld\n",
+
+162 
+p
+->
+ty³
+ =ð
+ALLOC_POOL
+ ? 
+L
+"Pool": L"Page",
+
+163 
+addr
+, 
+p
+->
+size
+));
+
+165 ià(
+p
+->
+ty³
+ =ð
+ALLOC_POOL
+)
+
+166 
+BS
+->
+       `F»ePoÞ
+(
+addr
+);
+
+168 
+BS
+->
+       `F»ePages
+((
+EFI_PHYSICAL_ADDRESS
+)
+addr
+, 
+p
+->
+size
+);
+
+171 ià(
+p
+->
+Ãxt
+)
+
+172 
+p
+->
+Ãxt
+->
+´ev
+ =\85->prev;
+
+174 ià(
+p
+->
+´ev
+)
+
+175 
+p
+->
+´ev
+->
+Ãxt
+ =\85->next;
+
+177 
+u£d_®locs
+ = 
+p
+->
+Ãxt
+;
+
+180 
+p
+->
+Ãxt
+ = 
\93_®locs
+;
+
+181 
\93_®locs
+ = 
+p
+;
+
+182 
+       }
+}
+
+188 
+VOID
+
+
+189 
+       $ä\93_®l
+(
+VOID
+)
+
+191 
+®loc_\92\8cy_t
+ *
+tmp
+;
+
+193 \1f
+u£d_®locs
+) {
+
+195 
+       `DBG_PRT
+((
+L
+"ä\93_®È%¨@ 0x%lx\n", 
+u£d_®locs
+->
+ty³
+ =ð
+ALLOC_POOL
+ ? "poÞ" : "·ges", u£d_®locs->
+addr
+));
+
+197 ià(
+u£d_®locs
+->
+ty³
+ =ð
+ALLOC_POOL
+)
+
+198 
+BS
+->
+       `F»ePoÞ
+(
+u£d_®locs
+->
+addr
+);
+
+200 
+BS
+->
+       `F»ePages
+((
+EFI_PHYSICAL_ADDRESS
+)
+u£d_®locs
+->
+addr
+, u£d_®locs->
+size
+);
+
+202 
+tmp
+ = 
+u£d_®locs
+->
+Ãxt
+;
+
+205 
+u£d_®locs
+->
+Ãxt
+ = 
\93_®locs
+;
+
+206 
\93_®locs
+ = 
+u£d_®locs
+;
+
+208 
+u£d_®locs
+ = 
+tmp
+;
+
+210 
+       }
+}
+
+212 
+INTN
+
+
+213 
+       $®loc_kmem
+(
+VOID
+ *
+¡¬t_addr
+, 
+UINTN
+pgút
+)
+
+215 ià(
+       `®loc_·ges
+(
+pgút
+, 
+EfiLßd\94D©a
+, 
+AÎoÿ\8bAdd»ss
+, 
+¡¬t_addr
+) == 0) \15 -1;
+
+217 
+kmem_addr
+ = 
+¡¬t_addr
+;
+
+218 
+kmem_pgút
+ = 
+pgút
+;
+
+221 
+       }
+}
+
+223 
+VOID
+
+
+224 
+       $ä\93_kmem
+(
+VOID
+)
+
+226 
+       `DBG_PRT
+((
+L
+"ä\93_kmem befÜ\90(%lx, %ld)\n", 
+kmem_addr
+, 
+kmem_pgút
+));
+
+227 ià(
+kmem_addr
+ && 
+kmem_pgút
+ != 0) {
+
+228 
+       `ä\93
+(
+kmem_addr
+);
+
+229 
+kmem_addr
+ = 
+NULL
+;
+
+230 
+kmem_pgút
+ = 0;
+
+232 
+       `DBG_PRT
+((
+L
+"ä\93_kmem\87á\94 (%lx, %ld)\n", 
+kmem_addr
+, 
+kmem_pgút
+));
+
+233 
+       }
+}
+
+235 
+VOID
+
+
+236 
+       $ä\93_®l_memÜy
+(
+VOID
+)
+
+238 
+       `ä\93_®l
+();
+
+239 
+       `ä\93_kmem
+();
+
+240 
+       }
+}
+
+       @alternate.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+31 \ 1
+       #ELILO_ALTK_VAR
+L
+"El\9eoAÉ"
+
+       )
+
+36 \18
+EFI_GUID
+       g®tk_guid
+={0,};
+
+55 
+INTN
+
+
+56 
+       $®\8bº©e_k\94Ãl
+(
+CHAR16
+ *
+bufãr
+, 
+INTN
+size
+)
+
+58 
+EFI_STATUS
+¡©us
+;
+
+59 
+INTN
+»t
+ = -1;
+
+67 ià(
+size
+ < 4) \15 -1;
+
+72 
+size
+-=2;
+
+80 
+¡©us
+ = 
+RT
+->
+       `G\91\9f
+(
+ELILO_ALTK_VAR
+, &
+®tk_guid
+, 
+NULL
+, &
+size
+, 
+bufãr
+);
+
+81 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+82 
+       `DBG_PRT
+((
+L
+"ÿÂÙ\87cûs v¬\9fbË %s: %r", 
+ELILO_ALTK_VAR
+, 
+¡©us
+));
+
+85 ià(
+¡©us
+ =ð
+EFI_BUFFER_TOO_SMALL
\10
+d\96\91e_v¬
+;
+
+99 ià(
+size
+ & 0x1) {
+
+100 
+       `Pr\9at
+(
+L
+"\9av®id cÚ\8bÁ fÜ % v¬\9fbË,\83¿s\9ag v¬\9fbË\n", 
+ELILO_ALTK_VAR
+);
+
+101 \10
+d\96\91e_v¬
+;
+
+105 ià(
+size
+ =ð2è\10
+d\96\91e_v¬
+;
+
+107 
+bufãr
+[
+size
+] = 
+CHAR_NULL
+;
+
+109 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"found\87É\94Ç\8b v¬\9fbË % : %s\n", 
+ELILO_ALTK_VAR
+, 
+bufãr
+));
+
+111 
+»t
+ = 0;
+
+112 
+d\96\91e_v¬
+:
+
+113 
+¡©us
+ = 
+RT
+->
+       `S\91\9f
+(
+ELILO_ALTK_VAR
+, &
+®tk_guid
+, 0, 0, 
+NULL
+);
+
+114 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+115 
+       `ERR_PRT
+((
+L
+"ÿÂÙ\83¿£ v¬\9fbË %s", 
+ELILO_ALTK_VAR
+));
+
+117 \15 
+»t
+;
+
+118 
+       }
+}
+
+       @bootparams.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+40 
+VOID
+ *
+
+41 
+       $ü\97\8b_boÙ_·¿ms
+(
+CHAR16
+ *
+¬gs
+, 
+memdesc_t
+ *
+\9a\99rd
+, memdesc_\88*
+vmcode
+, 
+UINTN
+ *
+cook\9b
+)
+
+47 \ 1
+       #BOOT_PARAM_MEMSIZE
+ 16384
+
+       )
+
+48 
+UINTN
+bpsize
+, 
+cmdl\9ae_size
+;
+
+49 
+boÙ_·¿ms_t
+ *
+bp
+;
+
+50 
+CHAR8
+ *
+;
+
+51 
+CHAR16
+ch
+;
+
+59 
+cmdl\9ae_size
+ = 
+       `S\8cL\92
+(
+¬gs
+) + 1;
+
+60 
+bpsize
+ = \17(
+boÙ_·¿ms_t
+è+ 
+cmdl\9ae_size
+;
+
+62 ià(
+bpsize
+ > 
+BOOT_PARAM_MEMSIZE
+) {
+
+63 
+       `ERR_PRT
+((
+L
+"BOOT_PARAM_MEMSIZE\81oØsm®l,\82\93d\87\88Ëa¡ %d by\8bs", 
+bpsize
+));
+
+64 \15 
+NULL
+;
+
+75 
+bp
+ = (
+boÙ_·¿ms_t
+ *)
+       `®loc
+(
+BOOT_PARAM_MEMSIZE
+, 
+EfiLßd\94D©a
+);
+
+76 ià(
+bp
+ =ð
+NULL
+) {
+
+77 
+       `ERR_PRT
+((
+L
+"can't\87llocate boot\85arams"));
+
+81 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"boÙ\85¬am @ 0x%lx\n", 
+bp
+));
+
+84 #ifdeà
+CONFIG_\9f64
+
+
+85 
+ = ((
+CHAR8
+ *)
+bp
+è+ 
+BOOT_PARAM_MEMSIZE
+ - 
+cmdl\9ae_size
+;
+
+86 #\96
+def\9aed
+CONFIG_\9f32
+
+
+87 
+ = ((
+CHAR8
+ *)
+bp
+è+ 
+BOOT_PARAM_MEMSIZE
+ - 2048;
+
+97 
+       `Mem£t
+(
+bp
+, 0, 
+BOOT_PARAM_MEMSIZE
+);
+
+99 ià(
+       `sysd\95s_ü\97\8b_boÙ_·¿ms
+(
+bp
+, 
+, 
+\9a\99rd
+, 
+vmcode
+, 
+cook\9b
+) == -1) \15 0;
+
+106 
+ch
+ = *
+¬gs
+++;
+
+107 ià(!
+ch
+) \ 3;
+
+108 *
+++ = 
+ch
+;
+
+110 *
+++ = '\0';
+
+112 \15 
+bp
+;
+
+113 
+       }
+}
+
+115 
+VOID
+
+
+116 
+       $ä\93_boÙ_·¿ms
+(
+VOID
+ *
+bp
+)
+
+118 
+boÙ_·¿ms_t
+ *
+»®_bp
+ = (boÙ_·¿ms_\88*)
+bp
+;
+
+120 
+       `sysd\95s_ä\93_boÙ_·¿ms
+(
+»®_bp
+);
+
+122 
+       `ä\93
+(
+»®_bp
+);
+
+123 
+       }
+}
+
+       @chooser.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+31 #ifdeà
+CONFIG_CHOOSER_SIMPLE
+
+
+32 \ 2
+       ~"choo£rs/sim¶e.h
+"
+
+35 #ifdeà
+CONFIG_CHOOSER_TEXTMENU
+
+
+36 \ 2
+       ~"choo£rs/\8bxtm\92u.h
+"
+
+39 \18
+choo£r_t
+ *
+       gchoo£rs_\8fb
+[]={
+
+40 #ifdeà
+CONFIG_CHOOSER_SIMPLE
+
+
+41 &
+sim¶e_choo£r
+,
+
+43 #ifdeà
+CONFIG_CHOOSER_TEXTMENU
+
+
+44 &
+\8bxtm\92u_choo£r
+,
+
+46 
+NULL
+
+
+64 
+choo£r_func_t
+ *
+       gk\94Ãl_choo£r
+;
+
+66 
+INTN
+
+
+67 
+       $\9a\99_choo£r
+(
+EFI_HANDLE
+dev
+)
+
+69 
+choo£r_t
+ **
+p
+;
+
+70 
+CHAR16
+ *
+choo£r_Çme
+ = 
+L
+"none";
+
+72 
+k\94Ãl_choo£r
+ = 
+NULL
+;
+
+74 \ f
+p
+=
+choo£rs_\8fb
+; *p;\85++) {
+
+76 
+       `VERB_PRT
+(4, 
+       `Pr\9at
+(
+L
+"\8cy\9ag choo£¸%s\n", (*
+p
+)->
+choo£r_Çme
+));
+
+78 ià((*
+p
+)->
+       `choo£r_´obe
+(
+dev
+) == 0) {
+
+82 ià(!
+       `S\8cCmp
+(
+\96\9eo_Ýt
+.
+choo£r
+, (*
+p
+)->
+choo£r_Çme
+)) {
+
+83 
+k\94Ãl_choo£r
+ = (*
+p
+)->
+choo£r_func
+;
+
+84 
+choo£r_Çme
+ = (*
+p
+)->chooser_name;
+
+88 ià(
+k\94Ãl_choo£r
+ =ð
+NULL
+) {
+
+89 
+k\94Ãl_choo£r
+ = (*
+p
+)->
+choo£r_func
+;
+
+90 
+choo£r_Çme
+ = (*
+p
+)->chooser_name;
+
+95 ià(
+k\94Ãl_choo£r
+) {
+
+96 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"£Ëùed choo£¸%s\n", 
+choo£r_Çme
+));
+
+100 
+       `ERR_PRT
+((
+L
+"No chooser selected. Impossible\81o\85roceed"));
+
+102 
+       }
+}
+
+104 
+INTN
+
+
+105 
+       $exi¡_choo£r
+(
+CHAR16
+ *
+Çme
+)
+
+107 
+choo£r_t
+ **
+p
+;
+
+109 \ f
+p
+=
+choo£rs_\8fb
+; *p;\85++) {
+
+110 ià(!
+       `S\8cCmp
+(
+Çme
+, (*
+p
+)->
+choo£r_Çme
+)) \15 0;
+
+113 
+       }
+}
+
+       @chooser.h
+
+26 #iâdeà
+__ELILO_CHOOSER_H__
+
+
+27 \ 1
+       #__ELILO_CHOOSER_H__
+
+
+       )
+
+29 \e
+INTN
+       tchoo£r_func_t
+(
+       tCHAR16
+ **
+       t¬gv
+, 
+       tINTN
+       t¬c
+, INTN 
+       t\9adex
+, CHAR16 *
+       tkÇme
+, CHAR16 *
+       tcmdl\9ae
+);
+
+50 
+CHAR16
+ *
+       mchoo£r_Çme
+;
+
+51 
+INTN
+ (*
+choo£r_´obe
+)(
+EFI_HANDLE
+       mdev
+);
+
+52 
+choo£r_func_t
+ *
+       mchoo£r_func
+;
+
+53 } 
+       tchoo£r_t
+;
+
+55 \r
+INTN
+\9a\99_choo£r
+(
+EFI_HANDLE
+);
+
+56 \r
+INTN
+exi¡_choo£r
+(
+CHAR16
+ *
+Çme
+);
+
+58 \r
+choo£r_func_t
+ *
+k\94Ãl_choo£r
+;
+
+       @choosers/simple.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"v¬s.h
+"
+
+33 \18
+CHAR16
+ **
+       g®t_¬gv
+;
+
+35 \18
+VOID
+
+
+36 
+       $di¥Ïy_Ïb\96_\9afo
+(
+CHAR16
+ *
+Çme
+)
+
+38 
+CHAR16
+ *
+desc
+;
+
+39 
+CHAR16
+\9a\99rd_Çme
+[
+CMDLINE_MAXLEN
+];
+
+40 
+CHAR16
+vmcode_Çme
+[
+CMDLINE_MAXLEN
+];
+
+41 
+CHAR16
+ÝtiÚs_tmp
+[
+CMDLINE_MAXLEN
+];
+
+42 
+CHAR16
+ÝtiÚs
+[
+CMDLINE_MAXLEN
+];
+
+43 
+CHAR16
+kÇme
+[
+FILENAME_MAXLEN
+];
+
+45 
+desc
+ = 
+       `f\9ad_desü\9dtiÚ
+(
+Çme
+);
+
+46 ià(
+desc
+) {
+
+47 
+       `Pr\9at
+(
+L
+"desø : %s\n", 
+desc
+);
+
+50 
+\9a\99rd_Çme
+[0] = 
+vmcode_Çme
+[0] = 
+ÝtiÚs_tmp
+[0] = 
+kÇme
+[0] = 
+CHAR_NULL
+;
+
+52 ià(
+       `f\9ad_Ïb\96
+(
+Çme
+, 
+kÇme
+, 
+ÝtiÚs_tmp
+, 
+\9a\99rd_Çme
+, 
+vmcode_Çme
+) == -1) {
+
+53 
+       `S\8cCpy
+(
+kÇme
+, 
+Çme
+);
+
+54 
+       `Pr\9at
+(
+L
+"\n");
+
+56 
+       `sub¡_v¬s
+(
+ÝtiÚs_tmp
+, 
+ÝtiÚs
+, 
+CMDLINE_MAXLEN
+);
+
+58 
+       `Pr\9at
+(
+L
+"cmdl\9ae: % %s\n", 
+kÇme
+, 
+ÝtiÚs
+);
+
+59 ià(
+\9a\99rd_Çme
+[0]è
+       `Pr\9at
+(
+L
+"initrd : %s\n", initrd_name);
+
+60 ià(
+vmcode_Çme
+[0]è
+       `Pr\9at
+(
+L
+"vmcode : %s\n", vmcode_name);
+
+61 
+       }
+}
+
+63 \18
+VOID
+
+
+64 
+       $´\9at_\9afos
+(\12
+fÜû
+)
+
+66 
+CHAR16
+ *
+cÚfig_f\9ee
+;
+
+67 
+CHAR16
+d·th
+[
+FILENAME_MAXLEN
+];
+
+68 
+CHAR16
+ *
+boÙ_dev_Çme
+;
+
+69 
+UINT8
+is_abs
+;
+
+71 
+boÙ_dev_Çme
+ = 
+       `fÝs_boÙdev_Çme
+();
+
+72 
+cÚfig_f\9ee
+ = 
+       `g\91_cÚfig_f\9ee
+();
+
+74 
+       `fÝs_g\91deçuÉ_·th
+(
+d·th
+, 
+FILENAME_MAXLEN
+);
+
+76 ià(
+fÜû
+ || 
+\96\9eo_Ýt
+.
+v\94bo£
+ > 0)
+
+77 
+       `Pr\9at
+(
+L
+"deçuÉ f\9e\90·th: %s:%s\n", 
+boÙ_dev_Çme
+, 
+d·th
+);
+
+79 
+is_abs
+ = 
+cÚfig_f\9ee
+ && (cÚfig_f\9ee[0] =ð
+CHAR_BACKSLASH
+ || cÚfig_f\9ee[0] =ð
+CHAR_SLASH
+) ? 1 : 0;
+
+81 ià(
+fÜû
+ || 
+\96\9eo_Ýt
+.
+v\94bo£
+ > 0)
+
+82 
+       `Pr\9at
+(
+L
+"cÚfig f\9e\90 : %s%s\n", 
+cÚfig_f\9ee
+ && 
+is_abs
+ =ð0 ? 
+d·th
+ : L"", config_file ? config_file : L"none used");
+
+84 ià(
+®t_¬gv
+) {
+
+85 
+CHAR16
+ **
+p
+ = 
+®t_¬gv
+;
+
+86 
+       `Pr\9at
+(
+L
+"found\87lternate default choice :");
+
+87 \1f*
+p
+       `Pr\9at
+(
+L
+" %s", *p++);
+
+88 
+       `Pr\9at
+(
+L
+"\n");
+
+90 
+       }
+}
+
+92 \18
+VOID
+
+
+93 
+       $´\9at_h\96p
+(\12
+fÜû
+)
+
+95 ià(
+fÜû
+ || 
+\96\9eo_Ýt
+.
+v\94bo£
+ > 0)
+
+96 
+       `Pr\9at
+(
+L
+"command\86ist (must be first character):\n=:print device\86ist, %%:print variable\86ist, &:print\85aths, ?:help\nTAB:print\86abel information\n");
+
+97 
+       }
+}
+
+106 \18
+INTN
+
+
+107 
+       $£Ëù_k\94Ãl
+(
+CHAR16
+ *
+bufãr
+, 
+INTN
+size
+)
+
+109 \ 1
+       #CHAR_CTRL_C
+L
+'\003'
+
+       )
+
+110 \ 1
+       #CHAR_CTRL_D
+L
+'\004'
+
+       )
+
+111 \ 1
+       #CHAR_CTRL_U
+L
+'\025'
+
+       )
+
+113 
+SIMPLE_INPUT_INTERFACE
+ *
+\9d
+ = 
+sy¡ab
+->
+CÚIn
+;
+
+114 
+EFI_INPUT_KEY
+key
+;
+
+115 
+EFI_STATUS
+¡©us
+;
+
+116 
+INTN
+pos
+ = 0, 
+»t
+;
+
+117 
+INT8
+f\9c¡_time
+ = 1;
+
+122 
+       `´\9at_h\96p
+(0);
+
+124 
+       `´\9at_\9afos
+(0);
+
+126 
+»´\9at
+:
+
+127 
+bufãr
+[
+pos
+] = 
+CHAR_NULL
+;
+
+129 
+       `Pr\9at
+(
+L
+"\nELILO boÙ: %s", 
+bufãr
+);
+
+133 ià(
+f\9c¡_time
+ && (
+»t
+=
+       `wa\99_timeout
+(
+\96\9eo_Ýt
+.
+timeout
+)) != 1) {
+
+134 \15 
+»t
+ == -1 ? -1: 0;
+
+136 
+f\9c¡_time
+ = 0;
+
+139 \1f(
+¡©us
+=
+\9d
+->
+       `R\97dKeyS\8coke
+(\9d, &
+key
+)è=ð
+EFI_NOT_READY
+);
+
+140 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+141 
+       `ERR_PRT
+((
+L
+"£Ëù_k\94ÃÈ»adkey: %r", 
+¡©us
+));
+
+144 \1a
+key
+.
+UnicodeCh¬
+) {
+
+145 \ 4
+CHAR_TAB
+:
+
+146 
+       `Pr\9at
+(
+L
+"\n");
+
+147 ià(
+pos
+ == 0) {
+
+148 
+       `´\9at_Ïb\96_li¡
+();
+
+149 
+       `Pr\9at
+(
+L
+"(or\87 kernel file\82ame: [[dev_name:/]path/]kernel_image cmdline options)\n");
+
+151 
+bufãr
+[
+pos
+] = 
+CHAR_NULL
+;
+
+152 
+       `di¥Ïy_Ïb\96_\9afo
+(
+bufãr
+);
+
+154 \10
+»´\9at
+;
+
+155 \ 4
+L
+'%':
+
+156 ià(
+pos
+>0è\10
+nÜm®_ch¬
+;
+
+157 
+       `Pr\9at
+(
+L
+"\n");
+
+158 
+       `´\9at_v¬s
+();
+
+159 \10
+»´\9at
+;
+
+160 \ 4
+L
+'?':
+
+161 ià(
+pos
+>0è\10
+nÜm®_ch¬
+;
+
+162 
+       `Pr\9at
+(
+L
+"\n");
+
+163 
+       `´\9at_h\96p
+(1);
+
+164 \10
+»´\9at
+;
+
+165 \ 4
+L
+'&':
+
+166 ià(
+pos
+>0è\10
+nÜm®_ch¬
+;
+
+167 
+       `Pr\9at
+(
+L
+"\n");
+
+168 
+       `´\9at_\9afos
+(1);
+
+169 \10
+»´\9at
+;
+
+170 \ 4
+L
+'=':
+
+171 ià(
+pos
+>0è\10
+nÜm®_ch¬
+;
+
+172 
+       `Pr\9at
+(
+L
+"\n");
+
+173 
+       `´\9at_deviûs
+();
+
+174 \10
+»´\9at
+;
+
+175 \ 4
+CHAR_BACKSPACE
+:
+
+176 ià(
+pos
+ == 0) \ 3;
+
+177 
+pos
+--;
+
+178 
+       `Pr\9at
+(
+L
+"\b \b");
+
+180 \ 4
+CHAR_CTRL_U
+:
+
+181 \1f
+pos
+) {
+
+182 
+       `Pr\9at
+(
+L
+"\b \b");
+
+183 
+pos
+--;
+
+186 \ 4
+CHAR_CTRL_C
+:
+
+187 
+pos
+ = 0;
+
+188 \10
+»´\9at
+;
+
+189 \ 4
+CHAR_LINEFEED
+:
+
+190 \ 4
+CHAR_CARRIAGE_RETURN
+:
+
+191 
+bufãr
+[
+pos
+] = 
+CHAR_NULL
+;
+
+192 
+       `Pr\9at
+(
+L
+"\n");
+
+195 
+nÜm®_ch¬
+:
+
+196 ià(
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_CTRL_D
+ || key.
+SÿnCode
+ == 0x17 ) {
+
+197 
+       `Pr\9at
+(
+L
+"\nGiving up\81hen...\n");
+
+200 ià(
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_NULL
+) \ 3;
+
+202 ià(
+pos
+ > 
+size
+-1) \ 3;
+
+204 
+bufãr
+[
+pos
+++] = 
+key
+.
+UnicodeCh¬
+;
+
+207 
+       `Pr\9at
+(
+L
+"%c", 
+key
+.
+UnicodeCh¬
+);
+
+211 
+       }
+}
+
+213 \18
+VOID
+
+
+214 
+       $di¥Ïy_mes§ge
+(
+VOID
+)
+
+216 
+fÝs_fd_t
+fd
+;
+
+217 
+EFI_STATUS
+¡©us
+;
+
+218 
+INTN
+Ën
+, 
+i
+;
+
+219 
+CHAR16
+ *
+f\9e\92ame
+;
+
+220 
+CHAR8
+buf
+[256];
+
+222 ià((
+f\9e\92ame
+ = 
+       `g\91_mes§ge_f\9e\92ame
+(0)è=ð
+NULL
+) \15;
+
+224 ià(*
+f\9e\92ame
+ =ð
+CHAR_NULL
+) \15;
+
+226 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"Ý\92\9ag mes§g\90f\9e\90%s\n", 
+f\9e\92ame
+));
+
+228 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+f\9e\92ame
+, &
+fd
+);
+
+229 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+230 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"mes§g\90f\9e\90% nÙ found\n", 
+f\9e\92ame
+));
+
+233 
+Ën
+ = 256;
+
+234 
+       `Pr\9at
+(
+L
+"\n");
+
+235 \1f(
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+buf
+, &
+Ën
+)è=ð
+EFI_SUCCESS
+) {
+
+237 \ f
+i
+=0; i < 
+Ën
+; i++) {
+
+238 
+       `Pr\9at
+(
+L
+"%c", (
+CHAR16
+)
+buf
+[
+i
+]);
+
+240 ià(
+Ën
+ < 256) \ 3;
+
+242 
+       `fÝs_þo£
+(
+fd
+);
+
+243 
+       }
+}
+
+245 \18
+INTN
+
+
+246 
+       $sim¶e_choo£
+(
+CHAR16
+ **
+¬gv
+, 
+INTN
+¬gc
+, INTN 
+\9adex
+, CHAR16 *
+kÇme
+, CHAR16 *
+cmdl\9ae
+)
+
+248 \ 1
+       #BOOT_IMG_STR
+L
+"BOOT_IMAGE="
+
+       )
+
+249 
+CHAR16
+bufãr
+[
+CMDLINE_MAXLEN
+];
+
+250 
+CHAR16
+®t_bufãr
+[
+CMDLINE_MAXLEN
+];
+
+251 
+CHAR16
+\9a\99rd_Çme
+[
+CMDLINE_MAXLEN
+];
+
+252 
+CHAR16
+vmcode_Çme
+[
+CMDLINE_MAXLEN
+];
+
+253 
+CHAR16
+¬gs
+[
+CMDLINE_MAXLEN
+];
+
+254 
+CHAR16
+devÇme
+[
+CMDLINE_MAXLEN
+];
+
+255 
+CHAR16
+d·th
+[
+FILENAME_MAXLEN
+];
+
+256 
+CHAR16
+ *
+¦ash_pos
+, *
+cÞÚ_pos
+, *
+back¦ash_pos
+;
+
+257 
+UINTN
+Ën
+;
+
+258 
+INTN
+»t
+;
+
+260 
+bufãr
+[0] = 
+®t_bufãr
+[0] = 
+CHAR_NULL
+;
+
+262 
+       `di¥Ïy_mes§ge
+();
+
+264 
+»¡¬t
+:
+
+265 
+\9a\99rd_Çme
+[0] = 
+vmcode_Çme
+[0] = 
+kÇme
+[0] = 
+cmdl\9ae
+[0] = 
+¬gs
+[0] = 
+CHAR_NULL
+;
+
+268 
+       `Mem£t
+(&
+\96\9eo_Ýt
+.
+img_Ýt
+, 0, \17(elilo_opt.img_opt));
+
+273 ià(
+\96\9eo_Ýt
+.
+®t_check
+ && 
+       `®\8bº©e_k\94Ãl
+(
+®t_bufãr
+, \17(alt_buffer)) == 0) {
+
+274 
+¬gc
+ = 
+       `¬gify
+(
+®t_bufãr
+,\17×É_bufãr), 
+¬gv
+);
+
+275 
+®t_¬gv
+ = 
+¬gv
+;
+
+276 
+\9adex
+ = 0;
+
+277 
+¬gs
+[0] = 
+\9a\99rd_Çme
+[0] = 
+vmcode_Çme
+[0] = 0;
+
+282 
+\96\9eo_Ýt
+.
+®t_check
+ = 0;
+
+285 ià(
+\96\9eo_Ýt
+.
+´om±
+) {
+
+286 
+»t
+ = 
+       `£Ëù_k\94Ãl
+(
+bufãr
+, \17(buffer));
+
+287 ià(
+»t
+ == -1) \15 -1;
+
+288 
+¬gc
+ = 
+       `¬gify
+(
+bufãr
+,\17(bufãr), 
+¬gv
+);
+
+289 
+\9adex
+ = 0;
+
+297 ià(
+®t_bufãr
+[0] && 
+bufãr
+[0] =ð
+CHAR_NULL
+) {
+
+298 
+       `S\8cCpy
+(
+bufãr
+, 
+®t_bufãr
+);
+
+309 
+»t
+ = 
+       `f\9ad_Ïb\96
+((
+\9adex
+ < 
+¬gc
+è? 
+¬gv
+[\9adex] : 
+NULL
+, 
+kÇme
+, 
+¬gs
+, 
+\9a\99rd_Çme
+, 
+vmcode_Çme
+);
+
+315 ià(
+»t
+ == -1) {
+
+316 ià((
+\9adex
+ < 
+¬gc
+è&& 
+¬gv
+[index])
+
+317 
+       `S\8cCpy
+(
+kÇme
+, 
+¬gv
+[
+\9adex
+]);
+
+319 
+       `S\8cCpy
+(
+kÇme
+, 
+\96\9eo_Ýt
+.
+deçuÉ_k\94Ãl
+);
+
+326 ià(
+¬gc
+ > 1+
+\9adex
+) {
+
+328 \1f++
+\9adex
+ < 
+¬gc
+) {
+
+329 
+       `S\8c
+(
+¬gs
+, 
+L
+" ");
+
+330 
+       `S\8c
+(
+¬gs
+, 
+¬gv
+[
+\9adex
+]);
+
+337 ià(
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] =ð
+CHAR_NULL
+ && 
+\9a\99rd_Çme
+[0] != CHAR_NULL) {
+
+338 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+\9a\99rd
+, 
+\9a\99rd_Çme
+);
+
+341 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0] =ð
+CHAR_NULL
+ && 
+vmcode_Çme
+[0] != CHAR_NULL) {
+
+342 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+vmcode
+, 
+vmcode_Çme
+);
+
+345 
+       `VERB_PRT
+(1, { 
+       `Pr\9at
+(
+L
+"k\94ÃÈ i  '%s'\n", 
+kÇme
+);
+
+346 
+       `Pr\9at
+(
+L
+"¬gum\92\87» '%s'\n", 
+¬gs
+);
+
+347 ià(
+\96\9eo_Ýt
+.
+\9a\99rd
+[0]è
+       `Pr\9at
+(
+L
+"initrd is '%s'\n",\83lilo_opt.initrd);
+
+348 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0]è
+       `Pr\9at
+(
+L
+"vmm is '%s'\n",\83lilo_opt.vmcode);
+
+351 ià(
+\96\9eo_Ýt
+.
+´om±
+ == 0) {
+
+353 
+       `Pr\9at
+(
+L
+"ELILO\n");
+
+354 
+»t
+ = 
+       `wa\99_timeout
+(
+\96\9eo_Ýt
+.
+d\96ay
+);
+
+355 ià(
+»t
+ != 0) {
+
+356 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+357 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] =\83l\9eo_Ýt.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+358 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_TIMEOUT_INFINITY
+;
+
+359 \10
+»¡¬t
+;
+
+366 
+¦ash_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+'/');
+
+367 
+back¦ash_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+'\\');
+
+368 
+cÞÚ_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+':');
+
+370 ià(
+back¦ash_pos
+ && back¦ash_po < 
+¦ash_pos
+) slash_pos = backslash_pos;
+
+372 ià(
+cÞÚ_pos
+ =ð
+NULL
+ || (
+¦ash_pos
+ && (slash_pos < colon_pos))) {
+
+373 
+       `S\8cCpy
+(
+devÇme
+, 
+       `fÝs_boÙdev_Çme
+());
+
+374 
+       `S\8c
+(
+devÇme
+, 
+L
+":");
+
+377 ià(
+kÇme
+[0] !ð
+L
+'/' && kname[0] != L'\\') {
+
+378 
+       `fÝs_g\91deçuÉ_·th
+(
+d·th
+,
+FILENAME_MAXLEN
+);
+
+379 
+       `S\8c
+(
+devÇme
+, 
+d·th
+);
+
+382 
+devÇme
+[0] = 
+CHAR_NULL
+;
+
+388 
+Ën
+ = 
+       `S\8cL\92
+(
+BOOT_IMG_STR
+)
+
+389 +
+       `S\8cL\92
+(
+devÇme
+)
+
+391 +
+\96\9eo_Ýt
+.
+vmcode
+[0] ? 
+       `S\8cL\92
+Ól\9eo_Ýt.vmcodeè: S\8cL\92(
+kÇme
+)
+
+393 +
+       `S\8cL\92
+(
+¬gs
+);
+
+395 ià(
+Ën
+ >ð
+CMDLINE_MAXLEN
+-1) {
+
+396 
+       `ERR_PRT
+((
+L
+"\87rguments\86ist\81oo\86ong cannot fit BOOT_IMAGE\n"));
+
+399 
+       `S\8cCpy
+(
+cmdl\9ae
+, 
+L
+"BOOT_IMAGE=");
+
+400 
+       `S\8c
+(
+cmdl\9ae
+, 
+devÇme
+);
+
+401 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0])
+
+402 
+       `S\8c
+(
+cmdl\9ae
+, 
+\96\9eo_Ýt
+.
+vmcode
+);
+
+404 
+       `S\8c
+(
+cmdl\9ae
+, 
+kÇme
+);
+
+405 
+       `S\8c
+(
+cmdl\9ae
+, 
+L
+" ");
+
+406 
+       `S\8c
+(
+cmdl\9ae
+, 
+¬gs
+);
+
+409 
+       }
+}
+
+411 \18
+INTN
+
+
+412 
+       $sim¶e_´obe
+(
+EFI_HANDLE
+dev
+)
+
+416 
+       }
+}
+
+418 
+choo£r_t
+       gsim¶e_choo£r
+={
+
+419 
+L
+"simple",
+
+420 
+sim¶e_´obe
+,
+
+421 
+sim¶e_choo£
+
+
+       @choosers/simple.h
+
+26 #iâdeà
+__ELILO_CHOOSER_SIMPLE_H__
+
+
+27 \ 1
+       #__ELILO_CHOOSER_SIMPLE_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \r
+choo£r_t
+sim¶e_choo£r
+;
+
+       @choosers/textmenu.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+31 \ 1
+       #MAX_LABELS
+ 64
+
+       )
+
+32 \ 1
+       #MSGBUFLEN
+ 4096
+
+       )
+
+34 \18
+UINT8
+       gmsgbuf
+[
+MSGBUFLEN
+];
+
+35 \18
+CHAR16
+ *
+       gÏb\96s
+[
+MAX_LABELS
+];
+
+36 \18
+CHAR16
+ *
+       gdesü\9dtiÚs
+[
+MAX_LABELS
+];
+
+37 \18
+INTN
+       gÆab\96s
+;
+
+38 \18
+INTN
+       gCursÜRow
+, 
+       gCursÜCÞ
+, 
+       gProm±Row
+, 
+       gProm±CÞ
+;
+
+39 \18
+INTN
+       gM\92uRow
+, 
+       gM\92uCÞ
+, 
+       gM\92uWidth
+, 
+       gM\92uHeight
+;
+
+40 \18
+INTN
+       gDi¥ÏyP¬£d
+, 
+       gCu¼\92tA\89r
+, 
+       gProm±A\89r
+;
+
+41 \18
+INTN
+       gProm±Width
+, 
+       gM\92uHiA\89r
+, 
+       gM\92uLoA\89r
+;
+
+42 \18
+INTN
+       gProm±L\92
+, 
+       gM\92uAùive
+, 
+       gM\92uF\9c¡
+;
+
+43 \18
+CHAR16
+       gProm±Buf
+[
+CMDLINE_MAXLEN
+];
+
+45 \ 1
+       #DEF_ATTR
+       `EFI_TEXT_ATTR
+(
+EFI_LIGHTGRAY
+,
+EFI_BLACK
+)
+
+       )
+
+48 \ 1
+       #CˬSü\93n
+(è
+ST
+->
+CÚOut
+->
+       `CˬSü\93n
+(ST->CÚOut)
+
+       )
+
+49 \ 1
+       #S\91TextA\89r
+(
+a
+ST
+->
+CÚOut
+->
+       `S\91A\89ribu\8b
+(ST->CÚOut,\87)
+
+       )
+
+51 \18
+INTN
+
+
+52 
+       $tohex
+(
+INTN
+c
+)
+
+54 ià(
+c
+ >= '0' && c <= '9')
+
+55 \15 
+c
+ - '0';
+
+56 \vià(
+c
+ >= 'A' && c <= 'F')
+
+57 \15 
+c
+ = c - 'A' + 10;
+
+58 \vià(
+c
+ >= 'a' && c <= 'f')
+
+59 \15 
+c
+ = c - 'a' + 10;
+
+62 
+       }
+}
+
+64 \18
+VOID
+
+
+65 
+       $·\9at_msg
+(
+UINT8
+ *
+msg
+)
+
+67 
+INTN
+c
+;
+
+69 
+CursÜCÞ
+ = 
+CursÜRow
+ = 0;
+
+70 
+Cu¼\92tA\89r
+ = 
+DEF_ATTR
+;
+
+71 
+       `S\91TextA\89r
+(
+Cu¼\92tA\89r
+);
+
+72 
+       `CˬSü\93n
+();
+
+73 \1f(
+c
+ = *
+msg
+++)) {
+
+75 ià(
+c
+ =ð0xdaèøð
+BOXDRAW_DOWN_RIGHT
+;
+
+76 \vià(
+c
+ =ð0xc4èøð
+BOXDRAW_HORIZONTAL
+;
+
+77 \vià(
+c
+ =ð0xbfèøð
+BOXDRAW_DOWN_LEFT
+;
+
+78 \vià(
+c
+ =ð0xb3èøð
+BOXDRAW_VERTICAL
+;
+
+79 \vià(
+c
+ =ð0xd9èøð
+BOXDRAW_UP_LEFT
+;
+
+80 \vià(
+c
+ =ð0xc0èøð
+BOXDRAW_UP_RIGHT
+;
+
+81 \vià(
+c
+ =ð0xb4èøð
+BOXDRAW_VERTICAL_LEFT
+;
+
+82 \vià(
+c
+ =ð0xc3èøð
+BOXDRAW_VERTICAL_RIGHT
+;
+
+83 \vià(
+c
+ =ð0x1eèøð
+GEOMETRICSHAPE_UP_TRIANGLE
+;
+
+84 \vià(
+c
+ =ð0x1fèøð
+GEOMETRICSHAPE_DOWN_TRIANGLE
+;
+
+85 \vià(
+c
+ > 0x7f) c = '?';
+
+88 ià(
+c
+ >= ' ') {
+
+89 
+       `Pr\9at
+(
+L
+"%c", 
+c
+);
+
+90 
+CursÜCÞ
+++;
+
+93 \1a
+c
+) {
+
+97 
+CursÜRow
+++;
+
+98 
+CursÜCÞ
+ = 0;
+
+99 
+       `Pr\9at
+(
+L
+"\n");
+
+102 
+CursÜCÞ
+ = 
+CursÜRow
+ = 0;
+
+103 
+       `CˬSü\93n
+();
+
+106 ià(
+msg
+[0] && msg[1]) {
+
+107 
+INTN
+bg
+ = 
+       `tohex
+(*
+msg
+++);
+
+108 
+INTN
+fg
+ = 
+       `tohex
+(*
+msg
+++);
+
+110 ià(
+bg
+ < 16 || 
+fg
+ < 16) {
+
+111 
+Cu¼\92tA\89r
+ = 
+       `EFI_TEXT_ATTR
+(
+fg
+, 
+bg
+);
+
+112 
+       `S\91TextA\89r
+(
+Cu¼\92tA\89r
+);
+
+117 ià(!
+Di¥ÏyP¬£d
+) {
+
+118 ià(!
+Prom±Row
+) {
+
+119 
+Prom±Row
+ = 
+CursÜRow
+;
+
+120 
+Prom±CÞ
+ = 
+CursÜCÞ
+;
+
+121 
+Prom±A\89r
+ = 
+Cu¼\92tA\89r
+;
+
+123 \vià(!
+Prom±Width
+)
+
+124 
+Prom±Width
+ = 
+CursÜCÞ
+ - 
+Prom±CÞ
+;
+
+129 ià(!
+Di¥ÏyP¬£d
+) {
+
+130 ià(!
+M\92uRow
+) {
+
+131 
+M\92uRow
+ = 
+CursÜRow
+;
+
+132 
+M\92uCÞ
+ = 
+CursÜCÞ
+;
+
+133 
+M\92uLoA\89r
+ = 
+Cu¼\92tA\89r
+;
+
+135 \vià(!
+M\92uWidth
+) {
+
+136 
+M\92uWidth
+ = 
+CursÜCÞ
+ - 
+M\92uCÞ
+;
+
+137 
+M\92uHeight
+ = 
+CursÜRow
+ - 
+M\92uRow
+ + 1;
+
+138 
+M\92uHiA\89r
+ = 
+Cu¼\92tA\89r
+;
+
+144 
+       `Pr\9at
+(
+L
+"?");
+
+145 
+CursÜCÞ
+++;
+
+149 
+       }
+}
+
+152 \18
+VOID
+
+
+153 
+       $·\9at_´om±
+(
+VOID
+)
+
+155 
+INTN
+off£t
+ = 
+Prom±L\92
+ > 
+Prom±Width
+ - 1 ? PromptLen - PromptWidth + 1: 0;
+
+156 
+       `S\91TextA\89r
+(
+Prom±A\89r
+);
+
+157 
+       `Pr\9atAt
+(
+Prom±CÞ
+, 
+Prom±Row
+, 
+L
+"%s%s", 
+Prom±Buf
+ + 
+off£t
+, L" \b");
+
+158 
+       `S\91TextA\89r
+(
+Cu¼\92tA\89r
+);
+
+159 
+       }
+}
+
+161 \18
+VOID
+
+
+162 
+       $·\9at_m\92u
+(
+VOID
+)
+
+164 
+INTN
+i
+, 
+j
+;
+
+166 \ f
+i
+ = 0; i < 
+M\92uHeight
+; i++) {
+
+167 
+INTN
\8c
+ = (
+i
+ + 
+M\92uF\9c¡
+ =ð
+M\92uAùive
+è? 
+M\92uHiA\89r
+: 
+M\92uLoA\89r
+;
+
+168 
+CHAR16
+desü\9dtiÚ
+[80];
+
+170 \ f
+j
+ = 0; j < 
+M\92uWidth
+; j++)
+
+171 
+desü\9dtiÚ
+[
+j
+] = ' ';
+
+172 
+desü\9dtiÚ
+[
+M\92uWidth
+] = '\0';
+
+173 ià(
+i
+ + 
+M\92uF\9c¡
+ < 
+Æab\96s
+) {
+
+174 \ f
+j
+ = 0; 
+desü\9dtiÚs
+[
+i
+ + 
+M\92uF\9c¡
+][j] && j < 
+M\92uWidth
+; j++)
+
+175 
+desü\9dtiÚ
+[
+j
++1] = 
+desü\9dtiÚs
+[
+i
+ + 
+M\92uF\9c¡
+][j];
+
+177 
+       `S\91TextA\89r
+(
\8c
+);
+
+178 
+       `Pr\9atAt
+(
+M\92uCÞ
+, 
+M\92uRow
+ + 
+i
+, 
+L
+"%-.*s", 
+M\92uWidth
+, 
+desü\9dtiÚ
+);
+
+179 
+       `S\91TextA\89r
+(
+Cu¼\92tA\89r
+);
+
+181 
+       `·\9at_´om±
+();
+
+182 
+       }
+}
+
+184 \18
+INTN
+
+
+185 
+       $»ad_mes§ge_f\9ee
+(
+INTN
+msg
+, 
+INT8
+ *
+buf
+, INTN 
+max
+)
+
+187 
+CHAR16
+ *
+f\9e\92ame
+;
+
+188 
+fÝs_fd_t
+mes§ge_fd
+;
+
+189 
+EFI_STATUS
+¡©us
+;
+
+190 
+INTN
+Ën
+ = 
+max
+;
+
+192 ià(
+msg
+ > 10) \15 0;
+
+194 ià((
+f\9e\92ame
+ = 
+       `g\91_mes§ge_f\9e\92ame
+(
+msg
+)è=ð
+NULL
+) {
+
+195 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"no message file specified\n"));
+
+199 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"Ý\92\9ag mes§g\90f\9e\90%s\n", 
+f\9e\92ame
+));
+
+201 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+f\9e\92ame
+, &
+mes§ge_fd
+);
+
+202 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+203 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"mes§g\90f\9e\90% nÙ found\n", 
+f\9e\92ame
+));
+
+207 
+¡©us
+ = 
+       `fÝs_»ad
+(
+mes§ge_fd
+, 
+buf
+, &
+Ën
+);
+
+208 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+209 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"Error\84eading message file\n"));
+
+210 
+Ën
+ = 0;
+
+213 
+       `fÝs_þo£
+(
+mes§ge_fd
+);
+
+215 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"dÚ\90»ad\9ag mes§g\90f\9e\90%s\n", 
+f\9e\92ame
+));
+
+217 \15 
+Ën
+;
+
+218 
+       }
+}
+
+228 \18
+INTN
+
+
+229 
+       $£Ëù_k\94Ãl
+(
+CHAR16
+ *
+Ïb\96
+, 
+INTN
+lsize
+)
+
+231 \ 1
+       #CHAR_CTRL_C
+ (
+L
+'\003'è
+
+       )
+
+232 \ 1
+       #CHAR_CTRL_D
+ (
+L
+'\004'è
+
+       )
+
+233 \ 1
+       #CHAR_CTRL_F
+ (
+L
+'\006'è
+
+       )
+
+234 \ 1
+       #CHAR_DEL
+ (
+L
+'\177'è
+
+       )
+
+235 
+SIMPLE_INPUT_INTERFACE
+ *
+\9d
+ = 
+sy¡ab
+->
+CÚIn
+;
+
+236 
+EFI_INPUT_KEY
+key
+;
+
+237 
+EFI_STATUS
+¡©us
+;
+
+238 
+INT8
+f\9c¡_time
+ = 1;
+
+239 
+INTN
+i
+;
+
+240 
+INT8
+ = 0;
+
+242 
+»´\9at
+:
+
+243 
+i
+ = 
+       `»ad_mes§ge_f\9ee
+(0, 
+msgbuf
+, 
+MSGBUFLEN
+-1);
+
+244 
+msgbuf
+[
+i
+] = 0;
+
+245 
+       `·\9at_msg
+(
+msgbuf
+);
+
+246 
+Di¥ÏyP¬£d
+ = 1;
+
+247 
+       `·\9at_m\92u
+();
+
+248 
+Cu¼\92tA\89r
+ = 
+Prom±A\89r
+;
+
+249 
+       `S\91TextA\89r
+(
+Cu¼\92tA\89r
+);
+
+252 \1f(
+¡©us
+=
+\9d
+->
+       `R\97dKeyS\8coke
+(\9d, &
+key
+)è=ð
+EFI_NOT_READY
+);
+
+253 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+254 
+       `S\91TextA\89r
+(
+       `EFI_TEXT_ATTR
+(
+EFI_LIGHTGRAY
+,
+EFI_BLACK
+));
+
+255 
+       `CˬSü\93n
+();
+
+256 
+       `ERR_PRT
+((
+L
+"£Ëù_k\94ÃÈ»adkey: %r", 
+¡©us
+));
+
+259 ià(
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_CTRL_F
+) {
+
+260 
+ = 1;
+
+263 ià(
+) {
+
+264 ià(
+key
+.
+UnicodeCh¬
+ >= '0' && key.UnicodeChar <= '9') {
+
+265 ià(
+key
+.
+UnicodeCh¬
+ == '0')
+
+266 
+key
+.
+SÿnCode
+ = 
+SCAN_F10
+;
+
+268 
+key
+.
+SÿnCode
+ = 
+SCAN_F1
+ + key.
+UnicodeCh¬
+ - '1';
+
+269 
+key
+.
+UnicodeCh¬
+ = 0;
+
+271 
+ = 0;
+
+273 ià(
+key
+.
+SÿnCode
+ =ð
+SCAN_UP
+) {
+
+274 ià(
+M\92uAùive
+)
+
+275 
+M\92uAùive
+--;
+
+278 ià(
+M\92uAùive
+ < 
+M\92uF\9c¡
+)
+
+279 
+M\92uF\9c¡
+ = 
+M\92uAùive
+;
+
+280 
+       `·\9at_m\92u
+();
+
+283 \vià(
+key
+.
+SÿnCode
+ =ð
+SCAN_DOWN
+) {
+
+284 ià(
+M\92uAùive
+ < 
+Æab\96s
+ - 1)
+
+285 
+M\92uAùive
+++;
+
+288 ià(
+M\92uAùive
+ >ð
+M\92uF\9c¡
+ + 
+M\92uHeight
+)
+
+289 
+M\92uF\9c¡
+ = 
+M\92uAùive
+ - 
+M\92uHeight
+ + 1;
+
+290 
+       `·\9at_m\92u
+();
+
+293 \vià(
+key
+.
+SÿnCode
+ >ð
+SCAN_F1
+ && key.SÿnCod\90
+SCAN_F10
+) {
+
+294 
+i
+ = 
+       `»ad_mes§ge_f\9ee
+(
+key
+.
+SÿnCode
+ - 
+SCAN_F1
+ + 1, 
+msgbuf
+, 
+MSGBUFLEN
+-1);
+
+295 ià(
+i
+) {
+
+296 
+msgbuf
+[
+i
+] = 0;
+
+297 
+       `·\9at_msg
+(
+msgbuf
+);
+
+298 \1f(
+¡©us
+=
+\9d
+->
+       `R\97dKeyS\8coke
+(\9d, &
+key
+)è=ð
+EFI_NOT_READY
+);
+
+299 \10
+»´\9at
+;
+
+303 \1a
+key
+.
+UnicodeCh¬
+) {
+
+305 \ 4
+L
+'?':
+
+306 
+       `Pr\9at
+(
+L
+"\n");
+
+307 
+       `´\9at_deviûs
+();
+
+308 
+f\9c¡_time
+ = 0;
+
+309 \10
+»´\9at
+;
+
+310 \ 4
+CHAR_BACKSPACE
+:
+
+311 \ 4
+CHAR_DEL
+:
+
+312 ià(
+Prom±L\92
+ == 0) \ 3;
+
+313 
+Prom±L\92
+--;
+
+314 
+Prom±Buf
+[
+Prom±L\92
+] = 0;
+
+315 ià(
+Prom±L\92
+ >ð
+Prom±Width
+-2)
+
+316 
+       `·\9at_´om±
+();
+
+318 
+       `Pr\9at
+(
+L
+"\b \b");
+
+321 \ 4
+CHAR_LINEFEED
+:
+
+322 \ 4
+CHAR_CARRIAGE_RETURN
+:
+
+323 
+       `S\8cCpy
+(
+Ïb\96
+, 
+Ïb\96s
+[
+M\92uAùive
+]);
+
+324 
+       `S\91TextA\89r
+(
+       `EFI_TEXT_ATTR
+(
+EFI_LIGHTGRAY
+,
+EFI_BLACK
+));
+
+325 
+       `CˬSü\93n
+();
+
+329 iàÐ
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_CTRL_D
+
+
+330 || 
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_CTRL_C
+) {
+
+331 
+       `S\91TextA\89r
+(
+       `EFI_TEXT_ATTR
+(
+EFI_LIGHTGRAY
+,
+EFI_BLACK
+));
+
+332 
+       `CˬSü\93n
+();
+
+333 
+       `Pr\9at
+(
+L
+"\nGiving up\81hen...\n");
+
+336 ià(
+key
+.
+UnicodeCh¬
+ =ð
+CHAR_NULL
+) \ 3;
+
+338 ià(
+Prom±L\92
+ > 
+CMDLINE_MAXLEN
+-1) \ 3;
+
+340 ià(
+key
+.
+UnicodeCh¬
+ < ' ' || key.UnicodeChar > 0x7e)
+
+341 
+key
+.
+UnicodeCh¬
+ = '?';
+
+342 
+Prom±Buf
+[
+Prom±L\92
+++] = 
+key
+.
+UnicodeCh¬
+;
+
+343 
+Prom±Buf
+[
+Prom±L\92
+] = 0;
+
+346 ià(
+Prom±L\92
+ >ð
+Prom±Width
+-1)
+
+347 
+       `·\9at_´om±
+();
+
+349 
+       `Pr\9at
+(
+L
+"%c", 
+key
+.
+UnicodeCh¬
+);
+
+353 
+       }
+}
+
+355 
+INTN
+
+
+356 
+       $\8bxtm\92u_choo£
+(
+CHAR16
+ **
+¬gv
+, 
+INTN
+¬gc
+, INTN 
+\9adex
+, CHAR16 *
+kÇme
+, CHAR16 *
+cmdl\9ae
+)
+
+358 \ 1
+       #BOOT_IMG_STR
+L
+"BOOT_IMAGE="
+
+       )
+
+359 
+CHAR16
+Ïb\96
+[
+CMDLINE_MAXLEN
+];
+
+360 
+CHAR16
+\9a\99rd_Çme
+[
+CMDLINE_MAXLEN
+];
+
+361 
+CHAR16
+vmcode_Çme
+[
+CMDLINE_MAXLEN
+];
+
+362 
+CHAR16
+¬gs
+[
+CMDLINE_MAXLEN
+];
+
+363 
+CHAR16
+devÇme
+[
+CMDLINE_MAXLEN
+];
+
+364 
+CHAR16
+d·th
+[
+FILENAME_MAXLEN
+];
+
+365 
+CHAR16
+ *
+¦ash_pos
+, *
+cÞÚ_pos
+, *
+back¦ash_pos
+;
+
+366 
+UINTN
+Ën
+;
+
+367 
+INTN
+»t
+;
+
+368 
+VOID
+ *
+hªdË
+ = 
+NULL
+;
+
+372 
+CursÜRow
+ = 
+CursÜCÞ
+ = 
+Prom±Row
+ = 
+Prom±CÞ
+ = 0;
+
+373 
+M\92uRow
+ = 
+M\92uCÞ
+ = 
+M\92uWidth
+ = 
+M\92uHeight
+ = 0;
+
+374 
+Di¥ÏyP¬£d
+ = 
+Cu¼\92tA\89r
+ = 
+Prom±A\89r
+ = 0;
+
+375 
+Prom±Width
+ = 
+M\92uHiA\89r
+ = 
+M\92uLoA\89r
+ = 0;
+
+376 
+Prom±L\92
+ = 
+M\92uAùive
+ = 
+M\92uF\9c¡
+ = 0;
+
+377 
+Prom±Buf
+[0] = 
+CHAR_NULL
+;
+
+379 
+Æab\96s
+ = 0;
+
+380 \1f
+Æab\96s
+ < 
+MAX_LABELS
+ && (
+hªdË
+ = 
+       `g\91_Ãxt_desü\9dtiÚ
+(hªdË, 
+Ïb\96s
+ +\82Ïb\96s, 
+desü\9dtiÚs
+ +\82labels))) {
+
+381 ià(
+desü\9dtiÚs
+[
+Æab\96s
+][0] == 0)
+
+382 
+desü\9dtiÚs
+[
+Æab\96s
+] = 
+Ïb\96s
+[nlabels];
+
+383 
+Æab\96s
+++;
+
+385 
+»¡¬t
+:
+
+386 
+vmcode_Çme
+[0] = 
+\9a\99rd_Çme
+[0] = 
+kÇme
+[0] = 
+cmdl\9ae
+[0] = 
+¬gs
+[0] = 
+CHAR_NULL
+;
+
+389 
+       `Mem£t
+(&
+\96\9eo_Ýt
+.
+img_Ýt
+, 0, \17(elilo_opt.img_opt));
+
+391 ià(
+\96\9eo_Ýt
+.
+´om±
+) {
+
+392 
+»t
+ = 
+       `£Ëù_k\94Ãl
+(
+Ïb\96
+, \17(label));
+
+393 ià(
+»t
+ == -1) \15 -1;
+
+394 
+¬gc
+ = 
+       `¬gify
+(
+Prom±Buf
+,\17(Prom±Buf), 
+¬gv
+);
+
+395 
+\9adex
+ = 0;
+
+401 ià(
+\96\9eo_Ýt
+.
+®t_check
+ && 
+       `®\8bº©e_k\94Ãl
+(
+Prom±Buf
+, \17(PromptBuf)) == 0) {
+
+402 
+¬gc
+ = 
+       `¬gify
+(
+Prom±Buf
+,\17(Prom±Buf), 
+¬gv
+);
+
+403 
+\9adex
+ = 0;
+
+404 
+Ïb\96
+[0] = 
+¬gs
+[0] = 
+\9a\99rd_Çme
+[0] = 
+vmcode_Çme
+[0] = 0;
+
+415 ià(
+Ïb\96
+[0])
+
+416 
+»t
+ = 
+       `f\9ad_Ïb\96
+(
+Ïb\96
+, 
+kÇme
+, 
+¬gs
+, 
+\9a\99rd_Çme
+, 
+vmcode_Çme
+);
+
+418 
+»t
+ = 
+       `f\9ad_Ïb\96
+((
+\9adex
+ < 
+¬gc
+è? 
+¬gv
+[\9adex] : 
+NULL
+, 
+kÇme
+, 
+¬gs
+, 
+\9a\99rd_Çme
+, 
+vmcode_Çme
+);
+
+424 ià(
+»t
+ == -1) {
+
+425 ià((
+\9adex
+ < 
+¬gc
+è&& 
+¬gv
+[index])
+
+426 
+       `S\8cCpy
+(
+kÇme
+, 
+¬gv
+[
+\9adex
+]);
+
+428 
+       `S\8cCpy
+(
+kÇme
+, 
+\96\9eo_Ýt
+.
+deçuÉ_k\94Ãl
+);
+
+435 ià(
+Ïb\96
+[0])
+
+436 
+\9adex
+--;
+
+437 ià(
+¬gc
+ > 1+
+\9adex
+) {
+
+439 \1f++
+\9adex
+ < 
+¬gc
+) {
+
+440 
+       `S\8c
+(
+¬gs
+, 
+L
+" ");
+
+441 
+       `S\8c
+(
+¬gs
+, 
+¬gv
+[
+\9adex
+]);
+
+448 ià(
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] =ð
+CHAR_NULL
+ && 
+\9a\99rd_Çme
+[0] != CHAR_NULL) {
+
+449 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+\9a\99rd
+, 
+\9a\99rd_Çme
+);
+
+452 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0] =ð
+CHAR_NULL
+ && 
+vmcode_Çme
+[0] != CHAR_NULL) {
+
+453 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+vmcode
+, 
+vmcode_Çme
+);
+
+456 
+       `VERB_PRT
+(1, { 
+       `Pr\9at
+(
+L
+"k\94ÃÈ i  '%s'\n", 
+kÇme
+);
+
+457 
+       `Pr\9at
+(
+L
+"¬gum\92\87» '%s'\n", 
+¬gs
+);
+
+458 ià(
+\96\9eo_Ýt
+.
+\9a\99rd
+[0]è
+       `Pr\9at
+(
+L
+"initrd is '%s'\n",\83lilo_opt.initrd);
+
+459 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0]è
+       `Pr\9at
+(
+L
+"vmm is '%s'\n",\83lilo_opt.vmcode);
+
+462 ià(
+\96\9eo_Ýt
+.
+´om±
+ == 0) {
+
+464 
+       `Pr\9at
+(
+L
+"ELILO\n");
+
+465 
+»t
+ = 
+       `wa\99_timeout
+(
+\96\9eo_Ýt
+.
+d\96ay
+);
+
+466 ià(
+»t
+ != 0) {
+
+467 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+468 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] =\83l\9eo_Ýt.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+469 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_TIMEOUT_INFINITY
+;
+
+470 \10
+»¡¬t
+;
+
+478 
+¦ash_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+'/');
+
+479 
+back¦ash_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+'\\');
+
+480 
+cÞÚ_pos
+ = 
+       `S\8cChr
+(
+kÇme
+, 
+L
+':');
+
+482 ià(
+back¦ash_pos
+ && back¦ash_po < 
+¦ash_pos
+) slash_pos = backslash_pos;
+
+484 ià(
+cÞÚ_pos
+ =ð
+NULL
+ || (
+¦ash_pos
+ && (slash_pos < colon_pos))) {
+
+485 
+       `S\8cCpy
+(
+devÇme
+, 
+       `fÝs_boÙdev_Çme
+());
+
+486 
+       `S\8c
+(
+devÇme
+, 
+L
+":");
+
+489 ià(
+kÇme
+[0] !ð
+L
+'/' && kname[0] != L'\\') {
+
+490 
+       `fÝs_g\91deçuÉ_·th
+(
+d·th
+,
+FILENAME_MAXLEN
+);
+
+491 
+       `S\8c
+(
+devÇme
+, 
+d·th
+);
+
+494 
+devÇme
+[0] = 
+CHAR_NULL
+;
+
+500 
+Ën
+ = 
+       `S\8cL\92
+(
+BOOT_IMG_STR
+)
+
+501 +
+       `S\8cL\92
+(
+devÇme
+)
+
+502 +
+       `S\8cL\92
+(
+kÇme
+)
+
+503 +
+\96\9eo_Ýt
+.
+vmcode
+[0] ? 
+       `S\8cL\92
+Ól\9eo_Ýt.vmcodeè: S\8cL\92(
+kÇme
+)
+
+505 +
+       `S\8cL\92
+(
+¬gs
+);
+
+507 ià(
+Ën
+ >ð
+CMDLINE_MAXLEN
+-1) {
+
+508 
+       `S\91TextA\89r
+(
+       `EFI_TEXT_ATTR
+(
+EFI_LIGHTGRAY
+,
+EFI_BLACK
+));
+
+509 
+       `CˬSü\93n
+();
+
+510 
+       `ERR_PRT
+((
+L
+"\87rguments\86ist\81oo\86ong cannot fit BOOT_IMAGE\n"));
+
+513 
+       `S\8cCpy
+(
+cmdl\9ae
+, 
+L
+"BOOT_IMAGE=");
+
+514 
+       `S\8c
+(
+cmdl\9ae
+, 
+devÇme
+);
+
+515 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0])
+
+516 
+       `S\8c
+(
+cmdl\9ae
+, 
+\96\9eo_Ýt
+.
+vmcode
+);
+
+518 
+       `S\8c
+(
+cmdl\9ae
+, 
+kÇme
+);
+
+519 
+       `S\8c
+(
+cmdl\9ae
+, 
+L
+" ");
+
+520 
+       `S\8c
+(
+cmdl\9ae
+, 
+¬gs
+);
+
+522 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"f\9a® commªd\86\9a\90i '%s'\n", 
+cmdl\9ae
+));
+
+525 
+       }
+}
+
+527 \18
+INTN
+
+
+528 
+       $\8bxtm\92u_´obe
+(
+EFI_HANDLE
+dev
+)
+
+532 
+       }
+}
+
+534 
+choo£r_t
+       g\8bxtm\92u_choo£r
+={
+
+535 
+L
+"textmenu",
+
+536 
+\8bxtm\92u_´obe
+,
+
+537 
+\8bxtm\92u_choo£
+
+
+       @choosers/textmenu.h
+
+26 #iâdeà
+__ELILO_CHOOSER_TEXTMENU_H__
+
+
+27 \ 1
+       #__ELILO_CHOOSER_TEXTMENU_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \r
+choo£r_t
+\8bxtm\92u_choo£r
+;
+
+       @config.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+31 \ 2
+       ~<efi¡d¬g.h
+>
+
+33 \ 2
+       ~"\96\9eo.h
+"
+
+34 \ 2
+       ~"cÚfig.h
+"
+
+41 #ià
+def\9aed
+(
+CONFIG_\9f64
+)
+
+42 \ 1
+       #ELILO_ARCH_DEFAULT_CONFIG
+L
+"\96\9eo-\9f64.cÚf"
+
+       )
+
+43 #\96
+def\9aed
+ (
+CONFIG_\9f32
+)
+
+44 \ 1
+       #ELILO_ARCH_DEFAULT_CONFIG
+L
+"\96\9eo-\9f32.cÚf"
+
+       )
+
+52 \ 1
+       #ELILO_DEFAULT_CONFIG
+L
+"\96\9eo.cÚf"
+
+       )
+
+54 \ 1
+       #MAX_STRING
+CMDLINE_MAXLEN
+
+
+       )
+
+55 \ 1
+       #CONFIG_BUFSIZE
+ 512
+
+       )
+
+63 \ 1
+       #MAX_MESSAGES
+ 13
+
+       )
+
+65 \e\19
+       sboÙ_image
+ {
+
+66 \19
+boÙ_image
+ *
+       mÃxt
+;
+
+67 
+CHAR16
+       mÏb\96
+[
+MAX_STRING
+];
+
+68 
+CHAR16
+       mkÇme
+[
+FILENAME_MAXLEN
+];
+
+69 
+CHAR16
+       mÝtiÚs
+[
+MAX_STRING
+];
+
+70 
+CHAR16
+       m\9a\99rd
+[
+FILENAME_MAXLEN
+];
+
+71 
+CHAR16
+       mvmcode
+[
+FILENAME_MAXLEN
+];
+
+72 
+CHAR16
+       mroÙ
+[
+FILENAME_MAXLEN
+];
+
+73 
+CHAR16
+       mçÎback
+[
+MAX_STRING
+];
+
+74 
+CHAR16
+       mdesü\9dtiÚ
+[
+MAX_STRING
+];
+
+76 
+UINTN
+       m¿mdisk
+;
+
+77 
+UINTN
+       m»adÚly
+;
+
+78 
+UINTN
+       ml\99\94®
+;
+
+80 
+sys_img_ÝtiÚs_t
+       msys_img_Ýts
+;
+
+81 } 
+       tboÙ_image_t
+;
+
+84 
+       mTOK_ERR
+,
+
+85 
+       mTOK_EQUAL
+,
+
+86 
+       mTOK_STR
+,
+
+87 
+       mTOK_EOF
+
+
+88 } 
+       ttok\92_t
+;
+
+95 
+CHAR16
+       mroÙ
+[
+FILENAME_MAXLEN
+];
+
+96 
+CHAR16
+       m\9a\99rd
+[
+FILENAME_MAXLEN
+];
+
+97 
+CHAR16
+       mvmcode
+[
+FILENAME_MAXLEN
+];
+
+98 
+CHAR16
+       mÝtiÚs
+[
+MAX_STRING
+];
+
+99 
+CHAR16
+       mdeçuÉ_image_Çme
+[
+MAX_STRING
+];
+
+100 
+CHAR16
+       mmes§ge_f\9ee
+[
+MAX_MESSAGES
+][
+FILENAME_MAXLEN
+];
+
+101 
+CHAR16
+       mchoo£r
+[
+FILENAME_MAXLEN
+];
+
+102 
+CHAR16
+       mcÚfig_f\9ee
+[
+FILENAME_MAXLEN
+];
+
+103 
+boÙ_image_t
+ *
+       mdeçuÉ_image
+;
+
+105 
+UINTN
+       m»adÚly
+;
+
+110 
+UINTN
+       m®t_check
+;
+
+111 
+UINTN
+       mdebug
+;
+
+112 
+UINTN
+       md\96ay
+;
+
+113 
+UINTN
+       m´om±
+;
+
+114 
+UINTN
+       mtimeout
+;
+
+115 
+UINTN
+       mv\94bo£
+;
+
+116 
+UINTN
+       medd30_no_fÜû
+;
+
+117 } 
+       tglob®_cÚfig_t
+;
+
+123 \e\19
+       s_cÚfig_ÝtiÚ_group
+ {
+
+124 \19
+_cÚfig_ÝtiÚ_group
+ *
+       mÃxt
+;
+
+125 
+cÚfig_ÝtiÚ_t
+ *
+       mÝtiÚs
+;
+
+126 
+UINTN
+       mÃÁr\9bs
+;
+
+127 } 
+       tcÚfig_ÝtiÚ_group_t
+;
+
+129 \18
+ÝtiÚ_aùiÚ_t
+       gdo_image
+, 
+       gdo_l\99\94®
+, 
+       gdo_ÝtiÚs
+;
+
+130 \18
+INTN
+check_v\94bos\99y
+(
+VOID
+ *), 
+check_choo£r
+(VOID *);
+
+132 \18
+glob®_cÚfig_t
+       gglob®_cÚfig
+;
+
+137 \18
+cÚfig_ÝtiÚ_t
+       gglob®_commÚ_ÝtiÚs
+[]={
+
+138 {
+OPT_STR
+, 
+OPT_GLOBAL
+, 
+L
+"deçuÉ", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+deçuÉ_image_Çme
+},
+
+139 {
+OPT_NUM
+, 
+OPT_GLOBAL
+, 
+L
+"timeout", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+timeout
+},
+
+140 {
+OPT_NUM
+, 
+OPT_GLOBAL
+, 
+L
+"d\96ay", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+d\96ay
+},
+
+141 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"debug", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+debug
+},
+
+142 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"´om±", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+´om±
+},
+
+143 {
+OPT_NUM
+, 
+OPT_GLOBAL
+, 
+L
+"v\94bo£", 
+NULL
+, 
+check_v\94bos\99y
+, &
+glob®_cÚfig
+.
+v\94bo£
+},
+
+144 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"roÙ", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+roÙ
+},
+
+145 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"»ad-Úly", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+»adÚly
+},
+
+146 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"nÛdd30", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+edd30_no_fÜû
+},
+
+147 {
+OPT_CMD
+, 
+OPT_GLOBAL
+, 
+L
+"­³nd", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+ÝtiÚs
+},
+
+148 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"\9a\99rd", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+\9a\99rd
+},
+
+149 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"vmm", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+vmcode
+},
+
+150 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"image", 
+do_image
+, 
+NULL
+, 
+Ýt_off£tof
+(
+kÇme
+)},
+
+151 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"check®t", 
+NULL
+, NULL, &
+glob®_cÚfig
+.
+®t_check
+},
+
+152 {
+OPT_STR
+, 
+OPT_GLOBAL
+, 
+L
+"choo£r", 
+NULL
+, 
+check_choo£r
+, 
+glob®_cÚfig
+.
+choo£r
+},
+
+153 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"mes§ge", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[0]},
+
+154 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f1", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[1]},
+
+155 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f2", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[2]},
+
+156 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f3", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[3]},
+
+157 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f4", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[4]},
+
+158 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f5", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[5]},
+
+159 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f6", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[6]},
+
+160 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f7", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[7]},
+
+161 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f8", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[8]},
+
+162 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f9", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[9]},
+
+163 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f10", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[10]},
+
+164 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f11", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[11]},
+
+165 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"f12", 
+NULL
+, NULL, 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[12]}
+
+168 \18
+cÚfig_ÝtiÚ_t
+       gimage_commÚ_ÝtiÚs
+[]={
+
+169 {
+OPT_FILE
+, 
+OPT_IMAGE
+, 
+L
+"roÙ", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+roÙ
+)},
+
+170 {
+OPT_BOOL
+, 
+OPT_IMAGE
+, 
+L
+"»ad-Úly", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+»adÚly
+)},
+
+171 {
+OPT_CMD
+, 
+OPT_IMAGE
+, 
+L
+"­³nd", 
+do_ÝtiÚs
+, 
+NULL
+, 
+Ýt_off£tof
+(
+ÝtiÚs
+)},
+
+172 {
+OPT_CMD
+, 
+OPT_IMAGE
+, 
+L
+"l\99\94®", 
+do_l\99\94®
+, 
+NULL
+, NULL},
+
+173 {
+OPT_FILE
+, 
+OPT_IMAGE
+, 
+L
+"\9a\99rd", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+\9a\99rd
+)},
+
+174 {
+OPT_FILE
+, 
+OPT_IMAGE
+, 
+L
+"vmm", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+vmcode
+)},
+
+175 {
+OPT_STR
+, 
+OPT_IMAGE
+, 
+L
+"Ïb\96", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+Ïb\96
+)},
+
+176 {
+OPT_FILE
+, 
+OPT_IMAGE
+, 
+L
+"image", 
+do_image
+, 
+NULL
+, 
+Ýt_off£tof
+(
+kÇme
+)},
+
+177 {
+OPT_STR
+, 
+OPT_IMAGE
+, 
+L
+"desü\9dtiÚ", 
+NULL
+, NULL, 
+Ýt_off£tof
+(
+desü\9dtiÚ
+)},
+
+180 \ 1
+       #OPTION_IS_GLOBAL
+(
+p
+è(Õ)->
+scÝe
+ =ð
+OPT_GLOBAL
+)
+
+       )
+
+181 \ 1
+       #OPTION_IS_IMG_SYS
+(
+p
+è(Õ)->
+scÝe
+ =ð
+OPT_IMAGE_SYS
+)
+
+       )
+
+183 \ 1
+       #CHAR_EOF
+ (
+CHAR16
+)-1
+
+       )
+
+184 \ 1
+       #CHAR_NUM0
+L
+'0'
+
+       )
+
+185 \ 1
+       #CHAR_NUM9
+L
+'9'
+
+       )
+
+187 \18
+UINTN
+       gl\9ae_num
+;
+
+188 \18
+INTN
+       gback
+;
+
+190 \18
+cÚfig_ÝtiÚ_group_t
+ *
+       gglob®_ÝtiÚ_li¡
+;
+
+191 \18
+cÚfig_ÝtiÚ_group_t
+ *
+       gimage_ÝtiÚ_li¡
+;
+
+194 \18
+cÚfig_ÝtiÚ_group_t
+ *
+       gcu¼\92t_ÝtiÚs
+;
+
+196 \18
+boÙ_image_t
+ *
+       gimage_li¡
+, *
+       gf\9c¡_image
+;
+
+197 \18
+boÙ_image_t
+ *
+       gcu¼\92t_img
+;
+
+199 \18
+INT8
+       gcÚfig_buf
+[
+CONFIG_BUFSIZE
+];
+
+200 \18
+UINTN
+       gbuf_max
+, 
+       gbuf_pos
+;
+
+202 \18
+fÝs_fd_t
+       gcÚfig_fd
+;
+
+204 \18
+VOID
+
+
+205 
+       $cÚfig_\94
+(
+CHAR16
+ *
+msg
+,...)
+
+207 
+va_li¡
+;
+
+208 \r
+UINTN
+       `_IPr\9at
+ (UINTN, UINTN, 
+SIMPLE_TEXT_OUTPUT_INTERFACE
+ *, 
+CHAR16
+ *, 
+CHAR8
+ *, 
+va_li¡
+);
+
+210 
+       `Pr\9at
+(
+L
+"ì\86\9a\90%d: ",
+l\9ae_num
+);
+
+212 
+       `va_¡¬t
+(
+,
+msg
+);
+
+213 
+       `_IPr\9at
+((
+UINTN
+)-1, (UINTN)-1, 
+sy¡ab
+->
+CÚOut
+, 
+msg
+, 
+NULL
+, 
+);
+
+214 
+       `va_\92d
+(
+);
+
+215 
+       `Pr\9at
+(
+L
+"\n");
+
+216 
+       }
+}
+
+229 \18
+CHAR16
+
+
+230 
+       $g\91c
+(
+VOID
+)
+
+232 
+EFI_STATUS
+¡©us
+;
+
+234 ià(
+buf_pos
+ =ð0 || buf_po =ð
+buf_max
+) {
+
+235 
+buf_max
+ = 
+CONFIG_BUFSIZE
+;
+
+236 
+¡©us
+ = 
+       `fÝs_»ad
+(
+cÚfig_fd
+, 
+cÚfig_buf
+, &
+buf_max
+);
+
+237 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+buf_max
+ =ð0è\15 
+CHAR_EOF
+;
+
+239 
+buf_pos
+ = 0;
+
+241 \15 (
+CHAR16
+)
+cÚfig_buf
+[
+buf_pos
+++];
+
+242 
+       }
+}
+
+249 \18
+CHAR16
+
+
+250 
+       $Ãxt
+(
+VOID
+)
+
+252 
+CHAR16
+ch
+;
+
+254 ià(
+back
+) {
+
+255 
+ch
+ = 
+back
+;
+
+256 
+back
+ = 0;
+
+257 \15 
+ch
+;
+
+259 \15 
+       `g\91c
+();
+
+260 
+       }
+}
+
+265 \18
+VOID
+
+
+266 
+       $aga\9a
+(
+CHAR16
+ch
+)
+
+268 ià(
+back
+è{ 
+       `cÚfig_\94
+(
+L
+"config:\87gain invoked\81wice"); }
+
+269 
+back
+ = 
+ch
+;
+
+270 
+       }
+}
+
+279 \18
+cÚfig_ÝtiÚ_t
+ *
+
+280 
+       $f\9ad_ÝtiÚ
+(
+cÚfig_ÝtiÚ_group_t
+ *
+g½
+, 
+CHAR16
+ *
+¡r
+)
+
+282 
+cÚfig_ÝtiÚ_t
+ *
+p
+ = 
+NULL
+;
+
+283 
+cÚfig_ÝtiÚ_t
+ *
+\92d
+;
+
+285 \1f
+g½
+) {
+
+286 
+p
+ = 
+g½
+->
+ÝtiÚs
+;
+
+287 
+\92d
+ = 
+g½
+->
+ÝtiÚs
++g½->
+ÃÁr\9bs
+;
+
+289 \1f
+p
+ !ð
+\92d
+) {
+
+290 ià(!
+       `S\8cCmp
+(
+¡r
+, 
+p
+->
+Çme
+)) \15\85;
+
+291 
+p
+++;
+
+293 
+g½
+ = g½->
+Ãxt
+;
+
+295 \15 
+NULL
+;
+
+296 
+       }
+}
+
+307 \18
+tok\92_t
+
+
+308 
+       $g\91_tok\92
+(
+CHAR16
+ *
+¡r
+, 
+UINTN
+maxËn
+)
+
+310 
+INTN
+ch
+, 
+esÿ³d
+;
+
+311 
+CHAR16
+ *
+h\94e
+;
+
+314 \1f(
+ch
+ = 
+       `Ãxt
+()), ch =ð' ' || ch =ð'\t' || ch =ð'\n'èià(ch =ð'\n'è
+l\9ae_num
+++;
+
+316 ià(
+ch
+ =ð
+CHAR_EOF
\15 
+TOK_EOF
+;
+
+318 ià(
+ch
+ != '#') \ 3;
+
+321 \1f(
+ch
+ = 
+       `Ãxt
+()), ch !ð'\n'èià(ch =ð
+CHAR_EOF
\15 
+TOK_EOF
+;
+
+322 
+l\9ae_num
+++;
+
+324 ià(
+ch
+ =ð'='è\15 
+TOK_EQUAL
+;
+
+326 ià(
+ch
+ == '"') {
+
+327 
+h\94e
+ = 
+¡r
+;
+
+328 \1f
+h\94e
+-
+¡r
+ < 
+maxËn
+) {
+
+329 ià((
+ch
+ = 
+       `Ãxt
+()è=ð
+CHAR_EOF
+) {
+
+330 
+       `cÚfig_\94
+(
+L
+"EOF in quoted string");
+
+331 \15 
+TOK_ERR
+;
+
+333 ià(
+ch
+ == '"') {
+
+334 *
+h\94e
+ = 0;
+
+335 \15 
+TOK_STR
+;
+
+337 ià(
+ch
+ == '\\') {
+
+338 
+ch
+ = 
+       `Ãxt
+();
+
+339 ià(
+ch
+ != '"' && ch != '\\' && ch != '\n') {
+
+340 
+       `cÚfig_\94
+(
+L
+"Bad use of \\ in quoted string");
+
+341 \15 
+TOK_ERR
+;
+
+343 ià(
+ch
+ == '\n') \ 6;
+
+345 \1f(
+ch
+ = 
+       `Ãxt
+()), ch == ' ' || ch == '\t');
+
+346 ià(!
+ch
+) \ 6;
+
+347 
+       `aga\9a
+(
+ch
+);
+
+348 
+ch
+ = ' ';
+
+352 ià(
+ch
+ == '\n' || ch == '\t') {
+
+353 
+       `cÚfig_\94
+(
+L
+"\\n\87nd \\t\87re\82ot\87llowed in quoted strings");
+
+354 \15 
+TOK_ERR
+;
+
+356 *
+h\94e
+++ = 
+ch
+;
+
+358 
+       `cÚfig_\94
+(
+L
+"Quoted string is\81oo\86ong");
+
+359 \15 
+TOK_ERR
+;
+
+360 
+       }
+}
+
+362 
+       gh\94e
+ = 
+¡r
+;
+
+363 
+       gesÿ³d
+ = 0;
+
+365 \1f
+       gh\94e
+-
+       g¡r
+ < 
+       gmaxËn
+) {
+
+366 ià(
+       gesÿ³d
+) {
+
+367 ià(
+       gch
+ =ð
+CHAR_EOF
+) {
+
+368 
+cÚfig_\94
+(
+L
+"\\\85recedes EOF");
+
+369 \15 
+       gTOK_ERR
+;
+
+371 ià(
+       gch
+ =ð'\n'è
+l\9ae_num
+++;
+
+372 \v*
+       gh\94e
+++ = 
+ch
+ == '\t' ? ' ' : ch;
+
+373 
+       gesÿ³d
+ = 0;
+
+376 ià(
+       gch
+ =ð' ' || 
+ch
+ == '\t' || ch == '\n' || ch == '#' ||
+
+377 
+ch
+ =ð'=' || ch =ð
+CHAR_EOF
+) {
+
+378 
+aga\9a
+(
+ch
+);
+
+379 *
+       gh\94e
+ = 0;
+
+380 \15 
+       gTOK_STR
+;
+
+382 ià(!(
+       gesÿ³d
+ = (
+ch
+ =ð'\\'))è*
+h\94e
+++ = ch;
+
+384 
+       gch
+ = 
+Ãxt
+();
+
+386 
+cÚfig_\94
+(
+L
+"Token is\81oo\86ong");
+
+387 \15 
+       gTOK_ERR
+;
+
+390 \18
+INTN
+
+
+391 
+       $image_check
+(
+boÙ_image_t
+ *
+img
+)
+
+393 
+boÙ_image_t
+ *
+b
+;
+
+395 ià(
+img
+ =ð
+NULL
+) \15 -1;
+
+398 ià(
+img
+->
+Ïb\96
+[0] == '\0') {
+
+399 
+       `cÚfig_\94
+(
+L
+"image has\82o\86abel");
+
+404 \ f
+b
+=
+image_li¡
+; b; b = b->
+Ãxt
+) {
+
+405 ià(
+img
+ =ð
+b
+) \ 6;
+
+406 ià(!
+       `S\8cCmp
+(
+img
+->
+Ïb\96
+, 
+b
+->label)) {
+
+407 
+       `cÚfig_\94
+(
+L
+"imag\90w\99h\86ab\96 % ®»ady def\9aed", 
+img
+->
+Ïb\96
+);
+
+412 
+       }
+}
+
+414 \18
+INTN
+
+
+415 
+       $glob®_check
+(
+VOID
+)
+
+418 
+       }
+}
+
+420 \18
+INTN
+
+
+421 
+       $f\9a®_check
+(
+VOID
+)
+
+423 
+boÙ_image_t
+ *
+b
+;
+
+425 ià(
+glob®_cÚfig
+.
+deçuÉ_image_Çme
+[0]) {
+
+426 \ f
+b
+=
+image_li¡
+; b; b = b->
+Ãxt
+) {
+
+427 ià(!
+       `S\8cCmp
+(
+b
+->
+Ïb\96
+, 
+glob®_cÚfig
+.
+deçuÉ_image_Çme
+)è\10
+found
+;
+
+429 
+       `cÚfig_\94
+(
+L
+"deçuÉ imag\90'%s'\82Ù def\9aed ", 
+glob®_cÚfig
+.
+deçuÉ_image_Çme
+);
+
+432 
+glob®_cÚfig
+.
+deçuÉ_image
+ = 
+f\9c¡_image
+;
+
+434 
+found
+:
+
+435 
+glob®_cÚfig
+.
+deçuÉ_image
+ = 
+b
+;
+
+437 
+       }
+}
+
+449 \18
+\9al\9ae
+VOID
+ *
+
+450 
+       $adju¡_po\9a\8br
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+455 ià(
+       `OPTION_IS_GLOBAL
+(
+p
+)è\15\85->
+d©a
+;
+
+457 ià(
+       `OPTION_IS_IMG_SYS
+(
+p
+)è\15 (
+VOID
+ *)((
+UINTN
+)&
+cu¼\92t_img
+->
+sys_img_Ýts
+ +\85->
+d©a
+);
+
+459 \15 (
+VOID
+ *)((
+UINTN
+)
+cu¼\92t_img
+ + 
+p
+->
+d©a
+);
+
+460 
+       }
+}
+
+465 \18
+INTN
+
+
+466 
+       $do_image
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+, 
+VOID
+ *
+¡r
+)
+
+468 
+boÙ_image_t
+ *
+img
+;
+
+477 ià(
+cu¼\92t_img
+) {
+
+478 ià(
+       `image_check
+(
+cu¼\92t_img
+) == -1) \15 -1;
+
+479 } \vià(
+       `glob®_check
+() == -1) \15 -1;
+
+481 
+img
+ = (
+boÙ_image_t
+ *)
+       `®loc
+(\17(boÙ_image_t), 
+EfiLßd\94D©a
+);
+
+482 ià(
+img
+ =ð
+NULL
+) \15 -1;
+
+484 
+       `Mem£t
+(
+img
+, 0, \17(
+boÙ_image_t
+));
+
+486 
+       `DBG_PRT
+((
+L
+"mu¡ dØimag\90Ú %s", (
+CHAR16
+ *)
+¡r
+));
+
+489 
+       `S\8cCpy
+(
+img
+->
+kÇme
+, 
+¡r
+);
+
+492 
+cu¼\92t_ÝtiÚs
+ = 
+image_ÝtiÚ_li¡
+;
+
+495 ià(
+image_li¡
+ =ð
+NULL
+f\9c¡_image
+ = 
+img
+;
+
+500 ià(
+image_li¡
+ =ð
+NULL
+)
+
+501 
+image_li¡
+ = 
+img
+;
+
+503 
+boÙ_image_t
+ * 
+p
+ = 
+image_li¡
+;
+
+505 \1f
+p
+->
+Ãxt
+)
+
+506 
+p
+ =\85->
+Ãxt
+;
+
+507 
+p
+->
+Ãxt
+ = 
+img
+;
+
+511 
+cu¼\92t_img
+ = 
+img
+;
+
+514 
+       }
+}
+
+521 \18
+INTN
+
+
+522 
+       $do_boޗn
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+524 
+INT8
+ *
+buf
+;
+
+526 
+buf
+ = 
+       `adju¡_po\9a\8br
+(
+p
+);
+
+528 ià(
+p
+->
+aùiÚ
\15\85->
+       `aùiÚ
+Õ, 
+NULL
+);
+
+531 *
+buf
+ = 1;
+
+534 
+       }
+}
+
+542 \18
+INTN
+
+
+543 
+       $do_l\99\94®
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+, 
+VOID
+ *
+¡r
+)
+
+548 
+       `S\8cCpy
+(
+cu¼\92t_img
+->
+ÝtiÚs
+, 
+¡r
+);
+
+550 
+cu¼\92t_img
+->
+l\99\94®
+ = 1;
+
+553 
+       }
+}
+
+555 \18
+INTN
+
+
+556 
+       $do_ÝtiÚs
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+, 
+VOID
+ *
+¡r
+)
+
+559 ià(
+cu¼\92t_img
+->
+l\99\94®
+) \15 0;
+
+564 
+       `S\8cCpy
+(
+cu¼\92t_img
+->
+ÝtiÚs
+, 
+¡r
+);
+
+567 
+       }
+}
+
+569 \18
+INTN
+
+
+570 
+       $do_num\94ic
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+572 
+CHAR16
+num¡r
+[
+MAX_STRING
+];
+
+573 
+CHAR16
+ *
+¡r
+;
+
+574 
+tok\92_t
+tok
+;
+
+575 
+UINTN
+ *
+buf
+;
+
+576 
+UINTN
+tmp
+;
+
+581 
+tok
+ = 
+       `g\91_tok\92
+(
+num¡r
+, 
+MAX_STRING
+);
+
+582 ià(
+tok
+ !ð
+TOK_EQUAL
+) {
+
+583 
+       `cÚfig_\94
+(
+L
+"O±iÚ % ex³ù ª\83qu® sigÇÈ+ v®ue", 
+p
+->
+Çme
+);
+
+591 
+tok
+ = 
+       `g\91_tok\92
+(
+num¡r
+, 
+MAX_STRING
+);
+
+592 ià(
+tok
+ !ð
+TOK_STR
+) {
+
+593 
+       `cÚfig_\94
+(
+L
+"O±iÚ % ex³ù ¨v®ue", 
+p
+->
+Çme
+);
+
+596 
+¡r
+ = 
+num¡r
+;
+
+601 ià(
+p
+->
+aùiÚ
\15\85->
+       `aùiÚ
+Õ, 
+¡r
+);
+
+606 ià(
+p
+->
+d©a
+ =ð
+NULL
+) \15 0;
+
+608 
+buf
+ = (
+UINTN
+ *)
+       `adju¡_po\9a\8br
+(
+p
+);
+
+610 \1f*
+¡r
+ && *¡¸>ð
+CHAR_NUM0
+ && *¡¸<ð
+CHAR_NUM9
+) str++;
+
+611 ià(*
+¡r
+) {
+
+612 
+       `cÚfig_\94
+(
+L
+"% i ex³ù\9ag\87\82um\94iødecim® v®ue", 
+p
+->
+Çme
+);
+
+616 
+tmp
+ = 
+       `Atoi
+(
+num¡r
+);
+
+618 ià(
+p
+->
+check
+ &&\85->
+       `check
+(&
+tmp
+) == -1) \15 -1;
+
+624 ià(*
+buf
+) {
+
+625 
+       `cÚfig_\94
+(
+L
+"ÝtiÚ % i ®»ady def\9aed iÀthi cÚ\8bxt", 
+p
+->
+Çme
+);
+
+629 *
+buf
+ = 
+tmp
+;
+
+632 
+       }
+}
+
+634 \18
+INTN
+
+
+635 
+       $check_v\94bos\99y
+(
+VOID
+ *
+d©a
+)
+
+637 
+UINTN
+ *
+v®
+ = (UINTN *)
+d©a
+;
+
+639 ià(*
+v®
+ > 5) {
+
+640 
+       `cÚfig_\94
+(
+L
+"V\94bos\99y\86ev\96 mu¡ b\90\9a [0-5]\87nd\82Ù %d", *
+v®
+);
+
+645 
+       }
+}
+
+652 \18
+INTN
+
+
+653 
+       $check_choo£r
+(
+VOID
+ *
+d©a
+)
+
+655 
+CHAR16
+ *
+choo£r
+ = (CHAR16 *)
+d©a
+;
+
+657 ià(
+       `exi¡_choo£r
+(
+choo£r
+) == -1) {
+
+658 
+       `cÚfig_\94
+(
+L
+"choo£¸% i unknown\n", 
+choo£r
+);
+
+662 
+       }
+}
+
+665 \18
+INTN
+
+
+666 
+       $do_¡r\9ag_cÜe
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+, 
+CHAR16
+ *
+¡r
+, 
+UINTN
+maxËn
+, CHAR16 *
+msg
+)
+
+668 
+tok\92_t
+tok
+;
+
+669 
+CHAR16
+ *
+buf
+;
+
+674 
+tok
+ = 
+       `g\91_tok\92
+(
+¡r
+, 
+maxËn
+);
+
+675 ià(
+tok
+ !ð
+TOK_EQUAL
+) {
+
+676 
+       `cÚfig_\94
+(
+L
+"O±iÚ % ex³ù ª\83qu® sigÇÈ+ %s", 
+p
+->
+Çme
+, 
+msg
+);
+
+683 
+tok
+ = 
+       `g\91_tok\92
+(
+¡r
+, 
+maxËn
+);
+
+684 ià(
+tok
+ !ð
+TOK_STR
+) {
+
+685 
+       `cÚfig_\94
+(
+L
+"O±iÚ % ex³ù %s", 
+p
+->
+Çme
+, 
+msg
+);
+
+693 ià(
+p
+->
+aùiÚ
\15\85->
+       `aùiÚ
+Õ, 
+¡r
+);
+
+698 ià(
+p
+->
+d©a
+ =ð
+NULL
+) \15 0;
+
+700 
+buf
+ = 
+       `adju¡_po\9a\8br
+(
+p
+);
+
+702 ià(*
+buf
+ !ð
+CHAR_NULL
+) {
+
+703 
+       `cÚfig_\94
+(
+L
+"'%s'\87Ì\97dy def\9aed", 
+p
+->
+Çme
+);
+
+706 ià(
+p
+->
+check
+ &&\85->
+       `check
+(
+¡r
+) == -1) \15 -1;
+
+711 
+       `S\8cCpy
+(
+buf
+, 
+¡r
+);
+
+714 
+       }
+}
+
+716 \18
+INTN
+
+
+717 
+       $do_¡r\9ag
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+719 
+CHAR16
+¡r
+[
+MAX_STRING
+];
+
+721 \15 
+       `do_¡r\9ag_cÜe
+(
+p
+, 
+¡r
+, 
+MAX_STRING
+, 
+L
+"string");
+
+722 
+       }
+}
+
+724 \18
+INTN
+
+
+725 
+       $do_f\9ee
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+727 
+CHAR16
+¡r
+[
+FILENAME_MAXLEN
+];
+
+729 \15 
+       `do_¡r\9ag_cÜe
+(
+p
+, 
+¡r
+, 
+FILENAME_MAXLEN
+, 
+L
+"filename");
+
+730 
+       }
+}
+
+733 \18
+INTN
+
+
+734 
+       $do_cmd
+(
+cÚfig_ÝtiÚ_t
+ *
+p
+)
+
+736 
+CHAR16
+¡r
+[
+CMDLINE_MAXLEN
+];
+
+737 \15 
+       `do_¡r\9ag_cÜe
+(
+p
+, 
+¡r
+, 
+CMDLINE_MAXLEN
+, 
+L
+"kernel options");
+
+738 
+       }
+}
+
+741 
+INTN
+
+
+742 
+       $cÚfig_·r£
+(
+VOID
+)
+
+744 
+CHAR16
+¡r
+[
+MAX_STRING
+];
+
+745 
+INTN
+»t
+ = -1;
+
+746 
+tok\92_t
+tok
+;
+
+747 
+cÚfig_ÝtiÚ_t
+ *
+p
+;
+
+750 
+tok
+ = 
+       `g\91_tok\92
+(
+¡r
+, 
+MAX_STRING
+);
+
+752 ià(
+tok
+ =ð
+TOK_EOF
+) \ 3;
+
+754 ià(
+tok
+ =ð
+TOK_ERR
+) \15 -1;
+
+756 iàÐ(
+p
+ = 
+       `f\9ad_ÝtiÚ
+(
+cu¼\92t_ÝtiÚs
+, 
+¡r
+)è=ð
+NULL
+) {
+
+757 
+       `cÚfig_\94
+(
+L
+"UnkowÀÝtiÚ %s", 
+¡r
+);
+
+762 
+»t
+ = -1;
+
+764 \1a
+p
+->
+ty³
+) {
+
+765 \ 4
+OPT_BOOL
+:
+
+766 
+»t
+ = 
+       `do_boޗn
+(
+p
+);
+
+768 \ 4
+OPT_STR
+:
+
+769 
+»t
+ = 
+       `do_¡r\9ag
+(
+p
+);
+
+771 \ 4
+OPT_NUM
+:
+
+772 
+»t
+ = 
+       `do_num\94ic
+(
+p
+);
+
+774 \ 4
+OPT_FILE
+:
+
+775 
+»t
+ = 
+       `do_f\9ee
+(
+p
+);
+
+777 \ 4
+OPT_CMD
+:
+
+778 
+»t
+ = 
+       `do_cmd
+(
+p
+);
+
+781 
+       `cÚfig_\94
+(
+L
+"UnkowÀÝtiÚ\81y³ %d", 
+p
+->
+ty³
+);
+
+783 ià(
+»t
+ =ð-1è\10
+\94
+;
+
+785 ià(
+cu¼\92t_img
+) {
+
+786 
+»t
+ = 
+       `image_check
+(
+cu¼\92t_img
+);
+
+788 
+       `cÚfig_\94
+(
+L
+"No image defined !");
+
+790 ià(
+»t
+ =ð0è»\88ð
+       `f\9a®_check
+();
+
+791 
+\94
+:
+
+792 \15 
+»t
+;
+
+793 
+       }
+}
+
+795 \18
+VOID
+
+
+796 
+       $upd©e_\96\9eo_Ýt
+(
+VOID
+)
+
+803 ià(
+glob®_cÚfig
+.
+®t_check
+\96\9eo_Ýt
+.alt_check = 1;
+
+805 ià(
+glob®_cÚfig
+.
+debug
+\96\9eo_Ýt
+.debug = 1;
+
+806 ià(
+glob®_cÚfig
+.
+´om±
+\96\9eo_Ýt
+.prompt = 1;
+
+813 ià(
+glob®_cÚfig
+.
+v\94bo£
+ && 
+\96\9eo_Ýt
+.verbose == 0)
+
+814 
+\96\9eo_Ýt
+.
+v\94bo£
+ = 
+glob®_cÚfig
+.verbose;
+
+816 ià(
+glob®_cÚfig
+.
+choo£r
+[0] && 
+\96\9eo_Ýt
+.chooser[0] == 0)
+
+817 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+choo£r
+, 
+glob®_cÚfig
+.chooser);
+
+823 ià(
+glob®_cÚfig
+.
+edd30_no_fÜû
+ && 
+\96\9eo_Ýt
+.edd30_no_force == 0)
+
+824 
+\96\9eo_Ýt
+.
+edd30_no_fÜû
+ = 1;
+
+830 ià(
+glob®_cÚfig
+.
+d\96ay
+ && 
+\96\9eo_Ýt
+.
+d\96ay_£t
+ == 0)
+
+831 
+\96\9eo_Ýt
+.
+d\96ay
+ = 
+glob®_cÚfig
+.delay;
+
+834 
+\96\9eo_Ýt
+.
+timeout
+ = 
+glob®_cÚfig
+.timeout;
+
+837 
+       }
+}
+
+843 
+CHAR16
+ *
+
+844 
+       $g\91_cÚfig_f\9ee
+(
+VOID
+)
+
+846 \15 
+glob®_cÚfig
+.
+cÚfig_f\9ee
+[0] ? glob®_cÚfig.cÚfig_f\9e\90
+NULL
+;
+
+847 
+       }
+}
+
+849 
+EFI_STATUS
+
+
+850 
+       $»ad_cÚfig
+(
+CHAR16
+ *
+f\9e\92ame
+)
+
+852 
+EFI_STATUS
+¡©us
+;
+
+853 
+INTN
+»t
+;
+
+855 ià(
+f\9e\92ame
+ =ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+857 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"\8cy\9ag cÚfig f\9e\90%s\n", 
+f\9e\92ame
+));
+
+859 
+       `S\8cCpy
+(
+glob®_cÚfig
+.
+cÚfig_f\9ee
+, 
+f\9e\92ame
+);
+
+861 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+f\9e\92ame
+, &
+cÚfig_fd
+);
+
+862 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+863 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"ÿÂÙ o³ÀcÚfig f\9e\90%s\n", 
+f\9e\92ame
+));
+
+864 \15 
+¡©us
+;
+
+869 
+l\9ae_num
+ = 1;
+
+871 
+»t
+ = 
+       `cÚfig_·r£
+();
+
+873 
+       `fÝs_þo£
+(
+cÚfig_fd
+);
+
+875 
+       `DBG_PRT
+((
+L
+"done\85arsing config file\n"));
+
+877 ià(
+»t
+ !ð0è\15 
+EFI_INVALID_PARAMETER
+;
+
+879 
+       `upd©e_\96\9eo_Ýt
+();
+
+881 \15 
+EFI_SUCCESS
+;
+
+882 
+       }
+}
+
+884 
+VOID
+
+
+885 
+       $´\9at_Ïb\96_li¡
+(
+VOID
+)
+
+887 
+boÙ_image_t
+ *
+img
+, *
+dæ
+ = 
+glob®_cÚfig
+.
+deçuÉ_image
+;
+
+889 ià(
+dæ
+       `Pr\9at
+(
+L
+"\t%s\n", dæ->
+Ïb\96
+);
+
+891 \ f
+img
+ = 
+image_li¡
+; img; img = img->
+Ãxt
+) {
+
+892 ià(
+img
+ !ð
+dæ
+       `Pr\9at
+(
+L
+"\t%s\n", img->
+Ïb\96
+);
+
+894 
+       }
+}
+
+902 
+VOID
+ *
+
+903 
+       $g\91_Ãxt_desü\9dtiÚ
+(
+VOID
+ *
+´ev
+, 
+CHAR16
+ **
+Ïb\96
+, CHAR16 **
+desü\9dtiÚ
+)
+
+905 
+boÙ_image_t
+ *
+img
+ = (boÙ_image_\88*)
+´ev
+;
+
+907 ià(
+img
+ =ð
+NULL
+)
+
+908 
+img
+ = 
+image_li¡
+;
+
+910 
+img
+ = img->
+Ãxt
+;
+
+912 ià(
+img
+) {
+
+913 *
+Ïb\96
+ = 
+img
+->label;
+
+914 *
+desü\9dtiÚ
+ = 
+img
+->description;
+
+915 \15 (\1e*)
+img
+;
+
+918 \15 
+NULL
+;
+
+919 
+       }
+}
+
+925 
+CHAR16
+ *
+
+926 
+       $f\9ad_desü\9dtiÚ
+(
+CHAR16
+ *
+Ïb\96
+)
+
+928 
+boÙ_image_t
+ *
+img
+;
+
+931 \ f
+img
+ = 
+image_li¡
+; img; img = img->
+Ãxt
+) {
+
+932 ià(
+       `S\8ciCmp
+(
+img
+->
+Ïb\96
+,\86abel) == 0) {
+
+933 \15 
+img
+->
+desü\9dtiÚ
+;
+
+936 \15 
+NULL
+;
+
+937 
+       }
+}
+
+939 
+INTN
+
+
+940 
+       $f\9ad_Ïb\96
+(
+CHAR16
+ *
+Ïb\96
+, CHAR16 *
+kÇme
+, CHAR16 *
+ÝtiÚs
+, CHAR16 *
+\9a\99rd
+, CHAR16 *
+vmcode
+)
+
+942 
+boÙ_image_t
+ *
+img
+;
+
+944 ià(
+Ïb\96
+ =ð
+NULL
+) {
+
+945 ià(
+glob®_cÚfig
+.
+deçuÉ_image
+ =ð
+NULL
+) \15 -1;
+
+946 
+img
+ = 
+glob®_cÚfig
+.
+deçuÉ_image
+;
+
+947 \10
+found
+;
+
+950 
+ÝtiÚs
+[0] = 0;
+
+953 \ f
+img
+ = 
+image_li¡
+; img; img = img->
+Ãxt
+) {
+
+954 ià(
+       `S\8ciCmp
+(
+img
+->
+Ïb\96
+,\86abel) == 0) {
+
+955 \10
+found
+;
+
+961 ià(
+glob®_cÚfig
+.
+roÙ
+[0]) {
+
+962 
+       `S\8cCpy
+(
+ÝtiÚs
+, 
+L
+"\84oot=");
+
+963 
+       `S\8c
+(
+ÝtiÚs
+, 
+glob®_cÚfig
+.
+roÙ
+);
+
+966 ià(
+glob®_cÚfig
+.
+ÝtiÚs
+[0]) {
+
+967 
+       `S\8c
+(
+ÝtiÚs
+, 
+L
+" ");
+
+968 
+       `S\8c
+(
+ÝtiÚs
+, 
+glob®_cÚfig
+.options);
+
+970 ià(
+glob®_cÚfig
+.
+»adÚly
+       `S\8c
+(
+ÝtiÚs
+, 
+L
+"\84o");
+
+972 ià(
+glob®_cÚfig
+.
+\9a\99rd
+[0]è
+       `S\8cCpy
+(initrd, global_config.initrd);
+
+973 ià(
+glob®_cÚfig
+.
+vmcode
+[0]è
+       `S\8cCpy
+(vmcode, global_config.vmcode);
+
+976 
+\96\9eo_Ýt
+.
+sys_img_Ýts
+ = 
+NULL
+;
+
+979 
+found
+:
+
+980 
+       `S\8cCpy
+(
+kÇme
+, 
+img
+->kname);
+
+987 ià(
+img
+->
+l\99\94®
+ == 0) {
+
+988 ià(
+img
+->
+roÙ
+[0] || 
+glob®_cÚfig
+.root[0]) {
+
+989 
+       `S\8c
+(
+ÝtiÚs
+, 
+L
+"root=");
+
+990 
+       `S\8c
+(
+ÝtiÚs
+, 
+img
+->
+roÙ
+[0] ? img->roÙ : 
+glob®_cÚfig
+.root);
+
+993 ià(
+img
+->
+ÝtiÚs
+[0] || 
+glob®_cÚfig
+.options[0]) {
+
+994 
+       `S\8c
+(
+ÝtiÚs
+, 
+L
+" ");
+
+995 
+       `S\8c
+(
+ÝtiÚs
+, 
+img
+->ÝtiÚs[0] ? img->ÝtiÚs: 
+glob®_cÚfig
+.options);
+
+997 ià(
+img
+->
+»adÚly
+ || 
+glob®_cÚfig
+.readonly) {
+
+998 
+       `S\8c
+(
+ÝtiÚs
+, 
+L
+"\84o");
+
+1002 
+       `S\8cCpy
+(
+ÝtiÚs
+, 
+img
+->options);
+
+1006 ià(
+img
+->
+\9a\99rd
+[0])
+
+1007 
+       `S\8cCpy
+(
+\9a\99rd
+, 
+img
+->initrd);
+
+1008 \vià(
+glob®_cÚfig
+.
+\9a\99rd
+[0])
+
+1009 
+       `S\8cCpy
+(
+\9a\99rd
+, 
+glob®_cÚfig
+.initrd);
+
+1011 ià(
+img
+->
+vmcode
+[0])
+
+1012 
+       `S\8cCpy
+(
+vmcode
+, 
+img
+->vmcode);
+
+1013 \vià(
+glob®_cÚfig
+.
+vmcode
+[0])
+
+1014 
+       `S\8cCpy
+(
+vmcode
+, 
+glob®_cÚfig
+.vmcode);
+
+1019 
+\96\9eo_Ýt
+.
+sys_img_Ýts
+ = &
+img
+->sys_img_opts;
+
+1021 
+       `DBG_PRT
+((
+L
+"Ïb\96 %s: kÇme=% ÝtiÚs=% \9a\99rd=% vmcode=%s", 
+img
+->
+Ïb\96
+, 
+kÇme
+, 
+ÝtiÚs
+, 
+\9a\99rd
+, 
+vmcode
+));
+
+1024 
+       }
+}
+
+1026 \18
+VOID
+
+
+1027 
+       $´\9at_ÝtiÚs
+(
+cÚfig_ÝtiÚ_group_t
+ *
+g½
+, 
+BOOLEAN
+f\9c¡
+)
+
+1029 
+cÚfig_ÝtiÚ_t
+ *
+\92d
+, *
+p
+;
+
+1030 
+CHAR16
+ *
+¡r
+;
+
+1032 \1f
+g½
+) {
+
+1033 
+p
+ = 
+g½
+->
+ÝtiÚs
+;
+
+1034 
+\92d
+ = 
+g½
+->
+ÝtiÚs
++g½->
+ÃÁr\9bs
+;
+
+1035 \1f
+p
+ !ð
+\92d
+) {
+
+1036 
+¡r
+ = 
+NULL
+;
+
+1037 \1a
+p
+->
+ty³
+) {
+
+1038 \ 4
+OPT_BOOL
+:
+
+1039 
+¡r
+ = 
+L
+"%s";
+
+1041 \ 4
+OPT_STR
+ :
+
+1042 
+¡r
+ = 
+L
+"%s=string";
+
+1044 \ 4
+OPT_FILE
+ :
+
+1045 
+¡r
+ = 
+L
+"%s=filename";
+
+1047 \ 4
+OPT_CMD
+ :
+
+1048 
+¡r
+ = 
+L
+"%s=kernel_options";
+
+1050 \ 4
+OPT_NUM
+ :
+
+1051 
+¡r
+ = 
+L
+"%s=number";
+
+1056 ià(
+¡r
+ && 
+f\9c¡
+ =ð
+FALSE
+       `Pr\9at
+(
+L
+", ");
+
+1057 ià(
+¡r
+       `Pr\9at
+(¡r, 
+p
+->
+Çme
+);
+
+1058 
+f\9c¡
+ = 
+FALSE
+;
+
+1059 
+p
+++;
+
+1061 
+g½
+ = g½->
+Ãxt
+;
+
+1063 
+       }
+}
+
+1066 
+VOID
+
+
+1067 
+       $´\9at_cÚfig_ÝtiÚs
+(
+VOID
+)
+
+1069 
+       `Pr\9at
+(
+L
+"Global options supported:\n");
+
+1071 
+       `´\9at_ÝtiÚs
+(
+glob®_ÝtiÚ_li¡
+, 
+TRUE
+);
+
+1072 
+       `Pr\9at
+(
+L
+"\n\n");
+
+1074 
+       `Pr\9at
+(
+L
+"Image options supported:\n");
+
+1075 
+       `´\9at_ÝtiÚs
+(
+image_ÝtiÚ_li¡
+, 
+TRUE
+);
+
+1076 
+       `Pr\9at
+(
+L
+"\n");
+
+1077 
+       }
+}
+
+1084 
+CHAR16
+ *
+
+1085 
+       $g\91_mes§ge_f\9e\92ame
+(
+INTN
+which
+)
+
+1087 ià(
+which
+ < 0 || which >ð
+MAX_MESSAGES
\15 
+NULL
+;
+
+1088 \15 
+glob®_cÚfig
+.
+mes§ge_f\9ee
+[
+which
+];
+
+1089 
+       }
+}
+
+1091 
+INTN
+
+
+1092 
+       $»gi¡\94_cÚfig_ÝtiÚs
+(
+cÚfig_ÝtiÚ_t
+ *
+Ýt
+, 
+UINTN
+n
+, 
+cÚfig_ÝtiÚ_group_scÝe_t
+group
+)
+
+1094 
+cÚfig_ÝtiÚ_group_t
+ *
+Ãwg½
+, **
+g½
+;
+
+1096 ià(
+Ýt
+ =ð
+NULL
+ || 
+n
+ =ð0 || (
+group
+ !ð
+OPTIONS_GROUP_GLOBAL
+ && grou°!ð
+OPTIONS_GROUP_IMAGE
+)) \15 -1;
+
+1098 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"»gi¡\94\9ag %d o±iÚ fÜ grou°%s\n", 
+n
+, 
+group
+ =ð
+OPTIONS_GROUP_GLOBAL
+ ? L"global" : L"image"));
+
+1100 
+Ãwg½
+ = 
+       `®loc
+(\17(
+cÚfig_ÝtiÚ_group_t
+), 
+EfiLßd\94D©a
+);
+
+1101 ià(
+Ãwg½
+ =ð
+NULL
+) \15 -1;
+
+1103 
+g½
+ = 
+group
+ =ð
+OPTIONS_GROUP_GLOBAL
+ ? &
+glob®_ÝtiÚ_li¡
+ : &
+image_ÝtiÚ_li¡
+;
+
+1105 ià(*
+g½
\1f(*g½)->
+Ãxt
+) grp = &(*grp)->next;
+
+1107 
+Ãwg½
+->
+ÝtiÚs
+ = 
+Ýt
+;
+
+1108 
+Ãwg½
+->
+Ãxt
+ = 
+NULL
+;
+
+1109 
+Ãwg½
+->
+ÃÁr\9bs
+ = 
+n
+;
+
+1111 ià(*
+g½
+) {
+
+1112 (*
+g½
+)->
+Ãxt
+ = 
+Ãwg½
+;
+
+1114 *
+g½
+ = 
+Ãwg½
+;
+
+1117 
+       }
+}
+
+1122 
+INTN
+
+
+1123 
+       $cÚfig_\9a\99
+(
+VOID
+)
+
+1125 
+INTN
+»t
+;
+
+1127 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+glob®_commÚ_ÝtiÚs
+,
+
+1128 \17(
+glob®_commÚ_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+1129 
+OPTIONS_GROUP_GLOBAL
+);
+
+1130 ià(
+»t
+ == -1) \15 -1;
+
+1132 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+image_commÚ_ÝtiÚs
+,
+
+1133 \17(
+image_commÚ_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+1134 
+OPTIONS_GROUP_IMAGE
+);
+
+1136 
+cu¼\92t_ÝtiÚs
+ = 
+glob®_ÝtiÚ_li¡
+;
+
+1138 \15 
+»t
+;
+
+1139 
+       }
+}
+
+       @config.h
+
+26 #iâdeà
+__ELILO_CONFIG_H__
+
+
+27 \ 1
+       #__ELILO_CONFIG_H__
+
+
+       )
+
+29 \ 1
+       #Ýt_off£tof
+(
+Ýt
+è(&((
+boÙ_image_t
+ *)(0x0))->Ýt)
+
+       )
+
+31 \e\92um { 
+       mOPT_NOTUSED
+, 
+       mOPT_STR
+, 
+       mOPT_CMD
+, 
+       mOPT_BOOL
+, 
+       mOPT_NUM
+, 
+       mOPT_FILE
+ } 
+       tcÚfig_ÝtiÚ_ty³_t
+;
+
+33 \e\92um { 
+       mOPT_GLOBAL
+,
+
+34 
+       mOPT_IMAGE
+,
+
+35 
+       mOPT_IMAGE_SYS
+
+
+36 } 
+       tcÚfig_ÝtiÚ_scÝe_t
+;
+
+38 \e\92um { 
+       mOPTIONS_GROUP_GLOBAL
+,
+
+39 
+       mOPTIONS_GROUP_IMAGE
+,
+
+40 } 
+       tcÚfig_ÝtiÚ_group_scÝe_t
+;
+
+42 \19
+       g_cÚfig_ÝtiÚ_t
+;
+
+43 \e
+INTN
+       tÝtiÚ_aùiÚ_t
+(\19
+       t_cÚfig_ÝtiÚ_t
+ *, 
+       tVOID
+ *);
+
+45 \e\19
+       s_cÚfig_ÝtiÚ_t
+ {
+
+46 
+cÚfig_ÝtiÚ_ty³_t
+       mty³
+;
+
+47 
+cÚfig_ÝtiÚ_scÝe_t
+       mscÝe
+;
+
+48 
+CHAR16
+ *
+       mÇme
+;
+
+49 
+ÝtiÚ_aùiÚ_t
+ *
+       maùiÚ
+;
+
+50 
+INTN
+ (*
+check
+)(\1e*);
+
+51 
+VOID
+ *
+       md©a
+;
+
+52 } 
+       tcÚfig_ÝtiÚ_t
+;
+
+54 \r
+INTN
+»gi¡\94_cÚfig_ÝtiÚs
+(
+cÚfig_ÝtiÚ_t
+ *
+Ýt
+, 
+UINTN
+ÃÁr\9bs
+, 
+cÚfig_ÝtiÚ_group_scÝe_t
+);
+
+       @devschemes/simple.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"f\9eeÝs.h
+"
+
+32 \ 1
+       #NAMING_SCHEME
+L
+"sim¶e"
+
+       )
+
+35 
+INT8
+       mty³
+;
+
+36 
+INT8
+       msubty³
+;
+
+37 
+INTN
+ (*
+deviû_func
+)(
+deviû_t
+ *
+       mdev
+, 
+EFI_DEVICE_PATH
+ *
+       mdp
+);
+
+38 } 
+       tdeviûs_ty³s_t
+;
+
+41 \18
+UINT32
+       g©­i_couÁ
+, 
+       gscsi_couÁ
+, 
+       gÃt_couÁ
+;
+
+43 \18
+INTN
+
+
+44 
+       $©­i_deviû
+(
+deviû_t
+ *
+dev
+, 
+EFI_DEVICE_PATH
+ *
+dp
+)
+
+48 
+dev
+->
+Çme
+[0] = 
+L
+'a';
+
+49 
+dev
+->
+Çme
+[1] = 
+L
+'t';
+
+50 
+dev
+->
+Çme
+[2] = 
+L
+'a';
+
+51 
+dev
+->
+Çme
+[3] = 
+L
+'p';
+
+52 
+dev
+->
+Çme
+[4] = 
+L
+'i';
+
+54 
+       `SPr\9at
+(
+dev
+->
+Çme
++5,
+FILEOPS_DEVNAME_MAXLEN
+-5-1, 
+L
+"%d", 
+©­i_couÁ
+);
+
+55 
+©­i_couÁ
+++;
+
+58 
+       }
+}
+
+60 \18
+INTN
+
+
+61 
+       $scsi_deviû
+(
+deviû_t
+ *
+dev
+, 
+EFI_DEVICE_PATH
+ *
+dp
+)
+
+65 
+dev
+->
+Çme
+[0] = 
+L
+'s';
+
+66 
+dev
+->
+Çme
+[1] = 
+L
+'c';
+
+67 
+dev
+->
+Çme
+[2] = 
+L
+'s';
+
+68 
+dev
+->
+Çme
+[3] = 
+L
+'i';
+
+70 
+       `SPr\9at
+(
+dev
+->
+Çme
++4, 
+FILEOPS_DEVNAME_MAXLEN
+-4-1, 
+L
+"%d", 
+scsi_couÁ
+);
+
+71 
+scsi_couÁ
+++;
+
+74 
+       }
+}
+
+76 \18
+INTN
+
+
+77 
+       $ÃtwÜk_deviû
+(
+deviû_t
+ *
+dev
+, 
+EFI_DEVICE_PATH
+ *
+dp
+)
+
+81 
+dev
+->
+Çme
+[0] = 
+L
+'n';
+
+82 
+dev
+->
+Çme
+[1] = 
+L
+'e';
+
+83 
+dev
+->
+Çme
+[2] = 
+L
+'t';
+
+85 
+       `SPr\9at
+(
+dev
+->
+Çme
++3, 
+FILEOPS_DEVNAME_MAXLEN
+-3-1, 
+L
+"%d", 
+Ãt_couÁ
+);
+
+86 
+Ãt_couÁ
+++;
+
+89 
+       }
+}
+
+94 \18
+deviûs_ty³s_t
+       gdev_ty³s
+[]={
+
+95 { 
+MESSAGING_DEVICE_PATH
+, 
+MSG_ATAPI_DP
+, 
+©­i_deviû
+},
+
+96 { 
+MESSAGING_DEVICE_PATH
+, 
+MSG_SCSI_DP
+, 
+scsi_deviû
+},
+
+97 { 
+MESSAGING_DEVICE_PATH
+, 
+MSG_MAC_ADDR_DP
+, 
+ÃtwÜk_deviû
+},
+
+98 { 0, 0 , 
+NULL
+}
+
+101 \18
+INTN
+
+
+102 
+       $sim¶e_scheme
+(
+deviû_t
+ *
+\8fb
+, 
+UINTN
+n
+)
+
+104 
+EFI_DEVICE_PATH
+ *
+dp1
+, *
+dp
+;
+
+105 
+deviûs_ty³s_t
+ *
+p
+;
+
+106 
+UINTN
+i
+;
+
+117 ià(
+\96\9eo_Ýt
+.
+edd30_Ú
+ == 0) {
+
+118 
+       `VERB_PRT
+(4, 
+       `Pr\9at
+(
+L
+"% deviû\82am\9ag schem\90Úly wÜk w\99h EDD3.0\83ÇbËd\n", 
+NAMING_SCHEME
+));
+
+122 \ f
+i
+=0; i < 
+n
+; i++) {
+
+123 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+\8fb
+[
+i
+].
+dev
+);
+
+124 ià(
+dp
+ =ð
+NULL
+) {
+
+125 
+       `ERR_PRT
+((
+L
+"ÿÂÙ g\91 deviû\85©h fÜ deviû %d", 
+i
+));
+
+128 
+dp1
+ = 
+dp
+ = 
+       `UÅackDeviûP©h
+(dp);
+
+130 \1f!
+       `IsDeviûP©hEnd
+(
+dp
+)) {
+
+131 
+p
+ = 
+dev_ty³s
+;
+
+132 \1f
+p
+->
+ty³
+) {
+
+133 iàÐ
+p
+->
+ty³
+ =ð
+       `DeviûP©hTy³
+(
+dp
+)
+
+134 && 
+p
+->
+subty³
+ =ð
+       `DeviûP©hSubTy³
+(
+dp
+)) {
+
+135 (*
+p
+->
+deviû_func
+)(
+\8fb
++
+i
+, 
+dp
+);
+
+136 \10
+dÚe
+;
+
+139 
+p
+++;
+
+141 
+dp
+ = 
+       `NextDeviûP©hNode
+(dp);
+
+143 
+dÚe
+:
+
+144 
+       `F»ePoÞ
+(
+dp1
+);
+
+147 
+       }
+}
+
+149 
+devÇme_scheme_t
+       gsim¶e_devÇme_scheme
+={
+
+150 
+NAMING_SCHEME
+,
+
+151 
+sim¶e_scheme
+
+
+       @elf.h
+
+29 #iâdeà
+__LINUX_ELF_H__
+
+
+30 \ 1
+       #__LINUX_ELF_H__
+
+
+       )
+
+36 \ 2
+       ~<efi.h
+>
+
+39 \e
+UINT32
+       tElf32_Addr
+;
+
+40 \e
+UINT16
+       tElf32_H®f
+;
+
+41 \e
+UINT32
+       tElf32_Off
+;
+
+42 \e
+INT32
+       tElf32_SwÜd
+;
+
+43 \e
+UINT32
+       tElf32_WÜd
+;
+
+46 \e
+UINT64
+       tElf64_Addr
+;
+
+47 \e
+UINT16
+       tElf64_H®f
+;
+
+48 \e
+INT16
+       tElf64_SH®f
+;
+
+49 \e
+UINT64
+       tElf64_Off
+;
+
+50 \e
+INT64
+       tElf64_SwÜd
+;
+
+51 \e
+UINT64
+       tElf64_WÜd
+;
+
+54 \ 1
+       #PT_NULL
+ 0
+
+       )
+
+55 \ 1
+       #PT_LOAD
+ 1
+
+       )
+
+56 \ 1
+       #PT_DYNAMIC
+ 2
+
+       )
+
+57 \ 1
+       #PT_INTERP
+ 3
+
+       )
+
+58 \ 1
+       #PT_NOTE
+ 4
+
+       )
+
+59 \ 1
+       #PT_SHLIB
+ 5
+
+       )
+
+60 \ 1
+       #PT_PHDR
+ 6
+
+       )
+
+61 \ 1
+       #PT_LOPROC
+ 0x70000000
+
+       )
+
+62 \ 1
+       #PT_HIPROC
+ 0x7fffffff
+
+       )
+
+63 \ 1
+       #PT_MIPS_REGINFO
+ 0x70000000
+
+       )
+
+66 \ 1
+       #EF_MIPS_NOREORDER
+ 0x00000001
+
+       )
+
+67 \ 1
+       #EF_MIPS_PIC
+ 0x00000002
+
+       )
+
+68 \ 1
+       #EF_MIPS_CPIC
+ 0x00000004
+
+       )
+
+69 \ 1
+       #EF_MIPS_ARCH
+ 0xf0000000
+
+       )
+
+72 \ 1
+       #ET_NONE
+ 0
+
+       )
+
+73 \ 1
+       #ET_REL
+ 1
+
+       )
+
+74 \ 1
+       #ET_EXEC
+ 2
+
+       )
+
+75 \ 1
+       #ET_DYN
+ 3
+
+       )
+
+76 \ 1
+       #ET_CORE
+ 4
+
+       )
+
+77 \ 1
+       #ET_LOPROC
+ 0xff00
+
+       )
+
+78 \ 1
+       #ET_HIPROC
+ 0xffff
+
+       )
+
+81 \ 1
+       #EM_NONE
+ 0
+
+       )
+
+82 \ 1
+       #EM_M32
+ 1
+
+       )
+
+83 \ 1
+       #EM_SPARC
+ 2
+
+       )
+
+84 \ 1
+       #EM_386
+ 3
+
+       )
+
+85 \ 1
+       #EM_68K
+ 4
+
+       )
+
+86 \ 1
+       #EM_88K
+ 5
+
+       )
+
+87 \ 1
+       #EM_486
+ 6
+
+       )
+
+88 \ 1
+       #EM_860
+ 7
+
+       )
+
+90 \ 1
+       #EM_MIPS
+ 8
+
+       )
+
+92 \ 1
+       #EM_MIPS_RS4_BE
+ 10
+
+       )
+
+94 \ 1
+       #EM_PARISC
+ 15
+
+       )
+
+96 \ 1
+       #EM_SPARC32PLUS
+ 18
+
+       )
+
+98 \ 1
+       #EM_PPC
+ 20
+
+       )
+
+100 \ 1
+       #EM_SH
+ 42
+
+       )
+
+102 \ 1
+       #EM_SPARCV9
+ 43
+
+       )
+
+104 \ 1
+       #EM_IA_64
+ 50
+
+       )
+
+110 \ 1
+       #EM_ALPHA
+ 0x9026
+
+       )
+
+114 \ 1
+       #DT_NULL
+ 0
+
+       )
+
+115 \ 1
+       #DT_NEEDED
+ 1
+
+       )
+
+116 \ 1
+       #DT_PLTRELSZ
+ 2
+
+       )
+
+117 \ 1
+       #DT_PLTGOT
+ 3
+
+       )
+
+118 \ 1
+       #DT_HASH
+ 4
+
+       )
+
+119 \ 1
+       #DT_STRTAB
+ 5
+
+       )
+
+120 \ 1
+       #DT_SYMTAB
+ 6
+
+       )
+
+121 \ 1
+       #DT_RELA
+ 7
+
+       )
+
+122 \ 1
+       #DT_RELASZ
+ 8
+
+       )
+
+123 \ 1
+       #DT_RELAENT
+ 9
+
+       )
+
+124 \ 1
+       #DT_STRSZ
+ 10
+
+       )
+
+125 \ 1
+       #DT_SYMENT
+ 11
+
+       )
+
+126 \ 1
+       #DT_INIT
+ 12
+
+       )
+
+127 \ 1
+       #DT_FINI
+ 13
+
+       )
+
+128 \ 1
+       #DT_SONAME
+ 14
+
+       )
+
+129 \ 1
+       #DT_RPATH
+ 15
+
+       )
+
+130 \ 1
+       #DT_SYMBOLIC
+ 16
+
+       )
+
+131 \ 1
+       #DT_REL
+ 17
+
+       )
+
+132 \ 1
+       #DT_RELSZ
+ 18
+
+       )
+
+133 \ 1
+       #DT_RELENT
+ 19
+
+       )
+
+134 \ 1
+       #DT_PLTREL
+ 20
+
+       )
+
+135 \ 1
+       #DT_DEBUG
+ 21
+
+       )
+
+136 \ 1
+       #DT_TEXTREL
+ 22
+
+       )
+
+137 \ 1
+       #DT_JMPREL
+ 23
+
+       )
+
+138 \ 1
+       #DT_LOPROC
+ 0x70000000
+
+       )
+
+139 \ 1
+       #DT_HIPROC
+ 0x7fffffff
+
+       )
+
+140 \ 1
+       #DT_MIPS_RLD_VERSION
+ 0x70000001
+
+       )
+
+141 \ 1
+       #DT_MIPS_TIME_STAMP
+ 0x70000002
+
+       )
+
+142 \ 1
+       #DT_MIPS_ICHECKSUM
+ 0x70000003
+
+       )
+
+143 \ 1
+       #DT_MIPS_IVERSION
+ 0x70000004
+
+       )
+
+144 \ 1
+       #DT_MIPS_FLAGS
+ 0x70000005
+
+       )
+
+145 \ 1
+       #RHF_NONE
+ 0
+
+       )
+
+146 \ 1
+       #RHF_HARDWAY
+ 1
+
+       )
+
+147 \ 1
+       #RHF_NOTPOT
+ 2
+
+       )
+
+148 \ 1
+       #DT_MIPS_BASE_ADDRESS
+ 0x70000006
+
+       )
+
+149 \ 1
+       #DT_MIPS_CONFLICT
+ 0x70000008
+
+       )
+
+150 \ 1
+       #DT_MIPS_LIBLIST
+ 0x70000009
+
+       )
+
+151 \ 1
+       #DT_MIPS_LOCAL_GOTNO
+ 0x7000000a
+
+       )
+
+152 \ 1
+       #DT_MIPS_CONFLICTNO
+ 0x7000000b
+
+       )
+
+153 \ 1
+       #DT_MIPS_LIBLISTNO
+ 0x70000010
+
+       )
+
+154 \ 1
+       #DT_MIPS_SYMTABNO
+ 0x70000011
+
+       )
+
+155 \ 1
+       #DT_MIPS_UNREFEXTNO
+ 0x70000012
+
+       )
+
+156 \ 1
+       #DT_MIPS_GOTSYM
+ 0x70000013
+
+       )
+
+157 \ 1
+       #DT_MIPS_HIPAGENO
+ 0x70000014
+
+       )
+
+158 \ 1
+       #DT_MIPS_RLD_MAP
+ 0x70000016
+
+       )
+
+161 \ 1
+       #STB_LOCAL
+ 0
+
+       )
+
+162 \ 1
+       #STB_GLOBAL
+ 1
+
+       )
+
+163 \ 1
+       #STB_WEAK
+ 2
+
+       )
+
+165 \ 1
+       #STT_NOTYPE
+ 0
+
+       )
+
+166 \ 1
+       #STT_OBJECT
+ 1
+
+       )
+
+167 \ 1
+       #STT_FUNC
+ 2
+
+       )
+
+168 \ 1
+       #STT_SECTION
+ 3
+
+       )
+
+169 \ 1
+       #STT_FILE
+ 4
+
+       )
+
+171 \ 1
+       #ELF32_ST_BIND
+(
+x
+è((xè>> 4)
+
+       )
+
+172 \ 1
+       #ELF32_ST_TYPE
+(
+x
+è(((\1d\12èxè& 0xf)
+
+       )
+
+176 \ 1
+       #AT_NULL
+ 0
+
+       )
+
+177 \ 1
+       #AT_IGNORE
+ 1
+
+       )
+
+178 \ 1
+       #AT_EXECFD
+ 2
+
+       )
+
+179 \ 1
+       #AT_PHDR
+ 3
+
+       )
+
+180 \ 1
+       #AT_PHENT
+ 4
+
+       )
+
+181 \ 1
+       #AT_PHNUM
+ 5
+
+       )
+
+182 \ 1
+       #AT_PAGESZ
+ 6
+
+       )
+
+183 \ 1
+       #AT_BASE
+ 7
+
+       )
+
+184 \ 1
+       #AT_FLAGS
+ 8
+
+       )
+
+185 \ 1
+       #AT_ENTRY
+ 9
+
+       )
+
+186 \ 1
+       #AT_NOTELF
+ 10
+
+       )
+
+187 \ 1
+       #AT_UID
+ 11
+
+       )
+
+188 \ 1
+       #AT_EUID
+ 12
+
+       )
+
+189 \ 1
+       #AT_GID
+ 13
+
+       )
+
+190 \ 1
+       #AT_EGID
+ 14
+
+       )
+
+191 \ 1
+       #AT_PLATFORM
+ 15
+
+       )
+
+192 \ 1
+       #AT_HWCAP
+ 16
+
+       )
+
+194 \e\19
+       sdyÇmic
+{
+
+195 
+Elf32_SwÜd
+       md_\8fg
+;
+
+197 
+Elf32_SwÜd
+       md_v®
+;
+
+198 
+Elf32_Addr
+       md_±r
+;
+
+199 } 
+       md_un
+;
+
+200 } 
+       tElf32_Dyn
+;
+
+203 
+Elf64_WÜd
+       md_\8fg
+;
+
+205 
+Elf64_WÜd
+       md_v®
+;
+
+206 
+Elf64_WÜd
+       md_±r
+;
+
+207 } 
+       md_un
+;
+
+208 } 
+       tElf64_Dyn
+;
+
+211 \ 1
+       #ELF32_R_SYM
+(
+x
+è((xè>> 8)
+
+       )
+
+212 \ 1
+       #ELF32_R_TYPE
+(
+x
+è((xè& 0xff)
+
+       )
+
+214 \ 1
+       #R_386_NONE
+ 0
+
+       )
+
+215 \ 1
+       #R_386_32
+ 1
+
+       )
+
+216 \ 1
+       #R_386_PC32
+ 2
+
+       )
+
+217 \ 1
+       #R_386_GOT32
+ 3
+
+       )
+
+218 \ 1
+       #R_386_PLT32
+ 4
+
+       )
+
+219 \ 1
+       #R_386_COPY
+ 5
+
+       )
+
+220 \ 1
+       #R_386_GLOB_DAT
+ 6
+
+       )
+
+221 \ 1
+       #R_386_JMP_SLOT
+ 7
+
+       )
+
+222 \ 1
+       #R_386_RELATIVE
+ 8
+
+       )
+
+223 \ 1
+       #R_386_GOTOFF
+ 9
+
+       )
+
+224 \ 1
+       #R_386_GOTPC
+ 10
+
+       )
+
+225 \ 1
+       #R_386_NUM
+ 11
+
+       )
+
+227 \ 1
+       #R_MIPS_NONE
+ 0
+
+       )
+
+228 \ 1
+       #R_MIPS_16
+ 1
+
+       )
+
+229 \ 1
+       #R_MIPS_32
+ 2
+
+       )
+
+230 \ 1
+       #R_MIPS_REL32
+ 3
+
+       )
+
+231 \ 1
+       #R_MIPS_26
+ 4
+
+       )
+
+232 \ 1
+       #R_MIPS_HI16
+ 5
+
+       )
+
+233 \ 1
+       #R_MIPS_LO16
+ 6
+
+       )
+
+234 \ 1
+       #R_MIPS_GPREL16
+ 7
+
+       )
+
+235 \ 1
+       #R_MIPS_LITERAL
+ 8
+
+       )
+
+236 \ 1
+       #R_MIPS_GOT16
+ 9
+
+       )
+
+237 \ 1
+       #R_MIPS_PC16
+ 10
+
+       )
+
+238 \ 1
+       #R_MIPS_CALL16
+ 11
+
+       )
+
+239 \ 1
+       #R_MIPS_GPREL32
+ 12
+
+       )
+
+242 \ 1
+       #R_MIPS_UNUSED1
+ 13
+
+       )
+
+243 \ 1
+       #R_MIPS_UNUSED2
+ 14
+
+       )
+
+244 \ 1
+       #R_MIPS_UNUSED3
+ 15
+
+       )
+
+245 \ 1
+       #R_MIPS_SHIFT5
+ 16
+
+       )
+
+246 \ 1
+       #R_MIPS_SHIFT6
+ 17
+
+       )
+
+247 \ 1
+       #R_MIPS_64
+ 18
+
+       )
+
+248 \ 1
+       #R_MIPS_GOT_DISP
+ 19
+
+       )
+
+249 \ 1
+       #R_MIPS_GOT_PAGE
+ 20
+
+       )
+
+250 \ 1
+       #R_MIPS_GOT_OFST
+ 21
+
+       )
+
+255 \ 1
+       #R_MIPS_GOTHI16
+ 22
+
+       )
+
+256 \ 1
+       #R_MIPS_GOTLO16
+ 23
+
+       )
+
+257 \ 1
+       #R_MIPS_SUB
+ 24
+
+       )
+
+258 \ 1
+       #R_MIPS_INSERT_A
+ 25
+
+       )
+
+259 \ 1
+       #R_MIPS_INSERT_B
+ 26
+
+       )
+
+260 \ 1
+       #R_MIPS_DELETE
+ 27
+
+       )
+
+261 \ 1
+       #R_MIPS_HIGHER
+ 28
+
+       )
+
+262 \ 1
+       #R_MIPS_HIGHEST
+ 29
+
+       )
+
+267 \ 1
+       #R_MIPS_CALLHI16
+ 30
+
+       )
+
+268 \ 1
+       #R_MIPS_CALLLO16
+ 31
+
+       )
+
+272 \ 1
+       #R_MIPS_LOVENDOR
+ 100
+
+       )
+
+273 \ 1
+       #R_MIPS_HIVENDOR
+ 127
+
+       )
+
+279 \ 1
+       #R_SPARC_NONE
+ 0
+
+       )
+
+280 \ 1
+       #R_SPARC_8
+ 1
+
+       )
+
+281 \ 1
+       #R_SPARC_16
+ 2
+
+       )
+
+282 \ 1
+       #R_SPARC_32
+ 3
+
+       )
+
+283 \ 1
+       #R_SPARC_DISP8
+ 4
+
+       )
+
+284 \ 1
+       #R_SPARC_DISP16
+ 5
+
+       )
+
+285 \ 1
+       #R_SPARC_DISP32
+ 6
+
+       )
+
+286 \ 1
+       #R_SPARC_WDISP30
+ 7
+
+       )
+
+287 \ 1
+       #R_SPARC_WDISP22
+ 8
+
+       )
+
+288 \ 1
+       #R_SPARC_HI22
+ 9
+
+       )
+
+289 \ 1
+       #R_SPARC_22
+ 10
+
+       )
+
+290 \ 1
+       #R_SPARC_13
+ 11
+
+       )
+
+291 \ 1
+       #R_SPARC_LO10
+ 12
+
+       )
+
+292 \ 1
+       #R_SPARC_GOT10
+ 13
+
+       )
+
+293 \ 1
+       #R_SPARC_GOT13
+ 14
+
+       )
+
+294 \ 1
+       #R_SPARC_GOT22
+ 15
+
+       )
+
+295 \ 1
+       #R_SPARC_PC10
+ 16
+
+       )
+
+296 \ 1
+       #R_SPARC_PC22
+ 17
+
+       )
+
+297 \ 1
+       #R_SPARC_WPLT30
+ 18
+
+       )
+
+298 \ 1
+       #R_SPARC_COPY
+ 19
+
+       )
+
+299 \ 1
+       #R_SPARC_GLOB_DAT
+ 20
+
+       )
+
+300 \ 1
+       #R_SPARC_JMP_SLOT
+ 21
+
+       )
+
+301 \ 1
+       #R_SPARC_RELATIVE
+ 22
+
+       )
+
+302 \ 1
+       #R_SPARC_UA32
+ 23
+
+       )
+
+303 \ 1
+       #R_SPARC_PLT32
+ 24
+
+       )
+
+304 \ 1
+       #R_SPARC_HIPLT22
+ 25
+
+       )
+
+305 \ 1
+       #R_SPARC_LOPLT10
+ 26
+
+       )
+
+306 \ 1
+       #R_SPARC_PCPLT32
+ 27
+
+       )
+
+307 \ 1
+       #R_SPARC_PCPLT22
+ 28
+
+       )
+
+308 \ 1
+       #R_SPARC_PCPLT10
+ 29
+
+       )
+
+309 \ 1
+       #R_SPARC_10
+ 30
+
+       )
+
+310 \ 1
+       #R_SPARC_11
+ 31
+
+       )
+
+311 \ 1
+       #R_SPARC_WDISP16
+ 40
+
+       )
+
+312 \ 1
+       #R_SPARC_WDISP19
+ 41
+
+       )
+
+313 \ 1
+       #R_SPARC_7
+ 43
+
+       )
+
+314 \ 1
+       #R_SPARC_5
+ 44
+
+       )
+
+315 \ 1
+       #R_SPARC_6
+ 45
+
+       )
+
+319 \ 1
+       #HWCAP_SPARC_FLUSH
+ 1
+
+       )
+
+320 \ 1
+       #HWCAP_SPARC_STBAR
+ 2
+
+       )
+
+321 \ 1
+       #HWCAP_SPARC_SWAP
+ 4
+
+       )
+
+322 \ 1
+       #HWCAP_SPARC_MULDIV
+ 8
+
+       )
+
+323 \ 1
+       #HWCAP_SPARC_V9
+ 16
+
+       )
+
+329 \ 1
+       #R_68K_NONE
+ 0
+
+       )
+
+330 \ 1
+       #R_68K_32
+ 1
+
+       )
+
+331 \ 1
+       #R_68K_16
+ 2
+
+       )
+
+332 \ 1
+       #R_68K_8
+ 3
+
+       )
+
+333 \ 1
+       #R_68K_PC32
+ 4
+
+       )
+
+334 \ 1
+       #R_68K_PC16
+ 5
+
+       )
+
+335 \ 1
+       #R_68K_PC8
+ 6
+
+       )
+
+336 \ 1
+       #R_68K_GOT32
+ 7
+
+       )
+
+337 \ 1
+       #R_68K_GOT16
+ 8
+
+       )
+
+338 \ 1
+       #R_68K_GOT8
+ 9
+
+       )
+
+339 \ 1
+       #R_68K_GOT32O
+ 10
+
+       )
+
+340 \ 1
+       #R_68K_GOT16O
+ 11
+
+       )
+
+341 \ 1
+       #R_68K_GOT8O
+ 12
+
+       )
+
+342 \ 1
+       #R_68K_PLT32
+ 13
+
+       )
+
+343 \ 1
+       #R_68K_PLT16
+ 14
+
+       )
+
+344 \ 1
+       #R_68K_PLT8
+ 15
+
+       )
+
+345 \ 1
+       #R_68K_PLT32O
+ 16
+
+       )
+
+346 \ 1
+       #R_68K_PLT16O
+ 17
+
+       )
+
+347 \ 1
+       #R_68K_PLT8O
+ 18
+
+       )
+
+348 \ 1
+       #R_68K_COPY
+ 19
+
+       )
+
+349 \ 1
+       #R_68K_GLOB_DAT
+ 20
+
+       )
+
+350 \ 1
+       #R_68K_JMP_SLOT
+ 21
+
+       )
+
+351 \ 1
+       #R_68K_RELATIVE
+ 22
+
+       )
+
+356 \ 1
+       #R_ALPHA_NONE
+ 0
+
+       )
+
+357 \ 1
+       #R_ALPHA_REFLONG
+ 1
+
+       )
+
+358 \ 1
+       #R_ALPHA_REFQUAD
+ 2
+
+       )
+
+359 \ 1
+       #R_ALPHA_GPREL32
+ 3
+
+       )
+
+360 \ 1
+       #R_ALPHA_LITERAL
+ 4
+
+       )
+
+361 \ 1
+       #R_ALPHA_LITUSE
+ 5
+
+       )
+
+362 \ 1
+       #R_ALPHA_GPDISP
+ 6
+
+       )
+
+363 \ 1
+       #R_ALPHA_BRADDR
+ 7
+
+       )
+
+364 \ 1
+       #R_ALPHA_HINT
+ 8
+
+       )
+
+365 \ 1
+       #R_ALPHA_SREL16
+ 9
+
+       )
+
+366 \ 1
+       #R_ALPHA_SREL32
+ 10
+
+       )
+
+367 \ 1
+       #R_ALPHA_SREL64
+ 11
+
+       )
+
+368 \ 1
+       #R_ALPHA_OP_PUSH
+ 12
+
+       )
+
+369 \ 1
+       #R_ALPHA_OP_STORE
+ 13
+
+       )
+
+370 \ 1
+       #R_ALPHA_OP_PSUB
+ 14
+
+       )
+
+371 \ 1
+       #R_ALPHA_OP_PRSHIFT
+ 15
+
+       )
+
+372 \ 1
+       #R_ALPHA_GPVALUE
+ 16
+
+       )
+
+373 \ 1
+       #R_ALPHA_GPRELHIGH
+ 17
+
+       )
+
+374 \ 1
+       #R_ALPHA_GPRELLOW
+ 18
+
+       )
+
+375 \ 1
+       #R_ALPHA_IMMED_GP_16
+ 19
+
+       )
+
+376 \ 1
+       #R_ALPHA_IMMED_GP_HI32
+ 20
+
+       )
+
+377 \ 1
+       #R_ALPHA_IMMED_SCN_HI32
+ 21
+
+       )
+
+378 \ 1
+       #R_ALPHA_IMMED_BR_HI32
+ 22
+
+       )
+
+379 \ 1
+       #R_ALPHA_IMMED_LO32
+ 23
+
+       )
+
+380 \ 1
+       #R_ALPHA_COPY
+ 24
+
+       )
+
+381 \ 1
+       #R_ALPHA_GLOB_DAT
+ 25
+
+       )
+
+382 \ 1
+       #R_ALPHA_JMP_SLOT
+ 26
+
+       )
+
+383 \ 1
+       #R_ALPHA_RELATIVE
+ 27
+
+       )
+
+387 \ 1
+       #EF_ALPHA_32BIT
+ 1
+
+       )
+
+390 \e\19
+       s\96f32_»l
+ {
+
+391 
+Elf32_Addr
+       mr_off£t
+;
+
+392 
+Elf32_WÜd
+       mr_\9afo
+;
+
+393 } 
+       tElf32_R\96
+;
+
+395 \e\19
+       s\96f64_»l
+ {
+
+396 
+Elf64_Addr
+       mr_off£t
+;
+
+397 
+Elf64_WÜd
+       mr_\9afo
+;
+
+398 } 
+       tElf64_R\96
+;
+
+400 \e\19
+       s\96f32_»Ï
+{
+
+401 
+Elf32_Addr
+       mr_off£t
+;
+
+402 
+Elf32_WÜd
+       mr_\9afo
+;
+
+403 
+Elf32_SwÜd
+       mr_add\92d
+;
+
+404 } 
+       tElf32_R\96a
+;
+
+406 \e\19
+       s\96f64_»Ï
+ {
+
+407 
+Elf64_Addr
+       mr_off£t
+;
+
+408 
+Elf64_WÜd
+       mr_\9afo
+;
+
+409 
+Elf64_WÜd
+       mr_add\92d
+;
+
+410 } 
+       tElf64_R\96a
+;
+
+412 \e\19
+       s\96f32_sym
+{
+
+413 
+Elf32_WÜd
+       m¡_Çme
+;
+
+414 
+Elf32_Addr
+       m¡_v®ue
+;
+
+415 
+Elf32_WÜd
+       m¡_size
+;
+
+416 \1d\ 5
+       m¡_\9afo
+;
+
+417 \1d\ 5
+       m¡_Ùh\94
+;
+
+418 
+Elf32_H®f
+       m¡_shndx
+;
+
+419 } 
+       tElf32_Sym
+;
+
+421 \e\19
+       s\96f64_sym
+ {
+
+422 
+Elf32_WÜd
+       m¡_Çme
+;
+
+423 \1d\ 5
+       m¡_\9afo
+;
+
+424 \1d\ 5
+       m¡_Ùh\94
+;
+
+425 
+Elf64_H®f
+       m¡_shndx
+;
+
+426 
+Elf64_Addr
+       m¡_v®ue
+;
+
+427 
+Elf64_WÜd
+       m¡_size
+;
+
+428 } 
+       tElf64_Sym
+;
+
+431 \ 1
+       #EI_NIDENT
+ 16
+
+       )
+
+433 \e\19
+       s\96f32_hdr
+{
+
+434 \1d\ 5
+       me_id\92t
+[
+EI_NIDENT
+];
+
+435 
+Elf32_H®f
+       me_ty³
+;
+
+436 
+Elf32_H®f
+       me_mach\9ae
+;
+
+437 
+Elf32_WÜd
+       me_v\94siÚ
+;
+
+438 
+Elf32_Addr
+       me_\92\8cy
+;
+
+439 
+Elf32_Off
+       me_phoff
+;
+
+440 
+Elf32_Off
+       me_shoff
+;
+
+441 
+Elf32_WÜd
+       me_æags
+;
+
+442 
+Elf32_H®f
+       me_ehsize
+;
+
+443 
+Elf32_H®f
+       me_ph\92tsize
+;
+
+444 
+Elf32_H®f
+       me_phnum
+;
+
+445 
+Elf32_H®f
+       me_sh\92tsize
+;
+
+446 
+Elf32_H®f
+       me_shnum
+;
+
+447 
+Elf32_H®f
+       me_sh¡ºdx
+;
+
+448 } 
+       tElf32_Ehdr
+;
+
+450 \e\19
+       s\96f64_hdr
+ {
+
+451 \1d\ 5
+       me_id\92t
+[16];
+
+452 
+Elf64_SH®f
+       me_ty³
+;
+
+453 
+Elf64_H®f
+       me_mach\9ae
+;
+
+454 
+INT32
+       me_v\94siÚ
+;
+
+455 
+Elf64_Addr
+       me_\92\8cy
+;
+
+456 
+Elf64_Off
+       me_phoff
+;
+
+457 
+Elf64_Off
+       me_shoff
+;
+
+458 
+INT32
+       me_æags
+;
+
+459 
+Elf64_SH®f
+       me_ehsize
+;
+
+460 
+Elf64_SH®f
+       me_ph\92tsize
+;
+
+461 
+Elf64_SH®f
+       me_phnum
+;
+
+462 
+Elf64_SH®f
+       me_sh\92tsize
+;
+
+463 
+Elf64_SH®f
+       me_shnum
+;
+
+464 
+Elf64_SH®f
+       me_sh¡ºdx
+;
+
+465 } 
+       tElf64_Ehdr
+;
+
+469 \ 1
+       #PF_R
+ 0x4
+
+       )
+
+470 \ 1
+       #PF_W
+ 0x2
+
+       )
+
+471 \ 1
+       #PF_X
+ 0x1
+
+       )
+
+473 \e\19
+       s\96f32_phdr
+{
+
+474 
+Elf32_WÜd
+       mp_ty³
+;
+
+475 
+Elf32_Off
+       mp_off£t
+;
+
+476 
+Elf32_Addr
+       mp_vaddr
+;
+
+477 
+Elf32_Addr
+       mp_·ddr
+;
+
+478 
+Elf32_WÜd
+       mp_f\9eesz
+;
+
+479 
+Elf32_WÜd
+       mp_memsz
+;
+
+480 
+Elf32_WÜd
+       mp_æags
+;
+
+481 
+Elf32_WÜd
+       mp_®ign
+;
+
+482 } 
+       tElf32_Phdr
+;
+
+484 \e\19
+       s\96f64_phdr
+ {
+
+485 
+INT32
+       mp_ty³
+;
+
+486 
+INT32
+       mp_æags
+;
+
+487 
+Elf64_Off
+       mp_off£t
+;
+
+488 
+Elf64_Addr
+       mp_vaddr
+;
+
+489 
+Elf64_Addr
+       mp_·ddr
+;
+
+490 
+Elf64_WÜd
+       mp_f\9eesz
+;
+
+491 
+Elf64_WÜd
+       mp_memsz
+;
+
+492 
+Elf64_WÜd
+       mp_®ign
+;
+
+493 } 
+       tElf64_Phdr
+;
+
+496 \ 1
+       #SHT_NULL
+ 0
+
+       )
+
+497 \ 1
+       #SHT_PROGBITS
+ 1
+
+       )
+
+498 \ 1
+       #SHT_SYMTAB
+ 2
+
+       )
+
+499 \ 1
+       #SHT_STRTAB
+ 3
+
+       )
+
+500 \ 1
+       #SHT_RELA
+ 4
+
+       )
+
+501 \ 1
+       #SHT_HASH
+ 5
+
+       )
+
+502 \ 1
+       #SHT_DYNAMIC
+ 6
+
+       )
+
+503 \ 1
+       #SHT_NOTE
+ 7
+
+       )
+
+504 \ 1
+       #SHT_NOBITS
+ 8
+
+       )
+
+505 \ 1
+       #SHT_REL
+ 9
+
+       )
+
+506 \ 1
+       #SHT_SHLIB
+ 10
+
+       )
+
+507 \ 1
+       #SHT_DYNSYM
+ 11
+
+       )
+
+508 \ 1
+       #SHT_NUM
+ 12
+
+       )
+
+509 \ 1
+       #SHT_LOPROC
+ 0x70000000
+
+       )
+
+510 \ 1
+       #SHT_HIPROC
+ 0x7fffffff
+
+       )
+
+511 \ 1
+       #SHT_LOUSER
+ 0x80000000
+
+       )
+
+512 \ 1
+       #SHT_HIUSER
+ 0xffffffff
+
+       )
+
+513 \ 1
+       #SHT_MIPS_LIST
+ 0x70000000
+
+       )
+
+514 \ 1
+       #SHT_MIPS_CONFLICT
+ 0x70000002
+
+       )
+
+515 \ 1
+       #SHT_MIPS_GPTAB
+ 0x70000003
+
+       )
+
+516 \ 1
+       #SHT_MIPS_UCODE
+ 0x70000004
+
+       )
+
+519 \ 1
+       #SHF_WRITE
+ 0x1
+
+       )
+
+520 \ 1
+       #SHF_ALLOC
+ 0x2
+
+       )
+
+521 \ 1
+       #SHF_EXECINSTR
+ 0x4
+
+       )
+
+522 \ 1
+       #SHF_MASKPROC
+ 0xf0000000
+
+       )
+
+523 \ 1
+       #SHF_MIPS_GPREL
+ 0x10000000
+
+       )
+
+526 \ 1
+       #SHN_UNDEF
+ 0
+
+       )
+
+527 \ 1
+       #SHN_LORESERVE
+ 0xff00
+
+       )
+
+528 \ 1
+       #SHN_LOPROC
+ 0xff00
+
+       )
+
+529 \ 1
+       #SHN_HIPROC
+ 0xff1f
+
+       )
+
+530 \ 1
+       #SHN_ABS
+ 0xfff1
+
+       )
+
+531 \ 1
+       #SHN_COMMON
+ 0xfff2
+
+       )
+
+532 \ 1
+       #SHN_HIRESERVE
+ 0xffff
+
+       )
+
+533 \ 1
+       #SHN_MIPS_ACCOMON
+ 0xff00
+
+       )
+
+536 
+Elf32_WÜd
+       msh_Çme
+;
+
+537 
+Elf32_WÜd
+       msh_ty³
+;
+
+538 
+Elf32_WÜd
+       msh_æags
+;
+
+539 
+Elf32_Addr
+       msh_addr
+;
+
+540 
+Elf32_Off
+       msh_off£t
+;
+
+541 
+Elf32_WÜd
+       msh_size
+;
+
+542 
+Elf32_WÜd
+       msh_l\9ak
+;
+
+543 
+Elf32_WÜd
+       msh_\9afo
+;
+
+544 
+Elf32_WÜd
+       msh_add¿lign
+;
+
+545 
+Elf32_WÜd
+       msh_\92tsize
+;
+
+546 } 
+       tElf32_Shdr
+;
+
+548 \e\19
+       s\96f64_shdr
+ {
+
+549 
+Elf32_WÜd
+       msh_Çme
+;
+
+550 
+Elf32_WÜd
+       msh_ty³
+;
+
+551 
+Elf64_WÜd
+       msh_æags
+;
+
+552 
+Elf64_Addr
+       msh_addr
+;
+
+553 
+Elf64_Off
+       msh_off£t
+;
+
+554 
+Elf64_WÜd
+       msh_size
+;
+
+555 
+Elf32_WÜd
+       msh_l\9ak
+;
+
+556 
+Elf32_WÜd
+       msh_\9afo
+;
+
+557 
+Elf64_WÜd
+       msh_add¿lign
+;
+
+558 
+Elf64_WÜd
+       msh_\92tsize
+;
+
+559 } 
+       tElf64_Shdr
+;
+
+561 \ 1
+       #EI_MAG0
+ 0
+
+       )
+
+562 \ 1
+       #EI_MAG1
+ 1
+
+       )
+
+563 \ 1
+       #EI_MAG2
+ 2
+
+       )
+
+564 \ 1
+       #EI_MAG3
+ 3
+
+       )
+
+565 \ 1
+       #EI_CLASS
+ 4
+
+       )
+
+566 \ 1
+       #EI_DATA
+ 5
+
+       )
+
+567 \ 1
+       #EI_VERSION
+ 6
+
+       )
+
+568 \ 1
+       #EI_PAD
+ 7
+
+       )
+
+570 \ 1
+       #ELFMAG0
+ 0x7à
+
+       )
+
+571 \ 1
+       #ELFMAG1
+ 'E'
+
+       )
+
+572 \ 1
+       #ELFMAG2
+ 'L'
+
+       )
+
+573 \ 1
+       #ELFMAG3
+ 'F'
+
+       )
+
+574 \ 1
+       #ELFMAG
+ "\177ELF"
+
+       )
+
+575 \ 1
+       #SELFMAG
+ 4
+
+       )
+
+577 \ 1
+       #ELFCLASSNONE
+ 0
+
+       )
+
+578 \ 1
+       #ELFCLASS32
+ 1
+
+       )
+
+579 \ 1
+       #ELFCLASS64
+ 2
+
+       )
+
+580 \ 1
+       #ELFCLASSNUM
+ 3
+
+       )
+
+582 \ 1
+       #ELFDATANONE
+ 0
+
+       )
+
+583 \ 1
+       #ELFDATA2LSB
+ 1
+
+       )
+
+584 \ 1
+       #ELFDATA2MSB
+ 2
+
+       )
+
+586 \ 1
+       #EV_NONE
+ 0
+
+       )
+
+587 \ 1
+       #EV_CURRENT
+ 1
+
+       )
+
+588 \ 1
+       #EV_NUM
+ 2
+
+       )
+
+591 \ 1
+       #NT_PRSTATUS
+ 1
+
+       )
+
+592 \ 1
+       #NT_PRFPREG
+ 2
+
+       )
+
+593 \ 1
+       #NT_PRPSINFO
+ 3
+
+       )
+
+594 \ 1
+       #NT_TASKSTRUCT
+ 4
+
+       )
+
+597 \e\19
+       s\96f32_nÙe
+ {
+
+598 
+Elf32_WÜd
+       mn_Çmesz
+;
+
+599 
+Elf32_WÜd
+       mn_descsz
+;
+
+600 
+Elf32_WÜd
+       mn_ty³
+;
+
+601 } 
+       tElf32_Nhdr
+;
+
+609 \e\19
+       s\96f64_nÙe
+ {
+
+610 
+Elf32_WÜd
+       mn_Çmesz
+;
+
+611 
+Elf32_WÜd
+       mn_descsz
+;
+
+612 
+Elf32_WÜd
+       mn_ty³
+;
+
+613 } 
+       tElf64_Nhdr
+;
+
+615 #ià
+ELF_CLASS
+ =ð
+ELFCLASS32
+
+
+617 \r
+Elf32_Dyn
+_DYNAMIC
+ [];
+
+618 \ 1
+       #\96fhdr
+\96f32_hdr
+
+
+       )
+
+619 \ 1
+       #\96f_phdr
+\96f32_phdr
+
+
+       )
+
+620 \ 1
+       #\96f_nÙe
+\96f32_nÙe
+
+
+       )
+
+624 \r
+Elf64_Dyn
+_DYNAMIC
+ [];
+
+625 \ 1
+       #\96fhdr
+\96f64_hdr
+
+
+       )
+
+626 \ 1
+       #\96f_phdr
+\96f64_phdr
+
+
+       )
+
+627 \ 1
+       #\96f_nÙe
+\96f64_nÙe
+
+
+       )
+
+       @elilo.c
+
+32 \ 2
+       ~<efi.h
+>
+
+33 \ 2
+       ~<ef\9eib.h
+>
+
+35 \ 2
+       ~"\96\9eo.h
+"
+
+36 \ 2
+       ~"v¬s.h
+"
+
+37 \ 2
+       ~"gz\9d.h
+"
+
+39 \ 2
+       ~"g\91Ýt.h
+"
+
+40 \ 2
+       ~"f\9eeÝs.h
+"
+
+41 \ 2
+       ~"lßd\94.h
+"
+
+42 \ 2
+       ~"cÚfig.h
+"
+
+44 \ 1
+       #ELILO_VERSION
+L
+"3.4"
+
+       )
+
+45 \ 1
+       #ELILO_SHARED_CMDLINE_OPTS
+L
+"pPMC:aDhd:i:vVc:E"
+
+       )
+
+47 
+\96\9eo_cÚfig_t
+       g\96\9eo_Ýt
+;
+
+49 
+EFI_SYSTEM_TABLE
+ *
+       gsy¡ab
+;
+
+62 \18
+INTN
+
+
+63 
+       $do_k\94Ãl_lßd
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+65 
+lßd\94_Ýs_t
+ *
+ldÝs
+;
+
+66 
+EFI_STATUS
+¡©us
+;
+
+67 
+fÝs_fd_t
+fd
+;
+
+69 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+70 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+71 
+       `ERR_PRT
+((
+L
+"K\94ÃÈf\9e\90\82Ù found %s", 
+kÇme
+));
+
+72 \15 
+ELILO_LOAD_ERROR
+;
+
+74 
+       `fÝs_þo£
+(
+fd
+);
+
+76 
+ldÝs
+ = 
+       `lßd\94_´obe
+(
+kÇme
+);
+
+77 ià(
+ldÝs
+ =ð
+NULL
+) {
+
+78 
+       `ERR_PRT
+((
+L
+"CªnÙ f\9ad\87\86ßd\94 fÜ %s", 
+kÇme
+));
+
+79 \15 
+ELILO_LOAD_ERROR
+;
+
+82 
+       `VERB_PRT
+(1,
+       `Pr\9at
+(
+L
+"Us\9ag % lßd\94\n", 
+ldÝs
+->
+ld_Çme
+));
+
+84 \15 
+ldÝs
+->
+       `ld_lßd_k\94Ãl
+(
+kÇme
+, 
+kd
+);
+
+85 
+       }
+}
+
+87 
+INTN
+
+
+88 
+       $k\94Ãl_lßd
+(
+EFI_HANDLE
+image
+, 
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+, 
+memdesc_t
+ *
+imem
+, memdesc_\88*
+mmem
+)
+
+90 
+CHAR16
+k\94Ãl
+[
+CMDLINE_MAXLEN
+];
+
+97 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0])
+
+98 
+       `S\8cCpy
+(
+k\94Ãl
+, 
+\96\9eo_Ýt
+.
+vmcode
+);
+
+100 
+       `S\8cCpy
+(
+k\94Ãl
+, 
+kÇme
+);
+
+104 \1a
+       `do_k\94Ãl_lßd
+(
+k\94Ãl
+, 
+kd
+)) {
+
+105 \ 4
+ELILO_LOAD_SUCCESS
+:
+
+108 \ 4
+ELILO_LOAD_ERROR
+:
+
+110 \15 
+ELILO_LOAD_ERROR
+;
+
+112 \ 4
+ELILO_LOAD_ABORTED
+:
+
+114 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] = 
+CHAR_NULL
+;
+
+115 
+\96\9eo_Ýt
+.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+118 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+119 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_DEFAULT_TIMEOUT
+;
+
+120 
+\96\9eo_Ýt
+.
+d\96ay
+ = 0;
+
+122 \15 
+ELILO_LOAD_RETRY
+;
+
+125 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"kernel\86oaded in [0x%lx-0x%lx]\83ntry=0x%lx\n",
+
+126 (\1d\13)
+kd
+->
+k¡¬t
+, (\1d\13)kd->
+k\92d
+, (\1d\13)kd->
+k\92\8cy
+));
+
+128 ià(
+\96\9eo_Ýt
+.
+\9a\99rd
+[0]) {
+
+130 ià(
+       `sysd\95s_\9a\99rd_g\91_addr
+(
+kd
+, 
+imem
+è=ð-1è\10
+ex\99_\94
+;
+
+132 \1a
+       `lßd_f\9ee
+(
+\96\9eo_Ýt
+.
+\9a\99rd
+, 
+imem
+)) {
+
+133 \ 4
+ELILO_LOAD_SUCCESS
+:
+
+135 \ 4
+ELILO_LOAD_ERROR
+:
+
+136 \10
+ex\99_\94
+;
+
+137 \ 4
+ELILO_LOAD_ABORTED
+:
+
+138 
+       `ä\93_kmem
+();
+
+140 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] = 
+CHAR_NULL
+;
+
+141 
+\96\9eo_Ýt
+.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+142 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+143 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_DEFAULT_TIMEOUT
+;
+
+144 
+\96\9eo_Ýt
+.
+d\96ay
+ = 0;
+
+146 \15 
+ELILO_LOAD_RETRY
+;
+
+150 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0]) {
+
+152 
+mmem
+->
+¡¬t_addr
+ = 0;
+
+154 \1a
+       `lßd_f\9ee
+(
+kÇme
+, 
+mmem
+)) {
+
+155 \ 4
+ELILO_LOAD_SUCCESS
+:
+
+157 \ 4
+ELILO_LOAD_ERROR
+:
+
+158 \10
+ex\99_\94
+;
+
+159 \ 4
+ELILO_LOAD_ABORTED
+:
+
+160 ià(
+imem
+->
+¡¬t_addr
+)
+
+161 
+       `ä\93
+(
+imem
+->
+¡¬t_addr
+);
+
+162 
+       `ä\93_kmem
+();
+
+164 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] = 
+CHAR_NULL
+;
+
+165 
+\96\9eo_Ýt
+.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+166 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+167 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_DEFAULT_TIMEOUT
+;
+
+168 
+\96\9eo_Ýt
+.
+d\96ay
+ = 0;
+
+170 \15 
+ELILO_LOAD_RETRY
+;
+
+174 ià(
+       `gz\9d_´obe
+(
+mmem
+->
+¡¬t_addr
+, mmem->
+size
+) == 0 &&
+
+175 
+       `gunz\9d_image
+(
+mmem
+è!ð
+ELILO_LOAD_SUCCESS
+) {
+
+176 ià(
+imem
+->
+¡¬t_addr
+)
+
+177 
+       `ä\93
+(
+imem
+->
+¡¬t_addr
+);
+
+178 
+       `ä\93
+(
+mmem
+->
+¡¬t_addr
+);
+
+179 
+       `ä\93_kmem
+();
+
+181 
+\96\9eo_Ýt
+.
+\9a\99rd
+[0] = 
+CHAR_NULL
+;
+
+182 
+\96\9eo_Ýt
+.
+vmcode
+[0] = 
+CHAR_NULL
+;
+
+183 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+184 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_DEFAULT_TIMEOUT
+;
+
+185 
+\96\9eo_Ýt
+.
+d\96ay
+ = 0;
+
+187 \15 
+ELILO_LOAD_RETRY
+;
+
+190 \15 
+ELILO_LOAD_SUCCESS
+;
+
+191 
+ex\99_\94
+:
+
+192 
+       `ä\93_kmem
+();
+
+193 ià(
+imem
+->
+¡¬t_addr
+       `ä\93
+(imem->start_addr);
+
+194 ià(
+mmem
+->
+¡¬t_addr
+       `ä\93
+(mmem->start_addr);
+
+196 \15 
+ELILO_LOAD_ERROR
+;
+
+197 
+       }
+}
+
+199 \18
+INTN
+
+
+200 
+       $ma\9a_loÝ
+(
+EFI_HANDLE
+dev
+, 
+CHAR16
+ **
+¬gv
+, 
+INTN
+¬gc
+, INTN 
+\9adex
+, EFI_HANDLE 
+image
+)
+
+202 
+CHAR16
+kÇme
+[
+FILENAME_MAXLEN
+];
+
+203 
+CHAR16
+cmdl\9ae_tmp
+[
+CMDLINE_MAXLEN
+];
+
+204 
+CHAR16
+cmdl\9ae
+[
+CMDLINE_MAXLEN
+];
+
+205 
+VOID
+ *
+bp
+;
+
+206 
+UINTN
+cook\9b
+;
+
+207 
+EFI_STATUS
+¡©us
+ = 
+EFI_SUCCESS
+;
+
+208 
+kdesc_t
+kd
+;
+
+209 
+memdesc_t
+imem
+, 
+mmem
+;
+
+210 
+INTN
+r
+;
+
+217 ià(
+       `sysd\95s_´\96oÝ_aùiÚs
+(
+dev
+, 
+¬gv
+, 
+¬gc
+, 
+\9adex
+, 
+image
+) == -1) \15 -1;
+
+220 
+kÇme
+[0] = 
+cmdl\9ae_tmp
+[0] = 
+cmdl\9ae
+[0] = 
+CHAR_NULL
+;
+
+221 
+imem
+.
+¡¬t_addr
+ = 0; imem.
+pgút
+ = 0; imem.
+size
+ = 0;
+
+222 
+\96\9eo_Ýt
+.
+sys_img_Ýts
+ = 
+NULL
+;
+
+224 ià(
+       `k\94Ãl_choo£r
+(
+¬gv
+, 
+¬gc
+, 
+\9adex
+, 
+kÇme
+, 
+cmdl\9ae_tmp
+è=ð-1è\10
+ex\99_\94
+;
+
+226 \1a
+       `k\94Ãl_lßd
+(
+image
+, 
+kÇme
+, &
+kd
+, &
+imem
+, &
+mmem
+)) {
+
+227 \ 4
+ELILO_LOAD_SUCCESS
+:
+
+228 \10
+do_Ïunch
+;
+
+229 \ 4
+ELILO_LOAD_ERROR
+:
+
+230 \10
+ex\99_\94
+;
+
+235 
+do_Ïunch
+:
+
+236 
+r
+ =
+       `sub¡_v¬s
+(
+cmdl\9ae_tmp
+, 
+cmdl\9ae
+, 
+CMDLINE_MAXLEN
+);
+
+238 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"f\9a® cmdl\9ae(%d): %s\n", 
+r
+, 
+cmdl\9ae
+));
+
+241 
+       `þo£_deviûs
+();
+
+244 ià((
+bp
+=
+       `ü\97\8b_boÙ_·¿ms
+(
+cmdl\9ae
+, &
+imem
+, &
+mmem
+, &
+cook\9b
+)è=ð0è\10
+\94
+;
+
+247 
+¡©us
+ = 
+BS
+->
+       `Ex\99BoÙS\94viûs
+(
+image
+, 
+cook\9b
+);
+
+248 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\10
+bad_ex\99
+;
+
+250 
+       `¡¬t_k\94Ãl
+(
+kd
+.
+k\92\8cy
+, 
+bp
+);
+
+253 
+       `ERR_PRT
+((
+L
+"start_kernel()\84eturn !"));
+
+254 
+bad_ex\99
+:
+
+258 
+       `ERR_PRT
+((
+L
+"Ex\99BoÙS\94viû ç\9eed %r", 
+¡©us
+));
+
+259 
+\94
+:
+
+260 
+       `ä\93_kmem
+();
+
+261 ià(
+imem
+.
+¡¬t_addr
+       `ä\93
+(imem.start_addr);
+
+262 ià(
+bp
+       `ä\93_boÙ_·¿ms
+(bp);
+
+263 
+ex\99_\94
+:
+
+264 \15 
+ELILO_LOAD_ERROR
+;
+
+266 
+       }
+}
+
+268 \18
+VOID
+
+
+269 
+       $\96\9eo_h\96p
+(
+VOID
+)
+
+272 
+       `Pr\9at
+(
+L
+"-d secs\81imeout in 10th of second before booting\n");
+
+273 
+       `Pr\9at
+(
+L
+"-h\81his help\81ext\n");
+
+274 
+       `Pr\9at
+(
+L
+"-V\85rint version\n");
+
+275 
+       `Pr\9at
+(
+L
+"-v verbose\86evel(can\87ppear multiple\81imes)\n");
+
+276 
+       `Pr\9at
+(
+L
+"-a\87lways check for\87lternate kernel image\n");
+
+277 
+       `Pr\9at
+(
+L
+"-i file\86oad file\87s\81he initial\84amdisk\n");
+
+278 
+       `Pr\9at
+(
+L
+"-m file\86oad file\87s\87dditional boot\81ime vmm module\n");
+
+279 
+       `Pr\9at
+(
+L
+"-C file indicate\81he config file\81o use\n");
+
+280 
+       `Pr\9at
+(
+L
+"-P\85arse config file only (verify syntax)\n");
+
+281 
+       `Pr\9at
+(
+L
+"-D\83nable debug\85rints\n");
+
+282 
+       `Pr\9at
+(
+L
+"-p force interactive mode\n");
+
+283 
+       `Pr\9at
+(
+L
+"-c\82ame image chooser\81o use\n");
+
+284 
+       `Pr\9at
+(
+L
+"-E do\82ot force EDD30 variable\n");
+
+286 
+       `sysd\95s_´\9at_cmdl\9ae_Ýts
+();
+
+288 
+       `Pr\9at
+(
+L
+"\n");
+
+290 
+       `´\9at_cÚfig_ÝtiÚs
+();
+
+291 
+       }
+}
+
+298 \18
+CHAR16
+ *
+       gdeçuÉ_lßd_ÝtiÚs
+;
+
+299 \18
+UINTN
+       gdeçuÉ_lßd_ÝtiÚs_size
+;
+
+300 \18
+INTN
+       gdÚe_fixups
+;
+
+302 \18
+VOID
+
+
+303 
+       $fixu·rgs
+(
+EFI_LOADED_IMAGE
+ *
+\9afo
+)
+
+305 
+EFI_STATUS
+¡©us
+;
+
+306 
+EFI_PXE_BASE_CODE
+ *
+pxe
+;
+
+308 \ 1
+       #FAKE_ELILONAME
+L
+"\96\9eo-fÜûd"
+
+       )
+
+310 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+\9afo
+->
+DeviûHªdË
+, &
+PxeBa£CodePrÙocÞ
+, (
+VOID
+ **)&
+pxe
+);
+
+311 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15;
+
+313 
+deçuÉ_lßd_ÝtiÚs
+ = 
+\9afo
+->
+LßdO±iÚs
+;
+
+314 
+deçuÉ_lßd_ÝtiÚs_size
+ = 
+\9afo
+->
+LßdO±iÚsSize
+;
+
+316 
+\9afo
+->
+LßdO±iÚs
+ = 
+FAKE_ELILONAME
+;
+
+317 
+\9afo
+->
+LßdO±iÚsSize
+ = 
+       `S\8cL\92
+(\9afo->
+LßdO±iÚs
+)*\17(
+CHAR16
+);
+
+319 
+dÚe_fixups
+ = 1;
+
+320 
+       }
+}
+
+326 \18
+VOID
+
+
+327 
+       $unfixu·rgs
+(
+EFI_LOADED_IMAGE
+ *
+\9afo
+)
+
+329 ià(
+dÚe_fixups
+ == 0) \15;
+
+331 
+\9afo
+->
+LßdO±iÚs
+ = 
+deçuÉ_lßd_ÝtiÚs
+;
+
+332 
+\9afo
+->
+LßdO±iÚsSize
+ = 
+deçuÉ_lßd_ÝtiÚs_size
+;
+
+333 
+       }
+}
+
+353 \ 1
+       #EDD30_GUID
+ \
+
+354 {0x964e5b21, 0x6459, 0x11d2, { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
+
+       )
+
+356 \ 1
+       #EDD30_ATTR
+ (
+EFI_VARIABLE_RUNTIME_ACCESS
+|
+EFI_VARIABLE_BOOTSERVICE_ACCESS
+|
+EFI_VARIABLE_NON_VOLATILE
+)
+
+       )
+
+358 \18
+EFI_GUID
+       gedd30_guid
+ = 
+EDD30_GUID
+;
+
+360 \18
+INTN
+
+
+361 
+       $check_edd30
+(
+VOID
+)
+
+363 
+EFI_STATUS
+¡©us
+;
+
+364 
+UINTN
+l
+ = \17(
+BOOLEAN
+);
+
+365 
+UINT8
+boÞ
+ = 
+FALSE
+;
+
+366 
+INTN
+»t
+ = -1;
+
+368 
+¡©us
+ = 
+RT
+->
+       `G\91\9f
+(
+L
+"EDD30", &
+edd30_guid
+, 
+NULL
+, &
+l
+, &
+boÞ
+);
+
+369 ià(
+¡©us
+ =ð
+EFI_BUFFER_TOO_SMALL
+ || (
+boÞ
+ !ð
+TRUE
+ && boÞ !ð
+FALSE
+)) {
+
+370 
+       `ERR_PRT
+((
+L
+"Warning: EDD30 EFI variable is\82ot boolean value: forcing it\81o TRUE"));
+
+373 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+ && 
+boÞ
+ =ð
+TRUE
+) {
+
+374 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"EDD30 is TRUE\n"));
+
+375 
+\96\9eo_Ýt
+.
+edd30_Ú
+ = 
+TRUE
+;
+
+376 
+»t
+ = 0;
+
+378 
+       `VERB_PRT
+(4,
+
+379 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+380 
+       `Pr\9at
+(
+L
+"EDD30 EFI variable\82ot defined\n");
+
+382 
+       `Pr\9at
+(
+L
+"EDD30 EFI variable is false\n");
+
+387 \15 
+»t
+;
+
+388 
+       }
+}
+
+390 \18
+INTN
+
+
+391 
+       $fÜû_edd30
+(
+VOID
+)
+
+393 
+EFI_STATUS
+¡©us
+;
+
+394 
+UINTN
+l
+ = \17(
+BOOLEAN
+);
+
+395 
+UINT8
+boÞ
+;
+
+397 
+boÞ
+ = 
+TRUE
+;
+
+398 
+¡©us
+ = 
+RT
+->
+       `S\91\9f
+(
+L
+"EDD30", &
+edd30_guid
+, 
+EDD30_ATTR
+, 
+l
+, &
+boÞ
+);
+
+399 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+400 
+       `ERR_PRT
+((
+L
+"can't set EDD30 variable: ignoring it"));
+
+404 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"EDD30 variable forced\81o TRUE. You should\84eboot\81o\81ake\87dvantage of EDD3.0.\n"));
+
+407 
+       }
+}
+
+412 
+EFI_STATUS
+
+
+413 
+       $efi_ma\9a
+ (
+EFI_HANDLE
+image
+, 
+EFI_SYSTEM_TABLE
+ *
+sy¡em_\8fb
+)
+
+415 
+CHAR16
+ *
+¬gv
+[
+MAX_ARGS
+];
+
+416 
+CHAR16
+Ýt¡r\9ag
+[
+MAX_ARGS
+];
+
+417 
+EFI_LOADED_IMAGE
+ *
+\9afo
+;
+
+418 
+EFI_STATUS
+¡©us
+, 
+»t
+ = 
+EFI_LOAD_ERROR
+;
+
+419 
+INTN
+¬gc
+ = 0, 
+c
+;
+
+420 
+INTN
+edd30_¡©us
+, 
\8cy
+;
+
+421 
+CHAR16
+ *
+±r
+, *
+¬gli¡
+ = 
+NULL
+;
+
+422 
+BOOLEAN
+deviûs_\9a\99\9flized
+ = 
+FALSE
+;
+
+423 
+CHAR16
+d·th
+[
+FILENAME_MAXLEN
+];
+
+424 
+CHAR16
+ *
+dev·th
+;
+
+426 
+\96\9eo_Ýt
+.
+v\94bo£
+=0;
+
+427 
+\96\9eo_Ýt
+.
+debug
+=0;
+
+430 
+sy¡ab
+ = 
+sy¡em_\8fb
+;
+
+433 
+       `In\99\9flizeLib
+(
+image
+, 
+sy¡ab
+);
+
+442 
+BS
+->
+       `S\91W©chdogTim\94
+(0, 0x0, 0, 
+NULL
+);
+
+445 ià(
+       `®loc_\9a\99
+(è=ð-1è\15 
+EFI_LOAD_ERROR
+;
+
+447 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+(
+image
+, &
+LßdedImagePrÙocÞ
+, (
+VOID
+ **è&
+\9afo
+);
+
+448 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+449 
+       `ERR_PRT
+((
+L
+"image handle does\82ot support LOADED_IMAGE\85rotocol"));
+
+450 \15 
+EFI_LOAD_ERROR
+;
+
+453 
+       `VERB_PRT
+(5,
+       `Pr\9at
+(
+L
+"Lßded\87\880x%lx size=%d by\8b code=%d d©a=%d\n", 
+\9afo
+->
+ImageBa£
+, info->
+ImageSize
+, info->
+ImageCodeTy³
+, info->
+ImageD©aTy³
+));
+
+458 
+edd30_¡©us
+ = 
+       `check_edd30
+();
+
+463 ià(
+       `cÚfig_\9a\99
+(è=ð-1è\10
+do_ex\99
+;
+
+468 ià(
+       `sysd\95s_\9a\99
+(
+\9afo
+->
+DeviûHªdË
+è=ð-1è\10
+do_ex\99
+;
+
+469 ià(
+       `sysd\95s_»gi¡\94_ÝtiÚs
+(è=ð-1è\10
+do_ex\99
+;
+
+484 
+       `fixu·rgs
+(
+\9afo
+);
+
+487 
+       `Pr\9at
+(
+L
+"LßdO±iÚs=%x O³nSize=%d\n", 
+\9afo
+->
+LßdO±iÚs
+, info->
+LßdO±iÚsSize
+);
+
+488 { 
+INTN
+i
+; \ fi=0; i< 
+\9afo
+->
+LßdO±iÚsSize
+>>1; i++è
+       `Pr\9at
+(
+L
+"ÝtiÚs[%d]=%d (%c)\n", i, ((
+CHAR16
+ *)\9afo->
+LßdO±iÚs
+)[i], ((CHAR16 *)info->LoadOptions)[i]); }
+
+499 
+¬gli¡
+ = 
+       `®loc
+(
+\9afo
+->
+LßdO±iÚsSize
++\17(
+CHAR16
+), 
+EfiLßd\94D©a
+);
+
+500 ià(
+¬gli¡
+ =ð
+NULL
+) {
+
+501 
+       `ERR_PRT
+((
+L
+"cannot copy\87rgument\86ist"));
+
+502 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+504 
+       `Memýy
+(
+¬gli¡
+, 
+\9afo
+->
+LßdO±iÚs
+, info->
+LßdO±iÚsSize
+);
+
+506 
+¬gc
+ = 
+       `¬gify
+(
+¬gli¡
+,
+\9afo
+->
+LßdO±iÚsSize
+, 
+¬gv
+);
+
+508 
+       `S\8cCpy
+(
+Ýt¡r\9ag
+, 
+ELILO_SHARED_CMDLINE_OPTS
+);
+
+509 
+       `S\8c
+(
+Ýt¡r\9ag
+, 
+       `sysd\95s_g\91_cmdl\9ae_Ýts
+());
+
+511 \1f(
+c
+=
+       `G\91Ýt
+(
+¬gc
+, 
+¬gv
+, 
+Ýt¡r\9ag
+)) != -1 ) {
+
+512 \1a
+c
+) {
+
+514 
+\96\9eo_Ýt
+.
+®t_check
+ = 1;
+
+517 
+\96\9eo_Ýt
+.
+debug
+ = 1;
+
+520 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+523 
+\96\9eo_Ýt
+.
+v\94bo£
+++;
+
+524 ià(
+\96\9eo_Ýt
+.
+v\94bo£
+ > 5)\83lilo_opt.verbose = 5;
+
+527 
+       `\96\9eo_h\96p
+();
+
+528 
+»t
+ = 
+EFI_SUCCESS
+;
+
+529 \10
+do_ex\99
+;
+
+535 
+\96\9eo_Ýt
+.
+d\96ay
+ = 
+       `Atoi
+(
+O±¬g
+);
+
+536 
+\96\9eo_Ýt
+.
+d\96ay_£t
+ = 1;
+
+540 
+\96\9eo_Ýt
+.
+edd30_no_fÜû
+ = 1;
+
+543 ià(
+       `S\8cL\92
+(
+O±¬g
+è>ð
+FILENAME_MAXLEN
+-1) {
+
+544 
+       `Pr\9at
+(
+L
+"\9a\99rd f\9e\92am\90i lim\99ed\81Ø%d ch¬aù\94s\n", 
+FILENAME_MAXLEN
+);
+
+545 \10
+do_ex\99
+;
+
+547 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+\9a\99rd
+, 
+O±¬g
+);
+
+550 ià(
+       `S\8cL\92
+(
+O±¬g
+è>ð
+FILENAME_MAXLEN
+-1) {
+
+551 
+       `Pr\9at
+(
+L
+"vmm moduË f\9e\92am\90i lim\99ed\81Ø%d ch¬aù\94s\n", 
+FILENAME_MAXLEN
+);
+
+552 \10
+do_ex\99
+;
+
+554 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+vmcode
+, 
+O±¬g
+);
+
+557 ià(
+       `S\8cL\92
+(
+O±¬g
+è>ð
+FILENAME_MAXLEN
+-1) {
+
+558 
+       `Pr\9at
+(
+L
+"cÚfig f\9e\92am\90i lim\99ed\81Ø%d ch¬aù\94s\n", 
+FILENAME_MAXLEN
+);
+
+559 \10
+do_ex\99
+;
+
+561 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+cÚfig
+, 
+O±¬g
+);
+
+564 { 
+mm­_desc_t
+mdesc
+;
+
+565 ià(
+       `g\91_memm­
+(&
+mdesc
+) == -1) {
+
+566 
+       `Pr\9at
+(
+L
+"Cannot get memory map\n");
+
+567 \15 
+EFI_LOAD_ERROR
+;
+
+569 
+       `´\9at_memm­
+(&
+mdesc
+);
+
+570 
+»t
+ = 
+EFI_SUCCESS
+;
+
+571 \10
+do_ex\99
+;
+
+574 
+       `Pr\9at
+(
+L
+"ELILO v% fÜ EFI/%a\n", 
+ELILO_VERSION
+, 
+ELILO_ARCH
+);
+
+575 
+»t
+ = 
+EFI_SUCCESS
+;
+
+576 \10
+do_ex\99
+;
+
+579 
+\96\9eo_Ýt
+.
+·r£_Úly
+ = 1;
+
+582 ià(
+       `S\8cL\92
+(
+O±¬g
+è>ð
+FILENAME_MAXLEN
+-1) {
+
+583 
+       `Pr\9at
+(
+L
+"choo£¸Çm\90i lim\99ed\81Ø%d ch¬aù\94s\n", 
+FILENAME_MAXLEN
+);
+
+584 \10
+do_ex\99
+;
+
+586 
+       `S\8cCpy
+(
+\96\9eo_Ýt
+.
+choo£r
+, 
+O±¬g
+);
+
+592 ià(
+       `sysd\95s_g\91Ýt
+(
+c
+, 
+O±\9ad
+, 
+O±¬g
+) == 0) \ 6;
+
+594 
+       `Pr\9at
+(
+L
+"UnknowÀÝtiÚ -%c\n", (
+CHAR16
+)
+c
+);
+
+595 \10
+do_ex\99
+;
+
+598 
+       `DBG_PRT
+((
+L
+"O±\9ad=%d o±¬g=%x\87rgc=%d", 
+O±\9ad
+, 
+O±¬g
+, 
+¬gc
+));
+
+604 ià(
+       `\9a\99_deviûs
+(
+\9afo
+->
+DeviûHªdË
+è=ð-1è\10
+do_ex\99
+;
+
+606 
+deviûs_\9a\99\9flized
+ = 
+TRUE
+;
+
+608 
+dev·th
+ = 
+       `DeviûP©hToS\8c
+(
+\9afo
+->
+F\9eeP©h
+);
+
+613 
+       `fÝs_£tdeçuÉs
+(
+\96\9eo_Ýt
+.
+deçuÉ_cÚfigs
+,\83l\9eo_Ýt.
+deçuÉ_k\94Ãl
+, 
+FILENAME_MAXLEN
+, 
+dev·th
+);
+
+618 
+       `VERB_PRT
+(2,
+       `Pr\9at
+(
+L
+"Default config: %s\nDefault_kernel: %s\n",
+
+619 
+\96\9eo_Ýt
+.
+deçuÉ_cÚfigs
+[0].
+âame
+,\83l\9eo_Ýt.
+deçuÉ_k\94Ãl
+));
+
+623 
+±r
+ = 
+\96\9eo_Ýt
+.
+cÚfig
+[0] =ð
+CHAR_NULL
+ ? (
\8cy
+=1,\96\9eo_Ýt.
+deçuÉ_cÚfigs
+[0].
+âame
+) : (retry=0,elilo_opt.config);
+
+628 
+»t
+ = 
+       `»ad_cÚfig
+(
+±r
+);
+
+629 
+       `VERB_PRT
+(1,
+       `Pr\9at
+(
+L
+"»ad_cÚfig=%r\n", 
+»t
+));
+
+633 ià(
+\96\9eo_Ýt
+.
+cÚfig
+[0] =ð
+CHAR_NULL
+) {
+
+634 \1f(
+»t
+ !ð
+EFI_SUCCESS
+) &&
+
+635 (
\8cy
+ < 
+MAX_DEFAULT_CONFIGS
+) &&
+
+636 (
+\96\9eo_Ýt
+.
+deçuÉ_cÚfigs
+[
\8cy
+].
+âame
+[0] !ð
+CHAR_NULL
+)) {
+
+638 
+±r
+ = 
+\96\9eo_Ýt
+.
+deçuÉ_cÚfigs
+[
\8cy
+].
+âame
+;
+
+639 
+»t
+ = 
+       `»ad_cÚfig
+(
+±r
+);
+
+640 
+       `VERB_PRT
+(1,
+       `Pr\9at
+(
+L
+"»ad_cÚfig=%r\n", 
+»t
+));
+
+641 
\8cy
+ += 1;
+
+649 ià(
+»t
+ =ð
+EFI_NOT_FOUND
+ ||\84\91 =ð
+EFI_TFTP_ERROR
+) {
+
+650 ià(
+\96\9eo_Ýt
+.
+´om±
+ =ð0 &&\83l\9eo_Ýt.
+cÚfig
+[0] !ð
+CHAR_NULL
+) {
+
+651 
+       `Pr\9at
+(
+L
+"cÚfig f\9e\90% nÙ found\n", 
+±r
+);
+
+652 \10
+do_ex\99
+;
+
+654 
+       `fÝs_g\91deçuÉ_·th
+(
+d·th
+, 
+FILENAME_MAXLEN
+);
+
+655 ià(
+»t
+ =ð
+EFI_TFTP_ERROR
+)
+
+656 
+       `Pr\9at
+(
+L
+"nØcÚfig f\9e\90found oÀTFTP s\94v\94 iÀ%s\n", 
+d·th
+);
+
+658 
+       `Pr\9at
+(
+L
+"nØcÚfig f\9e\90found iÀ%s\n", 
+d·th
+);
+
+663 ià(
+\96\9eo_Ýt
+.
+·r£_Úly
+) {
+
+664 ià(
+»t
+ =ð
+EFI_SUCCESS
+)
+
+665 
+       `Pr\9at
+(
+L
+"CÚfig f\9e\90% ·r£d sucûssfuÎy\n", 
+±r
+);
+
+666 \10
+do_ex\99
+;
+
+673 ià(
+»t
+ !ð
+EFI_SUCCESS
+) {
+
+674 
+       `Pr\9at
+(
+L
+"forcing interactive mode due\81o config file\83rror(s)\n");
+
+675 
+\96\9eo_Ýt
+.
+´om±
+ = 1;
+
+682 ià(
+¬gc
+ > 
+O±\9ad
+) {
+
+683 
+\96\9eo_Ýt
+.
+´om±
+ = 0;
+
+694 ià(
+edd30_¡©us
+ =ð-1 && 
+\96\9eo_Ýt
+.
+edd30_no_fÜû
+ == 0) {
+
+695 
+       `fÜû_edd30
+();
+
+698 
+»t
+ = 
+EFI_LOAD_ERROR
+;
+
+703 ià((
+\96\9eo_Ýt
+.
+´om±
+ &&\83l\9eo_Ýt.
+timeout
+ == 0)) {
+
+704 
+\96\9eo_Ýt
+.
+timeout
+ = 
+ELILO_DEFAULT_TIMEOUT
+;
+
+710 ià(
+       `\9a\99_choo£r
+(
+\9afo
+->
+DeviûHªdË
+) == -1) {
+
+711 
+       `ERR_PRT
+((
+L
+"Cannot find\87 decent chooser\n"));
+
+712 \10
+do_ex\99
+;
+
+717 
+       `ma\9a_loÝ
+(
+\9afo
+->
+DeviûHªdË
+, 
+¬gv
+, 
+¬gc
+, 
+O±\9ad
+, 
+image
+);
+
+719 
+do_ex\99
+:
+
+720 
+       `unfixu·rgs
+(
+\9afo
+);
+
+725 ià(
+deviûs_\9a\99\9flized
+       `þo£_deviûs
+();
+
+728 
+       `ä\93_®l_memÜy
+();
+
+730 \15 
+»t
+;
+
+731 
+       }
+}
+
+       @elilo.h
+
+29 #iâdeà
+__ELILO_H__
+
+
+30 \ 1
+       #__ELILO_H__
+
+
+       )
+
+32 \ 2
+       ~<efi.h
+>
+
+34 \ 2
+       ~"\96\9eo_debug.h
+"
+
+36 \ 2
+       ~"f\9eeÝs.h
+"
+
+37 \ 2
+       ~"choo£r.h
+"
+
+39 \ 2
+       ~"¡rÝs.h
+"
+
+41 \ 2
+       ~"sysd\95s.h
+"
+
+43 \ 1
+       #MB
+ (1024*1024è
+
+       )
+
+46 \ 1
+       #ROUNDUP
+(
+x
+,
+a
+è(((xè+ (aè- 1è& ~(×è- 1))
+
+       )
+
+47 \ 1
+       #ROUNDDOWN
+(
+x
+,
+a
+è((xè& ~(×è- 1))
+
+       )
+
+52 \ 1
+       #ELILO_LOAD_SUCCESS
+ 0
+
+       )
+
+53 \ 1
+       #ELILO_LOAD_ABORTED
+ 1
+
+       )
+
+54 \ 1
+       #ELILO_LOAD_ERROR
+ 2
+
+       )
+
+55 \ 1
+       #ELILO_LOAD_RETRY
+ 3
+
+       )
+
+57 \ 1
+       #ELILO_DEFAULT_TIMEOUT
+ELILO_TIMEOUT_INFINITY
+
+
+       )
+
+58 \ 1
+       #ELILO_TIMEOUT_INFINITY
+ (~0UL)
+
+       )
+
+60 \ 1
+       #CMDLINE_MAXLEN
+ 512
+
+       )
+
+61 \ 1
+       #FILENAME_MAXLEN
+ 256
+
+       )
+
+62 \ 1
+       #MAX_ARGS
+ 256
+
+       )
+
+64 \ 1
+       #MAX_DEFAULT_CONFIGS
+ 16
+
+       )
+
+67 
+UINT8
+       mnÙh\9ag_y\91
+;
+
+68 } 
+       timage_Ýt_t
+;
+
+70 \e\19
+       scÚfig_f\9ee
+ {
+
+71 
+CHAR16
+       mâame
+[
+FILENAME_MAXLEN
+];
+
+72 } 
+       tcÚfig_f\9ee_t
+;
+
+79 
+UINTN
+       m®t_check
+;
+
+80 
+UINTN
+       mdebug
+;
+
+81 
+UINTN
+       md\96ay
+;
+
+82 
+UINTN
+       mv\94bo£
+;
+
+83 
+CHAR16
+       m\9a\99rd
+[
+FILENAME_MAXLEN
+];
+
+84 
+CHAR16
+       mvmcode
+[
+FILENAME_MAXLEN
+];
+
+85 
+UINT8
+       md\96ay_£t
+;
+
+86 
+UINT8
+       medd30_Ú
+;
+
+87 
+UINT8
+       medd30_no_fÜû
+;
+
+92 
+UINTN
+       m´om±
+;
+
+93 
+UINTN
+       m·r£_Úly
+;
+
+94 
+UINTN
+       mtimeout
+;
+
+96 
+image_Ýt_t
+       mimg_Ýt
+;
+
+98 
+sys_img_ÝtiÚs_t
+ *
+       msys_img_Ýts
+;
+
+100 
+CHAR16
+       mdeçuÉ_k\94Ãl
+[
+FILENAME_MAXLEN
+];
+
+102 
+cÚfig_f\9ee_t
+       mdeçuÉ_cÚfigs
+[
+MAX_DEFAULT_CONFIGS
+];
+
+104 
+CHAR16
+       mcÚfig
+[
+FILENAME_MAXLEN
+];
+
+105 
+CHAR16
+       mchoo£r
+[
+FILENAME_MAXLEN
+];
+
+106 } 
+       t\96\9eo_cÚfig_t
+;
+
+109 \r
+\96\9eo_cÚfig_t
+\96\9eo_Ýt
+;
+
+111 \r
+EFI_SYSTEM_TABLE
+ *
+sy¡ab
+;
+
+114 
+VOID
+ *
+       m¡¬t_addr
+;
+
+115 
+UINTN
+       mpgút
+;
+
+116 
+UINTN
+       msize
+;
+
+117 } 
+       tmemdesc_t
+;
+
+120 
+VOID
+ *
+       mk¡¬t
+;
+
+121 
+VOID
+ *
+       mk\92d
+;
+
+122 
+VOID
+ *
+       mk\92\8cy
+;
+
+123 } 
+       tkdesc_t
+;
+
+126 
+EFI_MEMORY_DESCRIPTOR
+ *
+       mmd
+;
+
+127 
+UINTN
+       mm­_size
+;
+
+128 
+UINTN
+       mdesc_size
+;
+
+129 
+UINTN
+       mcook\9b
+;
+
+130 
+UINT32
+       mdesc_v\94siÚ
+;
+
+131 } 
+       tmm­_desc_t
+;
+
+133 #iâdeà
+MAX
+
+
+134 \ 1
+       #MAX
+(
+a
+,
+b
+è(×)>(bè? (aè: (b))
+
+       )
+
+137 #iâdeà
+MIN
+
+
+138 \ 1
+       #MIN
+(
+a
+,
+b
+è(×)>(bè? (bè: (a))
+
+       )
+
+141 \ 1
+       #VERB_PRT
+(
+n
+,
+cmd
+) \
+
+142 { ià(
+\96\9eo_Ýt
+.
+v\94bo£
+ >ð(
+n
+)è{ 
+cmd
+; } }
+
+       )
+
+146 \r
+INTN
+®loc_\9a\99
+(
+VOID
+);
+
+147 \r
+VOID
+ *
+®loc
+(
+UINTN
+, 
+EFI_MEMORY_TYPE
+);
+
+148 \r
+VOID
\93
+(VOID *);
+
+149 \r
+VOID
+ *
+®loc_·ges
+(
+UINTN
+, 
+EFI_MEMORY_TYPE
+, 
+EFI_ALLOCATE_TYPE
+, VOID *);
+
+150 \r
+VOID
\93_·ges
+(VOID *);
+
+151 \r
+VOID
\93_®l
+(VOID);
+
+152 \r
+INTN
+®loc_kmem
+(
+VOID
+ *, 
+UINTN
+);
+
+153 \r
+VOID
\93_kmem
+(VOID);
+
+154 \r
+VOID
\93_®l_memÜy
+(VOID);
+
+157 \r
+INTN
+»ad_f\9ee
+(
+UINTN
+fd
+, UINTN, 
+CHAR8
+ *);
+
+158 \r
+EFI_STATUS
+check_abÜt
+(
+VOID
+);
+
+159 \r
+VOID
+ȣt_\9aput
+(VOID);
+
+160 \r
+INTN
+wa\99_timeout
+(
+UINTN
+);
+
+161 \r
+INTN
+¬gify
+(
+CHAR16
+ *, 
+UINTN
+, CHAR16 **);
+
+162 \r
+VOID
+uÇrgify
+(
+CHAR16
+ **, CHAR16 **);
+
+163 \r\1e
+¥l\99_¬gs
+(
+CHAR16
+ *, CHAR16 *, CHAR16 *);
+
+164 \r
+INTN
+g\91_memm­
+(
+mm­_desc_t
+ *);
+
+165 \r
+VOID
\93_memm­
+(
+mm­_desc_t
+ *);
+
+166 \r
+INTN
+f\9ad_k\94Ãl_memÜy
+(
+VOID
+ *
+low_addr
+, VOID *
+max_addr
+, 
+UINTN
+®ignm\92t
+, VOID ** 
+¡¬t
+);
+
+167 \r
+VOID
\9at_memm­
+(
+mm­_desc_t
+ *);
+
+168 \r
+VOID
+ascii2U
+(
+CHAR8
+ *, 
+CHAR16
+ *, 
+UINTN
+);
+
+169 \r
+VOID
+U2ascii
+(
+CHAR16
+ *, 
+CHAR8
+ *, 
+UINTN
+);
+
+172 \r
+EFI_STATUS
+»ad_cÚfig
+(
+CHAR16
+ *);
+
+173 \r
+VOID
\9at_cÚfig_ÝtiÚs
+(VOID);
+
+174 \r
+INTN
+f\9ad_Ïb\96
+(
+CHAR16
+ *, CHAR16 *, CHAR16 *, CHAR16 *, CHAR16 *);
+
+175 \r
+VOID
\9at_Ïb\96_li¡
+(VOID);
+
+176 \r
+INTN
+cÚfig_\9a\99
+(
+VOID
+);
+
+177 \r
+CHAR16
+ *
+g\91_mes§ge_f\9e\92ame
+(
+INTN
+which
+);
+
+178 \r
+CHAR16
+ *
+f\9ad_desü\9dtiÚ
+(CHAR16 *
+Ïb\96
+);
+
+179 \r
+VOID
+ *
+g\91_Ãxt_desü\9dtiÚ
+(VOID *
+´ev
+, 
+CHAR16
+ **
+Ïb\96
+, CHAR16 **
+desü\9dtiÚ
+);
+
+180 \r
+CHAR16
+ *
+g\91_cÚfig_f\9ee
+(
+VOID
+);
+
+183 \r
+INTN
+lßd_f\9ee
+(
+CHAR16
+ *, 
+memdesc_t
+ *);
+
+186 \r
+INTN
\8bº©e_k\94Ãl
+(
+CHAR16
+ *, INTN);
+
+189 \r
+VOID
+ *
\97\8b_boÙ_·¿ms
+ (
+CHAR16
+ *, 
+memdesc_t
+ *, memdesc_\88*, 
+UINTN
+ *);
+
+190 \r
+VOID
\93_boÙ_·¿ms
+(VOID *
+bp
+);
+
+197 \r
+INTN
+sysd\95s_ü\97\8b_boÙ_·¿ms
+(
+boÙ_·¿ms_t
+ *, 
+CHAR8
+ *, 
+memdesc_t
+ *, memdesc_\88*, 
+UINTN
+ *);
+
+198 \r
+VOID
+sysd\95s_ä\93_boÙ_·¿ms
+(
+boÙ_·¿ms_t
+ *);
+
+199 \r
+INTN
+sysd\95s_\9a\99
+(
+EFI_HANDLE
+dev
+);
+
+200 \r
+INTN
+sysd\95s_\9a\99rd_g\91_addr
+(
+kdesc_t
+ *, 
+memdesc_t
+ *);
+
+201 \r
+INTN
+sysd\95s_´\96oÝ_aùiÚs
+(
+EFI_HANDLE
+, 
+CHAR16
+ **, INTN, INTN, EFI_HANDLE);
+
+202 \r
+CHAR16
+ *
+sysd\95s_g\91_cmdl\9ae_Ýts
+(
+VOID
+);
+
+203 \r
+INTN
+sysd\95s_g\91Ýt
+(INTN, INTN, 
+CHAR16
+ *);
+
+204 \r
+VOID
+sysd\95s_´\9at_cmdl\9ae_Ýts
+(VOID);
+
+205 \r
+INTN
+sysd\95s_»gi¡\94_ÝtiÚs
+(
+VOID
+);
+
+207 \ 1
+       #CHAR_SLASH
+L
+'/'
+
+       )
+
+208 \ 1
+       #CHAR_BACKSLASH
+L
+'\\'
+
+       )
+
+       @elilo_debug.h
+
+26 #iâdeà
+__ELILO_DEBUG__
+
+
+27 \ 1
+       #__ELILO_DEBUG__
+
+
+       )
+
+29 \ 1
+       #ELILO_DEBUG
+ 1
+
+       )
+
+31 \ 1
+       #ERR_PRT
+(
+a
+èdØ{ 
+       `Pr\9at
+(
+L
+"%aÖ\9a\90%d):", 
+__FILE__
+, 
+__LINE__
+); 
+Pr\9at
+\87; Pr\9at(L"\n"); } \1f0);
+
+       )
+
+33 #ifdeà
+ELILO_DEBUG
+
+
+34 \ 1
+       #DBG_PRT
+(
+a
+) do { \
+
+35 ià(
+\96\9eo_Ýt
+.
+debug
+) { \
+
+36 
+       `Pr\9at
+(
+L
+"%aÖ\9a\90%d):", 
+__FILE__
+, 
+__LINE__
+); \
+
+37 
+Pr\9at
+a
+; \
+
+38 
+       `Pr\9at
+(
+L
+"\n"); \
+
+39 } } \1f0);
+
+       )
+
+41 \ 1
+       #DBG_PRT
+(
+a
+)
+
+       )
+
+       @fileops.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"f\9eeÝs.h
+"
+
+35 #ifdeà
+CONFIG_LOCALFS
+
+
+36 \ 2
+       ~"glue_loÿlfs.h
+"
+
+38 #ifdeà
+CONFIG_NETFS
+
+
+39 \ 2
+       ~"glue_Ãtfs.h
+"
+
+42 #ifdeà
+CONFIG_EXT2FS
+
+
+43 \ 2
+       ~"glue_ext2fs.h
+"
+
+50 \r
+devÇme_scheme_t
+sim¶e_devÇme_scheme
+;
+
+52 \18
+devÇme_scheme_t
+ *
+       gdevÇme_scheme_\8fb
+[]={
+
+53 &
+sim¶e_devÇme_scheme
+,
+
+54 
+NULL
+
+
+65 \e
+       $EFI_STATUS
+ (
+       tfÝs_fixups_t
+)(
+       tEFI_HANDLE
+       tdev
+, 
+       tdeviû_t
+ *
+       td
+);
+
+72 \18
+f\9eeÝs_fs_t
+ *
+fs_\8fb
+[]={
+
+73 #ifdeà
+CONFIG_LOCALFS
+
+
+74 &
+loÿlfs_glue
+,
+
+76 #ifdeà
+CONFIG_EXT2FS
+
+
+77 &
+ext2fs_glue
+,
+
+79 #ifdeà
+CONFIG_NETFS
+
+
+80 &
+Ãtfs_glue
+,
+
+82 
+NULL
+
+
+83 
+       }
+};
+
+85 \18
+deviû_t
+ *
+       gdev_\8fb
+;
+
+86 \18
+UINTN
+       gndev
+, 
+       gndev_boÙ
+;
+
+87 \18
+deviû_t
+ *
+       gboÙ_dev
+;
+
+89 \e\19
+       s_fdesc_t
+ {
+
+90 \19
+_fdesc_t
+ *
+       mÃxt
+;
+
+91 
+f\9eeÝs_t
+ *
+       mfÝs
+;
+
+92 
+UINTN
+       mfh
+;
+
+93 } 
+       tfdesc_t
+;
+
+95 \ 1
+       #FILEOPS_FD_MAX
+ 16
+
+       )
+
+97 \18
+fdesc_t
+       gfd_\8fb
+[
+FILEOPS_FD_MAX
+];
+
+98 \18
+fdesc_t
+ *
+       gä\93_fd
+;
+
+100 \18
+devÇme_scheme_t
+ *
+       gcu¼\92t_devÇme_scheme
+;
+
+102 \ 1
+       #FDESC_IDX
+(
+f
+è(
+fÝs_fd_t
+)(f-
+fd_\8fb
+)
+
+       )
+
+103 \ 1
+       #FDESC_INVALID_FD
+(
+fd
+è(fd >ð
+FILEOPS_FD_MAX
+ || 
+fd_\8fb
+[(fd)].
+fÝs
+ =ð
+NULL
+)
+
+       )
+
+104 \ 1
+       #FDESC_F
+(
+fd
+è(
+fd_\8fb
++(fd))
+
+       )
+
+106 \18
+fdesc_t
+ *
+
+107 
+       $fd_®loc
+(
+VOID
+)
+
+109 
+fdesc_t
+ *
+tmp
+ = 
+NULL
+;
+
+111 ià(
\93_fd
+ =ð
+NULL
+) {
+
+112 
+       `ERR_PRT
+((
+L
+"out of file descriptor"));
+
+114 
+tmp
+ = 
\93_fd
+;
+
+115 
\93_fd
+ = f»e_fd->
+Ãxt
+;
+
+117 \15 
+tmp
+;
+
+118 
+       }
+}
+
+120 \18
+VOID
+
+
+121 
+       $fd_ä\93
+(
+fdesc_t
+ *
+fd
+)
+
+123 ià(
+fd
+ =ð
+NULL
+) {
+
+124 
+       `ERR_PRT
+((
+L
+"invalid fd"));
+
+126 
+fd
+->
+fÝs
+ = 
+NULL
+;
+
+127 
+fd
+->
+Ãxt
+ = 
\93_fd
+;
+
+128 
\93_fd
+ = 
+fd
+;
+
+129 
+       }
+}
+
+131 \18
+f\9eeÝs_t
+ *
+
+132 
+       $glue_f\9eesy¡em
+(
+EFI_GUID
+ *
+´Ùo
+, 
+EFI_HANDLE
+dev
+, 
+fÝs_fs_glue_t
+glue
+)
+
+134 
+f\9eeÝs_t
+ *
+fÝs
+;
+
+135 
+VOID
+ *
+\9atf
+ = 
+NULL
+;
+
+136 
+EFI_STATUS
+¡©us
+;
+
+138 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+(
+dev
+, 
+´Ùo
+, &
+\9atf
+);
+
+139 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+140 
+       `ERR_PRT
+((
+L
+"uÇbË\81Øloÿ\8b %g: should\82Ù h­³n", 
+´Ùo
+));
+
+141 \15 
+NULL
+;
+
+143 
+fÝs
+ = (
+f\9eeÝs_t
+ *)
+       `®loc
+(\17(*fÝs), 
+EfiLßd\94D©a
+);
+
+144 ià(
+fÝs
+ =ð
+NULL
+) {
+
+145 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate fileops"));
+
+146 \15 
+NULL
+;
+
+148 
+       `Mem£t
+(
+fÝs
+, 0, \17(*fops));
+
+150 
+fÝs
+->
+dev
+ = dev;
+
+153 
+       `glue
+(
+fÝs
+, 
+\9atf
+);
+
+155 \15 
+fÝs
+;
+
+156 
+       }
+}
+
+158 
+INTN
+
+
+159 
+       $fÝs_¥l\99_·th
+(
+CHAR16
+ *
+·th
+, CHAR16 *
+dev
+)
+
+161 
+CHAR16
+ *
+p
+, *
+d
+ = 
+dev
+;
+
+162 
+UINTN
+Ën
+ = 
+FILEOPS_DEVNAME_MAXLEN
+;
+
+163 \ 1
+       #CHAR_COLON
+L
+':'
+
+       )
+
+165 
+p
+ = 
+       `S\8cChr
+(
+·th
+, 
+CHAR_COLON
+);
+
+166 ià(
+p
+ =ð
+NULL
+) {
+
+167 *
+dev
+ = 
+CHAR_NULL
+;
+
+171 \ f
+d
+ = 
+dev
+ ; 
+·th
+ !ð
+p
+ ;) {
+
+172 ià(--
+Ën
+ == 0) \15 -1;
+
+173 *
+d
+++ = *
+·th
+++;
+
+175 *
+d
+ = 
+CHAR_NULL
+;
+
+177 
+       }
+}
+
+179 \18
+deviû_t
+ *
+
+180 
+       $f\9ad_deviû_byÇme
+(
+CHAR16
+ *
+dev
+)
+
+182 
+UINTN
+i
+;
+
+183 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+184 ià(!
+       `S\8cCmp
+(
+dev
+, 
+dev_\8fb
+[
+i
+].
+Çme
+)) \15 dev_tab+i;
+
+186 \15 
+NULL
+;
+
+187 
+       }
+}
+
+206 
+EFI_STATUS
+
+
+207 
+       $fÝs_g\91_Ãxt_deviû
+(
+UINTN
+pidx
+, 
+CHAR16
+ *
+ty³
+, UINTN 
+maxËn
+, UINTN *
+idx
+, CHAR16 *
+Çme
+, 
+EFI_HANDLE
+ *
+dev
+)
+
+209 
+UINTN
+i
+;
+
+211 ià(
+Çme
+ =ð
+NULL
+ || 
+idx
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+213 \ f
+i
+=
+pidx
+; i < 
+ndev
+; i++) {
+
+214 ià(
+ty³
+ =ð
+NULL
+ || !
+       `S\8cCmp
+(
+dev_\8fb
+[
+i
+].
+fÝs
+->
+Çme
+,\81y³)è\10
+found
+;
+
+216 \15 
+EFI_NOT_FOUND
+;
+
+217 
+found
+:
+
+218 ià(
+       `S\8cL\92
+(
+dev_\8fb
+[
+i
+].
+Çme
+è>ð
+maxËn
+) {
+
+219 *
+idx
+ = 
+pidx
+;
+
+220 \15 
+EFI_BUFFER_TOO_SMALL
+;
+
+222 
+       `S\8cCpy
+(
+Çme
+, 
+dev_\8fb
+[
+i
+].name);
+
+223 *
+idx
+ = 
+i
++1;
+
+224 ià(
+dev
+è*dev = 
+dev_\8fb
+[
+i
+].dev;
+
+226 \15 
+EFI_SUCCESS
+;
+
+227 
+       }
+}
+
+229 
+EFI_STATUS
+
+
+230 
+       $fÝs_g\91_deviû_hªdË
+(
+CHAR16
+ *
+Çme
+, 
+EFI_HANDLE
+ *
+dev
+)
+
+232 
+UINTN
+i
+;
+
+234 ià(
+Çme
+ =ð
+NULL
+ || 
+dev
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+236 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+237 ià(!
+       `S\8cCmp
+(
+dev_\8fb
+[
+i
+].
+Çme
+,\82ame)è\10
+found
+;
+
+239 \15 
+EFI_NOT_FOUND
+;
+
+240 
+found
+:
+
+241 *
+dev
+ = 
+dev_\8fb
+[
+i
+].dev;
+
+243 \15 
+EFI_SUCCESS
+;
+
+244 
+       }
+}
+
+247 
+EFI_STATUS
+
+
+248 
+       $fÝs_Ý\92
+(
+CHAR16
+ *
+fuÎÇme
+, 
+fÝs_fd_t
+ *
+fd
+)
+
+250 
+fdesc_t
+ *
+f
+;
+
+251 
+EFI_STATUS
+¡©us
+;
+
+252 
+f\9eeÝs_t
+ *
+fÝs
+;
+
+253 
+deviû_t
+ *
+dev
+;
+
+254 
+CHAR16
+dev_Çme
+[
+FILEOPS_DEVNAME_MAXLEN
+];
+
+255 
+CHAR16
+ *
+Çme
+;
+
+258 ià(
+fd
+ =ð
+NULL
+ || 
+fuÎÇme
+ =ðNULL || *fuÎÇm\90
+CHAR_NULL
+ || 
+       `fÝs_¥l\99_·th
+(fuÎÇme, 
+dev_Çme
+) == -1)
+
+259 \15 
+EFI_INVALID_PARAMETER
+;
+
+261 
+       `DBG_PRT
+((
+L
+"fÝs_Ý\92(%s), dev:%s:", 
+fuÎÇme
+ ? fuÎÇm\90: L"(NULL)", 
+dev_Çme
+));
+
+263 
+Çme
+ = 
+fuÎÇme
+;
+
+264 ià(
+dev_Çme
+[0] =ð
+CHAR_NULL
+) {
+
+265 ià(
+boÙ_dev
+ =ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+266 
+fÝs
+ = 
+boÙ_dev
+->fops;
+
+268 ià((
+dev
+=
+       `f\9ad_deviû_byÇme
+(
+dev_Çme
+)è=ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+270 
+Çme
+ +ð
+       `S\8cL\92
+(
+dev_Çme
+)+1;
+
+272 
+fÝs
+ = 
+dev
+->fops;
+
+275 ià(
+fÝs
+ =ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+277 ià((
+f
+=
+       `fd_®loc
+()è=ð
+NULL
\15 
+EFI_OUT_OF_RESOURCES
+;
+
+279 
+       `DBG_PRT
+((
+L
+"dev:%s: fuÎÇme:%s:\82ame:%s: f=%d", 
+dev_Çme
+, 
+fuÎÇme
+, 
+Çme
+, 
+f
+ - 
+fd_\8fb
+));
+
+281 
+¡©us
+ = 
+fÝs
+->
+       `ݒ
+(fÝs->
+\9atf
+, 
+Çme
+, &
+f
+->
+fh
+);
+
+282 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\10
+\94
+;
+
+284 
+f
+->
+fÝs
+ = fops;
+
+286 *
+fd
+ = 
+       `FDESC_IDX
+(
+f
+);
+
+288 \15 
+EFI_SUCCESS
+;
+
+289 
+\94
+:
+
+290 
+       `fd_ä\93
+(
+f
+);
+
+291 \15 
+¡©us
+;
+
+292 
+       }
+}
+
+294 
+EFI_STATUS
+
+
+295 
+       $fÝs_»ad
+(
+fÝs_fd_t
+fd
+, 
+VOID
+ *
+buf
+, 
+UINTN
+ *
+size
+)
+
+297 
+fdesc_t
+ *
+f
+;
+
+299 ià(
+buf
+ =ð
+NULL
+ || 
+       `FDESC_INVALID_FD
+(
+fd
+è|| 
+size
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+301 
+f
+ = 
+       `FDESC_F
+(
+fd
+);
+
+303 \15 
+f
+->
+fÝs
+->
+       `»ad
+(f->fÝs->
+\9atf
+, f->
+fh
+, 
+buf
+, 
+size
+);
+
+304 
+       }
+}
+
+306 
+EFI_STATUS
+
+
+307 
+       $fÝs_þo£
+(
+fÝs_fd_t
+fd
+)
+
+309 
+fdesc_t
+ *
+f
+;
+
+310 
+EFI_STATUS
+¡©us
+;
+
+312 ià(
+       `FDESC_INVALID_FD
+(
+fd
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+314 
+f
+ = 
+       `FDESC_F
+(
+fd
+);
+
+316 
+¡©us
+ = 
+f
+->
+fÝs
+->
+       `þo£
+(f->fÝs->
+\9atf
+, f->
+fh
+);
+
+318 
+       `fd_ä\93
+(
+f
+);
+
+320 \15 
+¡©us
+;
+
+321 
+       }
+}
+
+323 
+EFI_STATUS
+
+
+324 
+       $fÝs_\9afosize
+(
+fÝs_fd_t
+fd
+, 
+UINT64
+ *
+size
+)
+
+326 
+fdesc_t
+ *
+f
+;
+
+328 ià(
+       `FDESC_INVALID_FD
+(
+fd
+è|| 
+size
+ =ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+330 
+f
+ = 
+       `FDESC_F
+(
+fd
+);
+
+332 \15 
+f
+->
+fÝs
+->
+       `\9afosize
+(f->fÝs->
+\9atf
+, f->
+fh
+, 
+size
+);
+
+333 
+       }
+}
+
+335 
+EFI_STATUS
+
+
+336 
+       $fÝs_£ek
+(
+fÝs_fd_t
+fd
+, 
+UINT64
+Ãwpos
+)
+
+338 
+fdesc_t
+ *
+f
+;
+
+340 ià(
+       `FDESC_INVALID_FD
+(
+fd
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+342 
+f
+ = 
+       `FDESC_F
+(
+fd
+);
+
+344 \15 
+f
+->
+fÝs
+->
+       `£ek
+(f->fÝs->
+\9atf
+, f->
+fh
+, 
+Ãwpos
+);
+
+345 
+       }
+}
+
+347 
+EFI_STATUS
+
+
+348 
+       $fÝs_£tdeçuÉs
+(\19
+cÚfig_f\9ee
+ *
+defcÚf
+, 
+CHAR16
+ *
+kÇme
+, 
+UINTN
+maxËn
+, CHAR16 *
+dev·th
+)
+
+350 
+INTN
+i
+;
+
+357 #ià
+       `def\9aed
+(
+CONFIG_\9f64
+)
+
+358 \ 1
+       #FILEOPS_ARCH_DEFAULT_CONFIG
+L
+"\96\9eo-\9f64.cÚf"
+
+       )
+
+359 #\96
+       `def\9aed
+ (
+CONFIG_\9f32
+)
+
+360 \ 1
+       #FILEOPS_ARCH_DEFAULT_CONFIG
+L
+"\96\9eo-\9f32.cÚf"
+
+       )
+
+368 \ 1
+       #FILEOPS_DEFAULT_CONFIG
+L
+"\96\9eo.cÚf"
+
+       )
+
+370 \ 1
+       #FILEOPS_DEFAULT_KERNEL
+L
+"vml\9aux"
+
+       )
+
+372 #ifdeà
+ELILO_DEBUG
+
+
+373 ià(
+defcÚf
+ =ð
+NULL
+ || 
+kÇme
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+376 \ f
+i
+=0; i<
+MAX_DEFAULT_CONFIGS
+; i++) {
+
+377 
+defcÚf
+[
+i
+].
+âame
+[0] = 
+CHAR_NULL
+;
+
+380 ià(
+boÙ_dev
+ =ð
+NULL
+ || boÙ_dev->
+fÝs
+ == NULL) {
+
+381 ià(
+boÙ_dev
+ =ð
+NULL
+)
+
+382 
+       `Pr\9at
+(
+L
+"Warning boot device\82ot\84ecognized\n");
+
+384 
+       `Pr\9at
+(
+L
+"Unknown filesystem on boot device\n");
+
+386 
+       `Pr\9at
+(
+L
+"Using builtin defaults for kernel\87nd config file\n");
+
+388 
+       `S\8cnCpy
+(
+kÇme
+, 
+FILEOPS_DEFAULT_KERNEL
+, 
+maxËn
+-1);
+
+391 
+boÙ_dev
+->
+fÝs
+->
+       `£tdeçuÉs
+(boÙ_dev->fÝs->
+\9atf
+, 
+defcÚf
+, 
+kÇme
+, 
+maxËn
+, 
+dev·th
+);
+
+393 
+i
+=0; \1fi<
+MAX_DEFAULT_CONFIGS
+ && 
+defcÚf
+[i].
+âame
+[0] !ð
+CHAR_NULL
+) i += 1;
+
+394 #ifdeà
+ELILO_DEBUG
+
+
+395 ià((
+i
++3è>ð
+MAX_DEFAULT_CONFIGS
+) {
+
+396 
+       `Pr\9at
+(
+L
+"ERROR: i = %d, MAX_DEFAULT_CONFIGS i nÙ\86¬g\90\92ough\n", 
+i
+);
+
+397 \15 
+EFI_INVALID_PARAMETER
+;
+
+400 
+       `S\8cnCpy
+(
+defcÚf
+[
+i
+].
+âame
+, 
+FILEOPS_ARCH_DEFAULT_CONFIG
+, 
+maxËn
+-1);
+
+401 
+       `S\8cnCpy
+(
+defcÚf
+[
+i
++1].
+âame
+, 
+FILEOPS_DEFAULT_CONFIG
+, 
+maxËn
+-1);
+
+403 #ifdeà
+ELILO_DEBUG
+
+
+404 
+       `VERB_PRT
+(3,
+       `Pr\9at
+(
+L
+"Default config filename\86ist:\n"));
+
+405 \ f
+i
+=0; i<
+MAX_DEFAULT_CONFIGS
+; i++) {
+
+406 ià(
+defcÚf
+[
+i
+].
+âame
+[0] =ð
+CHAR_NULL
+) { \ 3; }
+
+407 
+       `VERB_PRT
+(3,
+       `Pr\9at
+(
+L
+"\t%s\n", 
+defcÚf
+[
+i
+].
+âame
+));
+
+411 \15 
+EFI_SUCCESS
+;
+
+412 
+       }
+}
+
+414 
+EFI_STATUS
+
+
+415 
+       $fÝs_g\91deçuÉ_·th
+(
+CHAR16
+ *
+·th
+, 
+UINTN
+maxËn
+)
+
+417 ià(
+·th
+ =ð
+NULL
+ || 
+maxËn
+ =ð0è\15 
+EFI_INVALID_PARAMETER
+;
+
+423 ià(
+boÙ_dev
+->
+fÝs
+->
+g\91deçuÉ_·th
+)
+
+424 \15 
+boÙ_dev
+->
+fÝs
+->
+       `g\91deçuÉ_·th
+(
+·th
+, 
+maxËn
+);
+
+426 
+·th
+[0] = 
+CHAR_NULL
+;
+
+428 \15 
+EFI_SUCCESS
+;
+
+429 
+       }
+}
+
+431 
+CHAR16
+ *
+
+432 
+       $fÝs_boÙdev_Çme
+(
+VOID
+)
+
+434 \15 
+boÙ_dev
+ ? boÙ_dev->
+Çme
+ : 
+L
+"not supported";
+
+435 
+       }
+}
+
+437 \18
+INTN
+
+
+438 
+       $add_dev_\8fb
+(
+EFI_GUID
+ *
+´Ùo
+, 
+EFI_HANDLE
+boÙ_hªdË
+, 
+UINTN
+size
+, 
+fÝs_fs_glue_t
+glue
+)
+
+440 
+EFI_STATUS
+¡©us
+;
+
+441 
+EFI_HANDLE
+ *
+\8fb
+;
+
+442 
+UINTN
+i
+;
+
+443 \18
+UINTN
+idx
+;
+
+445 ià(
+size
+ == 0) \15 0;
+
+447 
+\8fb
+ = (
+EFI_HANDLE
+ *)
+       `®loc
+(
+size
+, 
+EfiLßd\94D©a
+);
+
+448 ià(
+\8fb
+ =ð
+NULL
+) {
+
+449 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate handle\81able"));
+
+453 
+       `Mem£t
+(
+\8fb
+, 0, 
+size
+);
+
+458 
+¡©us
+ = 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, 
+´Ùo
+, 
+NULL
+, &
+size
+, 
+\8fb
+);
+
+459 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+460 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Øg\91 hªdË fÜ\85rÙØ%g size=%d: %r", 
+´Ùo
+, 
+size
+, 
+¡©us
+));
+
+461 
+       `ä\93
+(
+\8fb
+);
+
+464 
+size
+ /ð\17(
+EFI_HANDLE
+);
+
+466 \ f
+i
+=0; i < 
+size
+; i++) {
+
+467 
+dev_\8fb
+[
+idx
+].
+dev
+ = 
+\8fb
+[
+i
+];
+
+468 
+dev_\8fb
+[
+idx
+].
+fÝs
+ = 
+       `glue_f\9eesy¡em
+(
+´Ùo
+, 
+\8fb
+[
+i
+], 
+glue
+);
+
+470 ià(
+\8fb
+[
+i
+] =ð
+boÙ_hªdË
+boÙ_dev
+ = 
+dev_\8fb
++
+idx
+;
+
+473 ià(
+dev_\8fb
+[
+idx
+].
+fÝs
+ndev_boÙ
+++;
+
+476 
+dev_\8fb
+[
+idx
+].
+Çme
+[0] = 
+L
+'d';
+
+477 
+dev_\8fb
+[
+idx
+].
+Çme
+[1] = 
+L
+'e';
+
+478 
+dev_\8fb
+[
+idx
+].
+Çme
+[2] = 
+L
+'v';
+
+479 
+dev_\8fb
+[
+idx
+].
+Çme
+[3] = 
+L
+'0' + idx/100;
+
+480 
+dev_\8fb
+[
+idx
+].
+Çme
+[4] = 
+L
+'0' + (idx%100)/10;
+
+481 
+dev_\8fb
+[
+idx
+].
+Çme
+[5] = 
+L
+'0' + (idx%100) % 10;
+
+482 
+dev_\8fb
+[
+idx
+].
+Çme
+[6] = 
+CHAR_NULL
+;
+
+484 #ifdeà
+ELILO_DEBUG
+
+
+485 ià(
+\96\9eo_Ýt
+.
+debug
+) {
+
+486 
+EFI_DEVICE_PATH
+ *
+dp
+;
+
+487 
+CHAR16
+ *
+¡r
+, *
+¡r2
+;
+
+489 
+¡r
+ = 
+NULL
+;
+
+490 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev_\8fb
+[
+idx
+].
+dev
+);
+
+491 ià(
+dp
+¡r
+ = 
+       `DeviûP©hToS\8c
+(dp);
+
+493 
+¡r2
+ = 
+¡r
+ =ð
+NULL
+ ? 
+L
+"Unknown" : str;
+
+495 
+       `DBG_PRT
+((
+L
+"% : %-8 : %s\n", 
+dev_\8fb
+[
+idx
+].
+Çme
+,
+
+496 (
+dev_\8fb
+[
+idx
+].
+fÝs
+ ? dev_\8fb[idx].fÝs->
+Çme
+: 
+L
+"N/A"), 
+¡r2
+));
+
+498 ià(
+¡r
+       `F»ePoÞ
+(str);
+
+502 
+idx
+++;
+
+504 
+       `ä\93
+(
+\8fb
+);
+
+507 
+ndev
+ = 
+idx
+;
+
+510 
+       }
+}
+
+512 \18
+INTN
+
+
+513 
+       $´obe_devÇme_schemes
+(
+deviû_t
+ *
+dev_\8fb
+, 
+INTN
+ndev
+)
+
+515 
+devÇme_scheme_t
+ **
+p
+;
+
+517 \ f
+p
+ = 
+devÇme_scheme_\8fb
+; *p ;\85++) {
+
+518 ià((*
+p
+)->
+       `\9a¡®l_scheme
+(
+dev_\8fb
+, 
+ndev
+è=ð0è\10
+found
+;
+
+520 
+       `ERR_PRT
+((
+L
+"No devname schemes worked, using builtin\n"));
+
+522 
+found
+:
+
+523 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"devÇm\90scheme: %s\n", (*
+p
+)->
+Çme
+));
+
+524 
+cu¼\92t_devÇme_scheme
+ = *
+p
+;
+
+526 
+       }
+}
+
+528 \18
+INTN
+
+
+529 
+       $f\9ad_f\9eesy¡ems
+(
+EFI_HANDLE
+boÙ_hªdË
+)
+
+531 
+UINTN
+size
+, 
+tٮ
+ = 0;
+
+532 
+f\9eeÝs_fs_t
+ **
+fs
+;
+
+537 \ f
+fs
+ = 
+fs_\8fb
+; *fs; fs++) {
+
+538 
+size
+ = 0;
+
+539 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &(*
+fs
+)->
+´Ùo
+, 
+NULL
+, &
+size
+, NULL);
+
+540 
+tٮ
+ +ð
+size
+;
+
+542 ià(
+tٮ
+ == 0) {
+
+543 
+       `ERR_PRT
+((
+L
+"No useable filesystem found"));
+
+546 
+tٮ
+ /ð\17(
+EFI_HANDLE
+);
+
+547 
+       `DBG_PRT
+((
+L
+"found %d f\9eesy¡ems", 
+tٮ
+));
+
+549 
+dev_\8fb
+ = (
+deviû_t
+ *)
+       `®loc
+(
+tٮ
+*\17(deviû_t), 
+EfiLßd\94D©a
+);
+
+550 ià(
+dev_\8fb
+ =ð
+NULL
+) {
+
+551 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate handle\81able"));
+
+555 
+       `Mem£t
+(
+dev_\8fb
+, 0, 
+tٮ
+*\17(
+deviû_t
+));
+
+560 \ f
+fs
+ = 
+fs_\8fb
+; *fs; fs++) {
+
+561 
+size
+ = 0;
+
+563 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &(*
+fs
+)->
+´Ùo
+, 
+NULL
+, &
+size
+, NULL);
+
+564 ià(
+size
+ == 0) \ 6;
+
+566 
+       `add_dev_\8fb
+(&(*
+fs
+)->
+´Ùo
+, 
+boÙ_hªdË
+, 
+size
+, (*fs)->
+glue
+);
+
+568 
+       `´obe_devÇme_schemes
+(
+dev_\8fb
+, 
+ndev
+);
+
+571 
+       }
+}
+
+573 \18
+INTN
+
+
+574 
+       $f\9eeÝs_\9a\99
+(
+VOID
+)
+
+576 
+UINTN
+i
+;
+
+578 \ f
+i
+=0; i < 
+FILEOPS_FD_MAX
+-1; i++) {
+
+579 
+fd_\8fb
+[
+i
+].
+Ãxt
+ = &fd_tab[i+1];
+
+581 
+fd_\8fb
+[
+i
+].
+Ãxt
+ = 
+NULL
+;
+
+582 
\93_fd
+ = 
+fd_\8fb
+;
+
+585 
+       }
+}
+
+590 \18
+INTN
+
+
+591 
+       $\9a¡®l_f\9eesy¡ems
+(
+VOID
+)
+
+593 
+f\9eeÝs_fs_t
+ **
+fs
+;
+
+595 \ f
+fs
+ = 
+fs_\8fb
+; *fs; fs++è(*fs)->
+       `\9a¡®l
+();
+
+598 
+       }
+}
+
+600 \18
+INTN
+
+
+601 
+       $un\9a¡®l_f\9eesy¡ems
+(
+VOID
+)
+
+603 
+f\9eeÝs_fs_t
+ **
+fs
+;
+
+605 \ f
+fs
+ = 
+fs_\8fb
+; *fs; fs++è(*fs)->
+       `un\9a¡®l
+();
+
+608 
+       }
+}
+
+610 
+INTN
+
+
+611 
+       $\9a\99_deviûs
+(
+EFI_HANDLE
+boÙ_hªdË
+)
+
+614 
+       `\9a¡®l_f\9eesy¡ems
+();
+
+619 
+       `f\9eeÝs_\9a\99
+();
+
+621 \15 
+       `f\9ad_f\9eesy¡ems
+(
+boÙ_hªdË
+);
+
+622 
+       }
+}
+
+624 
+INTN
+
+
+625 
+       $þo£_deviûs
+(
+VOID
+)
+
+627 
+INTN
+i
+;
+
+629 \ f
+i
+=0; i < 
+FILEOPS_FD_MAX
+; i++) {
+
+630 
+       `fÝs_þo£
+(
+i
+);
+
+632 
+       `ä\93
+(
+dev_\8fb
+);
+
+637 
+       `un\9a¡®l_f\9eesy¡ems
+();
+
+640 
+       }
+}
+
+642 
+VOID
+
+
+643 
+       $´\9at_deviûs
+(
+VOID
+)
+
+645 
+UINTN
+idx
+;
+
+646 
+EFI_DEVICE_PATH
+ *
+dp
+;
+
+647 
+CHAR16
+ *
+¡r
+, *
+¡r2
+;
+
+649 \ f
+idx
+=0; idx< 
+ndev
+; idx++) {
+
+650 
+¡r
+ = 
+NULL
+;
+
+652 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev_\8fb
+[
+idx
+].
+dev
+);
+
+653 ià(
+dp
+¡r
+ = 
+       `DeviûP©hToS\8c
+(dp);
+
+655 
+¡r2
+ = 
+¡r
+ =ð
+NULL
+ ? 
+L
+"Unknown" : str;
+
+657 
+       `Pr\9at
+(
+L
+"%8 : %-6 : %s\n", 
+dev_\8fb
+[
+idx
+].
+Çme
+,
+
+658 (
+dev_\8fb
+[
+idx
+].
+fÝs
+ ? dev_\8fb[idx].fÝs->
+Çme
+: 
+L
+"N/A"), 
+¡r2
+);
+
+660 ià(
+¡r
+       `F»ePoÞ
+(str);
+
+662 
+       `Pr\9at
+(
+L
+"%d deviû ava\9eabË fÜ boÙ\9ag\n", 
+ndev_boÙ
+);
+
+664 ià(
+boÙ_dev
+ =ð
+NULL
+) {
+
+665 
+       `Pr\9at
+(
+L
+"boot device\82ot detected\n");
+
+667 
+       `Pr\9at
+(
+L
+"boÙ deviû %s: %s\n", 
+boÙ_dev
+->
+Çme
+,
+
+668 (
+boÙ_dev
+->
+fÝs
+ ? boÙ_dev->fÝs->
+Çme
+ : 
+L
+"No file\87ccess"));
+
+670 
+       }
+}
+
+       @fileops.h
+
+26 #iâdeà
+__FILEOPS_H__
+
+
+27 \ 1
+       #__FILEOPS_H__
+
+
+       )
+
+29 \ 1
+       #FILEOPS_NAME_MAXLEN
+ 32
+
+       )
+
+34 \e
+UINTN
+       tfÝs_fd_t
+;
+
+37 \19
+       gcÚfig_f\9ee
+;
+
+39 \r
+EFI_STATUS
+fÝs_Ý\92
+(
+CHAR16
+ *
+Çme
+, 
+fÝs_fd_t
+ *
+fd
+);
+
+40 \r
+EFI_STATUS
+fÝs_»ad
+(
+fÝs_fd_t
+fd
+,
+VOID
+ *
+buf
+, 
+UINTN
+ *
+size
+);
+
+41 \r
+EFI_STATUS
+fÝs_þo£
+(
+fÝs_fd_t
+fd
+);
+
+42 \r
+EFI_STATUS
+fÝs_\9afosize
+(
+fÝs_fd_t
+fd
+, 
+UINT64
+ *
+size
+);
+
+43 \r
+EFI_STATUS
+fÝs_£ek
+(
+fÝs_fd_t
+fd
+, 
+UINT64
+Ãwpos
+);
+
+44 \r
+EFI_STATUS
+fÝs_£tdeçuÉs
+(\19
+cÚfig_f\9ee
+ *
+defcÚf
+, 
+CHAR16
+ *
+kÇme
+, 
+UINTN
+maxËn
+, CHAR16 *
+dev·th
+);
+
+45 \r
+EFI_STATUS
+fÝs_g\91deçuÉ_·th
+(
+CHAR16
+ *
+·th
+, 
+UINTN
+maxËn
+);
+
+46 \r
+CHAR16
+ *
+fÝs_boÙdev_Çme
+(
+VOID
+);
+
+53 \e
+       $EFI_STATUS
+ (*
+       tfÝs_Ý\92_t
+)(
+       tVOID
+ *
+       t\9atf
+, 
+       tCHAR16
+ *
+       tÇme
+, 
+       tfÝs_fd_t
+ *
+       tfd
+);
+
+54 \e
+       $EFI_STATUS
+ (*
+       tfÝs_»ad_t
+)(
+       tVOID
+ *
+       t\9atf
+, 
+       tfÝs_fd_t
+       tfd
+, VOID *
+       tbuf
+, 
+       tUINTN
+ *
+       tsize
+);
+
+55 \e
+       $EFI_STATUS
+ (*
+       tfÝs_þo£_t
+)(
+       tVOID
+ *
+       t\9atf
+, 
+       tfÝs_fd_t
+       tfd
+);
+
+56 \e
+       $EFI_STATUS
+ (*
+       tfÝs_\9afosize_t
+)(
+       tVOID
+ *
+       t\9atf
+, 
+       tfÝs_fd_t
+       tfd
+, 
+       tUINT64
+ *
+       tsize
+);
+
+57 \e
+       $EFI_STATUS
+ (*
+       tfÝs_£ek_t
+)(
+       tVOID
+ *
+       t\9atf
+, 
+       tfÝs_fd_t
+       tfd
+, 
+       tUINT64
+       tÃwpos
+);
+
+58 \e
+       $EFI_STATUS
+ (*
+       tfÝs_£tdeçuÉs_t
+)(
+       tVOID
+ *
+       t\9atf
+, \19
+       tcÚfig_f\9ee
+ *
+       tdefcÚfs
+, 
+       tCHAR16
+ *
+       tkÇme
+, 
+       tUINTN
+       tmaxËn
+, CHAR16 *
+       tdev·th
+);
+
+59 \e
+       $EFI_STATUS
+ (*
+       tfÝs_g\91deçuÉ_·th_t
+)(
+       tCHAR16
+ *
+       t·th
+, 
+       tUINTN
+       tmaxËn
+);
+
+62 
+VOID
+ *
+\9atf
+;
+
+64 
+fÝs_Ý\92_t
+;
+
+65 
+fÝs_»ad_t
+»ad
+;
+
+66 
+fÝs_þo£_t
+þo£
+;
+
+67 
+fÝs_\9afosize_t
+\9afosize
+;
+
+68 
+fÝs_£ek_t
+£ek
+;
+
+69 
+fÝs_£tdeçuÉs_t
+£tdeçuÉs
+;
+
+70 
+fÝs_g\91deçuÉ_·th_t
+g\91deçuÉ_·th
+;
+
+72 
+EFI_HANDLE
+dev
+;
+
+73 
+CHAR16
+Çme
+[
+FILEOPS_NAME_MAXLEN
+];
+
+74 } 
+       tf\9eeÝs_t
+;
+
+79 \e
+       $INTN
+ (*
+       tfÝs_fs_glue_t
+)(
+       tf\9eeÝs_t
+ *
+       tthis
+, 
+       tVOID
+ *
+       t\9atf
+);
+
+80 \e
+       $EFI_STATUS
+ (*
+       tfÝs_fs_\9a¡®l_t
+)(
+       tVOID
+);
+
+81 \e
+       $EFI_STATUS
+ (*
+       tfÝs_fs_un\9a¡®l_t
+)(
+       tVOID
+);
+
+84 
+EFI_GUID
+´Ùo
+;
+
+85 
+fÝs_fs_glue_t
+glue
+;
+
+86 
+fÝs_fs_\9a¡®l_t
+\9a¡®l
+;
+
+87 
+fÝs_fs_un\9a¡®l_t
+un\9a¡®l
+;
+
+88 } 
+       tf\9eeÝs_fs_t
+;
+
+94 \ 1
+       #FILEOPS_DEVNAME_MAXLEN
+ 16
+
+       )
+
+97 
+EFI_HANDLE
+dev
+;
+
+98 
+f\9eeÝs_t
+ *
+fÝs
+;
+
+99 
+CHAR16
+Çme
+[
+FILEOPS_DEVNAME_MAXLEN
+];
+
+100 } 
+       tdeviû_t
+;
+
+102 \r
+INTN
+       `\9a\99_deviûs
+(
+EFI_HANDLE
+boÙ_hªdË
+);
+
+103 \r
+INTN
+       `þo£_deviûs
+(
+VOID
+);
+
+104 \r
+VOID
+       `´\9at_deviûs
+(VOID);
+
+105 \r
+EFI_STATUS
+       `fÝs_g\91_Ãxt_deviû
+(
+UINTN
+pidx
+, 
+CHAR16
+ *
+ty³
+, UINTN 
+maxËn
+, UINTN *
+idx
+, CHAR16 *
+Çme
+, 
+EFI_HANDLE
+ *
+dev
+);
+
+106 \r
+INTN
+       `fÝs_¥l\99_·th
+(
+CHAR16
+ *
+·th
+, CHAR16 *
+dev
+);
+
+107 \r
+EFI_STATUS
+       `fÝs_g\91_deviû_hªdË
+(
+CHAR16
+ *
+Çme
+, 
+EFI_HANDLE
+ *
+dev
+);
+
+123 
+CHAR16
+ *
+Çme
+;
+
+124 
+       `INTN
+ (*
+\9a¡®l_scheme
+)(
+deviû_t
+ *
+\8fb
+, 
+UINTN
+ndev
+);
+
+125 } 
+       tdevÇme_scheme_t
+;
+
+       @fs/ext2_fs.h
+
+16 #iâdeà
+_LINUX_EXT2_FS_H
+
+
+17 \ 1
+       #_LINUX_EXT2_FS_H
+
+
+       )
+
+26 #undeà
+EXT2FS_DEBUG
+
+
+31 \ 1
+       #EXT2_PREALLOCATE
+
+
+       )
+
+32 \ 1
+       #EXT2_DEFAULT_PREALLOC_BLOCKS
+ 8
+
+       )
+
+37 \ 1
+       #EXT2FS_DATE
+ "95/08/09"
+
+       )
+
+38 \ 1
+       #EXT2FS_VERSION
+ "0.5b"
+
+       )
+
+43 #ifdeà
+EXT2FS_DEBUG
+
+
+44 \ 1
+       #ext2_debug
+(
+f
+, 
+a
+...) { \
+
+45 
+       `´\9atk
+ ("EXT2-fs DEBUG (%s, %d): %s:", \
+
+46 
+__FILE__
+, 
+__LINE__
+, 
+__FUNCTION__
+); \
+
+47 
+       `´\9atk
+ (
+f
+, ## 
+a
+); \
+
+48 }
+
+       )
+
+50 \ 1
+       #ext2_debug
+(
+f
+, 
+a
+...è
+
+       )
+
+56 \ 1
+       #EXT2_BAD_INO
+ 1
+
+       )
+
+57 \ 1
+       #EXT2_ROOT_INO
+ 2
+
+       )
+
+58 \ 1
+       #EXT2_ACL_IDX_INO
+ 3
+
+       )
+
+59 \ 1
+       #EXT2_ACL_DATA_INO
+ 4
+
+       )
+
+60 \ 1
+       #EXT2_BOOT_LOADER_INO
+ 5
+
+       )
+
+61 \ 1
+       #EXT2_UNDEL_DIR_INO
+ 6
+
+       )
+
+64 \ 1
+       #EXT2_GOOD_OLD_FIRST_INO
+ 11
+
+       )
+
+69 \ 1
+       #EXT2_SUPER_MAGIC
+ 0xEF53
+
+       )
+
+74 \ 1
+       #EXT2_LINK_MAX
+ 32000
+
+       )
+
+79 \ 1
+       #EXT2_MIN_BLOCK_SIZE
+ 1024
+
+       )
+
+80 \ 1
+       #EXT2_MAX_BLOCK_SIZE
+ 4096
+
+       )
+
+81 \ 1
+       #EXT2_MIN_BLOCK_LOG_SIZE
+ 10
+
+       )
+
+82 #ifdeà
+__KERNEL__
+
+
+83 \ 1
+       #EXT2_BLOCK_SIZE
+(
+s
+è((s)->
+s_blocksize
+)
+
+       )
+
+85 \ 1
+       #EXT2_BLOCK_SIZE
+(
+s
+è(
+EXT2_MIN_BLOCK_SIZE
+ << (s)->
+s_log_block_size
+)
+
+       )
+
+87 \ 1
+       #EXT2_ACLE_PER_BLOCK
+(
+s
+è(
+       `EXT2_BLOCK_SIZE
+(sè/ \17 (\19
+ext2_aþ_\92\8cy
+))
+
+       )
+
+88 \ 1
+       #EXT2_ADDR_PER_BLOCK
+(
+s
+è(
+       `EXT2_BLOCK_SIZE
+(sè/ \17 (
+__u32
+))
+
+       )
+
+89 #ifdeà
+__KERNEL__
+
+
+90 \ 1
+       #EXT2_BLOCK_SIZE_BITS
+(
+s
+è((s)->
+s_blocksize_b\99s
+)
+
+       )
+
+92 \ 1
+       #EXT2_BLOCK_SIZE_BITS
+(
+s
+è((s)->
+s_log_block_size
+ + 10)
+
+       )
+
+94 #ifdeà
+__KERNEL__
+
+
+95 \ 1
+       #EXT2_ADDR_PER_BLOCK_BITS
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_addr_³r_block_b\99s
+)
+
+       )
+
+96 \ 1
+       #EXT2_INODE_SIZE
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_\9aode_size
+)
+
+       )
+
+97 \ 1
+       #EXT2_FIRST_INO
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_f\9c¡_\9ao
+)
+
+       )
+
+99 \ 1
+       #EXT2_INODE_SIZE
+(
+s
+è(((s)->
+s_»v_Ëv\96
+ =ð
+EXT2_GOOD_OLD_REV
+) ? \
+
+100 
+EXT2_GOOD_OLD_INODE_SIZE
+ : \
+
+101 (
+s
+)->
+s_\9aode_size
+)
+
+       )
+
+102 \ 1
+       #EXT2_FIRST_INO
+(
+s
+è(((s)->
+s_»v_Ëv\96
+ =ð
+EXT2_GOOD_OLD_REV
+) ? \
+
+103 
+EXT2_GOOD_OLD_FIRST_INO
+ : \
+
+104 (
+s
+)->
+s_f\9c¡_\9ao
+)
+
+       )
+
+110 \ 1
+       #EXT2_MIN_FRAG_SIZE
+ 1024
+
+       )
+
+111 \ 1
+       #EXT2_MAX_FRAG_SIZE
+ 4096
+
+       )
+
+112 \ 1
+       #EXT2_MIN_FRAG_LOG_SIZE
+ 10
+
+       )
+
+113 #ifdeà
+__KERNEL__
+
+
+114 \ 1
+       #EXT2_FRAG_SIZE
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_äag_size
+)
+
+       )
+
+115 \ 1
+       #EXT2_FRAGS_PER_BLOCK
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_äags_³r_block
+)
+
+       )
+
+117 \ 1
+       #EXT2_FRAG_SIZE
+(
+s
+è(
+EXT2_MIN_FRAG_SIZE
+ << (s)->
+s_log_äag_size
+)
+
+       )
+
+118 \ 1
+       #EXT2_FRAGS_PER_BLOCK
+(
+s
+è(
+       `EXT2_BLOCK_SIZE
+(sè/ 
+       `EXT2_FRAG_SIZE
+(s))
+
+       )
+
+124 \19
+       sext2_aþ_h\97d\94
+
+
+126 
+__u32
+       maþh_size
+;
+
+127 
+__u32
+       maþh_f\9ee_couÁ
+;
+
+128 
+__u32
+       maþh_aþe_couÁ
+;
+
+129 
+__u32
+       maþh_f\9c¡_aþe
+;
+
+132 \19
+       sext2_aþ_\92\8cy
+
+
+134 
+__u32
+       maþe_size
+;
+
+135 
+__u16
+       maþe_³rms
+;
+
+136 
+__u16
+       maþe_ty³
+;
+
+137 
+__u16
+       maþe_\8fg
+;
+
+138 
+__u16
+       maþe_·d1
+;
+
+139 
+__u32
+       maþe_Ãxt
+;
+
+146 \19
+       sext2_group_desc
+
+
+148 
+__u32
+       mbg_block_b\99
+;
+
+149 
+__u32
+       mbg_\9aode_b\99
+;
+
+150 
+__u32
+       mbg_\9aode_\8f
+;
+
+151 
+__u16
+       mbg_ä\93_blocks_couÁ
+;
+
+152 
+__u16
+       mbg_ä\93_\9aodes_couÁ
+;
+
+153 
+__u16
+       mbg_u£d_d\9cs_couÁ
+;
+
+154 
+__u16
+       mbg_·d
+;
+
+155 
+__u32
+       mbg_»£rved
+[3];
+
+161 #ifdeà
+__KERNEL__
+
+
+162 \ 1
+       #EXT2_BLOCKS_PER_GROUP
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_blocks_³r_group
+)
+
+       )
+
+163 \ 1
+       #EXT2_DESC_PER_BLOCK
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_desc_³r_block
+)
+
+       )
+
+164 \ 1
+       #EXT2_INODES_PER_GROUP
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_\9aodes_³r_group
+)
+
+       )
+
+165 \ 1
+       #EXT2_DESC_PER_BLOCK_BITS
+(
+s
+è((s)->
+u
+.
+ext2_sb
+.
+s_desc_³r_block_b\99s
+)
+
+       )
+
+167 \ 1
+       #EXT2_BLOCKS_PER_GROUP
+(
+s
+è((s)->
+s_blocks_³r_group
+)
+
+       )
+
+168 \ 1
+       #EXT2_DESC_PER_BLOCK
+(
+s
+è(
+       `EXT2_BLOCK_SIZE
+(sè/ \17 (\19
+ext2_group_desc
+))
+
+       )
+
+169 \ 1
+       #EXT2_INODES_PER_GROUP
+(
+s
+è((s)->
+s_\9aodes_³r_group
+)
+
+       )
+
+175 \ 1
+       #EXT2_NDIR_BLOCKS
+ 12
+
+       )
+
+176 \ 1
+       #EXT2_IND_BLOCK
+EXT2_NDIR_BLOCKS
+
+
+       )
+
+177 \ 1
+       #EXT2_DIND_BLOCK
+ (
+EXT2_IND_BLOCK
+ + 1)
+
+       )
+
+178 \ 1
+       #EXT2_TIND_BLOCK
+ (
+EXT2_DIND_BLOCK
+ + 1)
+
+       )
+
+179 \ 1
+       #EXT2_N_BLOCKS
+ (
+EXT2_TIND_BLOCK
+ + 1)
+
+       )
+
+184 \ 1
+       #EXT2_SECRM_FL
+ 0x00000001
+
+       )
+
+185 \ 1
+       #EXT2_UNRM_FL
+ 0x00000002
+
+       )
+
+186 \ 1
+       #EXT2_COMPR_FL
+ 0x00000004
+
+       )
+
+187 \ 1
+       #EXT2_SYNC_FL
+ 0x00000008
+
+       )
+
+188 \ 1
+       #EXT2_IMMUTABLE_FL
+ 0x00000010
+
+       )
+
+189 \ 1
+       #EXT2_APPEND_FL
+ 0x00000020
+
+       )
+
+190 \ 1
+       #EXT2_NODUMP_FL
+ 0x00000040
+
+       )
+
+191 \ 1
+       #EXT2_NOATIME_FL
+ 0x00000080
+
+       )
+
+193 \ 1
+       #EXT2_DIRTY_FL
+ 0x00000100
+
+       )
+
+194 \ 1
+       #EXT2_COMPRBLK_FL
+ 0x00000200
+
+       )
+
+195 \ 1
+       #EXT2_NOCOMP_FL
+ 0x00000400
+
+       )
+
+196 \ 1
+       #EXT2_ECOMPR_FL
+ 0x00000800
+
+       )
+
+198 \ 1
+       #EXT2_BTREE_FL
+ 0x00001000
+
+       )
+
+199 \ 1
+       #EXT2_RESERVED_FL
+ 0x80000000
+
+       )
+
+201 \ 1
+       #EXT2_FL_USER_VISIBLE
+ 0x00001FFF
+
+       )
+
+202 \ 1
+       #EXT2_FL_USER_MODIFIABLE
+ 0x000000FF
+
+       )
+
+207 \ 1
+       #EXT2_IOC_GETFLAGS
+       `_IOR
+('f', 1, \13)
+
+       )
+
+208 \ 1
+       #EXT2_IOC_SETFLAGS
+       `_IOW
+('f', 2, \13)
+
+       )
+
+209 \ 1
+       #EXT2_IOC_GETVERSION
+       `_IOR
+('v', 1, \13)
+
+       )
+
+210 \ 1
+       #EXT2_IOC_SETVERSION
+       `_IOW
+('v', 2, \13)
+
+       )
+
+215 \19
+       sext2_\9aode
+ {
+
+216 
+__u16
+       mi_mode
+;
+
+217 
+__u16
+       mi_uid
+;
+
+218 
+__u32
+       mi_size
+;
+
+219 
+__u32
+       mi_©ime
+;
+
+220 
+__u32
+       mi_ùime
+;
+
+221 
+__u32
+       mi_mtime
+;
+
+222 
+__u32
+       mi_dtime
+;
+
+223 
+__u16
+       mi_gid
+;
+
+224 
+__u16
+       mi_l\9aks_couÁ
+;
+
+225 
+__u32
+       mi_blocks
+;
+
+226 
+__u32
+       mi_æags
+;
+
+229 
+__u32
+       ml_i_»£rved1
+;
+
+230 } 
+       ml\9aux1
+;
+
+232 
+__u32
+       mh_i_\8cª¦©Ü
+;
+
+233 } 
+       mhurd1
+;
+
+235 
+__u32
+       mm_i_»£rved1
+;
+
+236 } 
+       mmasix1
+;
+
+237 } 
+       mosd1
+;
+
+238 
+__u32
+       mi_block
+[
+EXT2_N_BLOCKS
+];
+
+239 
+__u32
+       mi_g\92\94©iÚ
+;
+
+240 
+__u32
+       mi_f\9ee_aþ
+;
+
+241 
+__u32
+       mi_d\9c_aþ
+;
+
+242 
+__u32
+       mi_çddr
+;
+
+245 
+__u8
+       ml_i_äag
+;
+
+246 
+__u8
+       ml_i_fsize
+;
+
+247 
+__u16
+       mi_·d1
+;
+
+248 
+__u16
+       ml_i_uid_high
+;
+
+249 
+__u16
+       ml_i_gid_high
+;
+
+250 
+__u32
+       ml_i_»£rved2
+;
+
+251 } 
+       ml\9aux2
+;
+
+253 
+__u8
+       mh_i_äag
+;
+
+254 
+__u8
+       mh_i_fsize
+;
+
+255 
+__u16
+       mh_i_mode_high
+;
+
+256 
+__u16
+       mh_i_uid_high
+;
+
+257 
+__u16
+       mh_i_gid_high
+;
+
+258 
+__u32
+       mh_i_authÜ
+;
+
+259 } 
+       mhurd2
+;
+
+261 
+__u8
+       mm_i_äag
+;
+
+262 
+__u8
+       mm_i_fsize
+;
+
+263 
+__u16
+       mm_·d1
+;
+
+264 
+__u32
+       mm_i_»£rved2
+[2];
+
+265 } 
+       mmasix2
+;
+
+266 } 
+       mosd2
+;
+
+269 \ 1
+       #i_size_high
+i_d\9c_aþ
+
+
+       )
+
+271 #ià
+def\9aed
+(
+__KERNEL__
+è|| def\9aed(
+__l\9aux__
+)
+
+272 \ 1
+       #i_»£rved1
+osd1
+.
+l\9aux1
+.
+l_i_ȣrved1
+
+
+       )
+
+273 \ 1
+       #i_äag
+osd2
+.
+l\9aux2
+.
+l_i_äag
+
+
+       )
+
+274 \ 1
+       #i_fsize
+osd2
+.
+l\9aux2
+.
+l_i_fsize
+
+
+       )
+
+275 \ 1
+       #i_uid_low
+i_uid
+
+
+       )
+
+276 \ 1
+       #i_gid_low
+i_gid
+
+
+       )
+
+277 \ 1
+       #i_uid_high
+osd2
+.
+l\9aux2
+.
+l_i_uid_high
+
+
+       )
+
+278 \ 1
+       #i_gid_high
+osd2
+.
+l\9aux2
+.
+l_i_gid_high
+
+
+       )
+
+279 \ 1
+       #i_»£rved2
+osd2
+.
+l\9aux2
+.
+l_i_ȣrved2
+
+
+       )
+
+282 #ifdef 
+__hurd__
+
+
+283 \ 1
+       #i_\8cª¦©Ü
+osd1
+.
+hurd1
+.
+h_i_\8cª¦©Ü
+
+
+       )
+
+284 \ 1
+       #i_äag
+osd2
+.
+hurd2
+.
+h_i_äag
+;
+
+       )
+
+285 \ 1
+       #i_fsize
+osd2
+.
+hurd2
+.
+h_i_fsize
+;
+
+       )
+
+286 \ 1
+       #i_uid_high
+osd2
+.
+hurd2
+.
+h_i_uid_high
+
+
+       )
+
+287 \ 1
+       #i_gid_high
+osd2
+.
+hurd2
+.
+h_i_gid_high
+
+
+       )
+
+288 \ 1
+       #i_authÜ
+osd2
+.
+hurd2
+.
+h_i_authÜ
+
+
+       )
+
+291 #ifdef 
+__masix__
+
+
+292 \ 1
+       #i_»£rved1
+osd1
+.
+masix1
+.
+m_i_ȣrved1
+
+
+       )
+
+293 \ 1
+       #i_äag
+osd2
+.
+masix2
+.
+m_i_äag
+
+
+       )
+
+294 \ 1
+       #i_fsize
+osd2
+.
+masix2
+.
+m_i_fsize
+
+
+       )
+
+295 \ 1
+       #i_»£rved2
+osd2
+.
+masix2
+.
+m_i_ȣrved2
+
+
+       )
+
+301 \ 1
+       #EXT2_VALID_FS
+ 0x0001
+
+       )
+
+302 \ 1
+       #EXT2_ERROR_FS
+ 0x0002
+
+       )
+
+307 \ 1
+       #EXT2_MOUNT_CHECK
+ 0x0001
+
+       )
+
+308 \ 1
+       #EXT2_MOUNT_GRPID
+ 0x0004
+
+       )
+
+309 \ 1
+       #EXT2_MOUNT_DEBUG
+ 0x0008
+
+       )
+
+310 \ 1
+       #EXT2_MOUNT_ERRORS_CONT
+ 0x0010
+
+       )
+
+311 \ 1
+       #EXT2_MOUNT_ERRORS_RO
+ 0x0020
+
+       )
+
+312 \ 1
+       #EXT2_MOUNT_ERRORS_PANIC
+ 0x0040
+
+       )
+
+313 \ 1
+       #EXT2_MOUNT_MINIX_DF
+ 0x0080
+
+       )
+
+314 \ 1
+       #EXT2_MOUNT_NO_UID32
+ 0x0200
+
+       )
+
+316 \ 1
+       #þ\97r_Ýt
+(
+o
+, 
+Ýt
+èØ&ð~
+EXT2_MOUNT_
+##
+       )
+opt
+
+317 \ 1
+       #£t_Ýt
+(
+o
+, 
+Ýt
+èØ|ð
+EXT2_MOUNT_
+##
+       )
+opt
+
+318 \ 1
+       #\8b¡_Ýt
+(
+sb
+, 
+Ýt
+è((sb)->
+u
+.
+ext2_sb
+.
+s_mouÁ_Ýt
+ & \
+
+319 
+EXT2_MOUNT_
+##
+Ýt
+)
+
+       )
+
+323 \ 1
+       #EXT2_DFL_MAX_MNT_COUNT
+ 20
+
+       )
+
+324 \ 1
+       #EXT2_DFL_CHECKINTERVAL
+ 0
+
+       )
+
+329 \ 1
+       #EXT2_ERRORS_CONTINUE
+ 1
+
+       )
+
+330 \ 1
+       #EXT2_ERRORS_RO
+ 2
+
+       )
+
+331 \ 1
+       #EXT2_ERRORS_PANIC
+ 3
+
+       )
+
+332 \ 1
+       #EXT2_ERRORS_DEFAULT
+EXT2_ERRORS_CONTINUE
+
+
+       )
+
+337 \19
+       sext2_su³r_block
+ {
+
+338 
+__u32
+       ms_\9aodes_couÁ
+;
+
+339 
+__u32
+       ms_blocks_couÁ
+;
+
+340 
+__u32
+       ms_r_blocks_couÁ
+;
+
+341 
+__u32
+       ms_ä\93_blocks_couÁ
+;
+
+342 
+__u32
+       ms_ä\93_\9aodes_couÁ
+;
+
+343 
+__u32
+       ms_f\9c¡_d©a_block
+;
+
+344 
+__u32
+       ms_log_block_size
+;
+
+345 
+__s32
+       ms_log_äag_size
+;
+
+346 
+__u32
+       ms_blocks_³r_group
+;
+
+347 
+__u32
+       ms_äags_³r_group
+;
+
+348 
+__u32
+       ms_\9aodes_³r_group
+;
+
+349 
+__u32
+       ms_mtime
+;
+
+350 
+__u32
+       ms_wtime
+;
+
+351 
+__u16
+       ms_mÁ_couÁ
+;
+
+352 
+__s16
+       ms_max_mÁ_couÁ
+;
+
+353 
+__u16
+       ms_magic
+;
+
+354 
+__u16
+       ms_¡©e
+;
+
+355 
+__u16
+       ms_\94rÜs
+;
+
+356 
+__u16
+       ms_m\9aÜ_»v_Ëv\96
+;
+
+357 
+__u32
+       ms_ϡcheck
+;
+
+358 
+__u32
+       ms_check\9a\8brv®
+;
+
+359 
+__u32
+       ms_ü\97tÜ_os
+;
+
+360 
+__u32
+       ms_»v_Ëv\96
+;
+
+361 
+__u16
+       ms_def_»suid
+;
+
+362 
+__u16
+       ms_def_»sgid
+;
+
+376 
+__u32
+       ms_f\9c¡_\9ao
+;
+
+377 
+__u16
+       ms_\9aode_size
+;
+
+378 
+__u16
+       ms_block_group_Ä
+;
+
+379 
+__u32
+       ms_ã©u»_com·t
+;
+
+380 
+__u32
+       ms_ã©u»_\9acom·t
+;
+
+381 
+__u32
+       ms_ã©u»_ro_com·t
+;
+
+382 
+__u8
+       ms_uuid
+[16];
+
+383 \ 5
+       ms_vÞume_Çme
+[16];
+
+384 \ 5
+       ms_Ï¡_mouÁed
+[64];
+
+385 
+__u32
+       ms_®gÜ\99hm_u§ge_b\99
+;
+
+390 
+__u8
+       ms_´\97Îoc_blocks
+;
+
+391 
+__u8
+       ms_´\97Îoc_d\9c_blocks
+;
+
+392 
+__u16
+       ms_·dd\9ag1
+;
+
+393 
+__u32
+       ms_»£rved
+[204];
+
+396 #ifdeà
+__KERNEL__
+
+
+397 \ 1
+       #EXT2_SB
+(
+sb
+è(&((sb)->
+u
+.
+ext2_sb
+))
+
+       )
+
+402 \ 1
+       #EXT2_SB
+(
+sb
+è(sb)
+
+       )
+
+408 \ 1
+       #EXT2_OS_LINUX
+ 0
+
+       )
+
+409 \ 1
+       #EXT2_OS_HURD
+ 1
+
+       )
+
+410 \ 1
+       #EXT2_OS_MASIX
+ 2
+
+       )
+
+411 \ 1
+       #EXT2_OS_FREEBSD
+ 3
+
+       )
+
+412 \ 1
+       #EXT2_OS_LITES
+ 4
+
+       )
+
+417 \ 1
+       #EXT2_GOOD_OLD_REV
+ 0
+
+       )
+
+418 \ 1
+       #EXT2_DYNAMIC_REV
+ 1
+
+       )
+
+420 \ 1
+       #EXT2_CURRENT_REV
+EXT2_GOOD_OLD_REV
+
+
+       )
+
+421 \ 1
+       #EXT2_MAX_SUPP_REV
+EXT2_DYNAMIC_REV
+
+
+       )
+
+423 \ 1
+       #EXT2_GOOD_OLD_INODE_SIZE
+ 128
+
+       )
+
+429 \ 1
+       #EXT2_HAS_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+430 Ð
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_com·t
+ & 
+       `ýu_to_Ë32
+(
+mask
+è)
+
+       )
+
+431 \ 1
+       #EXT2_HAS_RO_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+432 Ð
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_ro_com·t
+ & 
+       `ýu_to_Ë32
+(
+mask
+è)
+
+       )
+
+433 \ 1
+       #EXT2_HAS_INCOMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+434 Ð
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_\9acom·t
+ & 
+       `ýu_to_Ë32
+(
+mask
+è)
+
+       )
+
+435 \ 1
+       #EXT2_SET_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+436 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_com·t
+ |ð
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+437 \ 1
+       #EXT2_SET_RO_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+438 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_ro_com·t
+ |ð
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+439 \ 1
+       #EXT2_SET_INCOMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+440 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_\9acom·t
+ |ð
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+441 \ 1
+       #EXT2_CLEAR_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+442 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_com·t
+ &ð~
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+443 \ 1
+       #EXT2_CLEAR_RO_COMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+444 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_ro_com·t
+ &ð~
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+445 \ 1
+       #EXT2_CLEAR_INCOMPAT_FEATURE
+(
+sb
+,
+mask
+) \
+
+446 
+       `EXT2_SB
+(
+sb
+)->
+s_es
+->
+s_ã©u»_\9acom·t
+ &ð~
+       `ýu_to_Ë32
+(
+mask
+)
+
+       )
+
+448 \ 1
+       #EXT2_FEATURE_COMPAT_DIR_PREALLOC
+ 0x0001
+
+       )
+
+450 \ 1
+       #EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER
+ 0x0001
+
+       )
+
+451 \ 1
+       #EXT2_FEATURE_RO_COMPAT_LARGE_FILE
+ 0x0002
+
+       )
+
+452 \ 1
+       #EXT2_FEATURE_RO_COMPAT_BTREE_DIR
+ 0x0004
+
+       )
+
+454 \ 1
+       #EXT2_FEATURE_INCOMPAT_COMPRESSION
+ 0x0001
+
+       )
+
+455 \ 1
+       #EXT2_FEATURE_INCOMPAT_FILETYPE
+ 0x0002
+
+       )
+
+457 \ 1
+       #EXT2_FEATURE_COMPAT_SUPP
+ 0
+
+       )
+
+458 \ 1
+       #EXT2_FEATURE_INCOMPAT_SUPP
+EXT2_FEATURE_INCOMPAT_FILETYPE
+
+
+       )
+
+459 \ 1
+       #EXT2_FEATURE_RO_COMPAT_SUPP
+ (
+EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER
+| \
+
+460 
+EXT2_FEATURE_RO_COMPAT_LARGE_FILE
+| \
+
+461 
+EXT2_FEATURE_RO_COMPAT_BTREE_DIR
+)
+
+       )
+
+466 \ 1
+       #EXT2_DEF_RESUID
+ 0
+
+       )
+
+467 \ 1
+       #EXT2_DEF_RESGID
+ 0
+
+       )
+
+472 \ 1
+       #EXT2_NAME_LEN
+ 255
+
+       )
+
+474 \19
+       sext2_d\9c_\92\8cy
+ {
+
+475 
+__u32
+       m\9aode
+;
+
+476 
+__u16
+       m»c_Ën
+;
+
+477 
+__u16
+       mÇme_Ën
+;
+
+478 \ 5
+       mÇme
+[
+EXT2_NAME_LEN
+];
+
+487 \19
+       sext2_d\9c_\92\8cy_2
+ {
+
+488 
+__u32
+       m\9aode
+;
+
+489 
+__u16
+       m»c_Ën
+;
+
+490 
+__u8
+       mÇme_Ën
+;
+
+491 
+__u8
+       mf\9ee_ty³
+;
+
+492 \ 5
+       mÇme
+[
+EXT2_NAME_LEN
+];
+
+499 \ 1
+       #EXT2_FT_UNKNOWN
+ 0
+
+       )
+
+500 \ 1
+       #EXT2_FT_REG_FILE
+ 1
+
+       )
+
+501 \ 1
+       #EXT2_FT_DIR
+ 2
+
+       )
+
+502 \ 1
+       #EXT2_FT_CHRDEV
+ 3
+
+       )
+
+503 \ 1
+       #EXT2_FT_BLKDEV
+ 4
+
+       )
+
+504 \ 1
+       #EXT2_FT_FIFO
+ 5
+
+       )
+
+505 \ 1
+       #EXT2_FT_SOCK
+ 6
+
+       )
+
+506 \ 1
+       #EXT2_FT_SYMLINK
+ 7
+
+       )
+
+508 \ 1
+       #EXT2_FT_MAX
+ 8
+
+       )
+
+515 \ 1
+       #EXT2_DIR_PAD
+ 4
+
+       )
+
+516 \ 1
+       #EXT2_DIR_ROUND
+ (
+EXT2_DIR_PAD
+ - 1)
+
+       )
+
+517 \ 1
+       #EXT2_DIR_REC_LEN
+(
+Çme_Ën
+è((Òame_Ënè+ 8 + 
+EXT2_DIR_ROUND
+) & \
+
+518 ~
+EXT2_DIR_ROUND
+)
+
+       )
+
+520 #ifdeà
+__KERNEL__
+
+
+529 \ 1
+       #NORET_TYPE
+
+
+       )
+
+530 \ 1
+       #ATTRIB_NORET
+       `__©\8cibu\8b__
+((
+nÜ\91
+))
+
+       )
+
+531 \ 1
+       #NORET_AND
+nÜ\91
+,
+
+       )
+
+534 \r\12
+ext2_³rmissiÚ
+ (\19
+\9aode
+ *, \12);
+
+537 \r\12
+ext2_bg_has_su³r
+(\19
+su³r_block
+ *
+sb
+, \12
+group
+);
+
+538 \r\1d\13
+ext2_bg_num_gdb
+(\19
+su³r_block
+ *
+sb
+, \12
+group
+);
+
+539 \r\12
+ext2_Ãw_block
+ (cڡ \19
+\9aode
+ *, \1d\13,
+
+540 
+__u32
+ *, __u32 *, \12*);
+
+541 \r\1e
+ext2_ä\93_blocks
+ (cڡ \19
+\9aode
+ *, \1d\13,
+
+543 \r\1d\13
+ext2_couÁ_ä\93_blocks
+ (\19
+su³r_block
+ *);
+
+544 \r\1e
+ext2_check_blocks_b\99
+ (\19
+su³r_block
+ *);
+
+545 \r\19
+ext2_group_desc
+ * 
+ext2_g\91_group_desc
+(\19
+su³r_block
+ * 
+sb
+,
+
+546 \1d\12
+block_group
+,
+
+547 \19
+bufãr_h\97d
+ ** 
+bh
+);
+
+550 \r\1d\13
+ext2_couÁ_ä\93
+ (\19
+bufãr_h\97d
+ *, \1d);
+
+553 \r\12
+ext2_check_d\9c_\92\8cy
+ (cڡ \ 5*, \19
+\9aode
+ *,
+
+554 \19
+ext2_d\9c_\92\8cy_2
+ *, \19
+bufãr_h\97d
+ *,
+
+558 \r\12
+ext2_»ad
+ (\19
+\9aode
+ *, \19
+f\9ee
+ *, \ 5*, \12);
+
+559 \r\12
+ext2_wr\99e
+ (\19
+\9aode
+ *, \19
+f\9ee
+ *, \ 5*, \12);
+
+562 \r\12
+ext2_sync_f\9ee
+ (\19
+f\9ee
+ *, \19
+d\92\8cy
+ *, \12);
+
+563 \r\12
+ext2_fsync_\9aode
+ (\19
+\9aode
+ *, \12);
+
+566 \r\19
+\9aode
+ * 
+ext2_Ãw_\9aode
+ (const \19inode *, \12);
+
+567 \r\1e
+ext2_ä\93_\9aode
+ (\19
+\9aode
+ *);
+
+568 \r\1d\13
+ext2_couÁ_ä\93_\9aodes
+ (\19
+su³r_block
+ *);
+
+569 \r\1e
+ext2_check_\9aodes_b\99
+ (\19
+su³r_block
+ *);
+
+573 \r\19
+bufãr_h\97d
+ * 
+ext2_g\91blk
+ (\19
+\9aode
+ *, \13\12\12*);
+
+574 \r\19
+bufãr_h\97d
+ * 
+ext2_b»ad
+ (\19
+\9aode
+ *, \12\12\12*);
+
+576 \r\1e
+ext2_»ad_\9aode
+ (\19
+\9aode
+ *);
+
+577 \r\1e
+ext2_wr\99e_\9aode
+ (\19
+\9aode
+ *, \12);
+
+578 \r\1e
+ext2_put_\9aode
+ (\19
+\9aode
+ *);
+
+579 \r\1e
+ext2_d\96\91e_\9aode
+ (\19
+\9aode
+ *);
+
+580 \r\12
+ext2_sync_\9aode
+ (\19
+\9aode
+ *);
+
+581 \r\1e
+ext2_disÿrd_´\97Îoc
+ (\19
+\9aode
+ *);
+
+584 \r\12
+ext2_ioùl
+ (\19
+\9aode
+ *, \19
+f\9ee
+ *, \1d\12,
+
+588 \r\19
+\9aode_Ý\94©iÚs
+ext2_d\9c_\9aode_Ý\94©iÚs
+;
+
+591 \r\1e
+       $ext2_\94
+ (\19
+su³r_block
+ *, const \ 5*, const \ 5*, ...)
+
+592 
+       `__©\8cibu\8b__
+ ((
+       `fÜm©
+ (
\9atf
+, 3, 4)));
+
+593 \r
+NORET_TYPE
\1e
+       $ext2_·nic
+ (\19
+su³r_block
+ *, const \ 5*,
+
+595 
+       `__©\8cibu\8b__
+ ((
+NORET_AND
+       `fÜm©
+ (
\9atf
+, 3, 4)));
+
+596 \r\1e
+       $ext2_w¬n\9ag
+ (\19
+su³r_block
+ *, const \ 5*, const \ 5*, ...)
+
+597 
+       `__©\8cibu\8b__
+ ((
+       `fÜm©
+ (
\9atf
+, 3, 4)));
+
+598 \r\1e
+       `ext2_upd©e_dyÇmic_»v
+ (\19
+su³r_block
+ *
+sb
+);
+
+599 \r\1e
+       `ext2_put_su³r
+ (\19
+su³r_block
+ *);
+
+600 \r\1e
+       `ext2_wr\99e_su³r
+ (\19
+su³r_block
+ *);
+
+601 \r\12
+       `ext2_»mouÁ
+ (\19
+su³r_block
+ *, \12*, \ 5*);
+
+602 \r\19
+su³r_block
+ * 
+       `ext2_»ad_su³r
+ (\19super_block *,\1e*,\12);
+
+603 \r\12
+       `ext2_¡©fs
+ (\19
+su³r_block
+ *, \19
+¡©fs
+ *);
+
+606 \r\1e
+       `ext2_\8cunÿ\8b
+ (\19
+\9aode
+ *);
+
+613 \r\19
+f\9ee_Ý\94©iÚs
+ext2_d\9c\94©iÚs
+;
+
+616 \r\19
+\9aode_Ý\94©iÚs
+ext2_f\9ee_\9aode_Ý\94©iÚs
+;
+
+617 \r\19
+f\9ee_Ý\94©iÚs
+ext2_f\9ee_Ý\94©iÚs
+;
+
+620 \r\19
+\9aode_Ý\94©iÚs
+ext2_ç¡_syml\9ak_\9aode_Ý\94©iÚs
+;
+
+622 \r\19
+add»ss_¥aû_Ý\94©iÚs
+ext2_aÝs
+;
+
+       @fs/ext2_fs_i.h
+
+16 #iâdeà
+_LINUX_EXT2_FS_I
+
+
+17 \ 1
+       #_LINUX_EXT2_FS_I
+
+
+       )
+
+22 \19
+       sext2_\9aode_\9afo
+ {
+
+23 
+__u32
+       mi_d©a
+[15];
+
+24 
+__u32
+       mi_æags
+;
+
+25 
+__u32
+       mi_çddr
+;
+
+26 
+__u8
+       mi_äag_no
+;
+
+27 
+__u8
+       mi_äag_size
+;
+
+28 
+__u16
+       mi_osync
+;
+
+29 
+__u32
+       mi_f\9ee_aþ
+;
+
+30 
+__u32
+       mi_d\9c_aþ
+;
+
+31 
+__u32
+       mi_dtime
+;
+
+32 
+__u32
+       mnÙ_u£d_1
+;
+
+33 
+__u32
+       mi_block_group
+;
+
+34 
+__u32
+       mi_Ãxt_®loc_block
+;
+
+35 
+__u32
+       mi_Ãxt_®loc_gßl
+;
+
+36 
+__u32
+       mi_´\97Îoc_block
+;
+
+37 
+__u32
+       mi_´\97Îoc_couÁ
+;
+
+38 
+__u32
+       mi_high_size
+;
+
+39 \12
+       mi_Ãw_\9aode
+:1;
+
+       @fs/ext2_fs_sb.h
+
+16 #iâdeà
+_LINUX_EXT2_FS_SB
+
+
+17 \ 1
+       #_LINUX_EXT2_FS_SB
+
+
+       )
+
+25 \ 1
+       #EXT2_MAX_GROUP_LOADED
+ 8
+
+       )
+
+30 \19
+       sext2_sb_\9afo
+ {
+
+31 \1d\13
+       ms_äag_size
+;
+
+32 \1d\13
+       ms_äags_³r_block
+;
+
+33 \1d\13
+       ms_\9aodes_³r_block
+;
+
+34 \1d\13
+       ms_äags_³r_group
+;
+
+35 \1d\13
+       ms_blocks_³r_group
+;
+
+36 \1d\13
+       ms_\9aodes_³r_group
+;
+
+37 \1d\13
+       ms_\99b_³r_group
+;
+
+38 \1d\13
+       ms_gdb_couÁ
+;
+
+39 \1d\13
+       ms_desc_³r_block
+;
+
+40 \1d\13
+       ms_groups_couÁ
+;
+
+41 \19
+bufãr_h\97d
+ * 
+       ms_sbh
+;
+
+42 \19
+ext2_su³r_block
+ * 
+       ms_es
+;
+
+43 \19
+bufãr_h\97d
+ ** 
+       ms_group_desc
+;
+
+44 \1d\16
+       ms_lßded_\9aode_b\99m­s
+;
+
+45 \1d\16
+       ms_lßded_block_b\99m­s
+;
+
+46 \1d\13
+       ms_\9aode_b\99m­_numb\94
+[
+EXT2_MAX_GROUP_LOADED
+];
+
+47 \19
+bufãr_h\97d
+ * 
+       ms_\9aode_b\99
+[
+EXT2_MAX_GROUP_LOADED
+];
+
+48 \1d\13
+       ms_block_b\99m­_numb\94
+[
+EXT2_MAX_GROUP_LOADED
+];
+
+49 \19
+bufãr_h\97d
+ * 
+       ms_block_b\99
+[
+EXT2_MAX_GROUP_LOADED
+];
+
+50 \1d\13
+       ms_mouÁ_Ýt
+;
+
+51 
+uid_t
+       ms_»suid
+;
+
+52 
+gid_t
+       ms_»sgid
+;
+
+53 \1d\16
+       ms_mouÁ_¡©e
+;
+
+54 \1d\16
+       ms_·d
+;
+
+55 \12
+       ms_addr_³r_block_b\99s
+;
+
+56 \12
+       ms_desc_³r_block_b\99s
+;
+
+57 \12
+       ms_\9aode_size
+;
+
+58 \12
+       ms_f\9c¡_\9ao
+;
+
+       @fs/ext2_private.h
+
+26 #iâdeà
+__FS_EXT2FS_PRIVATE_H__
+
+
+27 \ 1
+       #__FS_EXT2FS_PRIVATE_H__
+
+
+       )
+
+33 \e
+UINT32
+       t__u32
+;
+
+34 \e
+INT32
+       t__s32
+;
+
+35 \e
+UINT16
+       t__u16
+;
+
+36 \e
+INT16
+       t__s16
+;
+
+37 \e
+UINT8
+       t__u8
+;
+
+38 \e
+INT8
+       t__s8
+;
+
+39 \e
+UINT32
+       tuid_t
+;
+
+40 \e
+UINT32
+       tgid_t
+;
+
+45 \ 1
+       #S_IFMT
+ 00170000
+
+       )
+
+46 \ 1
+       #S_IFSOCK
+ 0140000
+
+       )
+
+47 \ 1
+       #S_IFLNK
+ 0120000
+
+       )
+
+48 \ 1
+       #S_IFREG
+ 0100000
+
+       )
+
+49 \ 1
+       #S_IFBLK
+ 0060000
+
+       )
+
+50 \ 1
+       #S_IFDIR
+ 0040000
+
+       )
+
+51 \ 1
+       #S_IFCHR
+ 0020000
+
+       )
+
+52 \ 1
+       #S_IFIFO
+ 0010000
+
+       )
+
+53 \ 1
+       #S_ISUID
+ 0004000
+
+       )
+
+54 \ 1
+       #S_ISGID
+ 0002000
+
+       )
+
+55 \ 1
+       #S_ISVTX
+ 0001000
+
+       )
+
+57 \ 1
+       #S_ISLNK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFLNK
+)
+
+       )
+
+58 \ 1
+       #S_ISREG
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFREG
+)
+
+       )
+
+59 \ 1
+       #S_ISDIR
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFDIR
+)
+
+       )
+
+60 \ 1
+       #S_ISCHR
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFCHR
+)
+
+       )
+
+61 \ 1
+       #S_ISBLK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFBLK
+)
+
+       )
+
+62 \ 1
+       #S_ISFIFO
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFIFO
+)
+
+       )
+
+63 \ 1
+       #S_ISSOCK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFSOCK
+)
+
+       )
+
+66 \ 2
+       ~"fs/ext2_fs.h
+"
+
+67 \ 2
+       ~"fs/ext2_fs_sb.h
+"
+
+68 \ 2
+       ~"fs/ext2_fs_i.h
+"
+
+       @fs/ext2fs.c
+
+32 \ 2
+       ~<efi.h
+>
+
+33 \ 2
+       ~<ef\9eib.h
+>
+
+35 \ 2
+       ~"\96\9eo.h
+"
+
+37 \ 1
+       #FS_NAME
+L
+"ext2fs"
+
+       )
+
+39 #ifdeà
+PATH_MAX
+
+
+40 #\94rÜ 
+You
+mu¡
+have
+\9aþuded
+some
+L\9aux
+h\97d\94
+f\9ee
+by
+\94
+
+
+43 \ 1
+       #PATH_MAX
+ 4095
+
+       )
+
+44 \ 1
+       #EXT2FS_PATH_MAXLEN
+PATH_MAX
+
+
+       )
+
+46 \ 2
+       ~"fs/ext2fs.h
+"
+
+47 \ 2
+       ~"fs/ext2_´iv©e.h
+"
+
+53 \ 1
+       #EXT2FS_MEMTYPE
+EfiLßd\94D©a
+
+
+       )
+
+56 \ 1
+       #EXT2_FILESIZE_MAX
+ (0x100000000UL)
+
+       )
+
+62 \ 1
+       #MAX_OPEN_FILES
+ 32
+
+       )
+
+64 \e\19
+       s\9aode_\8fbË_\92\8cy
+ {
+
+65 \19
+ext2_\9aode
+       m\9aode
+;
+
+66 \12
+       m\9aumb\94
+;
+
+67 \12
+       mä\93
+;
+
+68 \1d\16
+       mÞd_mode
+;
+
+70 
+UINT32
+       mpos
+;
+
+71 } 
+       t\9aode_\92\8cy_t
+;
+
+75 \19
+ext2_su³r_block
+       msb
+;
+
+76 \19
+ext2_group_desc
+ *
+       mgds
+;
+
+77 \19
+ext2_\9aode
+ *
+       mroÙ_\9aode
+;
+
+78 \12
+       mngroups
+;
+
+79 \12
+       md\9ceùlim
+;
+
+80 \12
+       m\9ad1lim
+;
+
+81 \12
+       m\9ad2lim
+;
+
+82 \12
+       m±rs_³r_blk
+;
+
+83 
+CHAR8
+       mblkbuf
+[
+EXT2_MAX_BLOCK_SIZE
+];
+
+84 \12
+       mÿched_iblkno
+;
+
+85 
+CHAR8
+       miblkbuf
+[
+EXT2_MAX_BLOCK_SIZE
+];
+
+86 \12
+       mÿched_diblkno
+;
+
+87 
+CHAR8
+       mdiblkbuf
+[
+EXT2_MAX_BLOCK_SIZE
+];
+
+88 \13
+       mblocksize
+;
+
+91 
+\9aode_\92\8cy_t
+       m\9aode_\8f
+[
+MAX_OPEN_FILES
+];
+
+94 
+EFI_BLOCK_IO
+ *
+       mblkio
+;
+
+95 
+UINT32
+       mmed\9fid
+;
+
+96 
+EFI_HANDLE
+       mdev
+;
+
+97 } 
+       text2fs_´iv_¡©e_t
+;
+
+101 
+ext2fs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+103 
+ext2fs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+104 
+ext2fs_´iv_¡©e_t
+       m´iv_d©a
+;
+
+105 } 
+       mext2fs_´iv
+;
+
+106 } 
+       text2fs_t
+;
+
+108 \ 1
+       #FS_PRIVATE
+(
+n
+è(&(((
+ext2fs_t
+ *ê)->
+ext2fs_´iv
+.
+´iv_d©a
+))
+
+       )
+
+111 
+EFI_HANDLE
+ *
+       mdev
+;
+
+112 
+ext2fs_t
+ *
+       m\9atf
+;
+
+113 } 
+       tdev_\8fb_t
+;
+
+115 \18
+dev_\8fb_t
+ *
+       gdev_\8fb
+;
+
+116 \18
+UINTN
+       gndev
+;
+
+119 \18
+EFI_GUID
+       gExt2FsPrÙocÞ
+ = 
+EXT2FS_PROTOCOL
+;
+
+121 \18
+INTN
+
+
+122 
+       $»ad_by\8bs
+(
+EFI_BLOCK_IO
+ *
+blkio
+, 
+UINT32
+med\9fid
+, 
+UINTN
+off£t
+, 
+VOID
+ *
+addr
+, UINTN 
+size
+)
+
+124 
+EFI_STATUS
+¡©us
+;
+
+125 
+UINT8
+ *
+bufãr
+;
+
+126 
+UINTN
+couÁ
+, 
+bufãr_size
+;
+
+127 
+EFI_LBA
+ba£
+;
+
+128 
+INTN
+»t
+ = 
+EFI_INVALID_PARAMETER
+;
+
+130 
+ba£
+ = 
+off£t
+ / 
+blkio
+->
+Med\9f
+->
+BlockSize
+;
+
+131 
+couÁ
+ = (
+size
+ + 
+blkio
+->
+Med\9f
+->
+BlockSize
+ -1) / blkio->Media->BlockSize;
+
+132 
+bufãr_size
+ = 
+couÁ
+ * 
+blkio
+->
+Med\9f
+->
+BlockSize
+;
+
+134 
+       `DBG_PRT
+((
+L
+"»adblock(%x, %d,%dèba£=%d couÁ=%d", 
+blkio
+, 
+off£t
+, 
+size
+, 
+ba£
+, 
+couÁ
+));
+
+139 
+bufãr
+ = (
+UINT8
+ *)
+       `®loc
+(
+bufãr_size
+, 
+EfiLßd\94D©a
+);
+
+140 ià(
+bufãr
+ =ð
+NULL
+) {
+
+141 
+       `ERR_PRT
+((
+L
+"ÿÂÙ\87Îoÿ\8b\83xt2f bufã¸size=%d", 
+bufãr_size
+));
+
+142 \15 
+»t
+;
+
+145 
+       `DBG_PRT
+((
+L
+"»adblock(%x, %d, %d, %d, %x)", 
+blkio
+, 
+med\9fid
+, 
+ba£
+, 
+bufãr_size
+, 
+bufãr
+));
+
+147 
+¡©us
+ = 
+blkio
+->
+       `R\97dBlocks
+(blkio, 
+med\9fid
+, 
+ba£
+, 
+bufãr_size
+, 
+bufãr
+);
+
+148 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+149 
+       `ERR_PRT
+((
+L
+"»adblock(%d,%d)=%r", 
+ba£
+, 
+bufãr_size
+, 
+¡©us
+));
+
+150 \10
+\94
+;
+
+153 
+       `DBG_PRT
+((
+L
+"»adblock(%d,%d)->%r", 
+off£t
+, 
+bufãr_size
+, 
+¡©us
+));
+
+155 
+       `Memýy
+(
+addr
+, 
+bufãr
++(
+off£t
+-(
+ba£
+*
+blkio
+->
+Med\9f
+->
+BlockSize
+)), 
+size
+);
+
+157 
+»t
+ = 0;
+
+159 
+\94
+:
+
+160 
+       `ä\93
+(
+bufãr
+);
+
+162 \15 
+»t
+;
+
+163 
+       }
+}
+
+169 \18\19
+ext2_\9aode
+ *
+
+170 
+       $ext2_ig\91
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+\9ao
+)
+
+172 \12
+i
+;
+
+173 \19
+ext2_\9aode
+ *
+\9d
+;
+
+174 \19
+\9aode_\8fbË_\92\8cy
+ *
+\99p
+ = 0;
+
+175 \12
+group
+;
+
+176 \13
+off£t
+;
+
+178 
+\9d
+ = 0;
+
+179 \ f
+i
+ = 0; i < 
+MAX_OPEN_FILES
+; i++) {
+
+180 
+       `DBG_PRT
+((
+L
+"ext2_iget:\86ooping,\83ntry %d inode %d free %d",
+
+181 
+i
+, 
+e2fs
+->
+\9aode_\8f
+[i].
+\9aumb\94
+,\832fs->\9aode_\8fbË[i].
\93
+));
+
+182 ià(
+e2fs
+->
+\9aode_\8f
+[
+i
+].
\93
+) {
+
+183 
+\99p
+ = &
+e2fs
+->
+\9aode_\8f
+[
+i
+];
+
+184 
+\9d
+ = &
+\99p
+->
+\9aode
+;
+
+188 ià(!
+\9d
+) {
+
+189 
+       `ERR_PRT
+((
+L
+"ext2_iget:\82o free inodes"));
+
+190 \15 
+NULL
+;
+
+194 
+group
+ = (
+\9ao
+-1è/ 
+e2fs
+->
+sb
+.
+s_\9aodes_³r_group
+;
+
+196 
+       `DBG_PRT
+((
+L
+" i\8d-\9aode_\8fbË=%d bg_\9aode_\8fbË=%d group=%d ino=%d\n", (
+UINTN
+)(
+\99p
+-
+e2fs
+->
+\9aode_\8f
+),
+
+197 (
+UINTN
+)(
+e2fs
+->
+gds
+[
+group
+].
+bg_\9aode_\8f
+), (UINTN)group, (UINTN)
+\9ao
+));
+
+199 
+off£t
+ = ((\13è
+e2fs
+->
+gds
+[
+group
+].
+bg_\9aode_\8f
+ *\832fs->
+blocksize
+)
+
+200 + (((
+\9ao
+ - 1è% 
+       `EXT2_INODES_PER_GROUP
+(&
+e2fs
+->
+sb
+)è* 
+       `EXT2_INODE_SIZE
+(&e2fs->sb));
+
+202 
+       `DBG_PRT
+((
+L
+"ext2_iget:\84eading %d bytes\87t offset %d"
+
+205 \17(\19
+ext2_\9aode
+),
+
+206 (
+UINTN
+)
+off£t
+,
+
+207 (
+UINTN
+)
+e2fs
+->
+gds
+[
+group
+].
+bg_\9aode_\8f
+, (UINTNë2fs->
+blocksize
+,
+
+208 (
+UINTN
+)(
+\9ao
+ - 1), (UINTN)
+       `EXT2_INODES_PER_GROUP
+(&
+e2fs
+->
+sb
+), 
+       `EXT2_INODE_SIZE
+(&e2fs->sb),
+
+209 (
+UINTN
+)
+\9ao
+, (UINTNè(
+\99p
+ - 
+e2fs
+->
+\9aode_\8f
+)));
+
+211 ià(
+       `»ad_by\8bs
+(
+e2fs
+->
+blkio
+,\832fs->
+med\9fid
+, 
+off£t
+, 
+\9d
+, \17(\19
+ext2_\9aode
+))) {
+
+212 
+       `ERR_PRT
+((
+L
+"ext2_iget:\84ead\83rror"));
+
+213 \15 
+NULL
+;
+
+216 
+       `DBG_PRT
+((
+L
+"mode=%x uid=%d size=%d gid=%d\86inks=%d flags=%d",
+
+217 (
+UINTN
+)
+\9d
+->
+i_mode
+,
+
+218 (
+UINTN
+)
+\9d
+->
+i_uid
+,
+
+219 (
+UINTN
+)
+\9d
+->
+i_size
+,
+
+220 (
+UINTN
+)
+\9d
+->
+i_gid
+,
+
+221 (
+UINTN
+)
+\9d
+->
+i_æags
+));
+
+223 
+\99p
+->
\93
+ = 0;
+
+224 
+\99p
+->
+\9aumb\94
+ = 
+\9ao
+;
+
+225 
+\99p
+->
+Þd_mode
+ = 
+\9d
+->
+i_mode
+;
+
+227 \15 
+\9d
+;
+
+228 
+       }
+}
+
+236 
+       $ext2_\9dut
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \19
+ext2_\9aode
+ *
+\9d
+)
+
+238 \19
+\9aode_\8fbË_\92\8cy
+ *
+\99p
+;
+
+241 
+\99p
+ = (\19
+\9aode_\8fbË_\92\8cy
+ *)
+\9d
+;
+
+243 
+       `DBG_PRT
+((
+L
+"ext2_\9dut: inod\90%d\81abË %d", 
+\99p
+->
+\9aumb\94
+, (\12è(\99°- 
+e2fs
+->
+\9aode_\8f
+)));
+
+245 
+\99p
+->
+\9aumb\94
+ = 0;
+
+246 
+\99p
+->
\93
+ = 1;
+
+247 
+       }
+}
+
+260 
+       $ext2_blkno
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \19
+ext2_\9aode
+ *
+\9d
+, \12
+blkoff
+)
+
+262 \1d\12*
+;
+
+263 \1d\12*
+\9ep
+;
+
+264 \1d\12*
+dÍ
+;
+
+265 \12
+blkno
+;
+
+266 \12
+iblkno
+;
+
+267 \12
+diblkno
+;
+
+268 \13
+off£t
+;
+
+270 
+\9ep
+ = (\1d\12*)
+e2fs
+->
+iblkbuf
+;
+
+271 
+dÍ
+ = (\1d\12*)
+e2fs
+->
+diblkbuf
+;
+
+272 
+ = (\1d\12*)
+e2fs
+->
+blkbuf
+;
+
+275 ià(
+blkoff
+ <ð
+e2fs
+->
+d\9ceùlim
+) {
+
+276 \15 
+\9d
+->
+i_block
+[
+blkoff
+];
+
+280 ià(
+blkoff
+ <ð
+e2fs
+->
+\9ad1lim
+) {
+
+281 
+iblkno
+ = 
+\9d
+->
+i_block
+[
+EXT2_IND_BLOCK
+];
+
+283 ià(
+iblkno
+ == 0) {
+
+288 ià(
+e2fs
+->
+ÿched_iblkno
+ !ð
+iblkno
+) {
+
+289 
+off£t
+ = 
+iblkno
+ * 
+e2fs
+->
+blocksize
+;
+
+290 ià(
+       `»ad_by\8bs
+(
+e2fs
+->
+blkio
+,\832fs->
+med\9fid
+, 
+off£t
+,\832fs->
+iblkbuf
+,\832fs->
+blocksize
+)) {
+
+291 
+       `ERR_PRT
+((
+L
+"ext2_blkno:\83rror on iblk\84ead"));
+
+294 
+e2fs
+->
+ÿched_iblkno
+ = 
+iblkno
+;
+
+297 
+blkno
+ = 
+\9ep
+[
+blkoff
+-(
+e2fs
+->
+d\9ceùlim
++1)];
+
+298 \15 
+blkno
+;
+
+302 ià(
+blkoff
+ <ð
+e2fs
+->
+\9ad2lim
+) {
+
+304 
+diblkno
+ = 
+\9d
+->
+i_block
+[
+EXT2_DIND_BLOCK
+];
+
+306 ià(
+diblkno
+ == 0) {
+
+311 ià(
+e2fs
+->
+ÿched_diblkno
+ !ð
+diblkno
+) {
+
+312 
+off£t
+ = 
+diblkno
+ * 
+e2fs
+->
+blocksize
+;
+
+313 ià(
+       `»ad_by\8bs
+(
+e2fs
+->
+blkio
+,\832fs->
+med\9fid
+, 
+off£t
+,\832fs->
+diblkbuf
+,\832fs->
+blocksize
+)) {
+
+314 
+       `ERR_PRT
+((
+L
+"ext2_blkno:\83rr\84eading dindr blk"));
+
+317 
+e2fs
+->
+ÿched_diblkno
+ = 
+diblkno
+;
+
+321 
+iblkno
+ = 
+dÍ
+[(
+blkoff
+ - (
+e2fs
+->
+\9ad1lim
++1)è/\832fs->
+±rs_³r_blk
+];
+
+323 ià(
+iblkno
+ == 0) {
+
+329 ià(
+e2fs
+->
+ÿched_iblkno
+ !ð
+iblkno
+) {
+
+330 
+off£t
+ = 
+iblkno
+ * 
+e2fs
+->
+blocksize
+;
+
+331 ià(
+       `»ad_by\8bs
+(
+e2fs
+->
+blkio
+,\832fs->
+med\9fid
+, 
+off£t
+,\832fs->
+iblkbuf
+,\832fs->
+blocksize
+)) {
+
+332 
+       `ERR_PRT
+((
+L
+"ext2_blkno:\83rr on iblk\84ead"));
+
+335 
+e2fs
+->
+ÿched_iblkno
+ = 
+iblkno
+;
+
+339 
+blkno
+ = 
+\9ep
+[(
+blkoff
+-(
+e2fs
+->
+\9ad1lim
++1)è%\832fs->
+±rs_³r_blk
+];
+
+340 \15 
+blkno
+;
+
+343 ià(
+blkoff
+ > 
+e2fs
+->
+\9ad2lim
+) {
+
+344 
+       `ERR_PRT
+((
+L
+"ext2_blkno: block\82umb\94\81oØÏrge: %d", 
+blkoff
+));
+
+348 
+       }
+}
+
+352 
+       $ext2_b»adi
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \19
+ext2_\9aode
+ *
+\9d
+, \13
+blkno
+, \13
+nblks
+, 
+CHAR8
+ *
+bufãr
+)
+
+354 \13
+dev_blkno
+, 
+ncÚtig
+, 
+off£t
+, 
+nby\8bs
+, 
+tÙ_by\8bs
+;
+
+356 
+tÙ_by\8bs
+ = 0;
+
+357 ià((
+blkno
++
+nblks
+)*
+e2fs
+->
+blocksize
+ > 
+\9d
+->
+i_size
+)
+
+358 
+nblks
+ = (
+\9d
+->
+i_size
+ + 
+e2fs
+->
+blocksize
+è/\832fs->blocksiz\90
+blkno
+;
+
+360 \1f
+nblks
+) {
+
+365 
+ncÚtig
+ = 0; 
+nby\8bs
+ = 0;
+
+366 
+dev_blkno
+ = 
+       `ext2_blkno
+(
+e2fs
+,
+\9d
+, 
+blkno
+);
+
+368 ++
+blkno
+; ++
+ncÚtig
+; --
+nblks
+;
+
+369 
+nby\8bs
+ +ð
+e2fs
+->
+blocksize
+;
+
+370 } \1f
+nblks
+ &&
+
+371 
+       `ext2_blkno
+(
+e2fs
+, 
+\9d
+, 
+blkno
+è=ð
+dev_blkno
+ + 
+ncÚtig
+);
+
+373 ià(
+dev_blkno
+ == 0) {
+
+375 
+       `Mem£t
+(
+bufãr
+, 0, 
+nby\8bs
+);
+
+378 
+off£t
+ = 
+dev_blkno
+*
+e2fs
+->
+blocksize
+;
+
+379 
+       `DBG_PRT
+((
+L
+"ext2_b»ad:\84\97d\9ag %d by\8b © off£\88%d", 
+nby\8bs
+, 
+off£t
+));
+
+381 ià(
+       `»ad_by\8bs
+(
+e2fs
+->
+blkio
+,\832fs->
+med\9fid
+, 
+off£t
+, 
+bufãr
+, 
+nby\8bs
+)) {
+
+382 
+       `ERR_PRT
+((
+L
+"ext2_bread:\84ead\83rror"));
+
+386 
+bufãr
+ +ð
+nby\8bs
+;
+
+387 
+tÙ_by\8bs
+ +ð
+nby\8bs
+;
+
+389 \15 
+tÙ_by\8bs
+;
+
+390 
+       }
+}
+
+392 \18\19
+ext2_d\9c_\92\8cy_2
+ *
+
+393 
+       $ext2_»add\9ci
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \19
+ext2_\9aode
+ *
+d\9c_\9aode
+, \12
+»w\9ad
+)
+
+395 \19
+ext2_d\9c_\92\8cy_2
+ *
+dp
+;
+
+396 \18\12
+d\9coff£t
+ = 0, 
+blockoff£t
+ = 0;
+
+399 ià(
+»w\9ad
+) {
+
+400 
+d\9coff£t
+ = 0;
+
+401 
+blockoff£t
+ = 0;
+
+403 ià(
+       `ext2_b»adi
+(
+e2fs
+, 
+d\9c_\9aode
+, 0, 1,\832fs->
+blkbuf
+) < 0)
+
+404 \15 
+NULL
+;
+
+407 
+       `DBG_PRT
+((
+L
+"ext2_»add\9ci: blkoff£\88%d d\9coff£\88%d\86\92 %d", 
+blockoff£t
+, 
+d\9coff£t
+, 
+d\9c_\9aode
+->
+i_size
+));
+
+409 ià(
+blockoff£t
+ >ð
+e2fs
+->
+blocksize
+) {
+
+410 
+d\9coff£t
+ +ð
+e2fs
+->
+blocksize
+;
+
+411 ià(
+d\9coff£t
+ >ð
+d\9c_\9aode
+->
+i_size
+)
+
+412 \15 
+NULL
+;
+
+413 
+       `ERR_PRT
+((
+L
+"ext2_»add\9ci:\84\97d\9ag block\87\88%d", 
+d\9coff£t
+));
+
+415 ià(
+       `ext2_b»adi
+(
+e2fs
+, 
+d\9c_\9aode
+, 
+d\9coff£t
+ /\832fs->
+blocksize
+, 1,\832fs->
+blkbuf
+è< 0è\15 
+NULL
+;
+
+416 
+blockoff£t
+ = 0;
+
+419 
+dp
+ = (\19
+ext2_d\9c_\92\8cy_2
+ *è(
+e2fs
+->
+blkbuf
+ + 
+blockoff£t
+);
+
+420 
+blockoff£t
+ +ð
+dp
+->
+»c_Ën
+;
+
+423 
+       `Pr\9at
+(
+L
+"ext2_readdiri:\84eturning %x = ");
+
+424 { 
+INTN
+i
+; \ fi=0; i < 
+dp
+->
+Çme_Ën
+; i++è
+       `Pr\9at
+(
+L
+"%c", (
+CHAR16
+)dp->
+Çme
+[i]); Print(L"\n");}
+
+426 \15 
+dp
+;
+
+427 
+       }
+}
+
+433 \18\19
+ext2_\9aode
+ *
+
+434 
+       $ext2_Çmei
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, 
+CHAR8
+ *
+Çme
+)
+
+436 
+CHAR8
+ *
+compڒt
+;
+
+437 \19
+ext2_\9aode
+ *
+d\9c_\9aode
+;
+
+438 \19
+ext2_d\9c_\92\8cy_2
+ *
+dp
+;
+
+439 \12
+Ãxt_\9ao
+;
+
+442 ià(!
+e2fs
+->
+roÙ_\9aode
+)
+
+443 
+e2fs
+->
+roÙ_\9aode
+ = 
+       `ext2_ig\91
+Ó2fs, 
+EXT2_ROOT_INO
+);
+
+444 
+d\9c_\9aode
+ = 
+e2fs
+->
+roÙ_\9aode
+;
+
+445 ià(!
+d\9c_\9aode
+)
+
+446 \15 
+NULL
+;
+
+448 
+compڒt
+ = 
+       `¡¹ok_sim¶e
+(
+Çme
+, '/');
+
+449 \1f
+compڒt
+) {
+
+450 \12
+compÚ\92t_Ëngth
+;
+
+451 \12
+»w\9ad
+ = 0;
+
+456 
+Ãxt_\9ao
+ = -1;
+
+457 
+compÚ\92t_Ëngth
+ = 
+       `¡¾\92a
+(
+compڒt
+);
+
+459 
+       `DBG_PRT
+((
+L
+"ext2_Çmei: compÚ\92\88ð%a", 
+compڒt
+));
+
+462 \1f(
+dp
+ = 
+       `ext2_»add\9ci
+(
+e2fs
+, 
+d\9c_\9aode
+, !
+»w\9ad
+++))) {
+
+463 ià((
+dp
+->
+Çme_Ën
+ =ð
+compÚ\92t_Ëngth
+) &&
+
+464 (
+       `¡ºcm·
+(
+compڒt
+, 
+dp
+->
+Çme
+,
+
+465 
+compÚ\92t_Ëngth
+) == 0))
+
+468 
+       `DBG_PRT
+((
+L
+"ext2_Çmei: found\83Áry %a", 
+compڒt
+));
+
+469 
+Ãxt_\9ao
+ = 
+dp
+->
+\9aode
+;
+
+472 
+       `DBG_PRT
+((
+L
+"ext2_namei:\86ooping"));
+
+475 
+       `DBG_PRT
+((
+L
+"ext2_Çmei:\82ext_\9aØð%d", 
+Ãxt_\9ao
+));
+
+481 ià(
+d\9c_\9aode
+ !ð
+e2fs
+->
+roÙ_\9aode
+       `ext2_\9dut
+(e2fs, dir_inode);
+
+487 ià(
+Ãxt_\9ao
+ < 0) {
+
+488 \15 
+NULL
+;
+
+495 
+d\9c_\9aode
+ = 
+       `ext2_ig\91
+(
+e2fs
+, 
+Ãxt_\9ao
+);
+
+496 ià(!
+d\9c_\9aode
+)
+
+497 \15 
+NULL
+;
+
+499 
+compڒt
+ = 
+       `¡¹ok_sim¶e
+(
+NULL
+, '/');
+
+506 \15 
+d\9c_\9aode
+;
+
+507 
+       }
+}
+
+514 
+       $ext2_b»ad
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+fd
+, \13
+blkno
+, \13
+nblks
+, \ 5*
+bufãr
+)
+
+516 \19
+ext2_\9aode
+ * 
+\9d
+;
+
+517 
+\9d
+ = &
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+;
+
+518 \15 
+       `ext2_b»adi
+(
+e2fs
+, 
+\9d
+, 
+blkno
+, 
+nblks
+, 
+bufãr
+);
+
+519 
+       }
+}
+
+527 
+       $ext2_»add\9c
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+fd
+, \12
+»w\9ad
+)
+
+529 \19
+ext2_\9aode
+ * 
+\9d
+ = &
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+;
+
+530 \19
+ext2_d\9c_\92\8cy_2
+ * 
+\92t
+;
+
+531 ià(!
+       `S_ISDIR
+(
+\9d
+->
+i_mode
+)) {
+
+532 
+       `ERR_PRT
+((
+L
+"fd %d (inode %d) is\82ot\87 directory (mode %x)",
+
+533 
+fd
+, 
+e2fs
+->
+\9aode_\8f
+[fd].
+\9aumb\94
+, 
+\9d
+->
+i_mode
+));
+
+534 \15 
+NULL
+;
+
+536 
+\92t
+ = 
+       `ext2_»add\9ci
+(
+e2fs
+, 
+\9d
+, 
+»w\9ad
+);
+
+537 ià(
+\92t
+) {
+
+538 
+\92t
+->
+Çme
+[\92t->
+Çme_Ën
+] = '\0';
+
+539 \15 
+\92t
+->
+Çme
+;
+
+541 \15 
+NULL
+;
+
+543 
+       }
+}
+
+547 
+       $ext2_f¡©
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+fd
+, 
+ext2fs_¡©_t
+ *
+buf
+)
+
+549 \19
+ext2_\9aode
+ * 
+\9d
+ = &
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+;
+
+551 
+       `Mem£t
+(
+buf
+, 0, \17(*buf));
+
+554 
+buf
+->
+¡_\9ao
+ = 
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aumb\94
+;
+
+555 
+buf
+->
+¡_mode
+ = 
+\9d
+->
+i_mode
+;
+
+556 
+buf
+->
+¡_Æ\9ak
+ = 
+\9d
+->
+i_l\9aks_couÁ
+;
+
+557 
+buf
+->
+¡_uid
+ = 
+\9d
+->
+i_uid
+;
+
+558 
+buf
+->
+¡_gid
+ = 
+\9d
+->
+i_gid
+;
+
+559 
+buf
+->
+¡_size
+ = 
+\9d
+->
+i_size
+;
+
+560 
+buf
+->
+¡_©ime
+ = 
+\9d
+->
+i_©ime
+;
+
+561 
+buf
+->
+¡_mtime
+ = 
+\9d
+->
+i_mtime
+;
+
+562 
+buf
+->
+¡_ùime
+ = 
+\9d
+->
+i_ùime
+;
+
+565 
+       }
+}
+
+567 \18
+EFI_STATUS
+
+
+568 
+       $ext2fs_f¡©
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+ext2fs_¡©_t
+ *
+)
+
+570 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+572 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ > 
+MAX_OPEN_FILES
+ || 
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+574 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+576 
+       `ext2_f¡©
+(
+e2fs
+, 
+fd
+, 
+);
+
+578 \15 
+EFI_SUCCESS
+;
+
+579 
+       }
+}
+
+581 \18
+EFI_STATUS
+
+
+582 
+       $ext2fs_£ek
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+UINT64
+Ãwpos
+)
+
+584 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+586 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ > 
+MAX_OPEN_FILES
+ || 
+Ãwpos
+ >ð
+EXT2_FILESIZE_MAX
\15 
+EFI_INVALID_PARAMETER
+;
+
+588 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+589 ià(
+Ãwpos
+ > (
+UINT64
+)
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+.
+i_size
\15 
+EFI_INVALID_PARAMETER
+;
+
+591 
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+pos
+ = 
+Ãwpos
+;
+
+593 \15 
+EFI_SUCCESS
+;
+
+594 
+       }
+}
+
+596 \18
+EFI_STATUS
+
+
+597 
+       $ext2fs_»ad
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+VOID
+ *
+buf
+, UINTN *
+size
+)
+
+599 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+600 
+UINTN
+couÁ
+, 
+nc
+, 
+bofs
+, 
+bnum
+, 
+pos
+;
+
+601 
+EFI_STATUS
+»t
+ = 
+EFI_INVALID_PARAMETER
+;
+
+602 
+CHAR8
+ *
+block
+;
+
+604 ià(
+this
+ =ð
+NULL
+ || 
+size
+ =ðNULL || 
+buf
+ =ðNULL || 
+fd
+ > 
+MAX_OPEN_FILES
\15 
+EFI_INVALID_PARAMETER
+;
+
+606 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+608 
+couÁ
+ = 
+       `MIN
+(*
+size
+, 
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+.
+i_size
+ -\832fs->\9aode_\8fbË[fd].
+pos
+);
+
+610 ià(
+couÁ
+ == 0) {
+
+611 *
+size
+ = 0;
+
+612 \15 
+EFI_SUCCESS
+;
+
+614 
+block
+ = 
+e2fs
+->
+blkbuf
+;
+
+616 *
+size
+ = 0;
+
+618 
+pos
+ = 
+e2fs
+->
+\9aode_\8f
+[
+fd
+].pos;
+
+619 
+       `DBG_PRT
+((
+L
+"size=%d i_size=%d couÁ=%d\85os=%ld", *
+size
+,
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+.
+i_size
+, 
+couÁ
+, 
+pos
+));
+
+620 \1f
+couÁ
+) {
+
+621 
+bnum
+ = 
+pos
+ / 
+e2fs
+->
+blocksize
+;
+
+622 
+bofs
+ = 
+pos
+ % 
+e2fs
+->
+blocksize
+;
+
+623 
+nc
+ = 
+       `MIN
+(
+couÁ
+, 
+e2fs
+->
+blocksize
+ - 
+bofs
+);
+
+625 
+       `DBG_PRT
+((
+L
+"bnum =%d bofs=%d\82c=%d *size=%d", 
+bnum
+, 
+bofs
+, 
+nc
+, *
+size
+));
+
+627 ià(
+       `ext2_b»ad
+(
+e2fs
+, 
+fd
+, 
+bnum
+, 1, 
+block
+è=ð-1è\10
+\94
+;
+
+629 { \12
+i
+; \ 5*
+p
+ = 
+block
++
+bofs
+;
+
+630 \ f
+i
+=
+       `MIN
+(
+nc
+, 64); i>=0 ; i--, 
+p
+++) {
+
+631 ià(
+i
+ % 16 =ð0è
+       `Pr\9at
+(
+L
+"\n");
+
+632 
+       `Pr\9at
+(
+L
+"%02x ", (
+UINTN
+)*
+p
+ & 0xff);
+
+637 
+       `Memýy
+(
+buf
+, 
+block
++
+bofs
+, 
+nc
+);
+
+638 
+couÁ
+ -ð
+nc
+;
+
+639 
+pos
+ +ð
+nc
+;
+
+640 
+buf
+ +ð
+nc
+;
+
+641 *
+size
+ +ð
+nc
+;
+
+644 
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+pos
+ +ð*
+size
+;
+
+645 
+»t
+ = 
+EFI_SUCCESS
+;
+
+646 
+\94
+:
+
+647 
+       `DBG_PRT
+((
+L
+"*size=%d\84\91=%r", *
+size
+, 
+»t
+));
+
+648 \15 
+»t
+;
+
+649 
+       }
+}
+
+651 \18\19
+ext2_\9aode
+ *
+
+652 
+       $ext2_fÞlow_l\9ak
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \19
+ext2_\9aode
+ * 
+äom
+, cڡ \ 5
+ba£
+)
+
+654 \ 5*
+l\9akto
+;
+
+656 ià(
+äom
+->
+i_blocks
+) {
+
+657 
+l\9akto
+ = 
+e2fs
+->
+blkbuf
+;
+
+658 ià(
+       `ext2_b»adi
+(
+e2fs
+, 
+äom
+, 0, 1,\832fs->
+blkbuf
+) == -1)
+
+659 \15 
+NULL
+;
+
+660 
+       `DBG_PRT
+((
+L
+"long\86ink!"));
+
+662 
+l\9akto
+ = (\ 5*)
+äom
+->
+i_block
+;
+
+664 
+       `DBG_PRT
+((
+L
+"syml\9ak\81Ø%s", 
+l\9akto
+));
+
+667 ià(
+l\9akto
+[0] != '/') {
+
+668 \ 5*
+\92d
+ = 
+       `¡¼ch¿
+(
+ba£
+, '/');
+
+669 ià(
+\92d
+) {
+
+671 \ 5
+fuÎÇme
+[
+EXT2FS_PATH_MAXLEN
+];
+
+673 ià(((
+\92d
+ - 
+ba£
+ + 1è+ 
+       `¡¾\92a
+(
+l\9akto
+è+ 1è>ð
+EXT2FS_PATH_MAXLEN
+) {
+
+674 
+       `Pr\9at
+(
+L
+"%s: f\9e\92am\90toØlÚg, cª'\88»sÞve\n", 
+__FUNCTION__
+);
+
+675 \15 
+NULL
+;
+
+678 
+       `¡ºýya
+(
+fuÎÇme
+, 
+ba£
+, 
+\92d
+ - base + 1);
+
+679 
+fuÎÇme
+[
+\92d
+ - 
+ba£
+ + 1] = '\0';
+
+680 
+       `¡rÿ\8f
+(
+fuÎÇme
+, 
+l\9akto
+);
+
+681 
+       `DBG_PRT
+((
+L
+"»sÞved\81Ø%s", 
+fuÎÇme
+));
+
+682 \15 
+       `ext2_Çmei
+(
+e2fs
+, 
+fuÎÇme
+);
+
+685 \15 
+       `ext2_Çmei
+(
+e2fs
+, 
+l\9akto
+);
+
+688 \15 
+       `ext2_Çmei
+(
+e2fs
+, 
+l\9akto
+);
+
+690 
+       }
+}
+
+693 
+       $ext2_ݒ
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \ 5*
+f\9e\92ame
+)
+
+699 \19
+ext2_\9aode
+ * 
+\9d
+;
+
+701 
+\9d
+ = 
+       `ext2_Çmei
+(
+e2fs
+, 
+f\9e\92ame
+);
+
+702 ià(
+\9d
+) {
+
+703 \19
+\9aode_\8fbË_\92\8cy
+ *
+\99p
+;
+
+705 \1f
+       `S_ISLNK
+(
+\9d
+->
+i_mode
+)) {
+
+706 
+\9d
+ = 
+       `ext2_fÞlow_l\9ak
+(
+e2fs
+, ip, 
+f\9e\92ame
+);
+
+707 ià(!
+\9d
+) \15 -1;
+
+709 
+\99p
+ = (\19
+\9aode_\8fbË_\92\8cy
+ *)
+\9d
+;
+
+710 \15 
+\99p
+ - 
+e2fs
+->
+\9aode_\8f
+;
+
+713 
+       }
+}
+
+715 \18\1e
+       $ext2_þo£
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+fd
+)
+
+718 ià(&
+e2fs
+->
+\9aode_\8f
+[
+fd
+].
+\9aode
+ !ðe2fs->
+roÙ_\9aode
+)
+
+719 
+       `ext2_\9dut
+(
+e2fs
+, &e2fs->
+\9aode_\8f
+[
+fd
+].
+\9aode
+);
+
+720 
+       }
+}
+
+722 \18
+EFI_STATUS
+
+
+723 
+       $ext2fs_þo£
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+)
+
+725 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+727 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ > 
+MAX_OPEN_FILES
\15 
+EFI_INVALID_PARAMETER
+;
+
+729 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+731 
+       `ext2_þo£
+(
+e2fs
+, 
+fd
+);
+
+733 \15 
+EFI_SUCCESS
+;
+
+734 
+       }
+}
+
+736 \18
+EFI_STATUS
+
+
+737 
+       $ext2fs_ݒ
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+ *
+fd
+)
+
+739 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+740 
+CHAR8
+f\9e\92ame
+[
+EXT2FS_PATH_MAXLEN
+];
+
+741 
+INTN
+tmp
+;
+
+743 
+       `DBG_PRT
+((
+L
+"Çme:% fd=%x", 
+Çme
+, 
+fd
+));
+
+745 ià(
+this
+ =ð
+NULL
+ || 
+Çme
+ =ðNULL || 
+fd
+ =ðNULL || 
+       `S\8cL\92
+Òameè>=
+EXT2FS_PATH_MAXLEN
\15 
+EFI_INVALID_PARAMETER
+;
+
+747 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+752 
+       `S\8cnXCpy
+(
+f\9e\92ame
+, 
+Çme
+, 
+EXT2FS_PATH_MAXLEN
+);
+
+754 
+       `DBG_PRT
+((
+L
+"ASCII\82ame:%¨UTF-Çme:%s", 
+f\9e\92ame
+, 
+Çme
+));
+
+756 
+tmp
+ = 
+       `ext2_ݒ
+(
+e2fs
+, 
+f\9e\92ame
+);
+
+757 ià(
+tmp
+ != -1) {
+
+758 *
+fd
+ = (
+UINTN
+)
+tmp
+;
+
+759 
+e2fs
+->
+\9aode_\8f
+[
+tmp
+].
+pos
+ = 0;
+
+762 
+       `DBG_PRT
+((
+L
+"Çme: % fd=%d\81mp=%d", 
+Çme
+, *
+fd
+, 
+tmp
+));
+
+764 \15 
+tmp
+ =ð-1 ? 
+EFI_NOT_FOUND
+ : 
+EFI_SUCCESS
+;
+
+765 
+       }
+}
+
+767 \18
+EFI_STATUS
+
+
+768 
+       $ext2fs_Çme
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+maxËn
+)
+
+770 ià(
+Çme
+ =ð
+NULL
+ || 
+maxËn
+ < 1è\15 
+EFI_INVALID_PARAMETER
+;
+
+772 
+       `S\8cnCpy
+(
+Çme
+, 
+FS_NAME
+, 
+maxËn
+-1);
+
+774 
+Çme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+776 \15 
+EFI_SUCCESS
+;
+
+777 
+       }
+}
+
+779 \18
+INTN
+
+
+780 
+       $ext2fs_\9a\99_¡©e
+(
+ext2fs_t
+ *
+ext2fs
+, 
+EFI_HANDLE
+dev
+, 
+EFI_BLOCK_IO
+ *
+blkio
+, \19
+ext2_su³r_block
+ *
+sb
+)
+
+782 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+ = 
+       `FS_PRIVATE
+(
+ext2fs
+);
+
+783 
+UINTN
+i
+;
+
+784 
+EFI_STATUS
+¡©us
+;
+
+786 
+       `Mem£t
+(
+ext2fs
+, 0, \17(*ext2fs));
+
+788 
+e2fs
+->
+dev
+ = dev;
+
+789 
+e2fs
+->
+blkio
+ = blkio;
+
+790 
+e2fs
+->
+med\9fid
+ = 
+blkio
+->
+Med\9f
+->
+Med\9fId
+;
+
+793 
+       `Memýy
+(&
+e2fs
+->
+sb
+, sb, \17(*sb));
+
+795 
+e2fs
+->
+ngroups
+ = (
+sb
+->
+s_blocks_couÁ
+ - sb->
+s_f\9c¡_d©a_block
+ + 
+       `EXT2_BLOCKS_PER_GROUP
+(sb) - 1) / EXT2_BLOCKS_PER_GROUP(sb);
+
+797 
+e2fs
+->
+gds
+ = (\19
+ext2_group_desc
+ *)
+       `®loc
+Ó2fs->
+ngroups
+ * \17(\19ext2_group_desc), 
+EXT2FS_MEMTYPE
+);
+
+798 ià(
+e2fs
+->
+gds
+ =ð
+NULL
+) {
+
+799 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate gds"));
+
+800 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+803 
+e2fs
+->
+blocksize
+ = 
+       `EXT2_BLOCK_SIZE
+(
+sb
+);
+
+805 
+       `DBG_PRT
+((
+L
+"gds_size=%d gds_offset=%d\82groups=%d blocksize=%d",
+
+806 
+e2fs
+->
+ngroups
+ * \17(\19
+ext2_group_desc
+),
+
+807 
+e2fs
+->
+blocksize
+ * (
+EXT2_MIN_BLOCK_SIZE
+/e2fs->blocksize + 1),
+
+808 
+e2fs
+->
+ngroups
+, (
+UINTN
+ë2fs->
+blocksize
+));
+
+811 
+¡©us
+ = 
+       `»ad_by\8bs
+(
+blkio
+, 
+e2fs
+->
+med\9fid
+,\832fs->
+blocksize
+ * (
+EXT2_MIN_BLOCK_SIZE
+/e2fs->blocksize + 1),
+
+812 
+e2fs
+->
+gds
+,\832fs->
+ngroups
+ * \17(\19
+ext2_group_desc
+));
+
+813 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+814 
+       `ERR_PRT
+((
+L
+"ÿÂÙ\84\97d gds: %r", 
+¡©us
+));
+
+815 
+       `ä\93
+(
+e2fs
+->
+gds
+);
+
+816 \15 
+EFI_INVALID_PARAMETER
+;
+
+819 { \12
+i
+; \ 5*
+p
+ = (\ 5*)
+e2fs
+->
+gds
+;
+
+820 \ f
+i
+=
+e2fs
+->
+ngroups
+*\17(*e2fs->
+gds
+); i ; i--, 
+p
+++) {
+
+821 ià(
+i
+ % 16 =ð0è
+       `Pr\9at
+(
+L
+"\n");
+
+822 
+       `Pr\9at
+(
+L
+"%02x ", (
+UINTN
+)*
+p
+ & 0xff);
+
+828 
+e2fs
+->
+ÿched_diblkno
+ = -1;
+
+829 
+e2fs
+->
+ÿched_iblkno
+ = -1;
+
+832 \ f
+i
+ = 0; i < 
+MAX_OPEN_FILES
+; i++) {
+
+833 
+e2fs
+->
+\9aode_\8f
+[
+i
+].
\93
+ = 1;
+
+834 
+e2fs
+->
+\9aode_\8f
+[
+i
+].
+\9aumb\94
+ = 0;
+
+837 
+e2fs
+->
+roÙ_\9aode
+ = 
+NULL
+;
+
+844 
+e2fs
+->
+d\9ceùlim
+ = 
+EXT2_NDIR_BLOCKS
+ - 1;
+
+845 
+e2fs
+->
+±rs_³r_blk
+ =\832fs->
+blocksize
+/\17(\1d\12);
+
+846 
+e2fs
+->
+\9ad1lim
+ =\832fs->
+±rs_³r_blk
+ +\832fs->
+d\9ceùlim
+;
+
+847 
+e2fs
+->
+\9ad2lim
+ = (e2fs->
+±rs_³r_blk
+ *\832fs->±rs_³r_blkè+\832fs->
+d\9ceùlim
+;
+
+849 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_Çme
+ =\83xt2fs_name;
+
+850 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_ݒ
+ =\83xt2fs_open;
+
+851 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_»ad
+ =\83xt2fs_read;
+
+852 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_þo£
+ =\83xt2fs_close;
+
+853 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_£ek
+ =\83xt2fs_seek;
+
+854 
+ext2fs
+->
+pub_\9atf
+.
+ext2fs_f¡©
+ =\83xt2fs_fstat;
+
+856 \15 
+EFI_SUCCESS
+;
+
+857 
+       }
+}
+
+860 \18
+EFI_STATUS
+
+
+861 
+       $ext2fs_\9a¡®l_Úe
+(
+EFI_HANDLE
+dev
+, 
+VOID
+ **
+\9atf
+)
+
+863 \19
+ext2_su³r_block
+sb
+;
+
+864 \13
+sb_block
+ = 1;
+
+865 
+EFI_STATUS
+¡©us
+;
+
+866 
+EFI_BLOCK_IO
+ *
+blkio
+;
+
+867 
+ext2fs_t
+ *
+ext2fs
+;
+
+869 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+dev
+, &
+Ext2FsPrÙocÞ
+, (
+VOID
+ **)&
+ext2fs
+);
+
+870 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+871 
+       `ERR_PRT
+((
+L
+"W¬n\9ag: found\83xi¡\9ag % ´ÙocÞ oÀdeviû", 
+FS_NAME
+));
+
+872 \10
+found
+;
+
+875 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+(
+dev
+, &
+BlockIoPrÙocÞ
+, (
+VOID
+ **)&
+blkio
+);
+
+876 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+878 
+       `VERB_PRT
+(5,
+
+879 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+880 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev
+);
+
+881 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+882 
+       `Pr\9at
+(
+L
+"dev:%s\nLogiÿÈ·¹\99iÚ: %  BlockSize: %d Wr\99eCach\9ag: % \n", 
+¡r
+,
+
+883 
+blkio
+->
+Med\9f
+->
+LogiÿlP¬t\99
+ ? 
+L
+"Yes": L"No",
+
+884 
+blkio
+->
+Med\9f
+->
+BlockSize
+,
+
+885 
+blkio
+->
+Med\9f
+->
+Wr\99eCach\9ag
+ ? 
+L
+"Yes":L"No");
+
+886 
+       `F»ePoÞ
+(
+¡r
+);
+
+888 ià(
+blkio
+->
+Med\9f
+->
+LogiÿlP¬t\99
+ =ð
+FALSE
\15 
+EFI_INVALID_PARAMETER
+;
+
+896 
+blkio
+->
+       `Re£t
+(blkio, 
+FALSE
+);
+
+899 
+¡©us
+ = 
+       `»ad_by\8bs
+(
+blkio
+, blkio->
+Med\9f
+->
+Med\9fId
+, 
+sb_block
+ * 
+EXT2_MIN_BLOCK_SIZE
+, &
+sb
+, \17(sb));
+
+900 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+901 
+       `DBG_PRT
+((
+L
+"ÿÂÙ\84\97d su³rblock: %r", 
+¡©us
+));
+
+902 \15 
+EFI_INVALID_PARAMETER
+;
+
+905 ià(
+sb
+.
+s_magic
+ !ð
+EXT2_SUPER_MAGIC
+) {
+
+906 
+       `DBG_PRT
+((
+L
+"bad magiø0x%x\n", 
+sb
+.
+s_magic
+));
+
+907 \15 
+EFI_INVALID_PARAMETER
+;
+
+910 
+ext2fs
+ = (
+ext2fs_t
+ *)
+       `®loc
+(\17(*ext2fs), 
+EXT2FS_MEMTYPE
+);
+
+911 ià(
+ext2fs
+ =ð
+NULL
\15 
+EFI_OUT_OF_RESOURCES
+;
+
+913 
+¡©us
+ = 
+       `ext2fs_\9a\99_¡©e
+(
+ext2fs
+, 
+dev
+, 
+blkio
+, &
+sb
+);
+
+914 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+915 
+       `ä\93
+(
+ext2fs
+);
+
+916 \15 
+¡©us
+;
+
+919 
+¡©us
+ = 
+       `LibIn¡®lPrÙocÞIÁ\94çûs
+(&
+dev
+, &
+Ext2FsPrÙocÞ
+, 
+ext2fs
+, 
+NULL
+);
+
+920 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+921 
+       `ERR_PRT
+((
+L
+"CªnÙ in¡®È% ´ÙocÞ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+922 
+       `ä\93
+(
+ext2fs
+);
+
+923 \15 
+¡©us
+;
+
+925 
+found
+:
+
+926 ià(
+\9atf
+è*\9atàð(
+VOID
+ *)
+ext2fs
+;
+
+928 
+       `VERB_PRT
+(3,
+
+929 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+930 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev
+);
+
+931 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+932 
+       `Pr\9at
+(
+L
+"dev:% % d\91eùed\n", 
+¡r
+, 
+FS_NAME
+);
+
+933 
+       `F»ePoÞ
+(
+¡r
+);
+
+936 \15 
+EFI_SUCCESS
+;
+
+937 
+       }
+}
+
+939 
+EFI_STATUS
+
+
+940 
+       $ext2fs_\9a¡®l
+(
+VOID
+)
+
+942 
+UINTN
+size
+ = 0;
+
+943 
+UINTN
+i
+;
+
+944 
+EFI_STATUS
+¡©us
+;
+
+945 
+VOID
+ *
+\9atf
+;
+
+947 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+BlockIoPrÙocÞ
+, 
+NULL
+, &
+size
+, NULL);
+
+948 ià(
+size
+ =ð0è\15 
+EFI_UNSUPPORTED
+;
+
+950 
+       `DBG_PRT
+((
+L
+"size=%d", 
+size
+));
+
+952 
+dev_\8fb
+ = (
+dev_\8fb_t
+ *)
+       `®loc
+(
+size
+, 
+EfiLßd\94D©a
+);
+
+953 ià(
+dev_\8fb
+ =ð
+NULL
+) {
+
+954 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate handle\81able"));
+
+955 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+958 
+¡©us
+ = 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+BlockIoPrÙocÞ
+, 
+NULL
+, &
+size
+, (
+VOID
+ **)
+dev_\8fb
+);
+
+959 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+960 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Øg\91 hªdËs: %r", 
+¡©us
+));
+
+961 
+       `ä\93
+(
+dev_\8fb
+);
+
+962 \15 
+¡©us
+;
+
+964 
+ndev
+ = 
+size
+ / \17(
+EFI_HANDLE
+);
+
+966 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+967 
+\9atf
+ = 
+NULL
+;
+
+968 
+       `ext2fs_\9a¡®l_Úe
+(
+dev_\8fb
+[
+i
+].
+dev
+, &
+\9atf
+);
+
+970 
+dev_\8fb
+[
+i
+].
+\9atf
+ = intf;
+
+973 \15 
+EFI_SUCCESS
+;
+
+974 
+       }
+}
+
+976 
+EFI_STATUS
+
+
+977 
+       $ext2fs_un\9a¡®l
+(
+VOID
+)
+
+980 
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+;
+
+981 
+EFI_STATUS
+¡©us
+;
+
+982 
+UINTN
+i
+;
+
+984 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+985 ià(
+dev_\8fb
+[
+i
+].
+\9atf
+ =ð
+NULL
+) \ 6;
+
+986 
+e2fs
+ = 
+       `FS_PRIVATE
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+987 
+¡©us
+ = 
+BS
+->
+       `Un\9a¡®lPrÙocÞIÁ\94çû
+(
+e2fs
+->
+dev
+, &
+Ext2FsPrÙocÞ
+, 
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+988 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+989 
+       `ERR_PRT
+((
+L
+"Un\9a¡®È% \94rÜ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+992 
+       `VERB_PRT
+(3,
+
+993 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+994 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+e2fs
+->
+dev
+);
+
+995 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+996 
+       `Pr\9at
+(
+L
+"un\9a¡®Ëd % Ú %s\n", 
+FS_NAME
+, 
+¡r
+);
+
+997 
+       `F»ePoÞ
+(
+¡r
+);
+
+999 
+       `ä\93
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+1001 ià(
+dev_\8fb
+       `ä\93
+(dev_tab);
+
+1003 \15 
+EFI_SUCCESS
+;
+
+1004 
+       }
+}
+
+       @fs/ext2fs.h
+
+25 #iâdeà
+__EXT2FS_H__
+
+
+26 \ 1
+       #__EXT2FS_H__
+
+
+       )
+
+28 
+INTERFACE_DECL
+(
+_ext2fs_\9a\8brçû_t
+);
+
+35 \1d\13
+       m¡_\9ao
+;
+
+36 \1d\13
+       m¡_Æ\9ak
+;
+
+37 \1d\12
+       m¡_mode
+;
+
+38 \1d\12
+       m¡_uid
+;
+
+39 \1d\12
+       m¡_gid
+;
+
+40 \1d\13
+       m¡_size
+;
+
+41 \1d\13
+       m¡_©ime
+;
+
+42 \1d\13
+       m¡_mtime
+;
+
+43 \1d\13
+       m¡_ùime
+;
+
+44 } 
+       text2fs_¡©_t
+;
+
+47 \e\19
+       s_ext2fs_\9a\8brçû_t
+ {
+
+48 
+EFI_STATUS
+ (*
+ext2fs_Çme
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+       mmaxËn
+);
+
+49 
+EFI_STATUS
+ (*
+ext2fs_ݒ
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+ *
+       mfd
+);
+
+50 
+EFI_STATUS
+ (*
+ext2fs_»ad
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+VOID
+ *
+       mbuf
+, UINTN *
+       msize
+);
+
+51 
+EFI_STATUS
+ (*
+ext2fs_þo£
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+);
+
+52 
+EFI_STATUS
+ (*
+ext2fs_f¡©
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+ext2fs_¡©_t
+ *
+       m¡
+);
+
+53 
+EFI_STATUS
+ (*
+ext2fs_£ek
+)(\19
+_ext2fs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+UINT64
+       mÃwpos
+);
+
+54 } 
+       text2fs_\9a\8brçû_t
+;
+
+56 \ 1
+       #EXT2FS_PROTOCOL
+ \
+
+57 { 0x6\97924f6, 0xc9f2, 0x4331, {0x83, 0x54, 0x19, 0xd0, 0x17, 0x50, 0xd9, 0xc7} }
+
+       )
+
+59 \r
+EFI_STATUS
+ext2fs_\9a¡®l
+(
+VOID
+);
+
+60 \r
+EFI_STATUS
+ext2fs_un\9a¡®l
+(
+VOID
+);
+
+       @fs/fs.h
+
+1 #iâdeà
+_LINUX_FS_H
+
+
+2 \ 1
+       #_LINUX_FS_H
+
+
+       )
+
+9 \ 2
+       ~<l\9aux/cÚfig.h
+>
+
+10 \ 2
+       ~<l\9aux/l\9akage.h
+>
+
+11 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+12 \ 2
+       ~<l\9aux/wa\99.h
+>
+
+13 \ 2
+       ~<l\9aux/ty³s.h
+>
+
+14 \ 2
+       ~<l\9aux/vfs.h
+>
+
+15 \ 2
+       ~<l\9aux/Ãt.h
+>
+
+16 \ 2
+       ~<l\9aux/kdev_t.h
+>
+
+17 \ 2
+       ~<l\9aux/ioùl.h
+>
+
+18 \ 2
+       ~<l\9aux/li¡.h
+>
+
+19 \ 2
+       ~<l\9aux/dÿche.h
+>
+
+20 \ 2
+       ~<l\9aux/¡©.h
+>
+
+21 \ 2
+       ~<l\9aux/ÿche.h
+>
+
+22 \ 2
+       ~<l\9aux/¡ddef.h
+>
+
+23 \ 2
+       ~<l\9aux/¡r\9ag.h
+>
+
+25 \ 2
+       ~<asm/©omic.h
+>
+
+26 \ 2
+       ~<asm/b\99Ýs.h
+>
+
+28 \19
+       gpÞl_\8fbË_¡ruù
+;
+
+42 #undeà
+NR_OPEN
+
+
+43 \ 1
+       #NR_OPEN
+ (1024*1024è
+
+       )
+
+44 \ 1
+       #INR_OPEN
+ 1024
+
+       )
+
+46 \ 1
+       #BLOCK_SIZE_BITS
+ 10
+
+       )
+
+47 \ 1
+       #BLOCK_SIZE
+ (1<<
+BLOCK_SIZE_BITS
+)
+
+       )
+
+50 \19
+       sf\9ees_¡©_¡ruù
+ {
+
+51 \12
+       mÄ_f\9ees
+;
+
+52 \12
+       mÄ_ä\93_f\9ees
+;
+
+53 \12
+       mmax_f\9ees
+;
+
+55 \r\19
+f\9ees_¡©_¡ruù
+f\9ees_¡©
+;
+
+57 \19
+       s\9aodes_¡©_t
+ {
+
+58 \12
+       mÄ_\9aodes
+;
+
+59 \12
+       mÄ_unu£d
+;
+
+60 \12
+       mdummy
+[5];
+
+62 \r\19
+\9aodes_¡©_t
+\9aodes_¡©
+;
+
+64 \r\12
+max_su³r_blocks
+, 
+Ä_su³r_blocks
+;
+
+65 \r\12
+Ëa£s_\92abË
+, 
+d\9c_nÙify_\92abË
+, 
+Ëa£_b»ak_time
+;
+
+67 \ 1
+       #NR_FILE
+ 8192
+
+       )
+
+68 \ 1
+       #NR_RESERVED_FILES
+ 10
+
+       )
+
+69 \ 1
+       #NR_SUPER
+ 256
+
+       )
+
+71 \ 1
+       #MAY_EXEC
+ 1
+
+       )
+
+72 \ 1
+       #MAY_WRITE
+ 2
+
+       )
+
+73 \ 1
+       #MAY_READ
+ 4
+
+       )
+
+75 \ 1
+       #FMODE_READ
+ 1
+
+       )
+
+76 \ 1
+       #FMODE_WRITE
+ 2
+
+       )
+
+78 \ 1
+       #READ
+ 0
+
+       )
+
+79 \ 1
+       #WRITE
+ 1
+
+       )
+
+80 \ 1
+       #READA
+ 2
+
+       )
+
+81 \ 1
+       #SPECIAL
+ 4
+
+       )
+
+83 \ 1
+       #SEL_IN
+ 1
+
+       )
+
+84 \ 1
+       #SEL_OUT
+ 2
+
+       )
+
+85 \ 1
+       #SEL_EX
+ 4
+
+       )
+
+88 \ 1
+       #FS_REQUIRES_DEV
+ 1
+
+       )
+
+89 \ 1
+       #FS_NO_DCACHE
+ 2
+
+       )
+
+90 \ 1
+       #FS_NO_PRELIM
+ 4
+
+       )
+
+93 \ 1
+       #FS_SINGLE
+ 8
+
+       )
+
+99 \ 1
+       #FS_NOMOUNT
+ 16
+
+       )
+
+100 \ 1
+       #FS_LITTER
+ 32
+
+       )
+
+101 \ 1
+       #FS_ODD_RENAME
+ 32768
+
+       )
+
+107 \ 1
+       #MS_RDONLY
+ 1
+
+       )
+
+108 \ 1
+       #MS_NOSUID
+ 2
+
+       )
+
+109 \ 1
+       #MS_NODEV
+ 4
+
+       )
+
+110 \ 1
+       #MS_NOEXEC
+ 8
+
+       )
+
+111 \ 1
+       #MS_SYNCHRONOUS
+ 16
+
+       )
+
+112 \ 1
+       #MS_REMOUNT
+ 32
+
+       )
+
+113 \ 1
+       #MS_MANDLOCK
+ 64
+
+       )
+
+114 \ 1
+       #MS_NOATIME
+ 1024
+
+       )
+
+115 \ 1
+       #MS_NODIRATIME
+ 2048
+
+       )
+
+116 \ 1
+       #MS_BIND
+ 4096
+
+       )
+
+121 \ 1
+       #MS_RMT_MASK
+ (
+MS_RDONLY
+|
+MS_NOSUID
+|
+MS_NODEV
+|
+MS_NOEXEC
+|\
+
+122 
+MS_SYNCHRONOUS
+|
+MS_MANDLOCK
+|
+MS_NOATIME
+|
+MS_NODIRATIME
+)
+
+       )
+
+127 \ 1
+       #MS_MGC_VAL
+ 0xC0ED0000
+
+       )
+
+128 \ 1
+       #MS_MGC_MSK
+ 0xffff0000
+
+       )
+
+132 \ 1
+       #S_SYNC
+ 1
+
+       )
+
+133 \ 1
+       #S_NOATIME
+ 2
+
+       )
+
+134 \ 1
+       #S_QUOTA
+ 4
+
+       )
+
+135 \ 1
+       #S_APPEND
+ 8
+
+       )
+
+136 \ 1
+       #S_IMMUTABLE
+ 16
+
+       )
+
+137 \ 1
+       #S_DEAD
+ 32
+
+       )
+
+152 \ 1
+       #__IS_FLG
+(
+\9aode
+,
+æg
+è((\9aode)->
+i_sb
+->
+s_æags
+ & (æg))
+
+       )
+
+154 \ 1
+       #IS_RDONLY
+(
+\9aode
+è((\9aode)->
+i_sb
+->
+s_æags
+ & 
+MS_RDONLY
+)
+
+       )
+
+155 \ 1
+       #IS_NOSUID
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_NOSUID
+)
+
+       )
+
+156 \ 1
+       #IS_NODEV
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_NODEV
+)
+
+       )
+
+157 \ 1
+       #IS_NOEXEC
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_NOEXEC
+)
+
+       )
+
+158 \ 1
+       #IS_SYNC
+(
+\9aode
+è(
+       `__IS_FLG
+(\9aode, 
+MS_SYNCHRONOUS
+è|| ((\9aode)->
+i_æags
+ & 
+S_SYNC
+))
+
+       )
+
+159 \ 1
+       #IS_MANDLOCK
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_MANDLOCK
+)
+
+       )
+
+161 \ 1
+       #IS_QUOTAINIT
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_QUOTA
+)
+
+       )
+
+162 \ 1
+       #IS_APPEND
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_APPEND
+)
+
+       )
+
+163 \ 1
+       #IS_IMMUTABLE
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_IMMUTABLE
+)
+
+       )
+
+164 \ 1
+       #IS_NOATIME
+(
+\9aode
+è(
+       `__IS_FLG
+(\9aode, 
+MS_NOATIME
+è|| ((\9aode)->
+i_æags
+ & 
+S_NOATIME
+))
+
+       )
+
+165 \ 1
+       #IS_NODIRATIME
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_NODIRATIME
+)
+
+       )
+
+167 \ 1
+       #IS_DEADDIR
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_DEAD
+)
+
+       )
+
+172 \ 1
+       #BLKROSET
+       `_IO
+(0x12,93è
+
+       )
+
+173 \ 1
+       #BLKROGET
+       `_IO
+(0x12,94è
+
+       )
+
+174 \ 1
+       #BLKRRPART
+       `_IO
+(0x12,95è
+
+       )
+
+175 \ 1
+       #BLKGETSIZE
+       `_IO
+(0x12,96è
+
+       )
+
+176 \ 1
+       #BLKFLSBUF
+       `_IO
+(0x12,97è
+
+       )
+
+177 \ 1
+       #BLKRASET
+       `_IO
+(0x12,98è
+
+       )
+
+178 \ 1
+       #BLKRAGET
+       `_IO
+(0x12,99è
+
+       )
+
+179 \ 1
+       #BLKFRASET
+       `_IO
+(0x12,100)
+
+       )
+
+180 \ 1
+       #BLKFRAGET
+       `_IO
+(0x12,101)
+
+       )
+
+181 \ 1
+       #BLKSECTSET
+       `_IO
+(0x12,102)
+
+       )
+
+182 \ 1
+       #BLKSECTGET
+       `_IO
+(0x12,103)
+
+       )
+
+183 \ 1
+       #BLKSSZGET
+       `_IO
+(0x12,104)
+
+       )
+
+185 \ 1
+       #BLKPG
+       `_IO
+(0x12,105)
+
+       )
+
+186 \ 1
+       #BLKELVGET
+       `_IOR
+(0x12,106,\17(
+blk\96v_ioùl_¬g_t
+))
+
+       )
+
+187 \ 1
+       #BLKELVSET
+       `_IOW
+(0x12,107,\17(
+blk\96v_ioùl_¬g_t
+))
+
+       )
+
+193 \ 1
+       #BMAP_IOCTL
+ 1
+
+       )
+
+194 \ 1
+       #FIBMAP
+       `_IO
+(0x00,1è
+
+       )
+
+195 \ 1
+       #FIGETBSZ
+       `_IO
+(0x00,2è
+
+       )
+
+197 #ifdeà
+__KERNEL__
+
+
+199 \ 2
+       ~<asm/£m­hÜe.h
+>
+
+200 \ 2
+       ~<asm/by\8bÜd\94.h
+>
+
+202 \r\1e
+upd©e_©ime
+ (\19
+\9aode
+ *);
+
+203 \ 1
+       #UPDATE_ATIME
+(
+\9aode
+       `upd©e_©ime
+ (\9aode)
+
+       )
+
+205 \r\1e
+bufãr_\9a\99
+(\1d\13);
+
+206 \r\1e
+\9aode_\9a\99
+(\1d\13);
+
+209 \ 1
+       #BH_U±od©e
+ 0
+
+       )
+
+210 \ 1
+       #BH_D\9cty
+ 1
+
+       )
+
+211 \ 1
+       #BH_Lock
+ 2
+
+       )
+
+212 \ 1
+       #BH_Req
+ 3
+
+       )
+
+213 \ 1
+       #BH_M­³d
+ 4
+
+       )
+
+214 \ 1
+       #BH_New
+ 5
+
+       )
+
+215 \ 1
+       #BH_PrÙeùed
+ 6
+
+       )
+
+228 \19
+       sbufãr_h\97d
+ {
+
+230 \19
+bufãr_h\97d
+ *
+       mb_Ãxt
+;
+
+231 \1d\13
+       mb_blockÄ
+;
+
+232 \1d\16
+       mb_size
+;
+
+233 \1d\16
+       mb_li¡
+;
+
+234 
+kdev_t
+       mb_dev
+;
+
+236 
+©omic_t
+       mb_couÁ
+;
+
+237 
+kdev_t
+       mb_rdev
+;
+
+238 \1d\13
+       mb_¡©e
+;
+
+239 \1d\13
+       mb_æushtime
+;
+
+241 \19
+bufãr_h\97d
+ *
+       mb_Ãxt_ä\93
+;
+
+242 \19
+bufãr_h\97d
+ *
+       mb_´ev_ä\93
+;
+
+243 \19
+bufãr_h\97d
+ *
+       mb_this_·ge
+;
+
+244 \19
+bufãr_h\97d
+ *
+       mb_»qÃxt
+;
+
+246 \19
+bufãr_h\97d
+ **
+       mb_µ»v
+;
+
+247 \ 5
+       mb_d©a
+;
+
+248 \19
+·ge
+ *
+       mb_·ge
+;
+
+249 \1e(*
+       mb_\92d_io
+)(\19
+bufãr_h\97d
+ *
+       mbh
+, \12
+       mu±od©e
+);
+
+250 \1e*
+       mb_´iv©e
+;
+
+252 \1d\13
+       mb_r£ùÜ
+;
+
+253 
+wa\99_queue_h\97d_t
+       mb_wa\99
+;
+
+255 \19
+\9aode
+ * 
+       mb_\9aode
+;
+
+256 \19
+li¡_h\97d
+       mb_\9aode_bufãrs
+;
+
+259 \e\1e(
+       tbh_\92d_io_t
+)(\19
+       tbufãr_h\97d
+ *
+       tbh
+, \12
+       tu±od©e
+);
+
+260 \1e
+       `\9a\99_bufãr
+(\19
+bufãr_h\97d
+ *, 
+bh_\92d_io_t
+ *, \1e*);
+
+262 \ 1
+       #__bufãr_¡©e
+(
+bh
+, 
+¡©e
+è(((bh)->
+b_¡©e
+ & (1UL << 
+BH_
+##¡©e)è!ð0)
+
+       )
+
+264 \ 1
+       #bufãr_u±od©e
+(
+bh
+       `__bufãr_¡©e
+(bh,
+U±od©e
+)
+
+       )
+
+265 \ 1
+       #bufãr_d\9cty
+(
+bh
+       `__bufãr_¡©e
+(bh,
+D\9cty
+)
+
+       )
+
+266 \ 1
+       #bufãr_locked
+(
+bh
+       `__bufãr_¡©e
+(bh,
+Lock
+)
+
+       )
+
+267 \ 1
+       #bufãr_»q
+(
+bh
+       `__bufãr_¡©e
+(bh,
+Req
+)
+
+       )
+
+268 \ 1
+       #bufãr_m­³d
+(
+bh
+       `__bufãr_¡©e
+(bh,
+M­³d
+)
+
+       )
+
+269 \ 1
+       #bufãr_Ãw
+(
+bh
+       `__bufãr_¡©e
+(bh,
+New
+)
+
+       )
+
+270 \ 1
+       #bufãr_´Ùeùed
+(
+bh
+       `__bufãr_¡©e
+(bh,
+PrÙeùed
+)
+
+       )
+
+272 \ 1
+       #bh_off£t
+(
+bh
+è((\1d\13)(bh)->
+b_d©a
+ & ~
+PAGE_MASK
+)
+
+       )
+
+274 \r\1e
+       `£t_bh_·ge
+(\19
+bufãr_h\97d
+ *
+bh
+, \19
+·ge
+ *·ge, \1d\13
+off£t
+);
+
+276 \ 1
+       #touch_bufãr
+(
+bh
+       `S\91PageReã»nûd
+(bh->
+b_·ge
+)
+
+       )
+
+279 \ 2
+       ~<l\9aux/p\9de_fs_i.h
+>
+
+280 \ 2
+       ~<l\9aux/m\9aix_fs_i.h
+>
+
+281 \ 2
+       ~<l\9aux/ext2_fs_i.h
+>
+
+282 \ 2
+       ~<l\9aux/hpfs_fs_i.h
+>
+
+283 \ 2
+       ~<l\9aux/Áfs_fs_i.h
+>
+
+284 \ 2
+       ~<l\9aux/msdos_fs_i.h
+>
+
+285 \ 2
+       ~<l\9aux/umsdos_fs_i.h
+>
+
+286 \ 2
+       ~<l\9aux/iso_fs_i.h
+>
+
+287 \ 2
+       ~<l\9aux/nfs_fs_i.h
+>
+
+288 \ 2
+       ~<l\9aux/sysv_fs_i.h
+>
+
+289 \ 2
+       ~<l\9aux/affs_fs_i.h
+>
+
+290 \ 2
+       ~<l\9aux/ufs_fs_i.h
+>
+
+291 \ 2
+       ~<l\9aux/efs_fs_i.h
+>
+
+292 \ 2
+       ~<l\9aux/coda_fs_i.h
+>
+
+293 \ 2
+       ~<l\9aux/romfs_fs_i.h
+>
+
+294 \ 2
+       ~<l\9aux/shmem_fs.h
+>
+
+295 \ 2
+       ~<l\9aux/smb_fs_i.h
+>
+
+296 \ 2
+       ~<l\9aux/hfs_fs_i.h
+>
+
+297 \ 2
+       ~<l\9aux/adfs_fs_i.h
+>
+
+298 \ 2
+       ~<l\9aux/qnx4_fs_i.h
+>
+
+299 \ 2
+       ~<l\9aux/»i£rfs_fs_i.h
+>
+
+300 \ 2
+       ~<l\9aux/bfs_fs_i.h
+>
+
+301 \ 2
+       ~<l\9aux/udf_fs_i.h
+>
+
+302 \ 2
+       ~<l\9aux/ný_fs_i.h
+>
+
+303 \ 2
+       ~<l\9aux/´oc_fs_i.h
+>
+
+304 \ 2
+       ~<l\9aux/usbdev_fs_i.h
+>
+
+310 \ 1
+       #ATTR_MODE
+ 1
+
+       )
+
+311 \ 1
+       #ATTR_UID
+ 2
+
+       )
+
+312 \ 1
+       #ATTR_GID
+ 4
+
+       )
+
+313 \ 1
+       #ATTR_SIZE
+ 8
+
+       )
+
+314 \ 1
+       #ATTR_ATIME
+ 16
+
+       )
+
+315 \ 1
+       #ATTR_MTIME
+ 32
+
+       )
+
+316 \ 1
+       #ATTR_CTIME
+ 64
+
+       )
+
+317 \ 1
+       #ATTR_ATIME_SET
+ 128
+
+       )
+
+318 \ 1
+       #ATTR_MTIME_SET
+ 256
+
+       )
+
+319 \ 1
+       #ATTR_FORCE
+ 512
+
+       )
+
+320 \ 1
+       #ATTR_ATTR_FLAG
+ 1024
+
+       )
+
+331 \19
+       s\9f\89r
+ {
+
+332 \1d\12
+\9f_v®id
+;
+
+333 
+umode_t
+\9f_mode
+;
+
+334 
+uid_t
+\9f_uid
+;
+
+335 
+gid_t
+\9f_gid
+;
+
+336 
+loff_t
+\9f_size
+;
+
+337 
+time_t
+\9f_©ime
+;
+
+338 
+time_t
+\9f_mtime
+;
+
+339 
+time_t
+\9f_ùime
+;
+
+340 \1d\12
+\9f\8c_æags
+;
+
+346 \ 1
+       #ATTR_FLAG_SYNCRONOUS
+ 1
+
+       )
+
+347 \ 1
+       #ATTR_FLAG_NOATIME
+ 2
+
+       )
+
+348 \ 1
+       #ATTR_FLAG_APPEND
+ 4
+
+       )
+
+349 \ 1
+       #ATTR_FLAG_IMMUTABLE
+ 8
+
+       )
+
+350 \ 1
+       #ATTR_FLAG_NODIRATIME
+ 16
+
+       )
+
+355 \ 2
+       ~<l\9aux/quÙa.h
+>
+
+356 \ 2
+       ~<l\9aux/mouÁ.h
+>
+
+361 \19
+·ge
+;
+
+362 \19
+add»ss_¥aû
+;
+
+364 \19
+       sadd»ss_¥aû_Ý\94©iÚs
+ {
+
+365 \12(*
+wr\99\95age
+)(\19
+·ge
+ *);
+
+366 \12(*
+»ad·ge
+)(\19
+f\9ee
+ *, \19
+·ge
+ *);
+
+367 \12(*
+sync_·ge
+)(\19
+·ge
+ *);
+
+368 \12(*
\95¬e_wr\99e
+)(\19
+f\9ee
+ *, \19
+·ge
+ *, \1d\1d);
+
+369 \12(*
+comm\99_wr\99e
+)(\19
+f\9ee
+ *, \19
+·ge
+ *, \1d\1d);
+
+371 \12(*
+bm­
+)(\19
+add»ss_¥aû
+ *, \13);
+
+374 \19
+       sadd»ss_¥aû
+ {
+
+375 \19
+li¡_h\97d
\97n_·ges
+;
+
+376 \19
+li¡_h\97d
+d\9cty_·ges
+;
+
+377 \19
+li¡_h\97d
+locked_·ges
+;
+
+378 \1d\13
+ķges
+;
+
+379 \19
+add»ss_¥aû_Ý\94©iÚs
+ *
+a_Ýs
+;
+
+380 \19
+\9aode
+ *
+ho¡
+;
+
+381 \19
+vm_¬\97_¡ruù
+ *
+i_mm­
+;
+
+382 \19
+vm_¬\97_¡ruù
+ *
+i_mm­_sh¬ed
+;
+
+383 
\9alock_t
+i_sh¬ed_lock
+;
+
+384 \12
+gå_mask
+;
+
+387 \19
+       sch¬_deviû
+ {
+
+388 \19
+li¡_h\97d
+hash
+;
+
+389 
+©omic_t
+couÁ
+;
+
+390 
+dev_t
+dev
+;
+
+391 
+©omic_t
\92\94s
+;
+
+392 \19
+£m­hÜe
+£m
+;
+
+395 \19
+       sblock_deviû
+ {
+
+396 \19
+li¡_h\97d
+bd_hash
+;
+
+397 
+©omic_t
+bd_couÁ
+;
+
+399 
+dev_t
+bd_dev
+;
+
+400 
+©omic_t
+bd_Ý\92\94s
+;
+
+401 cڡ \19
+block_deviû_Ý\94©iÚs
+ *
+bd_Ý
+;
+
+402 \19
+£m­hÜe
+bd_£m
+;
+
+405 \19
+       s\9aode
+ {
+
+406 \19
+li¡_h\97d
+i_hash
+;
+
+407 \19
+li¡_h\97d
+i_li¡
+;
+
+408 \19
+li¡_h\97d
+i_d\92\8cy
+;
+
+410 \19
+li¡_h\97d
+i_d\9cty_bufãrs
+;
+
+412 \1d\13
+i_\9ao
+;
+
+413 
+©omic_t
+i_couÁ
+;
+
+414 
+kdev_t
+i_dev
+;
+
+415 
+umode_t
+i_mode
+;
+
+416 
+ƚk_t
+i_ƚk
+;
+
+417 
+uid_t
+i_uid
+;
+
+418 
+gid_t
+i_gid
+;
+
+419 
+kdev_t
+i_rdev
+;
+
+420 
+loff_t
+i_size
+;
+
+421 
+time_t
+i_©ime
+;
+
+422 
+time_t
+i_mtime
+;
+
+423 
+time_t
+i_ùime
+;
+
+424 \1d\13
+i_blksize
+;
+
+425 \1d\13
+i_blocks
+;
+
+426 \1d\13
+i_v\94siÚ
+;
+
+427 \19
+£m­hÜe
+i_£m
+;
+
+428 \19
+£m­hÜe
+i_zomb\9b
+;
+
+429 \19
+\9aode_Ý\94©iÚs
+ *
+i_Ý
+;
+
+430 \19
+f\9ee_Ý\94©iÚs
+ *
+i_fÝ
+;
+
+431 \19
+su³r_block
+ *
+i_sb
+;
+
+432 
+wa\99_queue_h\97d_t
+i_wa\99
+;
+
+433 \19
+f\9ee_lock
+ *
+i_æock
+;
+
+434 \19
+add»ss_¥aû
+ *
+i_m­p\9ag
+;
+
+435 \19
+add»ss_¥aû
+i_d©a
+;
+
+436 \19
+dquÙ
+ *
+i_dquÙ
+[
+MAXQUOTAS
+];
+
+438 \19
+p\9de_\9aode_\9afo
+ *
+i_p\9de
+;
+
+439 \19
+block_deviû
+ *
+i_bdev
+;
+
+440 \19
+ch¬_deviû
+ *
+i_cdev
+;
+
+442 \1d\13
+i_dnÙify_mask
+;
+
+443 \19
+dnÙify_¡ruù
+ *
+i_dnÙify
+;
+
+445 \1d\13
+i_¡©e
+;
+
+447 \1d\12
+i_æags
+;
+
+448 \1d\ 5
+i_sock
+;
+
+450 
+©omic_t
+i_wr\99ecouÁ
+;
+
+451 \1d\12
+i_©\8c_æags
+;
+
+452 
+__u32
+i_g\92\94©iÚ
+;
+
+454 \19
+m\9aix_\9aode_\9afo
+m\9aix_i
+;
+
+455 \19
+ext2_\9aode_\9afo
+ext2_i
+;
+
+456 \19
+hpfs_\9aode_\9afo
+hpfs_i
+;
+
+457 \19
+Áfs_\9aode_\9afo
+Áfs_i
+;
+
+458 \19
+msdos_\9aode_\9afo
+msdos_i
+;
+
+459 \19
+umsdos_\9aode_\9afo
+umsdos_i
+;
+
+460 \19
+iso_\9aode_\9afo
+isofs_i
+;
+
+461 \19
+nfs_\9aode_\9afo
+nfs_i
+;
+
+462 \19
+sysv_\9aode_\9afo
+sysv_i
+;
+
+463 \19
+affs_\9aode_\9afo
+affs_i
+;
+
+464 \19
+ufs_\9aode_\9afo
+ufs_i
+;
+
+465 \19
+efs_\9aode_\9afo
+efs_i
+;
+
+466 \19
+romfs_\9aode_\9afo
+romfs_i
+;
+
+467 \19
+shmem_\9aode_\9afo
+shmem_i
+;
+
+468 \19
+coda_\9aode_\9afo
+coda_i
+;
+
+469 \19
+smb_\9aode_\9afo
+smbfs_i
+;
+
+470 \19
+hfs_\9aode_\9afo
+hfs_i
+;
+
+471 \19
+adfs_\9aode_\9afo
+adfs_i
+;
+
+472 \19
+qnx4_\9aode_\9afo
+qnx4_i
+;
+
+473 \19
+»i£rfs_\9aode_\9afo
+»i£rfs_i
+;
+
+474 \19
+bfs_\9aode_\9afo
+bfs_i
+;
+
+475 \19
+udf_\9aode_\9afo
+udf_i
+;
+
+476 \19
+ný_\9aode_\9afo
+nýfs_i
+;
+
+477 \19
+´oc_\9aode_\9afo
+´oc_i
+;
+
+478 \19
+sock\91
+sock\91_i
+;
+
+479 \19
+usbdev_\9aode_\9afo
+usbdev_i
+;
+
+480 \1e*
+g\92\94ic_\9d
+;
+
+481 } 
+u
+;
+
+484 \19
+       sfown_¡ruù
+ {
+
+485 \12
+pid
+;
+
+486 
+uid_t
+uid
+, 
+euid
+;
+
+487 \12
+signum
+;
+
+490 \19
+       sf\9ee
+ {
+
+491 \19
+li¡_h\97d
+f_li¡
+;
+
+492 \19
+d\92\8cy
+ *
+f_d\92\8cy
+;
+
+493 \19
+vfsmouÁ
+ *
+f_vfsmÁ
+;
+
+494 \19
+f\9ee_Ý\94©iÚs
+ *
+f_Ý
+;
+
+495 
+©omic_t
+f_couÁ
+;
+
+496 \1d\12
+f_æags
+;
+
+497 
+mode_t
+f_mode
+;
+
+498 
+loff_t
+f_pos
+;
+
+499 \1d\13
+f_»ada
+, 
+f_¿max
+, 
+f_¿\92d
+, 
+f_¿Ën
+, 
+f_¿w\9a
+;
+
+500 \19
+fown_¡ruù
+f_owÃr
+;
+
+501 \1d\12
+f_uid
+, 
+f_gid
+;
+
+502 \12
+f_\94
+;
+
+504 \1d\13
+f_v\94siÚ
+;
+
+507 \1e*
+´iv©e_d©a
+;
+
+509 \r
\9alock_t
+f\9ees_lock
+;
+
+510 \ 1
+       #f\9ee_li¡_lock
+(è
+       `¥\9a_lock
+(&
+f\9ees_lock
+);
+
+       )
+
+511 \ 1
+       #f\9ee_li¡_uÆock
+(è
+       `¥\9a_uÆock
+(&
+f\9ees_lock
+);
+
+       )
+
+513 \ 1
+       #g\91_f\9ee
+(
+x
+       `©omic_\9ac
+(&(x)->
+f_couÁ
+)
+
+       )
+
+514 \ 1
+       #f\9ee_couÁ
+(
+x
+       `©omic_»ad
+(&(x)->
+f_couÁ
+)
+
+       )
+
+516 \r\12
+       `\9a\99_´iv©e_f\9ee
+(\19
+f\9ee
+ *, \19
+d\92\8cy
+ *, \12);
+
+518 \ 1
+       #MAX_NON_LFS
+ ((1UL<<31è- 1)
+
+       )
+
+520 \ 1
+       #FL_POSIX
+ 1
+
+       )
+
+521 \ 1
+       #FL_FLOCK
+ 2
+
+       )
+
+522 \ 1
+       #FL_BROKEN
+ 4
+
+       )
+
+523 \ 1
+       #FL_ACCESS
+ 8
+
+       )
+
+524 \ 1
+       #FL_LOCKD
+ 16
+
+       )
+
+525 \ 1
+       #FL_LEASE
+ 32
+
+       )
+
+534 \e\19
+f\9ees_¡ruù
+ *
+       tæ_owÃr_t
+;
+
+536 \19
+       sf\9ee_lock
+ {
+
+537 \19
+f\9ee_lock
+ *
+æ_Ãxt
+;
+
+538 \19
+li¡_h\97d
+æ_l\9ak
+;
+
+539 \19
+li¡_h\97d
+æ_block
+;
+
+540 
+æ_owÃr_t
+æ_owÃr
+;
+
+541 \1d\12
+æ_pid
+;
+
+542 
+wa\99_queue_h\97d_t
+æ_wa\99
+;
+
+543 \19
+f\9ee
+ *
+æ_f\9ee
+;
+
+544 \1d\ 5
+æ_æags
+;
+
+545 \1d\ 5
+æ_ty³
+;
+
+546 
+loff_t
+æ_¡¬t
+;
+
+547 
+loff_t
+æ_\92d
+;
+
+549 \1e(*
+æ_nÙify
+)(\19
+f\9ee_lock
+ *);
+
+550 \1e(*
+æ_\9a£¹
+)(\19
+f\9ee_lock
+ *);
+
+551 \1e(*
+æ_»move
+)(\19
+f\9ee_lock
+ *);
+
+553 \19
+çsync_¡ruù
+ * 
+æ_çsync
+;
+
+556 \19
+nfs_lock_\9afo
+nfs_æ
+;
+
+557 } 
+æ_u
+;
+
+561 #iâdeà
+OFFSET_MAX
+
+
+562 \ 1
+       #INT_LIMIT
+(
+x
+è(~((x)1 << (\17(x)*8 - 1)))
+
+       )
+
+563 \ 1
+       #OFFSET_MAX
+       `INT_LIMIT
+(
+loff_t
+)
+
+       )
+
+564 \ 1
+       #OFFT_OFFSET_MAX
+       `INT_LIMIT
+(
+off_t
+)
+
+       )
+
+567 \r\19
+li¡_h\97d
+f\9ee_lock_li¡
+;
+
+569 \ 2
+       ~<l\9aux/fú\8e.h
+>
+
+571 \r\12
+       `fú\8e_g\91lk
+(\1d\12\19
+æock
+ *);
+
+572 \r\12
+       `fú\8e\8ek
+(\1d\12\1d\12\19
+æock
+ *);
+
+574 \r\12
+       `fú\8e_g\91lk64
+(\1d\12\19
+æock64
+ *);
+
+575 \r\12
+       `fú\8e\8ek64
+(\1d\12\1d\12\19
+æock64
+ *);
+
+578 \r\1e
+       `locks_\9a\99_lock
+(\19
+f\9ee_lock
+ *);
+
+579 \r\1e
+       `locks_cÝy_lock
+(\19
+f\9ee_lock
+ *, \19file_lock *);
+
+580 \r\1e
+       `locks_»move_posix
+(\19
+f\9ee
+ *, 
+æ_owÃr_t
+);
+
+581 \r\1e
+       `locks_»move_æock
+(\19
+f\9ee
+ *);
+
+582 \r\19
+f\9ee_lock
+ *
+       `posix_\8b¡_lock
+(\19
+f\9ee
+ *, \19file_lock *);
+
+583 \r\12
+       `posix_lock_f\9ee
+(\19
+f\9ee
+ *, \19
+f\9ee_lock
+ *, \1d\12);
+
+584 \r\1e
+       `posix_block_lock
+(\19
+f\9ee_lock
+ *, \19file_lock *);
+
+585 \r\1e
+       `posix_unblock_lock
+(\19
+f\9ee_lock
+ *);
+
+586 \r\12
+       `__g\91_Ëa£
+(\19
+\9aode
+ *\9aode, \1d\12
+æags
+);
+
+587 \r
+time_t
+       `Ëa£_g\91_mtime
+(\19
+\9aode
+ *);
+
+588 \r\12
+       `lock_may_»ad
+(\19
+\9aode
+ *, 
+loff_t
+¡¬t
+, \1d\13
+couÁ
+);
+
+589 \r\12
+       `lock_may_wr\99e
+(\19
+\9aode
+ *, 
+loff_t
+¡¬t
+, \1d\13
+couÁ
+);
+
+591 \19
+       sçsync_¡ruù
+ {
+
+592 \12
+magic
+;
+
+593 \12
+ç_fd
+;
+
+594 \19
+çsync_¡ruù
+ *
+ç_Ãxt
+;
+
+595 \19
+f\9ee
+ *
+ç_f\9ee
+;
+
+598 \ 1
+       #FASYNC_MAGIC
+ 0x4601
+
+       )
+
+601 \r\12
+       `çsync_h\96³r
+(\12\19
+f\9ee
+ *, \12\19
+çsync_¡ruù
+ **);
+
+603 \r\1e
+       `k\9el_çsync
+(\19
+çsync_¡ruù
+ **, \12\12);
+
+605 \r\1e
+       `__k\9el_çsync
+(\19
+çsync_¡ruù
+ *, \12\12);
+
+607 \19
+       sÇmeid©a
+ {
+
+608 \19
+d\92\8cy
+ *dentry;
+
+609 \19
+vfsmouÁ
+ *
+mÁ
+;
+
+610 \19
+q¡r
+;
+
+611 \1d\12
+æags
+;
+
+612 \12
+Ï¡_ty³
+;
+
+615 \ 1
+       #DQUOT_USR_ENABLED
+ 0x01
+
+       )
+
+616 \ 1
+       #DQUOT_GRP_ENABLED
+ 0x02
+
+       )
+
+618 \19
+       squÙa_mouÁ_ÝtiÚs
+
+
+620 \1d\12
+æags
+;
+
+621 \19
+£m­hÜe
+dqio_£m
+;
+
+622 \19
+£m­hÜe
+dqoff_£m
+;
+
+623 \19
+f\9ee
+ *
+f\9ees
+[
+MAXQUOTAS
+];
+
+624 
+time_t
+\9aode_exp\9ce
+[
+MAXQUOTAS
+];
+
+625 
+time_t
+block_exp\9ce
+[
+MAXQUOTAS
+];
+
+626 \ 5
+rsquash
+[
+MAXQUOTAS
+];
+
+633 \ 1
+       #MNT_FORCE
+ 0x00000001
+
+       )
+
+635 \ 2
+       ~<l\9aux/m\9aix_fs_sb.h
+>
+
+636 \ 2
+       ~<l\9aux/ext2_fs_sb.h
+>
+
+637 \ 2
+       ~<l\9aux/hpfs_fs_sb.h
+>
+
+638 \ 2
+       ~<l\9aux/Áfs_fs_sb.h
+>
+
+639 \ 2
+       ~<l\9aux/msdos_fs_sb.h
+>
+
+640 \ 2
+       ~<l\9aux/iso_fs_sb.h
+>
+
+641 \ 2
+       ~<l\9aux/nfs_fs_sb.h
+>
+
+642 \ 2
+       ~<l\9aux/sysv_fs_sb.h
+>
+
+643 \ 2
+       ~<l\9aux/affs_fs_sb.h
+>
+
+644 \ 2
+       ~<l\9aux/ufs_fs_sb.h
+>
+
+645 \ 2
+       ~<l\9aux/efs_fs_sb.h
+>
+
+646 \ 2
+       ~<l\9aux/romfs_fs_sb.h
+>
+
+647 \ 2
+       ~<l\9aux/smb_fs_sb.h
+>
+
+648 \ 2
+       ~<l\9aux/hfs_fs_sb.h
+>
+
+649 \ 2
+       ~<l\9aux/adfs_fs_sb.h
+>
+
+650 \ 2
+       ~<l\9aux/qnx4_fs_sb.h
+>
+
+651 \ 2
+       ~<l\9aux/»i£rfs_fs_sb.h
+>
+
+652 \ 2
+       ~<l\9aux/bfs_fs_sb.h
+>
+
+653 \ 2
+       ~<l\9aux/udf_fs_sb.h
+>
+
+654 \ 2
+       ~<l\9aux/ný_fs_sb.h
+>
+
+655 \ 2
+       ~<l\9aux/usbdev_fs_sb.h
+>
+
+657 \r\19
+li¡_h\97d
+su³r_blocks
+;
+
+659 \ 1
+       #sb_\92\8cy
+(
+li¡
+       `li¡_\92\8cy
+(Öi¡), \19
+su³r_block
+, 
+s_li¡
+)
+
+       )
+
+660 \19
+       ssu³r_block
+ {
+
+661 \19
+li¡_h\97d
+s_li¡
+;
+
+662 
+kdev_t
+s_dev
+;
+
+663 \1d\13
+s_blocksize
+;
+
+664 \1d\ 5
+s_blocksize_b\99s
+;
+
+665 \1d\ 5
+s_d\9ct
+;
+
+666 \1d\13\13
+s_maxby\8bs
+;
+
+667 \19
+f\9ee_sy¡em_ty³
+ *
+s_ty³
+;
+
+668 \19
+su³r_Ý\94©iÚs
+ *
+s_Ý
+;
+
+669 \19
+dquÙ_Ý\94©iÚs
+ *
+dq_Ý
+;
+
+670 \1d\13
+s_æags
+;
+
+671 \1d\13
+s_magic
+;
+
+672 \19
+d\92\8cy
+ *
+s_roÙ
+;
+
+673 \19
+rw_£m­hÜe
+s_umouÁ
+;
+
+674 \19
+£m­hÜe
+s_lock
+;
+
+676 \19
+li¡_h\97d
+s_d\9cty
+;
+
+677 \19
+li¡_h\97d
+s_locked_\9aodes
+;
+
+678 \19
+li¡_h\97d
+s_f\9ees
+;
+
+680 \19
+block_deviû
+ *
+s_bdev
+;
+
+681 \19
+li¡_h\97d
+s_mouÁs
+;
+
+682 \19
+quÙa_mouÁ_ÝtiÚs
+s_dquÙ
+;
+
+685 \19
+m\9aix_sb_\9afo
+m\9aix_sb
+;
+
+686 \19
+ext2_sb_\9afo
+ext2_sb
+;
+
+687 \19
+hpfs_sb_\9afo
+hpfs_sb
+;
+
+688 \19
+Áfs_sb_\9afo
+Áfs_sb
+;
+
+689 \19
+msdos_sb_\9afo
+msdos_sb
+;
+
+690 \19
+isofs_sb_\9afo
+isofs_sb
+;
+
+691 \19
+nfs_sb_\9afo
+nfs_sb
+;
+
+692 \19
+sysv_sb_\9afo
+sysv_sb
+;
+
+693 \19
+affs_sb_\9afo
+affs_sb
+;
+
+694 \19
+ufs_sb_\9afo
+ufs_sb
+;
+
+695 \19
+efs_sb_\9afo
+efs_sb
+;
+
+696 \19
+shmem_sb_\9afo
+shmem_sb
+;
+
+697 \19
+romfs_sb_\9afo
+romfs_sb
+;
+
+698 \19
+smb_sb_\9afo
+smbfs_sb
+;
+
+699 \19
+hfs_sb_\9afo
+hfs_sb
+;
+
+700 \19
+adfs_sb_\9afo
+adfs_sb
+;
+
+701 \19
+qnx4_sb_\9afo
+qnx4_sb
+;
+
+702 \19
+»i£rfs_sb_\9afo
+»i£rfs_sb
+;
+
+703 \19
+bfs_sb_\9afo
+bfs_sb
+;
+
+704 \19
+udf_sb_\9afo
+udf_sb
+;
+
+705 \19
+ný_sb_\9afo
+nýfs_sb
+;
+
+706 \19
+usbdev_sb_\9afo
+usbdevfs_sb
+;
+
+707 \1e*
+g\92\94ic_sbp
+;
+
+708 } 
+u
+;
+
+713 \19
+£m­hÜe
+s_vfs_»Çme_£m
+;
+
+722 \19
+£m­hÜe
+s_nfsd_ä\93_·th_£m
+;
+
+728 \r\12
+       `vfs_ü\97\8b
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *, \12);
+
+729 \r\12
+       `vfs_mkd\9c
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *, \12);
+
+730 \r\12
+       `vfs_mknod
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *, \12
+dev_t
+);
+
+731 \r\12
+       `vfs_syml\9ak
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *, const \ 5*);
+
+732 \r\12
+       `vfs_l\9ak
+(\19
+d\92\8cy
+ *, \19
+\9aode
+ *, \19dentry *);
+
+733 \r\12
+       `vfs_rmd\9c
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *);
+
+734 \r\12
+       `vfs_uƚk
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *);
+
+735 \r\12
+       `vfs_»Çme
+(\19
+\9aode
+ *, \19
+d\92\8cy
+ *, \19inode *, \19dentry *);
+
+740 \ 1
+       #DT_UNKNOWN
+ 0
+
+       )
+
+741 \ 1
+       #DT_FIFO
+ 1
+
+       )
+
+742 \ 1
+       #DT_CHR
+ 2
+
+       )
+
+743 \ 1
+       #DT_DIR
+ 4
+
+       )
+
+744 \ 1
+       #DT_BLK
+ 6
+
+       )
+
+745 \ 1
+       #DT_REG
+ 8
+
+       )
+
+746 \ 1
+       #DT_LNK
+ 10
+
+       )
+
+747 \ 1
+       #DT_SOCK
+ 12
+
+       )
+
+748 \ 1
+       #DT_WHT
+ 14
+
+       )
+
+756 \e\12(*
+       tf\9eld\9c_t
+)(\1e*, cڡ \ 5*, \12
+       toff_t
+, 
+       t\9ao_t
+, \1d);
+
+758 \19
+       sblock_deviû_Ý\94©iÚs
+ {
+
+759 \12(*
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+760 \12(*
+»Ëa£
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+761 \12(*
+ioùl
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *, \1d\1d\13);
+
+762 \12(*
+check_med\9f_chªge
+è(
+kdev_t
+);
+
+763 \12(*
+»v®id©e
+è(
+kdev_t
+);
+
+771 \19
+       sf\9ee_Ý\94©iÚs
+ {
+
+772 \19
+moduË
+ *
+owÃr
+;
+
+773 
+       `loff_t
+ (*
+Σek
+è(\19
+f\9ee
+ *, 
+loff_t
+, \12);
+
+774 
+       `ssize_t
+ (*
+»ad
+è(\19
+f\9ee
+ *, \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+775 
+       `ssize_t
+ (*
+wr\99e
+è(\19
+f\9ee
+ *, cڡ \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+776 \12(*
+»add\9c
+è(\19
+f\9ee
+ *, \1e*, 
+f\9eld\9c_t
+);
+
+777 \1d\12(*
+pÞl
+è(\19
+f\9ee
+ *, \19
+pÞl_\8fbË_¡ruù
+ *);
+
+778 \12(*
+ioùl
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *, \1d\12\1d\13);
+
+779 \12(*
+mm­
+è(\19
+f\9ee
+ *, \19
+vm_¬\97_¡ruù
+ *);
+
+780 \12(*
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+781 \12(*
+æush
+è(\19
+f\9ee
+ *);
+
+782 \12(*
+»Ëa£
+è(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+783 \12(*
+fsync
+è(\19
+f\9ee
+ *, \19
+d\92\8cy
+ *, \12
+d©async
+);
+
+784 \12(*
+çsync
+è(\12\19
+f\9ee
+ *, \12);
+
+785 \12(*
+lock
+è(\19
+f\9ee
+ *, \12\19
+f\9ee_lock
+ *);
+
+786 
+       `ssize_t
+ (*
+»adv
+è(\19
+f\9ee
+ *, cڡ \19
+iovec
+ *, \1d\13
+loff_t
+ *);
+
+787 
+       `ssize_t
+ (*
+wr\99ev
+è(\19
+f\9ee
+ *, cڡ \19
+iovec
+ *, \1d\13
+loff_t
+ *);
+
+788 
+       `ssize_t
+ (*
+£nd·ge
+è(\19
+f\9ee
+ *, \19
+·ge
+ *, \12
+size_t
+, 
+loff_t
+ *, \12);
+
+789 \1d\13(*
+g\91_unm­³d_¬\97
+)(\19
+f\9ee
+ *, \1d\13\1d\13\1d\13\1d\13);
+
+792 \19
+       s\9aode_Ý\94©iÚs
+ {
+
+793 \12(*
\97\8b
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *,\12);
+
+794 \19
+d\92\8cy
+ * (*
+lookup
+è(\19
+\9aode
+ *,\19dentry *);
+
+795 \12(*
+l\9ak
+è(\19
+d\92\8cy
+ *,\19
+\9aode
+ *,\19dentry *);
+
+796 \12(*
+uƚk
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *);
+
+797 \12(*
+syml\9ak
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *,const \ 5*);
+
+798 \12(*
+mkd\9c
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *,\12);
+
+799 \12(*
+rmd\9c
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *);
+
+800 \12(*
+mknod
+è(\19
+\9aode
+ *,\19
+d\92\8cy
+ *,\12,\12);
+
+801 \12(*
+Ȃme
+è(\19
+\9aode
+ *, \19
+d\92\8cy
+ *,
+
+802 \19
+\9aode
+ *, \19
+d\92\8cy
+ *);
+
+803 \12(*
+»adl\9ak
+è(\19
+d\92\8cy
+ *, \ 5*,\12);
+
+804 \12(*
+fÞlow_l\9ak
+è(\19
+d\92\8cy
+ *, \19
+Çmeid©a
+ *);
+
+805 \1e(*
+\8cunÿ\8b
+è(\19
+\9aode
+ *);
+
+806 \12(*
+³rmissiÚ
+è(\19
+\9aode
+ *, \12);
+
+807 \12(*
+»v®id©e
+è(\19
+d\92\8cy
+ *);
+
+808 \12(*
\8f\89r
+è(\19
+d\92\8cy
+ *, \19
+\9f\89r
+ *);
+
+809 \12(*
+g\91©\8c
+è(\19
+d\92\8cy
+ *, \19
+\9f\89r
+ *);
+
+816 \19
+       ssu³r_Ý\94©iÚs
+ {
+
+817 \1e(*
+»ad_\9aode
+è(\19
+\9aode
+ *);
+
+825 \1e(*
+»ad_\9aode2
+è(\19
+\9aode
+ *, \1e*) ;
+
+826 \1e(*
+d\9cty_\9aode
+è(\19
+\9aode
+ *);
+
+827 \1e(*
+wr\99e_\9aode
+è(\19
+\9aode
+ *, \12);
+
+828 \1e(*
+put_\9aode
+è(\19
+\9aode
+ *);
+
+829 \1e(*
+d\96\91e_\9aode
+è(\19
+\9aode
+ *);
+
+830 \1e(*
+put_su³r
+è(\19
+su³r_block
+ *);
+
+831 \1e(*
+wr\99e_su³r
+è(\19
+su³r_block
+ *);
+
+832 \1e(*
+wr\99e_su³r_lockfs
+è(\19
+su³r_block
+ *);
+
+833 \1e(*
+uÆockfs
+è(\19
+su³r_block
+ *);
+
+834 \12(*
+¡©fs
+è(\19
+su³r_block
+ *, \19statfs *);
+
+835 \12(*
+»mouÁ_fs
+è(\19
+su³r_block
+ *, \12*, \ 5*);
+
+836 \1e(*
\97r_\9aode
+è(\19
+\9aode
+ *);
+
+837 \1e(*
+umouÁ_beg\9a
+è(\19
+su³r_block
+ *);
+
+841 \ 1
+       #I_DIRTY_SYNC
+ 1
+
+       )
+
+842 \ 1
+       #I_DIRTY_DATASYNC
+ 2
+
+       )
+
+843 \ 1
+       #I_DIRTY_PAGES
+ 4
+
+       )
+
+844 \ 1
+       #I_LOCK
+ 8
+
+       )
+
+845 \ 1
+       #I_FREEING
+ 16
+
+       )
+
+846 \ 1
+       #I_CLEAR
+ 32
+
+       )
+
+848 \ 1
+       #I_DIRTY
+ (
+I_DIRTY_SYNC
+ | 
+I_DIRTY_DATASYNC
+ | 
+I_DIRTY_PAGES
+)
+
+       )
+
+850 \r\1e
+       `__m¬k_\9aode_d\9cty
+(\19
+\9aode
+ *, \12);
+
+851 \18
+\9al\9ae
\1e
+       $m¬k_\9aode_d\9cty
+(\19
+\9aode
+ *inode)
+
+853 
+       `__m¬k_\9aode_d\9cty
+(
+\9aode
+, 
+I_DIRTY
+);
+
+854 
+       }
+}
+
+856 \18
+\9al\9ae
\1e
+       $m¬k_\9aode_d\9cty_sync
+(\19
+\9aode
+ *inode)
+
+858 
+       `__m¬k_\9aode_d\9cty
+(
+\9aode
+, 
+I_DIRTY_SYNC
+);
+
+859 
+       }
+}
+
+861 \18
+\9al\9ae
\1e
+       $m¬k_\9aode_d\9cty_·ges
+(\19
+\9aode
+ *inode)
+
+863 
+       `__m¬k_\9aode_d\9cty
+(
+\9aode
+, 
+I_DIRTY_PAGES
+);
+
+864 
+       }
+}
+
+866 \19
+       sdquÙ_Ý\94©iÚs
+ {
+
+867 \1e(*
+       m\9a\99\9flize
+è(\19
+       m\9aode
+ *, \16);
+
+868 \1e(*
+       mdrÝ
+è(\19
+       m\9aode
+ *);
+
+869 \12(*
+       m®loc_block
+è(cÚ¡ \19
+       m\9aode
+ *, \1d\13\ 5);
+
+870 \12(*
+       m®loc_\9aode
+è(cÚ¡ \19
+       m\9aode
+ *, \1d\13);
+
+871 \1e(*
+       mä\93_block
+è(cÚ¡ \19
+       m\9aode
+ *, \1d\13);
+
+872 \1e(*
+       mä\93_\9aode
+è(cÚ¡ \19
+       m\9aode
+ *, \1d\13);
+
+873 \12(*
+       m\8cªsãr
+è(\19
+       md\92\8cy
+ *, \19
+       m\9f\89r
+ *);
+
+876 \19
+       sf\9ee_sy¡em_ty³
+ {
+
+877 cڡ \ 5*
+       mÇme
+;
+
+878 \12
+       mfs_æags
+;
+
+879 \19
+       msu³r_block
+ *(*
+       m»ad_su³r
+) (\19super_block *, \1e*, \12);
+
+880 \19
+moduË
+ *
+       mowÃr
+;
+
+881 \19
+vfsmouÁ
+ *
+       mk\94n_mÁ
+;
+
+882 \19
+f\9ee_sy¡em_ty³
+ * 
+       mÃxt
+;
+
+885 \ 1
+       #DECLARE_FSTYPE
+(
+v¬
+,
+ty³
+,
+»ad
+,
+æags
+) \
+
+886 \19
+f\9ee_sy¡em_ty³
+v¬
+ = { \
+
+887 
+Çme
+: 
+ty³
+, \
+
+888 
+»ad_su³r
+: 
+»ad
+, \
+
+889 
+fs_æags
+: 
+æags
+, \
+
+890 
+owÃr
+: 
+THIS_MODULE
+, \
+
+891 }
+
+       )
+
+893 \ 1
+       #DECLARE_FSTYPE_DEV
+(
+v¬
+,
+ty³
+,
+»ad
+) \
+
+894 
+       `DECLARE_FSTYPE
+(
+v¬
+,
+ty³
+,
+»ad
+,
+FS_REQUIRES_DEV
+)
+
+       )
+
+897 \ 1
+       #fÝs_g\91
+(
+fÝs
+) \
+
+898 (((
+fÝs
+è&& (fÝs)->
+owÃr
+) \
+
+899 ? ( 
+       `\8cy_\9ac_mod_couÁ
+((
+fÝs
+)->
+owÃr
+è? (fÝsè: 
+NULL
+ ) \
+
+900 : (
+fÝs
+))
+
+       )
+
+902 \ 1
+       #fÝs_put
+(
+fÝs
+) \
+
+904 ià((
+fÝs
+è&& (fÝs)->
+owÃr
+) \
+
+905 
+       `__MOD_DEC_USE_COUNT
+((
+fÝs
+)->
+owÃr
+); \
+
+906 } \1f0)
+
+       )
+
+908 \r\12
+»gi¡\94_f\9eesy¡em
+(\19
+f\9ee_sy¡em_ty³
+ *);
+
+909 \r\12
+uÄegi¡\94_f\9eesy¡em
+(\19
+f\9ee_sy¡em_ty³
+ *);
+
+910 \r\19
+vfsmouÁ
+ *
+k\94n_mouÁ
+(\19
+f\9ee_sy¡em_ty³
+ *);
+
+911 \r\12
+may_umouÁ
+(\19
+vfsmouÁ
+ *);
+
+912 \r\13
+do_mouÁ
+(\ 5*, \ 5*, \ 5*, \1d\13\1e*);
+
+914 \ 1
+       #k\94n_umouÁ
+mÁput
+
+
+       )
+
+916 \r\12
+vfs_¡©fs
+(\19
+su³r_block
+ *, \19
+¡©fs
+ *);
+
+921 \ 1
+       #LOCK_USE_CLNT
+ 1
+
+       )
+
+923 \ 1
+       #FLOCK_VERIFY_READ
+ 1
+
+       )
+
+924 \ 1
+       #FLOCK_VERIFY_WRITE
+ 2
+
+       )
+
+926 \r\12
+locks_mªd©Üy_locked
+(\19
+\9aode
+ *);
+
+927 \r\12
+locks_mªd©Üy_¬\97
+(\12\19
+\9aode
+ *, \19
+f\9ee
+ *, 
+loff_t
+, 
+size_t
+);
+
+933 \ 1
+       #MANDATORY_LOCK
+(
+\9aode
+) \
+
+934 (
+       `IS_MANDLOCK
+(
+\9aode
+è&& ((\9aode)->
+i_mode
+ & (
+S_ISGID
+ | 
+S_IXGRP
+)è=ðS_ISGID)
+
+       )
+
+936 \18
+\9al\9ae
\12
+       $locks_v\94ify_locked
+(\19
+\9aode
+ *inode)
+
+938 ià(
+       `MANDATORY_LOCK
+(
+\9aode
+))
+
+939 \15 
+       `locks_mªd©Üy_locked
+(
+\9aode
+);
+
+941 
+       }
+}
+
+943 \18
+\9al\9ae
\12
+       $locks_v\94ify_¬\97
+(\12
+»ad_wr\99e
+, \19
+\9aode
+ *inode,
+
+944 \19
+f\9ee
+ *
+f\9ep
+, 
+loff_t
+off£t
+,
+
+945 
+size_t
+couÁ
+)
+
+947 ià(
+\9aode
+->
+i_æock
+ && 
+       `MANDATORY_LOCK
+(inode))
+
+948 \15 
+       `locks_mªd©Üy_¬\97
+(
+»ad_wr\99e
+, 
+\9aode
+, 
+f\9ep
+, 
+off£t
+, 
+couÁ
+);
+
+950 
+       }
+}
+
+952 \18
+\9al\9ae
\12
+       $locks_v\94ify_\8cunÿ\8b
+(\19
+\9aode
+ *inode,
+
+953 \19
+f\9ee
+ *
+f\9ep
+,
+
+954 
+loff_t
+size
+)
+
+956 ià(
+\9aode
+->
+i_æock
+ && 
+       `MANDATORY_LOCK
+(inode))
+
+957 \15 
+       `locks_mªd©Üy_¬\97
+(
+
+958 
+FLOCK_VERIFY_WRITE
+, 
+\9aode
+, 
+f\9ep
+,
+
+959 
+size
+ < 
+\9aode
+->
+i_size
+ ? size : inode->i_size,
+
+960 (
+size
+ < 
+\9aode
+->
+i_size
+ ? inode->i_size - size
+
+961 : 
+size
+ - 
+\9aode
+->
+i_size
+)
+
+964 
+       }
+}
+
+966 \r
+\9al\9ae
\12
+       $g\91_Ëa£
+(\19
+\9aode
+ *\9aode, \1d\12
+mode
+)
+
+968 ià(
+\9aode
+->
+i_æock
+ && (\9aode->i_æock->
+æ_æags
+ & 
+FL_LEASE
+))
+
+969 \15 
+       `__g\91_Ëa£
+(
+\9aode
+, 
+mode
+);
+
+971 
+       }
+}
+
+975 
+asml\9akage
\13
+sys_ݒ
+(const \ 5*, \12\12);
+
+976 
+asml\9akage
\13
+sys_þo£
+(\1d\12);
+
+977 \r\12
+do_\8cunÿ\8b
+(\19
+d\92\8cy
+ *, 
+loff_t
+¡¬t
+);
+
+979 \r\19
+f\9ee
+ *
+f\9ep_Ý\92
+(const \ 5*, \12\12);
+
+980 \r\19
+f\9ee
+ * 
+d\92\8cy_Ý\92
+(\19
+d\92\8cy
+ *, \19
+vfsmouÁ
+ *, \12);
+
+981 \r\12
+f\9ep_þo£
+(\19
+f\9ee
+ *, 
+æ_owÃr_t
+id
+);
+
+982 \r\ 5
+g\91Çme
+(const \ 5*);
+
+985 \r\1e
+vfs_ÿches_\9a\99
+(\1d\13);
+
+987 \ 1
+       #__g\91Çme
+(è
+       `kmem_ÿche_®loc
+(
+Çmes_ÿch\95
+, 
+SLAB_KERNEL
+)
+
+       )
+
+988 \ 1
+       #pu\8aame
+(
+Çme
+       `kmem_ÿche_ä\93
+(
+Çmes_ÿch\95
+, (\1e*)Òame))
+
+       )
+
+990 \92um {
+       mBDEV_FILE
+, 
+       mBDEV_SWAP
+, 
+       mBDEV_FS
+, 
+       mBDEV_RAW
+};
+
+991 \r\12
+»gi¡\94_blkdev
+(\1d\12, cڡ \ 5*, \19
+block_deviû_Ý\94©iÚs
+ *);
+
+992 \r\12
+uÄegi¡\94_blkdev
+(\1d\12, const \ 5*);
+
+993 \r\19
+block_deviû
+ *
+bdg\91
+(
+dev_t
+);
+
+994 \r\1e
+bdput
+(\19
+block_deviû
+ *);
+
+995 \r\19
+ch¬_deviû
+ *
+cdg\91
+(
+dev_t
+);
+
+996 \r\1e
+cdput
+(\19
+ch¬_deviû
+ *);
+
+997 \r\12
+blkdev_ݒ
+(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+998 \r\19
+f\9ee_Ý\94©iÚs
+def_blk_fÝs
+;
+
+999 \r\19
+f\9ee_Ý\94©iÚs
+def_fifo_fÝs
+;
+
+1000 \r\12
+ioùl_by_bdev
+(\19
+block_deviû
+ *, \1d\1d\13);
+
+1001 \r\12
+blkdev_g\91
+(\19
+block_deviû
+ *, 
+mode_t
+, \1d\12);
+
+1002 \r\12
+blkdev_put
+(\19
+block_deviû
+ *, \12);
+
+1005 \rcڡ \19
+block_deviû_Ý\94©iÚs
+ *
+g\91_blkfÝs
+(\1d\12);
+
+1006 \r\12
+»gi¡\94_chrdev
+(\1d\12, cڡ \ 5*, \19
+f\9ee_Ý\94©iÚs
+ *);
+
+1007 \r\12
+uÄegi¡\94_chrdev
+(\1d\12, const \ 5*);
+
+1008 \r\12
+chrdev_ݒ
+(\19
+\9aode
+ *, \19
+f\9ee
+ *);
+
+1009 \rcڡ \ 5
+bdevÇme
+(
+kdev_t
+);
+
+1010 \rcڡ \ 5
+cdevÇme
+(
+kdev_t
+);
+
+1011 \rcڡ \ 5
+kdevÇme
+(
+kdev_t
+);
+
+1012 \r\1e
+\9a\99_¥ec\9fl_\9aode
+(\19
+\9aode
+ *, 
+umode_t
+, \12);
+
+1015 \r\1e
+make_bad_\9aode
+(\19
+\9aode
+ *);
+
+1016 \r\12
+is_bad_\9aode
+(\19
+\9aode
+ *);
+
+1018 \r\19
+f\9ee_Ý\94©iÚs
+»ad_fifo_fÝs
+;
+
+1019 \r\19
+f\9ee_Ý\94©iÚs
+wr\99e_fifo_fÝs
+;
+
+1020 \r\19
+f\9ee_Ý\94©iÚs
+rdwr_fifo_fÝs
+;
+
+1021 \r\19
+f\9ee_Ý\94©iÚs
+»ad_p\9de_fÝs
+;
+
+1022 \r\19
+f\9ee_Ý\94©iÚs
+wr\99e_p\9de_fÝs
+;
+
+1023 \r\19
+f\9ee_Ý\94©iÚs
+rdwr_p\9de_fÝs
+;
+
+1025 \r\12
+fs_may_»mouÁ_ro
+(\19
+su³r_block
+ *);
+
+1027 \r\12
+\8cy_to_ä\93_bufãrs
+(\19
+·ge
+ *, \12);
+
+1028 \r\1e
+»f\9ee_bufãr
+(\19
+bufãr_h\97d
+ * 
+buf
+);
+
+1031 \r\1e
+£t_bufãr_async_io
+(\19
+bufãr_h\97d
+ *
+bh
+) ;
+
+1033 \ 1
+       #BUF_CLEAN
+ 0
+
+       )
+
+1034 \ 1
+       #BUF_LOCKED
+ 1
+
+       )
+
+1035 \ 1
+       #BUF_DIRTY
+ 2
+
+       )
+
+1036 \ 1
+       #BUF_PROTECTED
+ 3
+
+       )
+
+1037 \ 1
+       #NR_LIST
+ 4
+
+       )
+
+1042 \18
+\9al\9ae
\1e
+       $m¬k_bufãr_u±od©e
+(\19
+bufãr_h\97d
+ * 
+bh
+, \12
+)
+
+1044 ià(
+)
+
+1045 
+       `£t_b\99
+(
+BH_U±od©e
+, &
+bh
+->
+b_¡©e
+);
+
+1047 
+       `þ\97r_b\99
+(
+BH_U±od©e
+, &
+bh
+->
+b_¡©e
+);
+
+1048 
+       }
+}
+
+1050 \ 1
+       #©omic_£t_bufãr_þ\97n
+(
+bh
+       `\8b¡_ªd_þ\97r_b\99
+(
+BH_D\9cty
+, &(bh)->
+b_¡©e
+)
+
+       )
+
+1052 \18
+\9al\9ae
\1e
+       $__m¬k_bufãr_þ\97n
+(\19
+bufãr_h\97d
+ *
+bh
+)
+
+1054 
+       `»f\9ee_bufãr
+(
+bh
+);
+
+1055 
+       }
+}
+
+1057 \18
+\9al\9ae
\1e
+       $m¬k_bufãr_þ\97n
+(\19
+bufãr_h\97d
+ * 
+bh
+)
+
+1059 ià(
+       `©omic_£t_bufãr_þ\97n
+(
+bh
+))
+
+1060 
+       `__m¬k_bufãr_þ\97n
+(
+bh
+);
+
+1061 
+       }
+}
+
+1063 \ 1
+       #©omic_£t_bufãr_´Ùeùed
+(
+bh
+       `\8b¡_ªd_£t_b\99
+(
+BH_PrÙeùed
+, &(bh)->
+b_¡©e
+)
+
+       )
+
+1065 \18
+\9al\9ae
\1e
+       $__m¬k_bufãr_´Ùeùed
+(\19
+bufãr_h\97d
+ *
+bh
+)
+
+1067 
+       `»f\9ee_bufãr
+(
+bh
+);
+
+1068 
+       }
+}
+
+1070 \18
+\9al\9ae
\1e
+       $m¬k_bufãr_´Ùeùed
+(\19
+bufãr_h\97d
+ * 
+bh
+)
+
+1072 ià(!
+       `©omic_£t_bufãr_´Ùeùed
+(
+bh
+))
+
+1073 
+       `__m¬k_bufãr_´Ùeùed
+(
+bh
+);
+
+1074 
+       }
+}
+
+1076 \r\1e
+FASTCALL
+(
+__m¬k_bufãr_d\9cty
+(\19
+bufãr_h\97d
+ *
+bh
+));
+
+1077 \r\1e
+FASTCALL
+(
+m¬k_bufãr_d\9cty
+(\19
+bufãr_h\97d
+ *
+bh
+));
+
+1079 \ 1
+       #©omic_£t_bufãr_d\9cty
+(
+bh
+       `\8b¡_ªd_£t_b\99
+(
+BH_D\9cty
+, &(bh)->
+b_¡©e
+)
+
+       )
+
+1087 \18
+\9al\9ae
\1e
+       $bufãr_IO_\94
+(\19
+bufãr_h\97d
+ * 
+bh
+)
+
+1089 
+       `m¬k_bufãr_þ\97n
+(
+bh
+);
+
+1093 
+bh
+->
+       `b_\92d_io
+(bh, 0);
+
+1094 
+       }
+}
+
+1096 \r\1e
+bufãr_\9a£¹_\9aode_queue
+(\19
+bufãr_h\97d
+ *, \19
+\9aode
+ *);
+
+1097 \18
+\9al\9ae
\1e
+       $m¬k_bufãr_d\9cty_\9aode
+(\19
+bufãr_h\97d
+ *
+bh
+, \19
+\9aode
+ *inode)
+
+1099 
+       `m¬k_bufãr_d\9cty
+(
+bh
+);
+
+1100 
+       `bufãr_\9a£¹_\9aode_queue
+(
+bh
+, 
+\9aode
+);
+
+1101 
+       }
+}
+
+1103 \r\1e
+b®ªû_d\9cty
+(
+kdev_t
+);
+
+1104 \r\12
+check_disk_chªge
+(
+kdev_t
+);
+
+1105 \r\12
+\9av®id©e_\9aodes
+(\19
+su³r_block
+ *);
+
+1106 \r\12
+\9av®id©e_deviû
+(
+kdev_t
+, \12);
+
+1107 \r\1e
+\9av®id©e_\9aode_·ges
+(\19
+\9aode
+ *);
+
+1108 \r\1e
+\9av®id©e_\9aode_bufãrs
+(\19
+\9aode
+ *);
+
+1109 \ 1
+       #\9av®id©e_bufãrs
+(
+dev
+       `__\9av®id©e_bufãrs
+((dev), 0)
+
+       )
+
+1110 \ 1
+       #de¡roy_bufãrs
+(
+dev
+       `__\9av®id©e_bufãrs
+((dev), 1)
+
+       )
+
+1111 \r\1e
+__\9av®id©e_bufãrs
+(
+kdev_t
+dev
+, \12);
+
+1112 \r\1e
+sync_\9aodes
+(
+kdev_t
+);
+
+1113 \r\1e
+sync_uÆocked_\9aodes
+(\1e);
+
+1114 \r\1e
+wr\99e_\9aode_now
+(\19
+\9aode
+ *, \12);
+
+1115 \r\1e
+sync_dev
+(
+kdev_t
+);
+
+1116 \r\12
+fsync_dev
+(
+kdev_t
+);
+
+1117 \r\12
+fsync_su³r
+(\19
+su³r_block
+ *);
+
+1118 \r\1e
+sync_\9aodes_sb
+(\19
+su³r_block
+ *);
+
+1119 \r\12
+fsync_\9aode_bufãrs
+(\19
+\9aode
+ *);
+
+1120 \r\12
+osync_\9aode_bufãrs
+(\19
+\9aode
+ *);
+
+1121 \r\12
+\9aode_has_bufãrs
+(\19
+\9aode
+ *);
+
+1122 \r\1e
+f\9eem­_fd©async
+(\19
+add»ss_¥aû
+ *);
+
+1123 \r\1e
+f\9eem­_fd©awa\99
+(\19
+add»ss_¥aû
+ *);
+
+1124 \r\1e
+sync_su³rs
+(
+kdev_t
+);
+
+1125 \r\12
+bm­
+(\19
+\9aode
+ *, \12);
+
+1126 \r\12
+nÙify_chªge
+(\19
+d\92\8cy
+ *, \19
+\9f\89r
+ *);
+
+1127 \r\12
+³rmissiÚ
+(\19
+\9aode
+ *, \12);
+
+1128 \r\12
+vfs_³rmissiÚ
+(\19
+\9aode
+ *, \12);
+
+1129 \r\12
+g\91_wr\99e_acûss
+(\19
+\9aode
+ *);
+
+1130 \r\12
+d\92y_wr\99e_acûss
+(\19
+f\9ee
+ *);
+
+1131 \18
+\9al\9ae
\1e
+       $put_wr\99e_acûss
+(\19
+\9aode
+ * inode)
+
+1133 
+       `©omic_dec
+(&
+\9aode
+->
+i_wr\99ecouÁ
+);
+
+1134 
+       }
+}
+
+1135 \18
+\9al\9ae
\1e
+       $®low_wr\99e_acûss
+(\19
+f\9ee
+ *file)
+
+1137 ià(
+f\9ee
+)
+
+1138 
+       `©omic_\9ac
+(&
+f\9ee
+->
+f_d\92\8cy
+->
+d_\9aode
+->
+i_wr\99ecouÁ
+);
+
+1139 
+       }
+}
+
+1140 \r\12
+do_p\9de
+(\12*);
+
+1142 \r\12
\92_Çmei
+(cڡ \ 5*, \12\12\19
+Çmeid©a
+ *);
+
+1144 \r\12
+k\94Ãl_»ad
+(\19
+f\9ee
+ *, \1d\13\ 5*, \1d\13);
+
+1145 \r\19
+f\9ee
+ * 
+ݒ_exec
+(const \ 5*);
+
+1148 \r\12
+is_subd\9c
+(\19
+d\92\8cy
+ *, \19dentry *);
+
+1149 \r
+\9ao_t
+f\9ad_\9aode_numb\94
+(\19
+d\92\8cy
+ *, \19
+q¡r
+ *);
+
+1159 \18
+\9al\9ae
\1e*
+       $ERR_PTR
+(\13
+\94
+)
+
+1161 \15 (\1e
+\94
+;
+
+1162 
+       }
+}
+
+1164 \18
+\9al\9ae
\13
+       $PTR_ERR
+(cڡ \1e*
+±r
+)
+
+1166 \15 (\13è
+±r
+;
+
+1167 
+       }
+}
+
+1169 \18
+\9al\9ae
\13
+       $IS_ERR
+(cڡ \1e*
+±r
+)
+
+1171 \15 (\1d\13)
+±r
+ > (\1d\13)-1000L;
+
+1172 
+       }
+}
+
+1181 \ 1
+       #LOOKUP_FOLLOW
+ (1)
+
+       )
+
+1182 \ 1
+       #LOOKUP_DIRECTORY
+ (2)
+
+       )
+
+1183 \ 1
+       #LOOKUP_CONTINUE
+ (4)
+
+       )
+
+1184 \ 1
+       #LOOKUP_POSITIVE
+ (8)
+
+       )
+
+1185 \ 1
+       #LOOKUP_PARENT
+ (16)
+
+       )
+
+1186 \ 1
+       #LOOKUP_NOALT
+ (32)
+
+       )
+
+1190 \92um {
+       mLAST_NORM
+, 
+       mLAST_ROOT
+, 
+       mLAST_DOT
+, 
+       mLAST_DOTDOT
+, 
+       mLAST_BIND
+};
+
+1202 
+size_t
+       mwr\99\8bn
+;
+
+1203 
+size_t
+       mcouÁ
+;
+
+1204 \ 5
+       mbuf
+;
+
+1205 \12
+       m\94
+;
+
+1206 } 
+       t»ad_desü\9dtÜ_t
+;
+
+1208 \e\12(*
+       t»ad_aùÜ_t
+)(
+       t»ad_desü\9dtÜ_t
+ *, \19
+       t·ge
+ *, \1d\13\1d\13);
+
+1211 \r
+loff_t
+       `deçuÉ_Σek
+(\19
+f\9ee
+ *f\9ee,\86off_\88
+off£t
+, \12
+Üig\9a
+);
+
+1213 \r\12
+       `__u£r_w®k
+(cڡ \ 5*, \1d\19
+Çmeid©a
+ *);
+
+1214 \r\12
+       `·th_\9a\99
+(cڡ \ 5*, \1d\19
+Çmeid©a
+ *);
+
+1215 \r\12
+       `·th_w®k
+(cڡ \ 5*, \19
+Çmeid©a
+ *);
+
+1216 \r\1e
+       `·th_»Ëa£
+(\19
+Çmeid©a
+ *);
+
+1217 \r\12
+       `fÞlow_down
+(\19
+vfsmouÁ
+ **, \19
+d\92\8cy
+ **);
+
+1218 \r\12
+       `fÞlow_up
+(\19
+vfsmouÁ
+ **, \19
+d\92\8cy
+ **);
+
+1219 \r\19
+d\92\8cy
+ * 
+       `lookup_Úe_Ën
+(const \ 5*, \19dentry *, \12);
+
+1220 \r\19
+d\92\8cy
+ * 
+       `lookup_hash
+(\19
+q¡r
+ *, \19dentry *);
+
+1221 \ 1
+       #u£r_·th_w®k
+(
+Çme
+,
+nd
+       `__u£r_w®k
+Òame, 
+LOOKUP_FOLLOW
+|
+LOOKUP_POSITIVE
+,\82d)
+
+       )
+
+1222 \ 1
+       #u£r_·th_w®k_l\9ak
+(
+Çme
+,
+nd
+       `__u£r_w®k
+Òame, 
+LOOKUP_POSITIVE
+,\82d)
+
+       )
+
+1224 \r\1e
+       `\9dut
+(\19
+\9aode
+ *);
+
+1225 \r\1e
+       `fÜû_d\96\91e
+(\19
+\9aode
+ *);
+
+1226 \r\19
+\9aode
+ * 
+       `ig¿b
+(\19inode *);
+
+1227 \r
+\9ao_t
+       `iunique
+(\19
+su³r_block
+ *, ino_t);
+
+1229 \e\12(*
+       tf\9ad_\9aode_t
+)(\19
+       t\9aode
+ *, \1d\13\1e*);
+
+1230 \r\19
+\9aode
+ * 
+       `ig\914
+(\19
+su³r_block
+ *, \1d\13
+f\9ad_\9aode_t
+, \1e*);
+
+1231 \18
+\9al\9ae
\19
+\9aode
+ *
+       $ig\91
+(\19
+su³r_block
+ *
+sb
+, \1d\13
+\9ao
+)
+
+1233 \15 
+       `ig\914
+(
+sb
+, 
+\9ao
+, 
+NULL
+, NULL);
+
+1234 
+       }
+}
+
+1236 \r\1e
\97r_\9aode
+(\19
+\9aode
+ *);
+
+1237 \r\19
+\9aode
+ * 
+g\91_em±y_\9aode
+(\1e);
+
+1238 \18
+\9al\9ae
\19
+\9aode
+ * 
+       $Ãw_\9aode
+(\19
+su³r_block
+ *
+sb
+)
+
+1240 \19
+\9aode
+ *\9aod\90ð
+       `g\91_em±y_\9aode
+();
+
+1241 ià(
+\9aode
+) {
+
+1242 
+\9aode
+->
+i_sb
+ = 
+sb
+;
+
+1243 
+\9aode
+->
+i_dev
+ = 
+sb
+->
+s_dev
+;
+
+1245 \15 
+\9aode
+;
+
+1246 
+       }
+}
+
+1247 \r\1e
+»move_suid
+(\19
+\9aode
+ *inode);
+
+1249 \r\1e
+\9a£¹_\9aode_hash
+(\19
+\9aode
+ *);
+
+1250 \r\1e
+»move_\9aode_hash
+(\19
+\9aode
+ *);
+
+1251 \r\19
+f\9ee
+ * 
+g\91_em±y_f\9ep
+(\1e);
+
+1252 \r\1e
+f\9ee_move
+(\19
+f\9ee
+ *
+f
+, \19
+li¡_h\97d
+ *
+li¡
+);
+
+1253 \r\1e
+f\9ee_mov\91o
+(\19
+f\9ee
+ *
+Ãw
+, \19f\9e\90*
+Þd
+);
+
+1254 \r\19
+bufãr_h\97d
+ * 
+g\91_hash_\8f
+(
+kdev_t
+, \12\12);
+
+1255 \r\19
+bufãr_h\97d
+ * 
+g\91blk
+(
+kdev_t
+, \12\12);
+
+1256 \r\1e
+Î_rw_block
+(\12\12\19
+bufãr_h\97d
+ * 
+bh
+[]);
+
+1257 \r\1e
+subm\99_bh
+(\12\19
+bufãr_h\97d
+ *);
+
+1258 \r\12
+is_»ad_Úly
+(
+kdev_t
+);
+
+1259 \r\1e
+__b»l£
+(\19
+bufãr_h\97d
+ *);
+
+1260 \18
+\9al\9ae
\1e
+       $b»l£
+(\19
+bufãr_h\97d
+ *
+buf
+)
+
+1262 ià(
+buf
+)
+
+1263 
+       `__b»l£
+(
+buf
+);
+
+1264 
+       }
+}
+
+1265 \r\1e
+__bfÜg\91
+(\19
+bufãr_h\97d
+ *);
+
+1266 \18
+\9al\9ae
\1e
+       $bfÜg\91
+(\19
+bufãr_h\97d
+ *
+buf
+)
+
+1268 ià(
+buf
+)
+
+1269 
+       `__bfÜg\91
+(
+buf
+);
+
+1270 
+       }
+}
+
+1271 \r\1e
+£t_blocksize
+(
+kdev_t
+, \12);
+
+1272 \r\19
+bufãr_h\97d
+ * 
+b»ad
+(
+kdev_t
+, \12\12);
+
+1273 \r\1e
+wakeup_bdæush
+(\12
+wa\99
+);
+
+1275 \r\12
+brw_·ge
+(\12\19
+·ge
+ *, 
+kdev_t
+, \12[], \12);
+
+1277 \e\12(
+       tg\91_block_t
+)(\19
+       t\9aode
+*,\13,\19
+       tbufãr_h\97d
+*,\12);
+
+1280 \r\12
+       `block_æush·ge
+(\19
+·ge
+ *, \1d\13);
+
+1281 \r\12
+       `block_syml\9ak
+(\19
+\9aode
+ *, const \ 5*, \12);
+
+1282 \r\12
+       `block_wr\99e_fuÎ_·ge
+(\19
+·ge
+*, 
+g\91_block_t
+*);
+
+1283 \r\12
+       `block_»ad_fuÎ_·ge
+(\19
+·ge
+*, 
+g\91_block_t
+*);
+
+1284 \r\12
+       `block_´\95¬e_wr\99e
+(\19
+·ge
+*, \1d\1d
+g\91_block_t
+*);
+
+1285 \r\12
+       `cÚt_´\95¬e_wr\99e
+(\19
+·ge
+*, \1d\1d
+g\91_block_t
+*,
+
+1287 \r\12
+       `block_sync_·ge
+(\19
+·ge
+ *);
+
+1289 \12
+       `g\92\94ic_block_bm­
+(\19
+add»ss_¥aû
+ *, \13
+g\91_block_t
+ *);
+
+1290 \12
+       `g\92\94ic_comm\99_wr\99e
+(\19
+f\9ee
+ *, \19
+·ge
+ *, \1d\1d);
+
+1291 \12
+       `block_\8cunÿ\8b_·ge
+(\19
+add»ss_¥aû
+ *, 
+loff_t
+, 
+g\91_block_t
+ *);
+
+1293 \r\12
+       `wa\99fÜ_Úe_·ge
+(\19
+·ge
+*);
+
+1294 \r\12
+       `g\92\94ic_f\9ee_mm­
+(\19
+f\9ee
+ *, \19
+vm_¬\97_¡ruù
+ *);
+
+1295 \r\12
+       `f\9ee_»ad_aùÜ
+(
+»ad_desü\9dtÜ_t
+ * 
+desc
+, \19
+·ge
+ *·ge, \1d\13
+off£t
+, \1d\13
+size
+);
+
+1296 \r
+ssize_t
+       `g\92\94ic_f\9ee_»ad
+(\19
+f\9ee
+ *, \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1297 \r
+ssize_t
+       `g\92\94ic_f\9ee_wr\99e
+(\19
+f\9ee
+ *, cڡ \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1298 \r\1e
+       `do_g\92\94ic_f\9ee_»ad
+(\19
+f\9ee
+ *, 
+loff_t
+ *, 
+»ad_desü\9dtÜ_t
+ *, 
+»ad_aùÜ_t
+);
+
+1300 \r
+ssize_t
+       `g\92\94ic_»ad_d\9c
+(\19
+f\9ee
+ *, \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1302 \r\19
+f\9ee_Ý\94©iÚs
+g\92\94ic_ro_fÝs
+;
+
+1304 \r\12
+       `vfs_»adl\9ak
+(\19
+d\92\8cy
+ *, \ 5*, \12, const \ 5*);
+
+1305 \r\12
+       `vfs_fÞlow_l\9ak
+(\19
+Çmeid©a
+ *, const \ 5*);
+
+1306 \r\12
+       `·ge_»adl\9ak
+(\19
+d\92\8cy
+ *, \ 5*, \12);
+
+1307 \r\12
+       `·ge_fÞlow_l\9ak
+(\19
+d\92\8cy
+ *, \19
+Çmeid©a
+ *);
+
+1308 \r\19
+\9aode_Ý\94©iÚs
+·ge_syml\9ak_\9aode_Ý\94©iÚs
+;
+
+1310 \r\12
+       `vfs_»add\9c
+(\19
+f\9ee
+ *, 
+f\9eld\9c_t
+, \1e*);
+
+1311 \r\12
+       `dÿche_»add\9c
+(\19
+f\9ee
+ *, \1e*, 
+f\9eld\9c_t
+);
+
+1313 \r\19
+f\9ee_sy¡em_ty³
+ *
+       `g\91_fs_ty³
+(cڡ \ 5*
+Çme
+);
+
+1314 \r\19
+su³r_block
+ *
+       `g\91_su³r
+(
+kdev_t
+);
+
+1315 \r\1e
+       `put_su³r
+(
+kdev_t
+);
+
+1316 \18
+\9al\9ae
\12
+       $is_mouÁed
+(
+kdev_t
+dev
+)
+
+1318 \19
+su³r_block
+ *
+sb
+ = 
+       `g\91_su³r
+(
+dev
+);
+
+1319 ià(
+sb
+) {
+
+1324 
+       }
+}
+
+1325 \1d\13
+g\92\94©e_þu¡\94
+(
+kdev_t
+, \12
+b
+[], \12);
+
+1326 \1d\13
+g\92\94©e_þu¡\94_swab32
+(
+kdev_t
+, \12
+b
+[], \12);
+
+1327 \r
+kdev_t
+ROOT_DEV
+;
+
+1328 \r\ 5
+roÙ_deviû_Çme
+[];
+
+1331 \r\1e
+show_bufãrs
+(\1e);
+
+1332 \r\1e
+mouÁ_roÙ
+(\1e);
+
+1334 #ifdeà
+CONFIG_BLK_DEV_INITRD
+
+
+1335 \r
+kdev_t
+»®_roÙ_dev
+;
+
+1336 \r\12
+chªge_roÙ
+(
+kdev_t
+, const \ 5*);
+
+1339 \r
+ssize_t
+ch¬_»ad
+(\19
+f\9ee
+ *, \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1340 \r
+ssize_t
+block_»ad
+(\19
+f\9ee
+ *, \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1341 \r\12
+»ad_ah\97d
+[];
+
+1343 \r
+ssize_t
+ch¬_wr\99e
+(\19
+f\9ee
+ *, cڡ \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1344 \r
+ssize_t
+block_wr\99e
+(\19
+f\9ee
+ *, cڡ \ 5*, 
+size_t
+, 
+loff_t
+ *);
+
+1346 \r\12
+f\9ee_fsync
+(\19
+f\9ee
+ *, \19
+d\92\8cy
+ *, \12);
+
+1347 \r\12
+g\92\94ic_bufãr_fd©async
+(\19
+\9aode
+ *\9aode, \1d\13
+¡¬t_idx
+, \1d\13
+\92d_idx
+);
+
+1348 \r\12
+g\92\94ic_osync_\9aode
+(\19
+\9aode
+ *, \12);
+
+1350 \r\12
+\9aode_chªge_ok
+(\19
+\9aode
+ *, \19
+\9f\89r
+ *);
+
+1351 \r\1e
+\9aode_£\8f\89r
+(\19
+\9aode
+ *, \19
+\9f\89r
+ *);
+
+1372 \18
+\9al\9ae
\19
+d\92\8cy
+ *
+       $lock_·»Á
+(\19
+d\92\8cy
+ *dentry)
+
+1374 \19
+d\92\8cy
+ *
+d\9c
+ = 
+       `dg\91
+(d\92\8cy->
+d_·»Á
+);
+
+1376 
+       `down
+(&
+d\9c
+->
+d_\9aode
+->
+i_£m
+);
+
+1377 \15 
+d\9c
+;
+
+1378 
+       }
+}
+
+1380 \18
+\9al\9ae
\19
+d\92\8cy
+ *
+       $g\91_·»Á
+(\19
+d\92\8cy
+ *dentry)
+
+1382 \15 
+       `dg\91
+(
+d\92\8cy
+->
+d_·»Á
+);
+
+1383 
+       }
+}
+
+1385 \18
+\9al\9ae
\1e
+       $uÆock_d\9c
+(\19
+d\92\8cy
+ *
+d\9c
+)
+
+1387 
+       `up
+(&
+d\9c
+->
+d_\9aode
+->
+i_£m
+);
+
+1388 
+       `dput
+(
+d\9c
+);
+
+1389 
+       }
+}
+
+1395 \18
+\9al\9ae
\1e
+       $doubË_down
+(\19
+£m­hÜe
+ *
+s1
+, \19£m­hÜ\90*
+s2
+)
+
+1397 ià(
+s1
+ !ð
+s2
+) {
+
+1398 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1399 \19
+£m­hÜe
+ *
+tmp
+ = 
+s2
+;
+
+1400 
+s2
+ = 
+s1
+; s1 = 
+tmp
+;
+
+1402 
+       `down
+(
+s1
+);
+
+1404 
+       `down
+(
+s2
+);
+
+1405 
+       }
+}
+
+1416 \18
+\9al\9ae
\1e
+       $\8c\9dË_down
+(\19
+£m­hÜe
+ *
+s1
+,
+
+1417 \19
+£m­hÜe
+ *
+s2
+,
+
+1418 \19
+£m­hÜe
+ *
+s3
+)
+
+1420 ià(
+s1
+ !ð
+s2
+) {
+
+1421 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1422 ià((\1d\13è
+s1
+ < (\1d\13è
+s3
+) {
+
+1423 \19
+£m­hÜe
+ *
+tmp
+ = 
+s3
+;
+
+1424 
+s3
+ = 
+s1
+; s1 = 
+tmp
+;
+
+1426 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1427 \19
+£m­hÜe
+ *
+tmp
+ = 
+s2
+;
+
+1428 
+s2
+ = 
+s1
+; s1 = 
+tmp
+;
+
+1431 ià((\1d\13è
+s1
+ < (\1d\13è
+s3
+) {
+
+1432 \19
+£m­hÜe
+ *
+tmp
+ = 
+s3
+;
+
+1433 
+s3
+ = 
+s1
+; s1 = 
+tmp
+;
+
+1435 ià((\1d\13è
+s2
+ < (\1d\13è
+s3
+) {
+
+1436 \19
+£m­hÜe
+ *
+tmp
+ = 
+s3
+;
+
+1437 
+s3
+ = 
+s2
+; s2 = 
+tmp
+;
+
+1440 
+       `down
+(
+s1
+);
+
+1441 } \vià((\1d\13è
+s2
+ < (\1d\13è
+s3
+) {
+
+1442 \19
+£m­hÜe
+ *
+tmp
+ = 
+s3
+;
+
+1443 
+s3
+ = 
+s2
+; s2 = 
+tmp
+;
+
+1445 
+       `down
+(
+s2
+);
+
+1446 
+       `down
+(
+s3
+);
+
+1447 
+       }
+}
+
+1449 \18
+\9al\9ae
\1e
+       $doubË_up
+(\19
+£m­hÜe
+ *
+s1
+, \19£m­hÜ\90*
+s2
+)
+
+1451 
+       `up
+(
+s1
+);
+
+1452 ià(
+s1
+ !ð
+s2
+)
+
+1453 
+       `up
+(
+s2
+);
+
+1454 
+       }
+}
+
+1456 \18
+\9al\9ae
\1e
+       $\8c\9dË_up
+(\19
+£m­hÜe
+ *
+s1
+,
+
+1457 \19
+£m­hÜe
+ *
+s2
+,
+
+1458 \19
+£m­hÜe
+ *
+s3
+)
+
+1460 
+       `up
+(
+s1
+);
+
+1461 ià(
+s1
+ !ð
+s2
+)
+
+1462 
+       `up
+(
+s2
+);
+
+1463 
+       `up
+(
+s3
+);
+
+1464 
+       }
+}
+
+1466 \18
+\9al\9ae
\1e
+       $doubË_lock
+(\19
+d\92\8cy
+ *
+d1
+, \19d\92\8cy *
+d2
+)
+
+1468 
+       `doubË_down
+(&
+d1
+->
+d_\9aode
+->
+i_£m
+, &
+d2
+->d_inode->i_sem);
+
+1469 
+       }
+}
+
+1471 \18
+\9al\9ae
\1e
+       $doubË_uÆock
+(\19
+d\92\8cy
+ *
+d1
+, \19d\92\8cy *
+d2
+)
+
+1473 
+       `doubË_up
+(&
+d1
+->
+d_\9aode
+->
+i_£m
+,&
+d2
+->d_inode->i_sem);
+
+1474 
+       `dput
+(
+d1
+);
+
+1475 
+       `dput
+(
+d2
+);
+
+1476 
+       }
+}
+
+       @fs/localfs.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"fs/loÿlfs.h
+"
+
+36 \ 1
+       #FS_NAME
+L
+"vçt"
+
+       )
+
+40 
+EFI_HANDLE
+       mdev
+;
+
+41 
+EFI_FILE_HANDLE
+       mvÞume
+;
+
+42 } 
+       tloÿlfs_´iv_¡©e_t
+;
+
+44 \ 1
+       #LOCALFS_F2FD
+(
+f
+è((
+UINTN
+)(f))
+
+       )
+
+45 \ 1
+       #LOCALFS_FD2F
+(
+fd
+è((
+EFI_FILE_HANDLE
+)(fd))
+
+       )
+
+48 
+loÿlfs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+50 
+loÿlfs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+51 
+loÿlfs_´iv_¡©e_t
+       m´iv_d©a
+;
+
+52 } 
+       mloÿlfs_´iv
+;
+
+53 } 
+       tloÿlfs_t
+;
+
+55 \ 1
+       #FS_PRIVATE
+(
+n
+è(&(((
+loÿlfs_t
+ *ê)->
+loÿlfs_´iv
+.
+´iv_d©a
+))
+
+       )
+
+58 \18
+EFI_GUID
+       gLoÿlFsPrÙocÞ
+ = 
+LOCALFS_PROTOCOL
+;
+
+64 
+EFI_HANDLE
+ *
+       mdev
+;
+
+65 
+loÿlfs_t
+ *
+       m\9atf
+;
+
+66 } 
+       tdev_\8fb_t
+;
+
+68 \18
+dev_\8fb_t
+ *
+       gdev_\8fb
+;
+
+69 \18
+UINTN
+       gndev
+;
+
+71 \18
+EFI_STATUS
+
+
+72 
+       $loÿlfs_Çme
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+maxËn
+)
+
+74 ià(
+Çme
+ =ð
+NULL
+ || 
+maxËn
+ < 1è\15 
+EFI_INVALID_PARAMETER
+;
+
+76 
+       `S\8cnCpy
+(
+Çme
+, 
+FS_NAME
+, 
+maxËn
+-1);
+
+78 
+Çme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+80 \15 
+EFI_SUCCESS
+;
+
+81 
+       }
+}
+
+84 \18
+EFI_STATUS
+
+
+85 
+       $loÿlfs_Ý\92
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+ *
+fd
+)
+
+87 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+88 
+EFI_STATUS
+¡©us
+;
+
+89 
+EFI_FILE_HANDLE
+fh
+;
+
+91 ià(
+this
+ =ð
+NULL
+ || 
+Çme
+ =ðNULL || 
+fd
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+93 
+lfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+95 
+       `DBG_PRT
+((
+L
+"loÿlfs_Ý\92 oÀ%s\n", 
+Çme
+));
+
+97 
+¡©us
+ = 
+lfs
+->
+vÞume
+->
+       `O³n
+Öfs->vÞume, &
+fh
+, 
+Çme
+, 
+EFI_FILE_MODE_READ
+, 0);
+
+98 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+99 *
+fd
+ = 
+       `LOCALFS_F2FD
+(
+fh
+);
+
+101 \15 
+¡©us
+;
+
+102 
+       }
+}
+
+104 \18
+EFI_STATUS
+
+
+105 
+       $loÿlfs_»ad
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+VOID
+ *
+buf
+, UINTN *
+size
+)
+
+107 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+109 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ =ð0 || 
+buf
+ =ðNULL || 
+size
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+111 
+lfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+113 \15 
+lfs
+->
+vÞume
+->
+       `R\97d
+(
+       `LOCALFS_FD2F
+(
+fd
+), 
+size
+, 
+buf
+);
+
+114 
+       }
+}
+
+116 \18
+EFI_STATUS
+
+
+117 
+       $loÿlfs_þo£
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+)
+
+119 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+121 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ =ð0è\15 
+EFI_INVALID_PARAMETER
+;
+
+123 
+lfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+125 \15 
+lfs
+->
+vÞume
+->
+       `Clo£
+(
+       `LOCALFS_FD2F
+(
+fd
+));
+
+126 
+       }
+}
+
+128 \18
+EFI_STATUS
+
+
+129 
+       $loÿlfs_\9afosize
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+UINT64
+ *
+sz
+)
+
+131 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+132 
+EFI_FILE_INFO
+ *
+\9afo
+;
+
+134 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ =ð0 || 
+sz
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+136 
+lfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+138 
+\9afo
+ = 
+       `LibF\9eeInfo
+(
+       `LOCALFS_FD2F
+(
+fd
+));
+
+139 ià(
+\9afo
+ =ð
+NULL
\15 
+EFI_UNSUPPORTED
+;
+
+141 *
+sz
+ = 
+\9afo
+->
+F\9eeSize
+;
+
+143 
+       `F»ePoÞ
+(
+\9afo
+);
+
+145 \15 
+EFI_SUCCESS
+;
+
+146 
+       }
+}
+
+148 \18
+EFI_STATUS
+
+
+149 
+       $loÿlfs_£ek
+(
+loÿlfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+UINT64
+Ãwpos
+)
+
+151 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+153 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ =ð0è\15 
+EFI_INVALID_PARAMETER
+;
+
+155 
+lfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+157 \15 
+lfs
+->
+vÞume
+->
+       `S\91Pos\99
+(
+       `LOCALFS_FD2F
+(
+fd
+), 
+Ãwpos
+);
+
+158 
+       }
+}
+
+160 \18
+VOID
+
+
+161 
+       $loÿlfs_\9a\99_¡©e
+(
+loÿlfs_t
+ *
+loÿlfs
+, 
+EFI_HANDLE
+dev
+, 
+EFI_FILE_HANDLE
+vÞume
+)
+
+163 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+ = 
+       `FS_PRIVATE
+(
+loÿlfs
+);
+
+166 
+       `Mem£t
+(
+loÿlfs
+, 0, \17(*localfs));
+
+168 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_Çme
+ =\86ocalfs_name;
+
+169 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_Ý\92
+ =\86ocalfs_open;
+
+170 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_»ad
+ =\86ocalfs_read;
+
+171 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_þo£
+ =\86ocalfs_close;
+
+172 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_\9afosize
+ =\86ocalfs_infosize;
+
+173 
+loÿlfs
+->
+pub_\9atf
+.
+loÿlfs_£ek
+ =\86ocalfs_seek;
+
+175 
+lfs
+->
+dev
+ = dev;
+
+176 
+lfs
+->
+vÞume
+ = volume;
+
+177 
+       }
+}
+
+179 \18
+EFI_STATUS
+
+
+180 
+       $loÿlfs_\9a¡®l_Úe
+(
+EFI_HANDLE
+dev
+, 
+VOID
+ **
+\9atf
+)
+
+183 
+EFI_STATUS
+¡©us
+;
+
+184 
+loÿlfs_t
+ *
+loÿlfs
+;
+
+185 
+EFI_FILE_IO_INTERFACE
+ *
+vÞume
+;
+
+186 
+EFI_FILE_HANDLE
+vÞume_fh
+;
+
+188 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+dev
+, &
+LoÿlFsPrÙocÞ
+, (
+VOID
+ **)&
+loÿlfs
+);
+
+189 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+190 
+       `ERR_PRT
+((
+L
+"W¬n\9ag: found\83xi¡\9ag % ´ÙocÞ oÀdeviû", 
+FS_NAME
+));
+
+191 \10
+found
+;
+
+194 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+dev
+, &
+F\9eeSy¡emPrÙocÞ
+, (
+VOID
+ **)&
+vÞume
+);
+
+195 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+197 
+¡©us
+ = 
+vÞume
+->
+       `O³nVÞume
+(vÞume, &
+vÞume_fh
+);
+
+198 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+199 
+       `ERR_PRT
+((
+L
+"cannot open volume"));
+
+200 \15 
+¡©us
+;
+
+203 
+loÿlfs
+ = (
+loÿlfs_t
+ *)
+       `®loc
+(\17(*loÿlfs), 
+EfiLßd\94D©a
+);
+
+204 ià(
+loÿlfs
+ =ð
+NULL
+) {
+
+205 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Ø®loÿ\8b %s", 
+FS_NAME
+));
+
+206 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+208 
+       `loÿlfs_\9a\99_¡©e
+(
+loÿlfs
+, 
+dev
+, 
+vÞume_fh
+);
+
+210 
+¡©us
+ = 
+       `LibIn¡®lPrÙocÞIÁ\94çûs
+(&
+dev
+, &
+LoÿlFsPrÙocÞ
+, 
+loÿlfs
+, 
+NULL
+);
+
+211 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+212 
+       `ERR_PRT
+((
+L
+"CªnÙ in¡®È% ´ÙocÞ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+213 
+       `ä\93
+(
+loÿlfs
+);
+
+214 \15 
+¡©us
+;
+
+216 
+found
+:
+
+217 ià(
+\9atf
+è*\9atàð(
+VOID
+ *)
+loÿlfs
+;
+
+219 
+       `VERB_PRT
+(3,
+
+220 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+221 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev
+);
+
+222 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+223 
+       `Pr\9at
+(
+L
+"©\8fched % tØ%s\n", 
+FS_NAME
+, 
+¡r
+);
+
+224 
+       `F»ePoÞ
+(
+¡r
+);
+
+227 \15 
+EFI_SUCCESS
+;
+
+228 
+       }
+}
+
+230 
+EFI_STATUS
+
+
+231 
+       $loÿlfs_\9a¡®l
+(
+VOID
+)
+
+233 
+UINTN
+size
+ = 0;
+
+234 
+UINTN
+i
+;
+
+235 
+EFI_STATUS
+¡©us
+;
+
+236 
+VOID
+ *
+\9atf
+;
+
+238 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+F\9eeSy¡emPrÙocÞ
+, 
+NULL
+, &
+size
+, NULL);
+
+239 ià(
+size
+ =ð0è\15 
+EFI_UNSUPPORTED
+;
+
+241 
+       `DBG_PRT
+((
+L
+"size=%d", 
+size
+));
+
+243 
+dev_\8fb
+ = (
+dev_\8fb_t
+ *)
+       `®loc
+(
+size
+, 
+EfiLßd\94D©a
+);
+
+244 ià(
+dev_\8fb
+ =ð
+NULL
+) {
+
+245 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate handle\81able"));
+
+246 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+249 
+¡©us
+ = 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+F\9eeSy¡emPrÙocÞ
+, 
+NULL
+, &
+size
+, (
+VOID
+ **)
+dev_\8fb
+);
+
+250 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+251 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Øg\91 hªdËs: %r", 
+¡©us
+));
+
+252 
+       `ä\93
+(
+dev_\8fb
+);
+
+253 \15 
+¡©us
+;
+
+255 
+ndev
+ = 
+size
+ / \17(
+EFI_HANDLE
+);
+
+257 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+258 
+\9atf
+ = 
+NULL
+;
+
+259 
+       `loÿlfs_\9a¡®l_Úe
+(
+dev_\8fb
+[
+i
+].
+dev
+, &
+\9atf
+);
+
+261 
+dev_\8fb
+[
+i
+].
+\9atf
+ = intf;
+
+264 \15 
+EFI_SUCCESS
+;
+
+265 
+       }
+}
+
+267 
+EFI_STATUS
+
+
+268 
+       $loÿlfs_un\9a¡®l
+(
+VOID
+)
+
+271 
+loÿlfs_´iv_¡©e_t
+ *
+lfs
+;
+
+272 
+EFI_STATUS
+¡©us
+;
+
+273 
+UINTN
+i
+;
+
+275 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+276 ià(
+dev_\8fb
+[
+i
+].
+\9atf
+ =ð
+NULL
+) \ 6;
+
+277 
+lfs
+ = 
+       `FS_PRIVATE
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+278 
+¡©us
+ = 
+BS
+->
+       `Un\9a¡®lPrÙocÞIÁ\94çû
+(
+lfs
+->
+dev
+, &
+LoÿlFsPrÙocÞ
+, 
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+279 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+280 
+       `ERR_PRT
+((
+L
+"Un\9a¡®È% \94rÜ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+283 
+       `VERB_PRT
+(3,
+
+284 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+285 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+lfs
+->
+dev
+);
+
+286 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+287 
+       `Pr\9at
+(
+L
+"un\9a¡®Ëd % Ú %s\n", 
+FS_NAME
+, 
+¡r
+);
+
+288 
+       `F»ePoÞ
+(
+¡r
+);
+
+290 
+       `ä\93
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+292 ià(
+dev_\8fb
+       `ä\93
+(dev_tab);
+
+294 \15 
+EFI_SUCCESS
+;
+
+295 
+       }
+}
+
+       @fs/localfs.h
+
+26 #iâdeà
+__LOCALFS_H__
+
+
+27 \ 1
+       #__LOCALFS_H__
+
+
+       )
+
+29 
+INTERFACE_DECL
+(
+_loÿlfs_\9a\8brçû_t
+);
+
+31 \e\19
+       s_loÿlfs_\9a\8brçû_t
+ {
+
+32 
+EFI_STATUS
+ (*
+loÿlfs_Çme
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+       mmaxËn
+);
+
+33 
+EFI_STATUS
+ (*
+loÿlfs_Ý\92
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+ *
+       mfd
+);
+
+34 
+EFI_STATUS
+ (*
+loÿlfs_»ad
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+VOID
+ *
+       mbuf
+, UINTN *
+       msize
+);
+
+35 
+EFI_STATUS
+ (*
+loÿlfs_þo£
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+);
+
+36 
+EFI_STATUS
+ (*
+loÿlfs_\9afosize
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+UINT64
+ *
+       msize
+);
+
+37 
+EFI_STATUS
+ (*
+loÿlfs_£ek
+)(\19
+_loÿlfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+UINT64
+       mÃwpos
+);
+
+38 } 
+       tloÿlfs_\9a\8brçû_t
+;
+
+40 \ 1
+       #LOCALFS_PROTOCOL
+ \
+
+41 { 0x3a42ff5d, 0x43c9, 0x4db8, {0x82, 0x4e, 0xb8, 0x5b, 0xab, 0x97, 0x63, 0xcc} }
+
+       )
+
+43 \r
+EFI_STATUS
+loÿlfs_\9a¡®l
+(
+VOID
+);
+
+44 \r
+EFI_STATUS
+loÿlfs_un\9a¡®l
+(
+VOID
+);
+
+       @fs/netfs.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"fs/Ãtfs.h
+"
+
+31 \ 2
+       ~"\96\9eo.h
+"
+
+33 \ 1
+       #FS_NAME
+L
+"Ãtfs"
+
+       )
+
+35 \ 1
+       #NETFS_DEFAULT_BUFSIZE
+ 16*
+MB
+
+
+       )
+
+36 \ 1
+       #NETFS_DEFAULT_BUFSIZE_INC
+ 8*
+MB
+
+
+       )
+
+38 \ 1
+       #NETFS_DEFAULT_SERVER_TYPE
+EFI_PXE_BASE_CODE_BOOT_TYPE_BOOTSTRAP
+
+
+       )
+
+39 \ 1
+       #NETFS_FD_MAX
+ 2
+
+       )
+
+41 \e\19
+       s_Ãtfs_fd
+ {
+
+42 \19
+_Ãtfs_fd
+ *
+       mÃxt
+;
+
+44 
+CHAR8
+ *
+       mÃtbuf
+;
+
+45 
+UINT64
+       mÃtbuf_maxsize
+;
+
+46 
+UINTN
+       mÃtbuf_size
+;
+
+47 
+UINT64
+       mÃtbuf_pos
+;
+
+48 
+BOOLEAN
+       mis_v®id
+;
+
+49 
+BOOLEAN
+       mÃtbuf_»u£
+;
+
+51 
+CHAR16
+       mÏ¡_f\9ee
+[
+FILENAME_MAXLEN
+];
+
+52 } 
+       tÃtfs_fd_t
+;
+
+56 
+EFI_PXE_BASE_CODE
+ *
+       mpxe
+;
+
+57 
+EFI_HANDLE
+       mdev
+;
+
+58 
+BOOLEAN
+       mus\9ag_pxe
+;
+
+60 
+EFI_IP_ADDRESS
+       m¤v_\9d
+;
+
+61 
+EFI_IP_ADDRESS
+       mþn_\9d
+;
+
+62 
+EFI_IP_ADDRESS
+       mgw_\9d
+;
+
+63 
+EFI_IP_ADDRESS
+       mÃtmask
+;
+
+64 
+UINT8
+       mhw_addr
+[16];
+
+66 
+Ãtfs_fd_t
+       mfd_\8fb
+[
+NETFS_FD_MAX
+];
+
+67 
+Ãtfs_fd_t
+ *
+       mä\93_fd
+;
+
+68 
+UINTN
+       mä\93_fd_couÁ
+;
+
+70 } 
+       tÃtfs_´iv_¡©e_t
+;
+
+72 \ 1
+       #NETFS_F2FD
+(
+l
+,
+f
+è(
+UINTN
+)((f)-Ö)->
+fd_\8fb
+)
+
+       )
+
+73 \ 1
+       #NETFS_FD2F
+(
+l
+,
+fd
+è(Ö)->
+fd_\8fb
++fd)
+
+       )
+
+74 \ 1
+       #NETFS_F_INVALID
+(
+f
+è((f)->
+is_v®id
+ =ð
+FALSE
+)
+
+       )
+
+78 
+Ãtfs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+80 
+Ãtfs_\9a\8brçû_t
+       mpub_\9atf
+;
+
+81 
+Ãtfs_´iv_¡©e_t
+       m´iv_d©a
+;
+
+82 } 
+       mÃtfs_´iv
+;
+
+83 } 
+       tÃtfs_t
+;
+
+85 \ 1
+       #FS_PRIVATE
+(
+n
+è(&(((
+Ãtfs_t
+ *ê)->
+Ãtfs_´iv
+.
+´iv_d©a
+))
+
+       )
+
+88 
+EFI_HANDLE
+ *
+       mdev
+;
+
+89 
+Ãtfs_t
+ *
+       m\9atf
+;
+
+90 } 
+       tdev_\8fb_t
+;
+
+92 \18
+dev_\8fb_t
+ *
+       gdev_\8fb
+;
+
+93 \18
+UINTN
+       gndev
+;
+
+95 \18
+EFI_GUID
+       gN\91FsPrÙocÞ
+ = 
+NETFS_PROTOCOL
+;
+
+99 \18
+EFI_PXE_BASE_CODE_CALLBACK_STATUS
+
+
+100 
+       $Ãtfs_ÿÎback_func
+(
+
+101 
+IN
+EFI_PXE_BASE_CODE_CALLBACK
+ *
+this
+,
+
+102 
+IN
+EFI_PXE_BASE_CODE_FUNCTION
+funùiÚ
+,
+
+103 
+IN
+BOOLEAN
+»ûived
+,
+
+104 
+IN
+UINT32
+·ck\91_Ën
+,
+
+105 
+IN
+EFI_PXE_BASE_CODE_PACKET
+ *
+·ck\91
+OPTIONAL
+
+
+108 
+       `Pr\9at
+(
+L
+"Ãtfs_ÿÎback c®Ëd\84eûived=%d\85ack\91_Ën=%d\n", 
+»ûived
+, 
+·ck\91_Ën
+);
+
+109 \15 
+EFI_ABORTED
+;
+
+110 
+       }
+}
+
+112 \18
+EFI_PXE_BASE_CODE_CALLBACK
+       gÃtfs_ÿÎback
+ = {
+
+113 
+EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION
+,
+
+114 &
+Ãtfs_ÿÎback_func
+
+
+118 \18
+Ãtfs_fd_t
+ *
+
+119 
+       $Ãtfs_fd_®loc
+(
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+, 
+CHAR16
+ *
+Çme
+)
+
+121 
+Ãtfs_fd_t
+ *
+tmp
+ = 
+NULL
+, *
+´ev
+ = NULL, *
+m©ch
+;
+
+122 
+UINT8
+Ãtbuf_»u£
+ = 0;
+
+124 ià(
+nfs
+->
\93_fd
+ =ð
+NULL
+) {
+
+125 
+       `ERR_PRT
+((
+L
+"out of file descriptor"));
+
+126 \15 
+NULL
+;
+
+128 
+m©ch
+ = 
+nfs
+->
\93_fd
+;
+
+129 \ f
+tmp
+ = 
+nfs
+->
\93_fd
+;\81mp;\81m°ðtmp->
+Ãxt
+) {
+
+130 ià(!
+       `S\8cCmp
+(
+Çme
+, 
+tmp
+->
+Ï¡_f\9ee
+)) {
+
+131 
+       `DBG_PRT
+((
+L
+"Us\9ag cached f\9e\90% Ãtbuf_size=%d", 
+tmp
+->
+Ï¡_f\9ee
+,\81mp->
+Ãtbuf_size
+));
+
+132 
+Ãtbuf_»u£
+ = 1;
+
+133 
+m©ch
+ = 
+tmp
+;
+
+136 
+´ev
+ = 
+tmp
+;
+
+139 
+m©ch
+->
+Ãtbuf_»u£
+ =\82etbuf_reuse;
+
+141 ià(
+m©ch
+ =ð
+nfs
+->
\93_fd
+)
+
+142 
+nfs
+->
\93_fd
+ = 
+m©ch
+->
+Ãxt
+;
+
+144 
+´ev
+->
+Ãxt
+ = 
+m©ch
+->next;
+
+146 
+nfs
+->
\93_fd_couÁ
+--;
+
+148 \15 
+m©ch
+;
+
+149 
+       }
+}
+
+151 \18
+VOID
+
+
+152 
+       $Ãtfs_fd_ä\93
+(
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+, 
+Ãtfs_fd_t
+ *
+f
+)
+
+154 ià(
+f
+ =ð
+NULL
+) {
+
+155 
+       `ERR_PRT
+((
+L
+"invalid fd"));
+
+158 
+f
+->
+Ãxt
+ = 
+nfs
+->
\93_fd
+;
+
+161 
+f
+->
+is_v®id
+ = 
+FALSE
+;
+
+163 
+nfs
+->
\93_fd
+ = 
+f
+;
+
+164 
+nfs
+->
\93_fd_couÁ
+++;
+
+166 ià(
+nfs
+->
\93_fd_couÁ
+ > 
+NETFS_FD_MAX
+) {
+
+167 
+       `ERR_PRT
+((
+L
+"toØmªy f»\90desü\9dtÜ %d", 
+nfs
+->
\93_fd_couÁ
+));
+
+169 
+       }
+}
+
+172 \18
+INTN
+
+
+173 
+       $Ãtbuf_®loc
+(
+Ãtfs_fd_t
+ *
+f
+)
+
+176 ià(
+f
+->
+Ãtbuf
+ != 0) \15 0;
+
+178 
+f
+->
+Ãtbuf_pos
+ = 0;
+
+180 
+f
+->
+Ãtbuf
+ = (
+CHAR8
+ *)
+       `®loc_·ges
+(
+       `EFI_SIZE_TO_PAGES
+(f->
+Ãtbuf_maxsize
+), 
+EfiLßd\94D©a
+, 
+AÎoÿ\8bAnyPages
+, 0);
+
+182 \15 
+f
+->
+Ãtbuf
+ == 0 ? -1 : 0;
+
+183 
+       }
+}
+
+185 \18
+EFI_STATUS
+
+
+186 
+       $Ãtfs_Çme
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+maxËn
+)
+
+188 ià(
+Çme
+ =ð
+NULL
+ || 
+maxËn
+ < 1è\15 
+EFI_INVALID_PARAMETER
+;
+
+190 
+       `S\8cnCpy
+(
+Çme
+, 
+FS_NAME
+, 
+maxËn
+-1);
+
+192 
+Çme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+194 \15 
+EFI_SUCCESS
+;
+
+195 
+       }
+}
+
+197 \18
+VOID
+
+
+198 
+       $Ãtfs_ex\8caù_\9d
+(
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+)
+
+200 
+EFI_PXE_BASE_CODE
+ *
+pxe
+ = 
+nfs
+->pxe;
+
+202 ià(
+pxe
+->
+Mode
+->
+PxeDiscov\94V®id
+) {
+
+203 
+nfs
+->
+us\9ag_pxe
+ = 
+TRUE
+;
+
+204 
+       `Memýy
+(&
+nfs
+->
+¤v_\9d
+, 
+pxe
+->
+Mode
+->
+PxeR\95ly
+.
+Dhýv4
+.
+BoÙpSiAddr
+, \17(
+EFI_IP_ADDRESS
+));
+
+205 
+       `Memýy
+(&
+nfs
+->
+hw_addr
+, 
+pxe
+->
+Mode
+->
+PxeR\95ly
+.
+Dhýv4
+.
+BoÙpHwAddr
+, 16*\17(
+UINT8
+));
+
+207 
+       `Memýy
+(&
+nfs
+->
+¤v_\9d
+, 
+pxe
+->
+Mode
+->
+DhýAck
+.
+Dhýv4
+.
+BoÙpSiAddr
+, \17(
+EFI_IP_ADDRESS
+));
+
+208 
+       `Memýy
+(&
+nfs
+->
+hw_addr
+, 
+pxe
+->
+Mode
+->
+DhýAck
+.
+Dhýv4
+.
+BoÙpHwAddr
+, \17(nfs->hw_addr));
+
+211 
+       `Memýy
+(&
+nfs
+->
+þn_\9d
+, &
+pxe
+->
+Mode
+->
+S\8ftiÚIp
+, \17(
+EFI_IP_ADDRESS
+));
+
+212 
+       `Memýy
+(&
+nfs
+->
+Ãtmask
+, &
+pxe
+->
+Mode
+->
+SubÃtMask
+, \17(
+EFI_IP_ADDRESS
+));
+
+217 ià(
+pxe
+->
+Mode
+->
+Rou\8bTabËEÁr\9bs
+>0)
+
+218 
+       `Memýy
+(&
+nfs
+->
+gw_\9d
+, &
+pxe
+->
+Mode
+->
+Rou\8bTabË
+[0].
+GwAddr
+, \17(
+EFI_IP_ADDRESS
+));
+
+220 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"PXE PxeDiscov\94V®id: %s\n", 
+pxe
+->
+Mode
+->
+PxeDiscov\94V®id
+? L"Yes (PXE-aware DHCPD)" : L"No (Regular DHCPD)"));
+
+222 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+(
+dev
+, &
+PxeC®lbackPrÙocÞ
+, (
+VOID
+ **)&
+Ãtfs_ÿÎback
+);
+
+223 
+¡©us
+ = 
+       `LibIn¡®lPrÙocÞIÁ\94çûs
+(&
+dev
+, &
+PxeC®lbackPrÙocÞ
+, &
+Ãtfs_ÿÎback
+, 
+NULL
+);
+
+224 
+       `Pr\9at
+(
+L
+"PXE C®lback suµÜ\88: %r\n", 
+¡©us
+);
+
+225 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+226 
+BOOLEAN
+do\99
+ = 
+TRUE
+;
+
+227 
+¡©us
+ = 
+pxe
+->
+       `S\91P¬am\91\94s
+Õxe, 
+NULL
+, NULL, NULL, NULL, &
+do\99
+);
+
+228 
+       `Pr\9at
+(
+L
+"PXE C®lback S\91P¬am\91\94s: %r\n", 
+¡©us
+);
+
+234 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"Local IP: %d.%d.%d.%d\n",
+
+235 
+pxe
+->
+Mode
+->
+S\8ftiÚIp
+.
+v4
+.
+Addr
+[0] & 0xff,
+
+236 
+pxe
+->
+Mode
+->
+S\8ftiÚIp
+.
+v4
+.
+Addr
+[1] & 0xff,
+
+237 
+pxe
+->
+Mode
+->
+S\8ftiÚIp
+.
+v4
+.
+Addr
+[2] & 0xff,
+
+238 
+pxe
+->
+Mode
+->
+S\8ftiÚIp
+.
+v4
+.
+Addr
+[3] & 0xff));
+
+240 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"SM: %d.%d.%d.%d\n",
+
+241 
+pxe
+->
+Mode
+->
+SubÃtMask
+.
+v4
+.
+Addr
+[0] & 0xff,
+
+242 
+pxe
+->
+Mode
+->
+SubÃtMask
+.
+v4
+.
+Addr
+[1] & 0xff,
+
+243 
+pxe
+->
+Mode
+->
+SubÃtMask
+.
+v4
+.
+Addr
+[2] & 0xff,
+
+244 
+pxe
+->
+Mode
+->
+SubÃtMask
+.
+v4
+.
+Addr
+[3] & 0xff));
+
+246 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"TFTPD IP: %d.%d.%d.%d\n",
+
+247 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[0] & 0xff,
+
+248 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[1] & 0xff,
+
+249 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[2] & 0xff,
+
+250 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[3] & 0xff));
+
+252 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"Gateway IP: %d.%d.%d.%d\n",
+
+253 
+nfs
+->
+gw_\9d
+.
+v4
+.
+Addr
+[0] & 0xff,
+
+254 
+nfs
+->
+gw_\9d
+.
+v4
+.
+Addr
+[1] & 0xff,
+
+255 
+nfs
+->
+gw_\9d
+.
+v4
+.
+Addr
+[2] & 0xff,
+
+256 
+nfs
+->
+gw_\9d
+.
+v4
+.
+Addr
+[3] & 0xff));
+
+258 
+       }
+}
+
+260 \18
+EFI_STATUS
+
+
+261 
+       $Ãtfs_¡¬t
+(
+EFI_PXE_BASE_CODE
+ *
+pxe
+)
+
+263 
+EFI_STATUS
+¡©us
+;
+
+265 
+¡©us
+ = 
+pxe
+->
+       `S\8f¹
+Õxe, 
+FALSE
+);
+
+266 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15 status;
+
+268 \15 
+pxe
+->
+       `Dhý
+Õxe, 
+FALSE
+);
+
+269 
+       }
+}
+
+271 \18
+EFI_STATUS
+
+
+272 
+       $Ãtfs_Ý\92
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+CHAR16
+ *
+Çme
+, 
+UINTN
+ *
+fd
+)
+
+274 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+275 
+Ãtfs_fd_t
+ *
+f
+;
+
+276 
+EFI_STATUS
+¡©us
+;
+
+277 
+CHAR8
+ascii_Çme
+[
+FILENAME_MAXLEN
+];
+
+278 
+UINTN
+blocksize
+ = 0, 
+´ev_Ãtbufsize
+;
+
+280 ià(
+this
+ =ð
+NULL
+ || 
+Çme
+ =ðNULL || 
+fd
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+282 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+284 ià(
+nfs
+->
+pxe
+ =ð
+NULL
\15 
+EFI_INVALID_PARAMETER
+;
+
+289 ià(
+nfs
+->
+pxe
+->
+Mode
+->
+S\8f¹ed
+ =ð
+FALSE
+) {
+
+290 
+¡©us
+ = 
+       `Ãtfs_¡¬t
+(
+nfs
+->
+pxe
+);
+
+291 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15 status;
+
+292 
+       `Ãtfs_ex\8caù_\9d
+(
+nfs
+);
+
+295 ià((
+f
+=
+       `Ãtfs_fd_®loc
+(
+nfs
+, 
+Çme
+)è=ð
+NULL
\15 
+EFI_OUT_OF_RESOURCES
+;
+
+297 ià(
+f
+->
+Ãtbuf_»u£
+) {
+
+298 
+f
+->
+Ãtbuf_pos
+ = 0;
+
+299 
+f
+->
+is_v®id
+ = 
+TRUE
+;
+
+300 *
+fd
+ = 
+       `NETFS_F2FD
+(
+nfs
+, 
+f
+);
+
+301 \15 
+EFI_SUCCESS
+;
+
+303 
+f
+->
+Ãtbuf_maxsize
+ = 
+NETFS_DEFAULT_BUFSIZE
+;
+
+305 ià(
+f
+->
+Ãtbuf
+ =ð
+NULL
+ && 
+       `Ãtbuf_®loc
+(f) == -1) {
+
+306 
+       `Ãtfs_fd_ä\93
+(
+nfs
+, 
+f
+);
+
+307 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+312 
+       `U2ascii
+(
+Çme
+, 
+ascii_Çme
+, 
+FILENAME_MAXLEN
+);
+
+314 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"dowÆßd\9ag %¨äom %d.%d.%d.%d...", 
+ascii_Çme
+,
+
+315 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[0],
+
+316 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[1],
+
+317 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[2],
+
+318 
+nfs
+->
+¤v_\9d
+.
+v4
+.
+Addr
+[3]));
+
+319 
\8cy
+:
+
+320 
+f
+->
+Ãtbuf_size
+ = f->
+Ãtbuf_maxsize
+;
+
+322 
+       `DBG_PRT
+((
+L
+"\nbefÜ\90Ãtbuf:0x%lx\82\91buf_size=%ld\n", 
+f
+->
+Ãtbuf
+, f->
+Ãtbuf_size
+));
+
+338 
+´ev_Ãtbufsize
+ = 
+f
+->
+Ãtbuf_size
+;
+
+340 
+¡©us
+ = 
+nfs
+->
+pxe
+->
+       `Mtáp
+Òfs->pxe, 
+EFI_PXE_BASE_CODE_TFTP_READ_FILE
+, 
+f
+->
+Ãtbuf
+, 
+FALSE
+,
+
+341 &(
+f
+->
+Ãtbuf_size
+),
+
+342 
+blocksize
+ > 0 ? &blocksiz\90
+NULL
+,
+
+343 &
+nfs
+->
+¤v_\9d
+,
+
+344 
+ascii_Çme
+,
+
+345 
+NULL
+,
+
+346 
+FALSE
+);
+
+348 
+       `DBG_PRT
+((
+L
+"after Mftp=%r\82etbuf:0x%lx\82etbuf_size=%ld blocksize=%ld\n",
+
+349 
+¡©us
+,
+
+350 
+f
+->
+Ãtbuf
+,
+
+351 
+f
+->
+Ãtbuf_size
+,
+
+352 
+blocksize
+));
+
+354 ià(
+¡©us
+ =ð
+EFI_TIMEOUT
+ && 
+blocksize
+ == 0) {
+
+359 
+¡©us
+ = 
+EFI_BUFFER_TOO_SMALL
+;
+
+364 ià(
+¡©us
+ =ð
+EFI_BUFFER_TOO_SMALL
+) {
+
+365 
+       `DBG_PRT
+((
+L
+"bufã¸toØsm®l,\82\93d\82\91buf_size=%d", 
+f
+->
+Ãtbuf_size
+));
+
+372 ià(
+f
+->
+Ãtbuf_size
+ =ð
+´ev_Ãtbufsize
+) {
+
+373 
+f
+->
+Ãtbuf_maxsize
+ +ð
+NETFS_DEFAULT_BUFSIZE_INC
+;
+
+376 
+f
+->
+Ãtbuf_maxsize
+ = f->
+Ãtbuf_size
+;
+
+378 
+       `ä\93
+(
+f
+->
+Ãtbuf
+);
+
+380 
+f
+->
+Ãtbuf
+ = 
+NULL
+;
+
+382 ià(
+       `Ãtbuf_®loc
+(
+f
+è=ð0è\10
\8cy
+;
+
+387 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+389 
+f
+->
+Ãtbuf_pos
+ = 0;
+
+392 
+       `S\8cCpy
+(
+f
+->
+Ï¡_f\9ee
+, 
+Çme
+);
+
+394 
+f
+->
+is_v®id
+ = 1;
+
+396 *
+fd
+ = 
+       `NETFS_F2FD
+(
+nfs
+, 
+f
+);
+
+397 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"Done\n"));
+
+399 
+       `Ãtfs_fd_ä\93
+(
+nfs
+, 
+f
+);
+
+400 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"Fa\9eed: %r\n", 
+¡©us
+));
+
+402 
+       `DBG_PRT
+((
+L
+"F\9e\90% Ãtbuf_size=%d: %r", 
+Çme
+, 
+f
+->
+Ãtbuf_size
+, 
+¡©us
+));
+
+404 
+       `Pr\9at
+(
+L
+"\n---\n");
+
+405 { 
+INTN
+i
+;
+
+406 \ f
+i
+=0; i < 
+Ãtbuf_size
+; i++) {
+
+407 
+       `Pr\9at
+(
+L
+"%c", (
+CHAR16
+)
+Ãtbuf
+[
+i
+]);
+
+410 
+       `Pr\9at
+(
+L
+"\n---\n");
+
+412 \15 
+¡©us
+;
+
+413 
+       }
+}
+
+416 \18
+EFI_STATUS
+
+
+417 
+       $Ãtfs_»ad
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+VOID
+ *
+buf
+, UINTN *
+size
+)
+
+419 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+420 
+Ãtfs_fd_t
+ *
+f
+;
+
+421 
+UINTN
+couÁ
+;
+
+423 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ >ð
+NETFS_FD_MAX
+ || 
+buf
+ =ðNULL || 
+size
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+425 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+426 
+f
+ = 
+       `NETFS_FD2F
+(
+nfs
+, 
+fd
+);
+
+428 ià(
+       `NETFS_F_INVALID
+(
+f
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+430 
+couÁ
+ = 
+       `MIN
+(*
+size
+, 
+f
+->
+Ãtbuf_size
+ - f->
+Ãtbuf_pos
+);
+
+432 ià(
+couÁ
+       `Memýy
+(
+buf
+, 
+f
+->
+Ãtbuf
++f->
+Ãtbuf_pos
+, count);
+
+434 *
+size
+ = 
+couÁ
+;
+
+435 
+f
+->
+Ãtbuf_pos
+ +ð
+couÁ
+;
+
+437 \15 
+EFI_SUCCESS
+;
+
+438 
+       }
+}
+
+440 \18
+EFI_STATUS
+
+
+441 
+       $Ãtfs_þo£
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+)
+
+443 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+444 
+Ãtfs_fd_t
+ *
+f
+;
+
+446 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ >ð
+NETFS_FD_MAX
\15 
+EFI_INVALID_PARAMETER
+;
+
+448 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+449 
+f
+ = 
+       `NETFS_FD2F
+(
+nfs
+, 
+fd
+);
+
+451 ià(
+       `NETFS_F_INVALID
+(
+f
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+453 
+       `Ãtfs_fd_ä\93
+(
+nfs
+, 
+f
+);
+
+455 \15 
+EFI_SUCCESS
+;
+
+456 
+       }
+}
+
+458 \18
+EFI_STATUS
+
+
+459 
+       $Ãtfs_£ek
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+UINT64
+Ãwpos
+)
+
+461 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+462 
+Ãtfs_fd_t
+ *
+f
+;
+
+464 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ >ð
+NETFS_FD_MAX
\15 
+EFI_INVALID_PARAMETER
+;
+
+466 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+467 
+f
+ = 
+       `NETFS_FD2F
+(
+nfs
+, 
+fd
+);
+
+469 ià(
+       `NETFS_F_INVALID
+(
+f
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+471 ià(
+Ãwpos
+ > 
+f
+->
+Ãtbuf_size
\15 
+EFI_INVALID_PARAMETER
+;
+
+473 
+f
+->
+Ãtbuf_pos
+ = 
+Ãwpos
+;
+
+475 \15 
+EFI_SUCCESS
+;
+
+476 
+       }
+}
+
+478 \18
+EFI_STATUS
+
+
+479 
+       $Ãtfs_\9afosize
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+UINTN
+fd
+, 
+UINT64
+ *
+sz
+)
+
+481 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+482 
+Ãtfs_fd_t
+ *
+f
+;
+
+484 ià(
+this
+ =ð
+NULL
+ || 
+fd
+ >ð
+NETFS_FD_MAX
+ || 
+sz
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+486 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+487 
+f
+ = 
+       `NETFS_FD2F
+(
+nfs
+, 
+fd
+);
+
+489 ià(
+       `NETFS_F_INVALID
+(
+f
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+491 *
+sz
+ = 
+f
+->
+Ãtbuf_size
+;
+
+493 \15 
+EFI_SUCCESS
+;
+
+494 
+       }
+}
+
+496 \18
+INTN
+
+
+497 
+       $f\9ad_dhý_ÝtiÚ
+(
+EFI_PXE_BASE_CODE_PACKET
+ *
+·ck\91
+, 
+UINT8
+u£_\9dv6
+, UINT8 
+ÝtiÚ
+, 
+CHAR8
+ *
+¡r
+, 
+INTN
+ *
+Ën
+)
+
+499 
+INTN
+i
+ = 0;
+
+500 
+UINT8
+\8fg
+, 
+Ëngth
+;
+
+501 
+UINT8
+ *
+Ýts
+ = 
+·ck\91
+->
+Dhýv4
+.
+DhýO±iÚs
+;
+
+503 *
+Ën
+ = 0;
+
+506 ià(
+i
+ >= 56) {
+
+507 
+       `DBG_PRT
+((
+L
+"reach\83nd of options (no marker)\n"));
+
+510 
+\8fg
+ = 
+Ýts
+[
+i
+++];
+
+512 ià(
+\8fg
+ == 0) \ 6;
+
+513 ià(
+\8fg
+ == 255) \ 3;
+
+515 
+Ëngth
+ = 
+Ýts
+[
+i
+++];
+
+518 { 
+UINT8
+l
+ = 
+Ëngth
+, 
+k
+ = 0;
+
+519 
+       `Pr\9at
+(
+L
+"found o±iÚ %d\86\92=%d: ", 
+\8fg
+, 
+Ëngth
+);
+
+520 \1f
+l
+--è{ 
+       `Pr\9at
+(
+L
+"%c(%d)\n", (
+CHAR16
+)
+Ýts
+[
+k
+], opts[k]); k++; }
+
+521 
+       `Pr\9at
+(
+L
+"\n");
+
+524 ià(
+\8fg
+ =ð
+ÝtiÚ
+) {
+
+525 *
+Ën
+ = 
+Ëngth
+;
+
+526 \1f
+Ëngth
+--è{ *
+¡r
+++ = 
+Ýts
+[
+i
+++]; }
+
+529 
+i
+ +ð
+Ëngth
+;
+
+532 
+       }
+}
+
+534 \18
+EFI_STATUS
+
+
+535 
+       $Ãtfs_g\91\9afo
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+Ãtfs_\9afo_t
+ *
+\9afo
+)
+
+537 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+538 
+CHAR8
+¡r
+[256];
+
+539 
+INTN
+Ën
+, 
+r
+;
+
+541 ià(
+this
+ =ð
+NULL
+ || 
+\9afo
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+543 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+545 
+       `Memýy
+(&
+\9afo
+->
+þn_\9daddr
+, &
+nfs
+->
+þn_\9d
+, \17(
+EFI_IP_ADDRESS
+));
+
+546 
+       `Memýy
+(&
+\9afo
+->
+¤v_\9daddr
+, &
+nfs
+->
+¤v_\9d
+, \17(
+EFI_IP_ADDRESS
+));
+
+547 
+       `Memýy
+(&
+\9afo
+->
+Ãtmask
+, &
+nfs
+->Ãtmask, \17(
+EFI_IP_ADDRESS
+));
+
+548 
+       `Memýy
+(&
+\9afo
+->
+gw_\9daddr
+, &
+nfs
+->
+gw_\9d
+, \17(
+EFI_IP_ADDRESS
+));
+
+549 
+       `Memýy
+(&
+\9afo
+->
+hw_addr
+, &
+nfs
+->hw_addr, \17(info->hw_addr));
+
+551 
+\9afo
+->
+us\9ag_pxe
+ = 
+nfs
+->using_pxe;
+
+552 
+\9afo
+->
+¡¬\8bd
+ = 
+nfs
+->
+pxe
+->
+Mode
+->
+S\8f¹ed
+;
+
+553 
+\9afo
+->
+us\9ag_\9dv6
+ = 
+nfs
+->
+pxe
+->
+Mode
+->
+Us\9agIpv6
+;
+
+555 ià(
+nfs
+->
+pxe
+->
+Mode
+->
+Us\9agIpv6
\10
+sk\9d_ÝtiÚs
+;
+
+557 
+r
+ = 
+       `f\9ad_dhý_ÝtiÚ
+(&
+nfs
+->
+pxe
+->
+Mode
+->
+DhýAck
+,nfs->pxe->Mode->
+Us\9agIpv6
+, 15, 
+¡r
+, &
+Ën
+);
+
+558 
+¡r
+[
+Ën
+] = '\0';
+
+559 
+       `ascii2U
+(
+¡r
+, 
+\9afo
+->
+doma\9aame
+, 255);
+
+561 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"doma\9a(15): %a\n", 
+¡r
+));
+
+563 
+r
+ = 
+       `f\9ad_dhý_ÝtiÚ
+(&
+nfs
+->
+pxe
+->
+Mode
+->
+DhýAck
+,nfs->pxe->Mode->
+Us\9agIpv6
+, 12, 
+¡r
+, &
+Ën
+);
+
+564 
+¡r
+[
+Ën
+] = '\0';
+
+565 
+       `ascii2U
+(
+¡r
+, 
+\9afo
+->
+ho¡Çme
+, 255);
+
+567 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"ho¡Çme(12): %a\n", 
+¡r
+));
+
+572 ià(
+nfs
+->
+us\9ag_pxe
+ == 0) {
+
+573 
+       `ascii2U
+(
+nfs
+->
+pxe
+->
+Mode
+->
+DhýAck
+.
+Dhýv4
+.
+BoÙpBoÙF\9ee
+, 
+\9afo
+->
+boÙf\9ee
+, 
+NETFS_BOOTFILE_MAXLEN
+);
+
+574 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"boÙf\9ee: %s\n", 
+\9afo
+->
+boÙf\9ee
+));
+
+577 
+sk\9d_ÝtiÚs
+:
+
+578 \15 
+EFI_SUCCESS
+;
+
+579 
+       }
+}
+
+581 \18
+UINT16
+
+
+582 
+       $f\9ad_pxe_£rv\94_ty³
+(
+EFI_PXE_BASE_CODE
+ *
+pxe
+)
+
+584 
+INTN
+i
+ = 0, 
+max
+;
+
+585 
+UINT8
+\8fg
+, 
+Ëngth
+;
+
+586 
+UINT8
+ *
+Ýts
+ = 
+pxe
+->
+Mode
+->
+PxeR\95ly
+.
+Dhýv4
+.
+DhýO±iÚs
+;
+
+587 
+UINT16
+£rv\94_ty³
+;
+
+589 \1f
+i
+ < 55) {
+
+590 
+\8fg
+ = 
+Ýts
+[
+i
+];
+
+591 
+Ëngth
+ = 
+Ýts
+[
+i
++1];
+
+593 
+       `DBG_PRT
+((
+L
+"Tag #%d L\92gth %d\n",
+\8fg
+, 
+Ëngth
+));
+
+595 ià(
+\8fg
+ =ð43è\10
+found
+;
+
+597 
+i
+ +ð2 + 
+Ëngth
+;
+
+599 \15 
+NETFS_DEFAULT_SERVER_TYPE
+;
+
+600 
+found
+:
+
+601 
+max
+ = 
+i
++2+
+Ëngth
+;
+
+602 
+i
+ += 2;
+
+603 \1f
+i
+ < 
+max
+) {
+
+604 
+\8fg
+ = 
+Ýts
+[
+i
+];
+
+605 
+Ëngth
+ = 
+Ýts
+[
+i
++1];
+
+606 ià(
+\8fg
+ == 71) {
+
+607 
+£rv\94_ty³
+ =(
+Ýts
+[
+i
++2]<<8) | opts[i+3];
+
+608 
+       `DBG_PRT
+((
+L
+"S\94v\94Ty³: %d\n", 
+£rv\94_ty³
+));
+
+609 \15 
+£rv\94_ty³
+;
+
+611 
+i
++ð2 + 
+Ëngth
+;
+
+613 \15 
+NETFS_DEFAULT_SERVER_TYPE
+;
+
+614 
+       }
+}
+
+616 \18
+EFI_STATUS
+
+
+617 
+       $Ãtfs_qu\94y_Ïy\94
+(
+Ãtfs_\9a\8brçû_t
+ *
+this
+, 
+UINT16
+£rv\94_ty³
+, UINT16 
+Ïy\94
+, 
+UINTN
+maxËn
+, 
+CHAR16
+ *
+¡r
+)
+
+619 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+620 
+EFI_STATUS
+¡©us
+;
+
+622 ià(
+this
+ =ð
+NULL
+ || 
+¡r
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+624 
+nfs
+ = 
+       `FS_PRIVATE
+(
+this
+);
+
+626 ià(
+nfs
+->
+us\9ag_pxe
+ =ð
+FALSE
\15 
+EFI_UNSUPPORTED
+;
+
+628 ià(
+£rv\94_ty³
+ =ð0è£rv\94_ty³ = 
+       `f\9ad_pxe_£rv\94_ty³
+(
+nfs
+->
+pxe
+);
+
+630 
+¡©us
+ = 
+nfs
+->
+pxe
+->
+       `Discov\94
+Òfs->pxe, 
+£rv\94_ty³
+, &
+Ïy\94
+, 
+FALSE
+, 0);
+
+631 if(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+632 
+       `ascii2U
+(
+nfs
+->
+pxe
+->
+Mode
+->
+PxeR\95ly
+.
+Dhýv4
+.
+BoÙpBoÙF\9ee
+, 
+¡r
+, 
+maxËn
+);
+
+634 \15 
+¡©us
+;
+
+635 
+       }
+}
+
+637 \18
+VOID
+
+
+638 
+       $Ãtfs_\9a\99_¡©e
+(
+Ãtfs_t
+ *
+Ãtfs
+, 
+EFI_HANDLE
+dev
+, 
+EFI_PXE_BASE_CODE
+ *
+pxe
+)
+
+640 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+ = 
+       `FS_PRIVATE
+(
+Ãtfs
+);
+
+641 
+UINTN
+i
+;
+
+644 
+       `Mem£t
+(
+Ãtfs
+, 0, \17(*netfs));
+
+647 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_Çme
+ =\82etfs_name;
+
+648 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_Ý\92
+ =\82etfs_open;
+
+649 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_»ad
+ =\82etfs_read;
+
+650 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_þo£
+ =\82etfs_close;
+
+651 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_\9afosize
+ =\82etfs_infosize;
+
+652 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_£ek
+ =\82etfs_seek;
+
+653 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_qu\94y_Ïy\94
+ =\82etfs_query_layer;
+
+654 
+Ãtfs
+->
+pub_\9atf
+.
+Ãtfs_g\91\9afo
+ =\82etfs_getinfo;
+
+656 
+nfs
+->
+dev
+ = dev;
+
+657 
+nfs
+->
+pxe
+ =\85xe;
+
+662 ià(
+pxe
+->
+Mode
+->
+S\8f¹ed
+ =ð
+TRUE
+       `Ãtfs_ex\8caù_\9d
+(
+nfs
+);
+
+664 
+       `Mem£t
+(
+nfs
+->
+fd_\8fb
+, 0, \17(nfs->fd_tab));
+
+666 \ f
+i
+=0; i < 
+NETFS_FD_MAX
+-1; i++) {
+
+667 
+nfs
+->
+fd_\8fb
+[
+i
+].
+Ãxt
+ = &nfs->fd_tab[i+1];
+
+671 
+nfs
+->
\93_fd
+ =\82fs->
+fd_\8fb
+;
+
+672 
+nfs
+->
\93_fd_couÁ
+ = 
+NETFS_FD_MAX
+;
+
+673 
+       }
+}
+
+675 \18
+EFI_STATUS
+
+
+676 
+       $Ãtfs_\9a¡®l_Úe
+(
+EFI_HANDLE
+dev
+, 
+VOID
+ **
+\9atf
+)
+
+679 
+EFI_STATUS
+¡©us
+;
+
+680 
+Ãtfs_t
+ *
+Ãtfs
+;
+
+681 
+EFI_PXE_BASE_CODE
+ *
+pxe
+;
+
+683 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+dev
+, &
+N\91FsPrÙocÞ
+, (
+VOID
+ **)&
+Ãtfs
+);
+
+684 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) {
+
+685 
+       `ERR_PRT
+((
+L
+"W¬n\9ag: found\83xi¡\9ag % ´ÙocÞ oÀdeviû", 
+FS_NAME
+));
+
+686 \10
+found
+;
+
+689 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+ (
+dev
+, &
+PxeBa£CodePrÙocÞ
+, (
+VOID
+ **)&
+pxe
+);
+
+690 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+EFI_INVALID_PARAMETER
+;
+
+693 
+Ãtfs
+ = (
+Ãtfs_t
+ *)
+       `®loc
+(\17(*Ãtfs), 
+EfiLßd\94D©a
+);
+
+694 ià(
+Ãtfs
+ =ð
+NULL
+) {
+
+695 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Ø®loÿ\8b %s", 
+FS_NAME
+));
+
+696 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+699 
+       `Ãtfs_\9a\99_¡©e
+(
+Ãtfs
+, 
+dev
+, 
+pxe
+);
+
+701 
+¡©us
+ = 
+       `LibIn¡®lPrÙocÞIÁ\94çûs
+(&
+dev
+, &
+N\91FsPrÙocÞ
+, 
+Ãtfs
+, 
+NULL
+);
+
+702 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+703 
+       `ERR_PRT
+((
+L
+"CªnÙ in¡®È% ´ÙocÞ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+704 
+       `ä\93
+(
+Ãtfs
+);
+
+705 \15 
+¡©us
+;
+
+708 
+found
+:
+
+709 ià(
+\9atf
+è*\9atàð(
+VOID
+ *)
+Ãtfs
+;
+
+711 
+       `VERB_PRT
+(3,
+
+712 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+713 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+dev
+);
+
+714 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+715 
+       `Pr\9at
+(
+L
+"©\8fched % tØ%s\n", 
+FS_NAME
+, 
+¡r
+);
+
+716 
+       `F»ePoÞ
+(
+¡r
+);
+
+719 \15 
+EFI_SUCCESS
+;
+
+720 
+       }
+}
+
+722 
+EFI_STATUS
+
+
+723 
+       $Ãtfs_\9a¡®l
+(
+VOID
+)
+
+725 
+UINTN
+size
+ = 0;
+
+726 
+UINTN
+i
+;
+
+727 
+EFI_STATUS
+¡©us
+;
+
+728 
+VOID
+ *
+\9atf
+;
+
+730 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+PxeBa£CodePrÙocÞ
+, 
+NULL
+, &
+size
+, NULL);
+
+731 ià(
+size
+ =ð0è\15 
+EFI_UNSUPPORTED
+;
+
+733 
+       `DBG_PRT
+((
+L
+"size=%d", 
+size
+));
+
+735 
+dev_\8fb
+ = (
+dev_\8fb_t
+ *)
+       `®loc
+(
+size
+, 
+EfiLßd\94D©a
+);
+
+736 ià(
+dev_\8fb
+ =ð
+NULL
+) {
+
+737 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate handle\81able"));
+
+738 \15 
+EFI_OUT_OF_RESOURCES
+;
+
+741 
+¡©us
+ = 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+PxeBa£CodePrÙocÞ
+, 
+NULL
+, &
+size
+, (
+VOID
+ **)
+dev_\8fb
+);
+
+742 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) {
+
+743 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Øg\91 hªdËs: %r", 
+¡©us
+));
+
+744 
+       `ä\93
+(
+dev_\8fb
+);
+
+745 \15 
+¡©us
+;
+
+747 
+ndev
+ = 
+size
+ / \17(
+EFI_HANDLE
+);
+
+749 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+750 
+\9atf
+ = 
+NULL
+;
+
+751 
+       `Ãtfs_\9a¡®l_Úe
+(
+dev_\8fb
+[
+i
+].
+dev
+, &
+\9atf
+);
+
+753 
+dev_\8fb
+[
+i
+].
+\9atf
+ = intf;
+
+756 \15 
+EFI_SUCCESS
+;
+
+757 
+       }
+}
+
+759 
+EFI_STATUS
+
+
+760 
+       $Ãtfs_un\9a¡®l
+(
+VOID
+)
+
+763 
+Ãtfs_´iv_¡©e_t
+ *
+nfs
+;
+
+764 
+EFI_STATUS
+¡©us
+;
+
+765 
+UINTN
+i
+;
+
+767 \ f
+i
+=0; i < 
+ndev
+; i++) {
+
+768 ià(
+dev_\8fb
+[
+i
+].
+\9atf
+ =ð
+NULL
+) \ 6;
+
+769 
+nfs
+ = 
+       `FS_PRIVATE
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+770 
+¡©us
+ = 
+BS
+->
+       `Un\9a¡®lPrÙocÞIÁ\94çû
+(
+nfs
+->
+dev
+, &
+N\91FsPrÙocÞ
+, 
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+771 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+772 
+       `ERR_PRT
+((
+L
+"Un\9a¡®È% \94rÜ: %r", 
+FS_NAME
+, 
+¡©us
+));
+
+775 
+       `VERB_PRT
+(3,
+
+776 { 
+EFI_DEVICE_PATH
+ *
+dp
+; 
+CHAR16
+ *
+¡r
+;
+
+777 
+dp
+ = 
+       `DeviûP©hFromHªdË
+(
+nfs
+->
+dev
+);
+
+778 
+¡r
+ = 
+       `DeviûP©hToS\8c
+(
+dp
+);
+
+779 
+       `Pr\9at
+(
+L
+"un\9a¡®Ëd % Ú %s\n", 
+FS_NAME
+, 
+¡r
+);
+
+780 
+       `F»ePoÞ
+(
+¡r
+);
+
+783 ià(
+nfs
+->
+pxe
+->
+Mode
+->
+S\8f¹ed
+ =ð
+TRUE
+ènfs->pxe->
+       `StÝ
+(nfs->pxe);
+
+785 
+       `ä\93
+(
+dev_\8fb
+[
+i
+].
+\9atf
+);
+
+787 ià(
+dev_\8fb
+       `ä\93
+(dev_tab);
+
+789 \15 
+EFI_SUCCESS
+;
+
+790 
+       }
+}
+
+       @fs/netfs.h
+
+26 #iâdeà
+__NETLFS_H__
+
+
+27 \ 1
+       #__NETLFS_H__
+
+
+       )
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 1
+       #NETFS_BOOTFILE_MAXLEN
+ 256
+
+       )
+
+35 
+EFI_IP_ADDRESS
+       mþn_\9daddr
+;
+
+36 
+EFI_IP_ADDRESS
+       m¤v_\9daddr
+;
+
+37 
+EFI_IP_ADDRESS
+       mÃtmask
+;
+
+38 
+EFI_IP_ADDRESS
+       mgw_\9daddr
+;
+
+39 
+UINT8
+       mhw_addr
+[16];
+
+40 
+CHAR16
+       mho¡Çme
+[255];
+
+41 
+CHAR16
+       mdoma\9aame
+[255];
+
+42 
+CHAR16
+       mboÙf\9ee
+[
+NETFS_BOOTFILE_MAXLEN
+];
+
+43 
+BOOLEAN
+       mus\9ag_pxe
+;
+
+44 
+BOOLEAN
+       m¡¬\8bd
+;
+
+45 
+BOOLEAN
+       mus\9ag_\9dv6
+;
+
+46 } 
+       tÃtfs_\9afo_t
+;
+
+49 
+INTERFACE_DECL
+(
+_Ãtfs_\9a\8brçû_t
+);
+
+51 \e\19
+       s_Ãtfs_\9a\8brçû_t
+ {
+
+52 
+EFI_STATUS
+ (*
+Ãtfs_Çme
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+       mmaxËn
+);
+
+53 
+EFI_STATUS
+ (*
+Ãtfs_Ý\92
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+CHAR16
+ *
+       mÇme
+, 
+UINTN
+ *
+       mfd
+);
+
+54 
+EFI_STATUS
+ (*
+Ãtfs_»ad
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+VOID
+ *
+       mbuf
+, UINTN *
+       msize
+);
+
+55 
+EFI_STATUS
+ (*
+Ãtfs_þo£
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+);
+
+56 
+EFI_STATUS
+ (*
+Ãtfs_\9afosize
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+UINT64
+ *
+       msize
+);
+
+57 
+EFI_STATUS
+ (*
+Ãtfs_£ek
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINTN
+       mfd
+, 
+UINT64
+       mÃwpos
+);
+
+58 
+EFI_STATUS
+ (*
+Ãtfs_qu\94y_Ïy\94
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+UINT16
+       m£rv\94_ty³
+, UINT16 
+       mÏy\94
+, 
+UINTN
+       mmaxËn
+, 
+CHAR16
+ *
+       m¡r
+);
+
+59 
+EFI_STATUS
+ (*
+Ãtfs_g\91\9afo
+)(\19
+_Ãtfs_\9a\8brçû_t
+ *
+       mthis
+, 
+Ãtfs_\9afo_t
+ *
+       m\9afo
+);
+
+60 } 
+       tÃtfs_\9a\8brçû_t
+;
+
+62 \ 1
+       #NETFS_PROTOCOL
+ \
+
+63 { 0x6746de4f, 0xcc1e, 0x4c5f, {0xb7, 0xfb, 0x85, 0x6a, 0x5d, 0x69, 0x0f, 0x06} }
+
+       )
+
+65 \r
+EFI_STATUS
+Ãtfs_\9a¡®l
+(
+VOID
+);
+
+66 \r
+EFI_STATUS
+Ãtfs_un\9a¡®l
+(
+VOID
+);
+
+       @getopt.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+33 \ 1
+       #DASH
+ (
+CHAR16
+)'-'
+
+       )
+
+34 \ 1
+       #COLON
+ (
+CHAR16
+)':'
+
+       )
+
+35 \ 1
+       #EOS
+ (
+CHAR16
+)'\0'
+
+       )
+
+36 \ 1
+       #BADCH
+ (
+INTN
+)'?'
+
+       )
+
+37 \ 1
+       #BADARG
+ (
+INTN
+)':'
+
+       )
+
+39 \r
+CHAR16
+ * 
+S\8cChr
+(
+IN
+ cڡ CHAR16 *
+s
+, 
+INT16
+c
+);
+
+41 
+CHAR16
+ *
+       gO±¬g
+;
+
+42 
+INTN
+       gO±\9ad
+ = 1;
+
+43 
+INTN
+       gO±Ýt
+;
+
+54 
+INTN
+
+
+55 
+       $G\91Ýt
+(
+INTN
+¬gc
+, 
+CHAR16
+ *cڡ 
+¬gv
+[], cڡ CHAR16 *
+Ýt¡r\9ag
+)
+
+57 \18
+CHAR16
+ *
+cur_chr
+ = 
+NULL
+;
+
+58 
+CHAR16
+ *
+Ýt
+;
+
+60 ià(
+O±\9ad
+ >ð
+¬gc
+) {
+
+61 
+cur_chr
+ = 
+NULL
+;
+
+64 ià(
+cur_chr
+ =ð
+NULL
+ || *cur_ch¸=ð
+EOS
+) {
+
+65 
+cur_chr
+ = 
+¬gv
+[
+O±\9ad
+];
+
+66 ià(*
+cur_chr
+++ !ð
+DASH
+) {
+
+67 
+cur_chr
+ = 
+NULL
+;
+
+70 ià(*
+cur_chr
+ =ð
+DASH
+) {
+
+71 
+cur_chr
+ = 
+NULL
+;
+
+72 
+O±\9ad
+++;
+
+76 
+O±Ýt
+ = *
+cur_chr
+++;
+
+77 
+Ýt
+ = 
+       `S\8cChr
+(
+Ýt¡r\9ag
+, 
+O±Ýt
+);
+
+78 ià(!
+Ýt
+) {
+
+79 
+       `Pr\9at
+(
+L
+"%s: iÎeg® o±iÚ -- %c\n", 
+¬gv
+[0], 
+O±Ýt
+);
+
+80 ià(*
+cur_chr
+ =ð
+EOS
+O±\9ad
+++;
+
+81 \15 
+BADCH
+;
+
+83 ià(*(
+Ýt
++1è!ð
+COLON
+) {
+
+84 
+O±¬g
+ = 
+NULL
+;
+
+85 ià(*
+cur_chr
+ =ð
+EOS
+O±\9ad
+++;
+
+87 ià(*
+cur_chr
+) {
+
+88 
+O±¬g
+ = 
+cur_chr
+;
+
+89 } \viàÐ++
+O±\9ad
+ >ð
+¬gc
+ ) {
+
+90 
+       `Pr\9at
+(
+L
+"%s: o±iÚ `%s'\84equ\9ce ª\87rgum\92t\n", 
+¬gv
+[0],\87rgv[
+O±\9ad
+-1]),
+
+91 
+cur_chr
+ = 
+NULL
+;
+
+92 \15 
+BADARG
+;
+
+94 
+O±¬g
+ = 
+¬gv
+[
+O±\9ad
+];
+
+96 
+O±\9ad
+++;
+
+98 \15 
+O±Ýt
+;
+
+99 
+       }
+}
+
+       @getopt.h
+
+25 #iâdeà
+__EFI_GETOPT_H__
+
+
+26 \ 1
+       #__EFI_GETOPT_H__
+
+
+       )
+
+28 \r
+CHAR16
+ *
+O±¬g
+;
+
+29 \r
+INTN
+O±\9ad
+, 
+O±Ýt
+;
+
+31 \r
+INTN
+G\91Ýt
+(INTN 
+¬gc
+, 
+CHAR16
+ *cڡ 
+¬gv
+[], cڡ CHAR16 *
+Ýt¡r\9ag
+);
+
+       @glue_ext2fs.c
+
+25 \ 2
+       ~<efi.h
+>
+
+26 \ 2
+       ~<ef\9eib.h
+>
+
+28 \ 2
+       ~"glue_ext2fs.h
+"
+
+29 \ 2
+       ~"fs/ext2fs.h
+"
+
+30 \ 2
+       ~"¡rÝs.h
+"
+
+33 \18
+INTN
+glue
+(
+f\9eeÝs_t
+ *
+this
+, 
+VOID
+ *
+\9atf
+);
+
+37 
+f\9eeÝs_fs_t
+       gext2fs_glue
+ = { 
+EXT2FS_PROTOCOL
+ , 
+glue
+, 
+ext2fs_\9a¡®l
+, 
+ext2fs_un\9a¡®l
+};
+
+39 \18
+EFI_STATUS
+
+
+40 
+       $ext2fs_\9afosize
+(
+ext2fs_\9a\8brçû_t
+ *
+this
+, 
+fÝs_fd_t
+fd
+, 
+UINT64
+ *
+sz
+)
+
+42 
+ext2fs_¡©_t
+;
+
+43 
+EFI_STATUS
+¡©us
+;
+
+45 ià(
+this
+ =ð
+NULL
+ || 
+sz
+ =ðNULLè\15 
+EFI_INVALID_PARAMETER
+;
+
+47 
+¡©us
+ = 
+this
+->
+       `ext2fs_f¡©
+Ñhis, 
+fd
+, &
+);
+
+48 ià(
+¡©us
+ !ð
+EFI_SUCCESS
+) \15 status;
+
+50 *
+sz
+ = (
+UINT64
+)
+.
+¡_size
+;
+
+52 \15 
+EFI_SUCCESS
+;
+
+53 
+       }
+}
+
+55 \18
+INTN
+
+
+56 
+       $glue
+(
+f\9eeÝs_t
+ *
+, 
+VOID
+ *
+\9atf
+)
+
+58 
+ext2fs_\9a\8brçû_t
+ *
+ext2fs
+ = (ext2fs_\9a\8brçû_\88*)
+\9atf
+;
+
+61 
+->
+\9atf
+ = intf;
+
+63 
+->
+ = (
+fÝs_Ý\92_t
+)
+ext2fs
+->
+ext2fs_ݒ
+;
+
+64 
+->
+»ad
+ = (
+fÝs_»ad_t
+)
+ext2fs
+->
+ext2fs_»ad
+;
+
+65 
+->
+þo£
+ = (
+fÝs_þo£_t
+)
+ext2fs
+->
+ext2fs_þo£
+;
+
+66 
+->
+\9afosize
+ = (
+fÝs_\9afosize_t
+)
+ext2fs_\9afosize
+;
+
+67 
+->
+£ek
+ = (
+fÝs_£ek_t
+)
+ext2fs
+->
+ext2fs_£ek
+;
+
+70 
+ext2fs
+->
+       `ext2fs_Çme
+Óxt2fs, 
+->
+Çme
+, 
+FILEOPS_NAME_MAXLEN
+);
+
+73 
+       }
+}
+
+       @glue_ext2fs.h
+
+26 #iâdeà
+__GLUE_EXT2FS_H__
+
+
+27 \ 1
+       #__GLUE_EXT2FS_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \r
+f\9eeÝs_fs_t
+ext2fs_glue
+;
+
+       @glue_localfs.c
+
+25 \ 2
+       ~<efi.h
+>
+
+26 \ 2
+       ~<ef\9eib.h
+>
+
+28 \ 2
+       ~"fs/loÿlfs.h
+"
+
+29 \ 2
+       ~"glue_loÿlfs.h
+"
+
+30 \ 2
+       ~"¡rÝs.h
+"
+
+31 \ 2
+       ~"\96\9eo.h
+"
+
+33 \18
+INTN
+glue
+(
+f\9eeÝs_t
+ *
+this
+, 
+VOID
+ *
+\9atf
+);
+
+37 
+f\9eeÝs_fs_t
+       gloÿlfs_glue
+ = { 
+LOCALFS_PROTOCOL
+, 
+glue
+, 
+loÿlfs_\9a¡®l
+, 
+loÿlfs_un\9a¡®l
+};
+
+40 \18
+CHAR16
+       gloÿlfs_deçuÉ_·th
+[
+FILENAME_MAXLEN
+];
+
+58 \18
+VOID
+
+
+59 
+       $£t_deçuÉ_·th
+(
+CHAR16
+ *
\8c
+)
+
+61 \ 1
+       #is_£p
+(
+h
+è(h =ð
+CHAR_SLASH
+ || h =ð
+CHAR_BACKSLASH
+)
+
+       )
+
+62 
+CHAR16
+ *
+d±r
+, *
+Ï¡_£p
+ = 
+NULL
+;
+
+63 
+UINTN
+Ën
+ = 
+FILENAME_MAXLEN
+ - 1;
+
+64 
+UINTN
+Ï¡_was_£p
+ = 0;
+
+65 
+CHAR16
+c
+;
+
+67 
+d±r
+ = 
+loÿlfs_deçuÉ_·th
+;
+
+69 \1f
+Ën
+-- && *
\8c
+) {
+
+70 
+c
+ = 
\8c
+[0];
+
+72 ià(
+       `is_£p
+(
+c
+)) {
+
+73 ià(
+Ï¡_was_£p
+) {
+
+74 
\8c
+++;
+
+77 
+c
+ = 
+CHAR_BACKSLASH
+;
+
+78 
+Ï¡_was_£p
+ = 1;
+
+79 
+Ï¡_£p
+ = 
+d±r
+;
+
+81 
+Ï¡_was_£p
+ = 0;
+
+83 *
+d±r
+++ = 
+c
+;
+
+84 
\8c
+++;
+
+86 ià(
+Ï¡_£p
+)
+
+87 *++
+Ï¡_£p
+ = 
+CHAR_NULL
+;
+
+89 *
+d±r
+ = 
+CHAR_NULL
+;
+
+91 
+       `DBG_PRT
+((
+L
+"loÿlfs_deçuÉ_·th=%s\n", 
+loÿlfs_deçuÉ_·th
+));
+
+92 
+       }
+}
+
+99 \ 1
+       #LOCALFS_DEFAULT_KERNEL
+L
+"vml\9aux"
+
+       )
+
+100 \ 1
+       #LOCALFS_DEFAULT_CONFIG
+L
+"\96\9eo.cÚf"
+
+       )
+
+101 \18
+EFI_STATUS
+
+
+102 
+       $loÿlfs_£tdeçuÉs
+(
+VOID
+ *
+this
+, 
+cÚfig_f\9ee_t
+ *
+cÚfig
+, 
+CHAR16
+ *
+kÇme
+, 
+UINTN
+maxËn
+, CHAR16 *
+dev·th
+)
+
+104 
+       `S\8cnCpy
+(
+kÇme
+, 
+LOCALFS_DEFAULT_KERNEL
+, 
+maxËn
+-1);
+
+105 
+kÇme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+107 
+       `S\8cnCpy
+(
+cÚfig
+[0].
+âame
+, 
+LOCALFS_DEFAULT_CONFIG
+, 
+maxËn
+-1);
+
+108 
+cÚfig
+[0].
+âame
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+110 
+       `£t_deçuÉ_·th
+(
+dev·th
+);
+
+112 \15 
+EFI_SUCCESS
+;
+
+113 
+       }
+}
+
+115 \18
+EFI_STATUS
+
+
+116 
+       $loÿlfs_g\91deçuÉ_·th
+(
+CHAR16
+ *
+·th
+, 
+UINTN
+maxËn
+)
+
+118 ià(
+maxËn
+ <ð
+       `S\8cL\92
+(
+loÿlfs_deçuÉ_·th
+)è\15 
+EFI_BUFFER_TOO_SMALL
+;
+
+120 
+       `S\8cCpy
+(
+·th
+, 
+loÿlfs_deçuÉ_·th
+);
+
+121 \15 
+EFI_SUCCESS
+;
+
+122 
+       }
+}
+
+131 \18
+EFI_STATUS
+
+
+132 
+       $glue_ݒ
+(
+VOID
+ *
+\9atf
+, 
+CHAR16
+ *
+Çme
+, 
+fÝs_fd_t
+ *
+fd
+)
+
+134 
+CHAR16
+ *
+p
+;
+
+135 
+loÿlfs_\9a\8brçû_t
+ *
+loÿlfs
+ = (loÿlfs_\9a\8brçû_\88*)
+\9atf
+;
+
+136 
+CHAR16
+fuÎÇme
+[
+FILENAME_MAXLEN
+];
+
+141 \ f
+p
+Çme
+; *°!ð
+CHAR_NULL
+;\85++) {
+
+142 ià(*
+p
+ =ð
+CHAR_SLASH
+è*°ð
+CHAR_BACKSLASH
+;
+
+144 ià(
+Çme
+[0] !ð
+CHAR_BACKSLASH
+ && 
+loÿlfs_deçuÉ_·th
+[0] !ð
+CHAR_NULL
+) {
+
+145 ià(
+       `S\8cL\92
+(
+loÿlfs_deçuÉ_·th
+è+ S\8cL\92(
+Çme
+è+ 1 >ð
+FILENAME_MAXLEN
+)
+
+146 \15 
+EFI_INVALID_PARAMETER
+;
+
+148 
+       `S\8cCpy
+(
+fuÎÇme
+, 
+loÿlfs_deçuÉ_·th
+);
+
+149 
+       `S\8c
+(
+fuÎÇme
+, 
+Çme
+);
+
+150 
+Çme
+ = 
+fuÎÇme
+;
+
+152 \15 
+loÿlfs
+->
+       `loÿlfs_Ý\92
+(
+\9atf
+, 
+Çme
+, 
+fd
+);
+
+153 
+       }
+}
+
+155 \18
+INTN
+
+
+156 
+       $glue
+(
+f\9eeÝs_t
+ *
+, 
+VOID
+ *
+\9atf
+)
+
+158 
+loÿlfs_\9a\8brçû_t
+ *
+loÿlfs
+ = (loÿlfs_\9a\8brçû_\88*)
+\9atf
+;
+
+160 
+->
+ = 
+glue_ݒ
+;
+
+161 
+->
+»ad
+ = (
+fÝs_»ad_t
+)
+loÿlfs
+->
+loÿlfs_»ad
+;
+
+162 
+->
+þo£
+ = (
+fÝs_þo£_t
+)
+loÿlfs
+->
+loÿlfs_þo£
+;
+
+163 
+->
+\9afosize
+ = (
+fÝs_\9afosize_t
+)
+loÿlfs
+->
+loÿlfs_\9afosize
+;
+
+164 
+->
+£ek
+ = (
+fÝs_£ek_t
+)
+loÿlfs
+->
+loÿlfs_£ek
+;
+
+165 
+->
+£tdeçuÉs
+ = (
+fÝs_£tdeçuÉs_t
+)
+loÿlfs_£tdeçuÉs
+;
+
+166 
+->
+g\91deçuÉ_·th
+ = (
+fÝs_g\91deçuÉ_·th_t
+)
+loÿlfs_g\91deçuÉ_·th
+;
+
+167 
+->
+\9atf
+ = intf;
+
+170 
+loÿlfs
+->
+       `loÿlfs_Çme
+Öoÿlfs, 
+->
+Çme
+, 
+FILEOPS_NAME_MAXLEN
+);
+
+173 
+       }
+}
+
+       @glue_localfs.h
+
+26 #iâdeà
+__GLUE_LOCALFS_H__
+
+
+27 \ 1
+       #__GLUE_LOCALFS_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \r
+f\9eeÝs_fs_t
+loÿlfs_glue
+;
+
+       @glue_netfs.c
+
+25 \ 2
+       ~<efi.h
+>
+
+26 \ 2
+       ~<ef\9eib.h
+>
+
+28 \ 2
+       ~"glue_Ãtfs.h
+"
+
+29 \ 2
+       ~"fs/Ãtfs.h
+"
+
+30 \ 2
+       ~"¡rÝs.h
+"
+
+32 \ 2
+       ~"\96\9eo.h
+"
+
+33 \ 2
+       ~"v¬s.h
+"
+
+40 \18
+INTN
+glue
+(
+f\9eeÝs_t
+ *
+this
+, 
+VOID
+ *
+\9atf
+);
+
+43 
+f\9eeÝs_fs_t
+       gÃtfs_glue
+ = { 
+NETFS_PROTOCOL
+ , 
+glue
+, 
+Ãtfs_\9a¡®l
+, 
+Ãtfs_un\9a¡®l
+};
+
+46 \ 1
+       #NETFS_DEFAULT_KERNEL
+L
+"vml\9aux"
+
+       )
+
+47 \ 1
+       #NETFS_DEFAULT_CONFIG
+L
+"\96\9eo.cÚf"
+
+       )
+
+48 \ 1
+       #NETFS_DEFAULT_SERVER_TYPE
+EFI_PXE_BASE_CODE_BOOT_TYPE_REDHAT_BOOT
+
+
+       )
+
+51 \18
+CHAR16
+       gÃtfs_deçuÉ_·th
+[
+FILENAME_MAXLEN
+];
+
+58 \ 1
+       #NETFS_CONFIG_LAYER
+ 1
+
+       )
+
+59 \ 1
+       #NETFS_KERNEL_LAYER
+ 2
+
+       )
+
+61 \18
+CHAR16
+ *
+       ghexa
+=
+L
+"0123456789ABCDEF";
+
+63 \18
+VOID
+
+
+64 
+       $cÚv\94t_\9d2hex
+(
+UINT8
+ *
+\9d
+, 
+INTN
+l
+, 
+CHAR16
+ *
+¡r
+)
+
+66 
+UINTN
+i
+;
+
+68 \ f
+i
+=0; i < 
+l
+; i++) {
+
+69 
+¡r
+[2*
+i
+] = 
+hexa
+[(
+\9d
+[i] & 0xf0)>>4];
+
+70 
+¡r
+[2*
+i
++1] = 
+hexa
+[
+\9d
+[i] & 0x0f];
+
+72 
+       }
+}
+
+74 \18
+VOID
+
+
+75 
+       $cÚv\94t_\9d2dec¡r
+(
+UINT8
+ *
+\9d
+, 
+INTN
+l
+, 
+CHAR16
+ *
+¡r
+)
+
+77 
+UINTN
+i
+, 
+j
+;
+
+78 
+UINTN
+v
+, 
+v®
+;
+
+80 \ f
+i
+=0, 
+j
+=0; i < 
+l
+; i++) {
+
+81 
+v®
+ = 
+\9d
+[
+i
+];
+
+82 
+v
+ = 
+v®
+ / 100;
+
+83 ià(
+v
+) {
+
+84 
+¡r
+[
+j
+++] = 
+L
+'0'+
+v
+;
+
+86 
+v®
+ = val % 100;
+
+87 
+v
+ = 
+v®
+ / 10;
+
+88 ià(
+v
+ || 
+\9d
+[
+i
+] >= 100) {
+
+89 
+¡r
+[
+j
+++] = 
+L
+'0'+
+v
+;
+
+92 
+v
+ = 
+v®
+ % 10;
+
+93 
+¡r
+[
+j
+++] = 
+L
+'0'+
+v
+;
+
+94 ià(
+i
+ < 
+l
+-1è
+¡r
+[
+j
+++] = 
+L
+'.';
+
+96 
+¡r
+[
+j
+] = 
+CHAR_NULL
+;
+
+97 
+       }
+}
+
+100 
+       $Ãtfs_£t_deçuÉ_·th
+(
+Ãtfs_\9a\8brçû_t
+ *
+Ãtfs
+, 
+Ãtfs_\9afo_t
+ *
+\9afo
+)
+
+102 
+INTN
+Ën
+;
+
+104 
+       `S\8cnCpy
+(
+Ãtfs_deçuÉ_·th
+, 
+\9afo
+->
+boÙf\9ee
+, 
+FILENAME_MAXLEN
+);
+
+106 
+Ën
+ = 
+       `S\8cL\92
+(
+Ãtfs_deçuÉ_·th
+) - 1;
+
+108 \1f
+Ën
+ >= 0) {
+
+109 ià(
+Ãtfs_deçuÉ_·th
+[
+Ën
+] =ð
+CHAR_SLASH
+ ||\82\91fs_deçuÉ_·th[Ën] =ð
+CHAR_BACKSLASH
+) \ 3;
+
+110 
+Ën
+--;
+
+112 
+Ãtfs_deçuÉ_·th
+[
+Ën
++1] = 
+CHAR_NULL
+;
+
+114 
+       `DBG_PRT
+((
+L
+"Ãtfs_deçuÉ_·th=%s\n", 
+Ãtfs_deçuÉ_·th
+));
+
+116 \15 
+EFI_SUCCESS
+;
+
+117 
+       }
+}
+
+119 \18
+EFI_STATUS
+
+
+120 
+       $Ãtfs_£tdeçuÉs
+(
+VOID
+ *
+\9atf
+, 
+cÚfig_f\9ee_t
+ *
+cÚfig
+, 
+CHAR16
+ *
+kÇme
+, 
+UINTN
+maxËn
+, CHAR16 *
+dev·th
+)
+
+122 
+Ãtfs_\9a\8brçû_t
+ *
+Ãtfs
+ = (Ãtfs_\9a\8brçû_\88*)
+\9atf
+;
+
+123 
+Ãtfs_\9afo_t
+\9afo
+;
+
+124 
+EFI_STATUS
+¡©us
+;
+
+125 
+UINT8
+ *
+\9daddr
+;
+
+126 
+UINTN
+m
+;
+
+127 
+CHAR16
+\9d_v¬
+[64], 
+¡r
+[64];
+
+128 
+UINT8
+ *
+\9d
+;
+
+130 ià(
+cÚfig
+ =ð
+NULL
+ || 
+kÇme
+ =ðNULL || 
+maxËn
+ < 1è\15 
+EFI_INVALID_PARAMETER
+;
+
+132 
+Ãtfs
+->
+       `Ãtfs_g\91\9afo
+ґfs, &
+\9afo
+);
+
+134 
+m
+ = 
+\9afo
+.
+us\9ag_\9dv6
+ ? 16 : 4;
+
+135 
+\9daddr
+ = 
+\9afo
+.
+us\9ag_\9dv6
+ ? info.
+þn_\9daddr
+.
+v6
+.
+Addr
+: info.þn_\9daddr.
+v4
+.Addr;
+
+137 
+       `cÚv\94t_\9d2dec¡r
+(
+\9daddr
+, 
+m
+, 
+\9d_v¬
+);
+
+138 
+       `£t_v¬
+(
+VAR_NETFS_IPADDR
+, 
+\9d_v¬
+);
+
+140 
+\9d
+ = 
+\9afo
+.
+us\9ag_\9dv6
+ ? info.
+Ãtmask
+.
+v6
+.
+Addr
+: info.Ãtmask.
+v4
+.Addr;
+
+141 
+       `cÚv\94t_\9d2dec¡r
+(
+\9d
+, 
+m
+, 
+¡r
+);
+
+142 
+       `£t_v¬
+(
+VAR_NETFS_NETMASK
+, 
+¡r
+);
+
+144 
+\9d
+ = 
+\9afo
+.
+us\9ag_\9dv6
+ ? info.
+gw_\9daddr
+.
+v6
+.
+Addr
+: info.gw_\9daddr.
+v4
+.Addr;
+
+145 
+       `cÚv\94t_\9d2dec¡r
+(
+\9d
+, 
+m
+, 
+¡r
+);
+
+146 
+       `£t_v¬
+(
+VAR_NETFS_GATEWAY
+, 
+¡r
+);
+
+148 
+       `£t_v¬
+(
+VAR_NETFS_HOSTNAME
+, 
+\9afo
+.
+ho¡Çme
+);
+
+149 
+       `£t_v¬
+(
+VAR_NETFS_DOMAINAME
+, 
+\9afo
+.
+doma\9aame
+);
+
+151 ià(
+\9afo
+.
+us\9ag_pxe
+) {
+
+152 
+¡©us
+ = 
+Ãtfs
+->
+       `Ãtfs_qu\94y_Ïy\94
+ґfs, 0, 
+NETFS_CONFIG_LAYER
+, 
+maxËn
+, 
+cÚfig
+[0].
+âame
+);
+
+153 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+154 
+       `S\8cnCpy
+(
+cÚfig
+[0].
+âame
+, 
+NETFS_DEFAULT_CONFIG
+, 
+maxËn
+-1);
+
+155 
+cÚfig
+[0].
+âame
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+158 
+¡©us
+ = 
+Ãtfs
+->
+       `Ãtfs_qu\94y_Ïy\94
+ґfs, 0, 
+NETFS_KERNEL_LAYER
+, 
+maxËn
+, 
+kÇme
+);
+
+159 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+160 
+       `S\8cnCpy
+(
+kÇme
+, 
+NETFS_DEFAULT_KERNEL
+, 
+maxËn
+-1);
+
+161 
+kÇme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+164 #ifdeà
+ENABLE_MACHINE_SPECIFIC_NETCONFIG
+
+
+166 #ià
+       `def\9aed
+(
+CONFIG_\9f64
+)
+
+167 \ 1
+       #CONFIG_ARCH_EXTENSION
+L
+"-\9f64.cÚf\0"
+
+       )
+
+168 #\96
+       `def\9aed
+ (
+CONFIG_\9f32
+)
+
+169 \ 1
+       #CONFIG_ARCH_EXTENSION
+L
+"-\9f64.cÚf\0"
+
+       )
+
+174 \ 1
+       #CONFIG_EXTENSION
+L
+".cÚf\0"
+
+       )
+
+179 
+       `cÚv\94t_\9d2hex
+(
+\9daddr
+, 
+m
+, 
+¡r
+);
+
+180 
+       `S\8cnCpy
+(
+cÚfig
+[0].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+181 
+       `S\8cnCpy
+(
+cÚfig
+[0].
+âame
++8, 
+CONFIG_EXTENSION
+, 6);
+
+183 
+       `S\8cnCpy
+(
+cÚfig
+[1].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+184 
+       `S\8cnCpy
+(
+cÚfig
+[1].
+âame
++6, 
+CONFIG_ARCH_EXTENSION
+, 11);
+
+186 
+       `S\8cnCpy
+(
+cÚfig
+[2].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+187 
+       `S\8cnCpy
+(
+cÚfig
+[2].
+âame
++6, 
+CONFIG_EXTENSION
+, 6);
+
+189 
+       `S\8cnCpy
+(
+cÚfig
+[3].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+190 
+       `S\8cnCpy
+(
+cÚfig
+[3].
+âame
++4, 
+CONFIG_ARCH_EXTENSION
+, 11);
+
+192 
+       `S\8cnCpy
+(
+cÚfig
+[4].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+193 
+       `S\8cnCpy
+(
+cÚfig
+[4].
+âame
++4, 
+CONFIG_EXTENSION
+, 6);
+
+195 
+       `S\8cnCpy
+(
+cÚfig
+[5].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+196 
+       `S\8cnCpy
+(
+cÚfig
+[5].
+âame
++2, 
+CONFIG_ARCH_EXTENSION
+, 11);
+
+198 
+       `S\8cnCpy
+(
+cÚfig
+[6].
+âame
+, 
+¡r
+, 
+maxËn
+-1);
+
+199 
+       `S\8cnCpy
+(
+cÚfig
+[6].
+âame
++2, 
+CONFIG_EXTENSION
+, 6);
+
+201 
+       `S\8cnCpy
+(
+cÚfig
+[0].
+âame
+, 
+NETFS_DEFAULT_CONFIG
+, 
+maxËn
+-1);
+
+202 
+cÚfig
+[0].
+âame
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+204 
+       `S\8cnCpy
+(
+kÇme
+, 
+NETFS_DEFAULT_KERNEL
+, 
+maxËn
+-1);
+
+205 
+kÇme
+[
+maxËn
+-1] = 
+CHAR_NULL
+;
+
+212 
+       `Ãtfs_£t_deçuÉ_·th
+(
+Ãtfs
+, &
+\9afo
+);
+
+214 \15 
+EFI_SUCCESS
+;
+
+215 
+       }
+}
+
+217 \18
+EFI_STATUS
+
+
+218 
+       $Ãtfs_g\91deçuÉ_·th
+(
+CHAR16
+ *
+·th
+, 
+UINTN
+maxËn
+)
+
+220 ià(
+maxËn
+ <ð
+       `S\8cL\92
+(
+Ãtfs_deçuÉ_·th
+)è\15 
+EFI_BUFFER_TOO_SMALL
+;
+
+222 
+       `S\8cCpy
+(
+·th
+, 
+Ãtfs_deçuÉ_·th
+);
+
+223 \15 
+EFI_SUCCESS
+;
+
+224 
+       }
+}
+
+227 \18
+EFI_STATUS
+
+
+228 
+       $glue_ݒ
+(
+VOID
+ *
+\9atf
+, 
+CHAR16
+ *
+Çme
+, 
+fÝs_fd_t
+ *
+fd
+)
+
+230 
+Ãtfs_\9a\8brçû_t
+ *
+Ãtfs
+ = (Ãtfs_\9a\8brçû_\88*)
+\9atf
+;
+
+231 
+CHAR16
+fuÎÇme
+[
+FILENAME_MAXLEN
+];
+
+233 ià(
+Çme
+[0] !ð
+CHAR_SLASH
+ &&\82ame[0] !ð
+CHAR_BACKSLASH
+ && 
+Ãtfs_deçuÉ_·th
+[0] !ð
+CHAR_NULL
+) {
+
+234 ià(
+       `S\8cL\92
+(
+Ãtfs_deçuÉ_·th
+è+ S\8cL\92(
+Çme
+è+ 1 >ð
+FILENAME_MAXLEN
+)
+
+235 \15 
+EFI_INVALID_PARAMETER
+;
+
+237 
+       `S\8cCpy
+(
+fuÎÇme
+, 
+Ãtfs_deçuÉ_·th
+);
+
+238 
+       `S\8c
+(
+fuÎÇme
+, 
+Çme
+);
+
+239 
+Çme
+ = 
+fuÎÇme
+;
+
+241 \15 
+Ãtfs
+->
+       `Ãtfs_Ý\92
+(
+\9atf
+, 
+Çme
+, 
+fd
+);
+
+242 
+       }
+}
+
+244 \18
+INTN
+
+
+245 
+       $glue
+(
+f\9eeÝs_t
+ *
+, 
+VOID
+ *
+\9atf
+)
+
+247 
+Ãtfs_\9a\8brçû_t
+ *
+Ãtfs
+ = (Ãtfs_\9a\8brçû_\88*)
+\9atf
+;
+
+250 
+->
+\9atf
+ = intf;
+
+252 
+->
+ = 
+glue_ݒ
+;
+
+253 
+->
+»ad
+ = (
+fÝs_»ad_t
+)
+Ãtfs
+->
+Ãtfs_»ad
+;
+
+254 
+->
+þo£
+ = (
+fÝs_þo£_t
+)
+Ãtfs
+->
+Ãtfs_þo£
+;
+
+255 
+->
+\9afosize
+ = (
+fÝs_\9afosize_t
+)
+Ãtfs
+->
+Ãtfs_\9afosize
+;
+
+256 
+->
+£ek
+ = (
+fÝs_£ek_t
+)
+Ãtfs
+->
+Ãtfs_£ek
+;
+
+257 
+->
+£tdeçuÉs
+ = (
+fÝs_£tdeçuÉs_t
+)
+Ãtfs_£tdeçuÉs
+;
+
+258 
+->
+g\91deçuÉ_·th
+ = (
+fÝs_g\91deçuÉ_·th_t
+)
+Ãtfs_g\91deçuÉ_·th
+;
+
+259 
+->
+\9atf
+ = intf;
+
+262 
+Ãtfs
+->
+       `Ãtfs_Çme
+ґfs, 
+->
+Çme
+, 
+FILEOPS_NAME_MAXLEN
+);
+
+265 
+       }
+}
+
+       @glue_netfs.h
+
+26 #iâdeà
+__GLUE_NETFS_H__
+
+
+27 \ 1
+       #__GLUE_NETFS_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \r
+f\9eeÝs_fs_t
+Ãtfs_glue
+;
+
+       @gunzip.c
+
+32 \ 2
+       ~<efi.h
+>
+
+33 \ 2
+       ~<ef\9eib.h
+>
+
+35 \ 2
+       ~"\96\9eo.h
+"
+
+37 \ 2
+       ~"gz\9d.h
+"
+
+39 \ 1
+       #LD_NAME
+L
+"gunz\9d"
+
+       )
+
+41 \ 1
+       #memz\94o
+(
+s
+, 
+n
+       `Mem£t
+((
+VOID
+ *)(s), 0, (n))
+
+       )
+
+42 \ 1
+       #memýy
+(
+a
+,
+b
+,
+n
+       `Memýy
+((
+VOID
+ *)×),(b),Ò))
+
+       )
+
+45 \ 1
+       #WSIZE
+ 0x8000
+
+       )
+
+50 \ 1
+       #OF
+(
+¬gs
+       )
+args
+
+51 \ 1
+       #FUNC_STATIC
\18
+
+       )
+
+53 \e\1d\ 5
+       tuch
+;
+
+54 \e\1d\16
+       tush
+;
+
+55 \e\1d\13
+       tulg
+;
+
+62 \18
+uch
+ *
+       g\9abuf
+;
+
+63 \18
+uch
+ *
+       gw\9adow
+;
+
+65 \18
+VOID
+ *
+       goutbuf
+;
+
+66 \1d\ 5*
+       gou\8d\8c
+;
+
+67 \18\1d\13
+       goutsize
+;
+
+69 \18\1d
+       g\9a±r
+ = 0;
+
+70 \18\1d
+       goutút
+ = 0;
+
+72 \ 1
+       #g\91_by\8b
+(è
+\9abuf
+[
+\9a±r
+++]
+
+       )
+
+75 #ifdeà
+INFLATE_DEBUG
+
+
+76 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+è{if(!(cÚd)è
+       `\94
+(msg);}
+
+       )
+
+77 \12
+       g¡d\94r
+;
+
+78 \ 1
+       #T¿û
+(
+x
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+);
+
+       )
+
+79 \ 1
+       #T¿ûv
+(
+x
+è{ià(
+v\94bo£
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+80 \ 1
+       #T¿ûvv
+(
+x
+è{ià(
+v\94bo£
+>1è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+81 \ 1
+       #T¿ûc
+(
+c
+,
+x
+è{ià(
+v\94bo£
+ && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+82 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+è{ià(
+v\94bo£
+>1 && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+84 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+)
+
+       )
+
+85 \ 1
+       #T¿û
+(
+x
+)
+
+       )
+
+86 \ 1
+       #T¿ûv
+(
+x
+)
+
+       )
+
+87 \ 1
+       #T¿ûvv
+(
+x
+)
+
+       )
+
+88 \ 1
+       #T¿ûc
+(
+c
+,
+x
+)
+
+       )
+
+89 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+)
+
+       )
+
+92 \18\1e
+æush_w\9adow
+(\1e);
+
+93 \18\1e
+\94
+(\ 5*
+m
+);
+
+94 \18\13
+       gby\8bs_out
+;
+
+96 \18\1e
+\94
+(\ 5*
+m
+);
+
+98 \ 1
+       #gz\9d_m®loc
+(
+size
+è(\1e*)
+       `®loc
+(size, 0)
+
+       )
+
+99 \ 1
+       #gz\9d\93
+(
+wh\94e
+       `ä\93
+(wh\94e)
+
+       )
+
+101 \ 2
+       ~"\9aæ©e.c
+"
+
+113 
+       $updüc
+(\1d\ 5*
+s
+, \1d
+n
+)
+
+115 \14\1d\13
+c
+;
+
+118 
+c
+ = 
+üc
+;
+
+119 \1f
+n
+--) {
+
+120 
+c
+ = 
+üc_32_\8fb
+[((\12)ø^ (*
+s
+++)) & 0xff] ^ (c >> 8);
+
+122 
+üc
+ = 
+c
+;
+
+124 
+       }
+}
+
+130 
+       $þ\97r_bufs
+(\1e)
+
+132 
+outút
+ = 0;
+
+133 
+\9a±r
+ = 0;
+
+134 
+       }
+}
+
+141 
+       $æush_w\9adow
+(\1e)
+
+147 ià(!
+outút
+ || 
+by\8bs_out
+ + outú\88
+outsize
+)
+
+150 
+       `updüc
+(
+w\9adow
+, 
+outút
+);
+
+152 
+       `Memýy
+(
+ou\8d\8c
+, 
+w\9adow
+, 
+outút
+);
+
+153 
+ou\8d\8c
+ +ð
+outút
+;
+
+154 
+by\8bs_out
+ +ð
+outút
+;
+
+156 
+outút
+ = 0;
+
+157 
+       }
+}
+
+160 
+       $\94
+(\ 5*
+x
+)
+
+162 
+       `ERR_PRT
+((
+L
+"% : %a", 
+LD_NAME
+, 
+x
+));
+
+164 
+       }
+}
+
+166 \18
+INT32
+
+
+167 
+       $decom´ess
+(
+VOID
+)
+
+169 
+INT32
+»t
+;
+
+171 
+       `þ\97r_bufs
+();
+
+172 
+       `makeüc
+();
+
+173 
+       `Pr\9at
+(
+L
+"Uncompressing... ");
+
+174 
+»t
+ = 
+       `gunz\9d
+();
+
+175 ià(
+»t
+ =ð0è
+       `Pr\9at
+(
+L
+"done\n");
+
+176 \15 
+»t
+ == 0 ? 0 : -1;
+
+177 
+       }
+}
+
+180 
+       $gunz\9d_image
+(
+memdesc_t
+ *
+image
+)
+
+182 
+UINTN
+pgút
+;
+
+184 
+\9abuf
+ = 
+image
+->
+¡¬t_addr
+;
+
+189 
+outsize
+ = 
+\9abuf
+[
+image
+->
+size
+ - 1] << 24 | inbuf[image->size - 2] << 16 |
+
+190 
+\9abuf
+[
+image
+->
+size
+ - 3] << 8 | inbuf[image->size - 4];
+
+192 
+pgút
+ = 
+       `EFI_SIZE_TO_PAGES
+(
+outsize
+);
+
+194 
+outbuf
+ = 
+       `®loc_·ges
+(
+pgút
+, 
+EfiLßd\94D©a
+, 
+AÎoÿ\8bAnyPages
+, 0);
+
+195 ià(
+outbuf
+ =ð
+NULL
+) {
+
+196 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b ou\8du\88bufã¸ç\9eed\n", 
+LD_NAME
+));
+
+199 
+ou\8d\8c
+ = 
+outbuf
+;
+
+201 
+w\9adow
+ = (\1e*)
+       `®loc
+(
+WSIZE
+, 0);
+
+202 ià(
+w\9adow
+ =ð
+NULL
+) {
+
+203 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b ou\8du\88w\9adow fa\9eed\n", 
+LD_NAME
+));
+
+204 
+       `ä\93
+(
+outbuf
+);
+
+208 
+by\8bs_out
+ = 0;
+
+210 ià(
+       `decom´ess
+() != 0) {
+
+211 
+       `ä\93
+(
+w\9adow
+);
+
+212 
+       `ä\93
+(
+outbuf
+);
+
+213 \15 
+ELILO_LOAD_ERROR
+;
+
+216 
+       `ä\93
+(
+w\9adow
+);
+
+217 
+       `ä\93
+(
+image
+->
+¡¬t_addr
+);
+
+219 
+image
+->
+¡¬t_addr
+ = 
+outbuf
+;
+
+220 
+image
+->
+size
+ = 
+outsize
+;
+
+221 
+image
+->
+pgút
+ =\85gcnt;
+
+223 \15 
+ELILO_LOAD_SUCCESS
+;
+
+224 
+       }
+}
+
+       @gzip.h
+
+26 #iâdeà
+__GZIP_H__
+
+
+27 \ 1
+       #__GZIP_H__
+
+
+       )
+
+29 \12
+gunz\9d_image
+(
+memdesc_t
+ *);
+
+30 \12
+gunz\9d_k\94Ãl
+(
+fÝs_fd_t
+, 
+kdesc_t
+ *);
+
+33 \ 1
+       #ASCII_FLAG
+ 0x01
+
+       )
+
+34 \ 1
+       #CONTINUATION
+ 0x02
+
+       )
+
+35 \ 1
+       #EXTRA_FIELD
+ 0x04
+
+       )
+
+36 \ 1
+       #ORIG_NAME
+ 0x08
+
+       )
+
+37 \ 1
+       #COMMENT
+ 0x10
+
+       )
+
+38 \ 1
+       #ENCRYPTED
+ 0x20
+
+       )
+
+39 \ 1
+       #RESERVED
+ 0xC0
+
+       )
+
+47 \18
+\9al\9ae
\12
+
+48 
+       $gz\9d_´obe
+(\1d\ 5*
+buf
+, \1d\13
+size
+)
+
+50 ià(
+size
+ < 4) \15 -1;
+
+52 ià(
+buf
+[0] != 037 ||
+
+53 ((
+buf
+[1] != 0213) && (buf[1] != 0236))) \15 -1;
+
+56 ià(
+buf
+[2] != 8) \15 -1;
+
+58 ià((
+buf
+[3] & 
+ENCRYPTED
+) != 0) \15 -1;
+
+60 ià((
+buf
+[3] & 
+CONTINUATION
+) != 0) \15 -1;
+
+62 ià((
+buf
+[3] & 
+RESERVED
+) != 0) \15 -1;
+
+65 
+       }
+}
+
+       @ia32/bin_to_h.c
+
+1 \ 2
+       ~<¡dio.h
+>
+
+2 \ 2
+       ~<¡dlib.h
+>
+
+5 
+       $ma\9a
+(\1e)
+
+7 \1d
+n
+ = 0;
+
+8 \12
+c
+;
+
+10 
+       `´\9atf
+("UINT8\84mswitch_image[] = {\n");
+
+12 \1f(
+c
+ = 
+       `g\91ch¬
+()è!ð
+EOF
+) {
+
+13 
+       `´\9atf
+("0x%02x,%s",
+
+14 
+c
+ & 0xFF,
+
+15 (++
+n
+ & 0x07) ? " " : "\n");
+
+18 ià(
+n
+ & 0x07) {
+
+19 
+       `´\9atf
+("\n");
+
+22 
+       `´\9atf
+(
+
+27 
+       }
+}
+
+       @ia32/bzimage.c
+
+28 \ 2
+       ~<efi.h
+>
+
+29 \ 2
+       ~<ef\9eib.h
+>
+
+31 \ 2
+       ~"\96\9eo.h
+"
+
+32 \ 2
+       ~"lßd\94.h
+"
+
+34 
+boÙ_·¿ms_t
+ *
+       g·¿m_¡¬t
+ = 
+NULL
+;
+
+35 
+UINTN
+       g·¿m_size
+ = 0;
+
+37 
+UINTN
+       gk\94Ãl_size
+ = 0x200000;
+
+39 \18
+INTN
+
+
+40 
+       $bzImage_´obe
+(
+CHAR16
+ *
+kÇme
+)
+
+42 
+EFI_STATUS
+efi_¡©us
+;
+
+43 
+UINTN
+size
+;
+
+44 
+fÝs_fd_t
+fd
+;
+
+45 
+UINT8
+boÙ£ù
+[512];
+
+47 
+       `DBG_PRT
+((
+L
+"probe_bzImage_boot()\n"));
+
+49 ià(!
+kÇme
+) {
+
+50 
+       `ERR_PRT
+((
+L
+"kÇm\90=ð%xh", 
+kÇme
+));
+
+51 
+       `ä\93_kmem
+();
+
+58 
+       `DBG_PRT
+((
+L
+"Ý\92\9ag %s...\n", 
+kÇme
+));
+
+60 
+efi_¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+61 ià(
+       `EFI_ERROR
+(
+efi_¡©us
+)) {
+
+62 
+       `ERR_PRT
+((
+L
+"Could\82Ù o³À%s.", 
+kÇme
+));
+
+63 
+       `ä\93_kmem
+();
+
+70 
+       `DBG_PRT
+((
+L
+"\nreading boot sector...\n"));
+
+72 
+size
+ = \17 
+boÙ£ù
+;
+
+73 
+efi_¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+boÙ£ù
+, &
+size
+);
+
+74 ià(
+       `EFI_ERROR
+(
+efi_¡©us
+è|| 
+size
+ !ð\17 
+boÙ£ù
+) {
+
+75 
+       `ERR_PRT
+((
+L
+"Could\82Ù\84\97d boÙ seùÜ from %s.", 
+kÇme
+));
+
+76 
+       `fÝs_þo£
+(
+fd
+);
+
+77 
+       `ä\93_kmem
+();
+
+84 ià(
+boÙ£ù
+[0x1FE] != 0x55 || bootsect[0x1FF] != 0xAA) {
+
+85 
+       `ERR_PRT
+((
+L
+"% i nÙ\87 bzImag\90k\94ÃÈimage.\n", 
+kÇme
+));
+
+86 
+       `fÝs_þo£
+(
+fd
+);
+
+87 
+       `ä\93_kmem
+();
+
+95 
+       `DBG_PRT
+((
+L
+"boÙ£ù[1F1h] =ð%d s\91u°£ùÜs\n", 
+boÙ£ù
+[0x1F1]));
+
+97 ià(
+boÙ£ù
+[0x1F1] < 1 || bootsect[0x1F1] > 64) {
+
+98 
+       `ERR_PRT
+((
+L
+"%s is\82ot\87 valid bzImage kernel image.",
+
+99 
+kÇme
+));
+
+100 
+       `fÝs_þo£
+(
+fd
+);
+
+101 
+       `ä\93_kmem
+();
+
+108 
+       `DBG_PRT
+((
+L
+"reading setup data...\n"));
+
+110 
+·¿m_size
+ = (
+boÙ£ù
+[0x1F1] + 1) * 512;
+
+111 
+·¿m_¡¬t
+ = 
+       `®loc
+(
+·¿m_size
+, 
+EfiLßd\94D©a
+);
+
+113 
+       `DBG_PRT
+((
+L
+"·¿m_size=%d\85¬am_¡¬t=%x", 
+·¿m_size
+, 
+·¿m_¡¬t
+));
+
+115 ià(!
+·¿m_¡¬t
+) {
+
+116 
+       `ERR_PRT
+((
+L
+"Could\82ot\87llocate %d bytes of setup data.",
+
+117 
+·¿m_size
+));
+
+118 
+       `fÝs_þo£
+(
+fd
+);
+
+119 
+       `ä\93_kmem
+();
+
+123 
+       `CÝyMem
+(
+·¿m_¡¬t
+, 
+boÙ£ù
+, \17 bootsect);
+
+125 
+size
+ = 
+·¿m_size
+ - 512;
+
+126 
+efi_¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, ((
+UINT8
+ *)
+·¿m_¡¬t
+è+ 512, &
+size
+);
+
+128 ià(
+       `EFI_ERROR
+(
+efi_¡©us
+è|| 
+size
+ !ð
+·¿m_size
+ - 512) {
+
+129 
+       `ERR_PRT
+((
+L
+"Could\82ot\84ead %d bytes of setup data.",
+
+130 
+·¿m_size
+ - 512));
+
+131 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+132 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+133 
+·¿m_size
+ = 0;
+
+134 
+       `fÝs_þo£
+(
+fd
+);
+
+135 
+       `ä\93_kmem
+();
+
+143 
+UINT8
+ *
+c
+ = ((UINT8 *)
+·¿m_¡¬t
+)+514;
+
+144 
+       `DBG_PRT
+((
+L
+"param_start(c=%x): %c-%c-%c-%c",
+
+145 
+c
+, (
+CHAR16
+)c[0],(CHAR16) c[1], (CHAR16)c[2], (CHAR16)c[3]));
+
+147 ià(
+       `Com·»Mem
+(((
+UINT8
+ *)
+·¿m_¡¬t
+) + 514, "HdrS", 4)) {
+
+148 
+       `ERR_PRT
+((
+L
+"%s does\82ot have\87 setup signature.",
+
+149 
+kÇme
+));
+
+150 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+151 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+152 
+·¿m_size
+ = 0;
+
+153 
+       `fÝs_þo£
+(
+fd
+);
+
+154 
+       `ä\93_kmem
+();
+
+161 ià(
+       `®loc_kmem
+(
+k\94Ãl_¡¬t
+, 
+       `EFI_SIZE_TO_PAGES
+(
+k\94Ãl_size
+))) {
+
+162 
+       `ERR_PRT
+((
+L
+"Could\82ot\87llocate kernel memory."));
+
+165 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"kernel_start: 0x%x kernel_size: %d\n",
+
+166 
+k\94Ãl_¡¬t
+, 
+k\94Ãl_size
+));
+
+172 
+       `DBG_PRT
+((
+L
+"reading kernel image...\n"));
+
+174 
+size
+ = 
+k\94Ãl_size
+;
+
+175 
+efi_¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+k\94Ãl_¡¬t
+, &
+size
+);
+
+176 ià(
+       `EFI_ERROR
+(
+efi_¡©us
+è|| 
+size
+ < 0x10000) {
+
+177 
+       `ERR_PRT
+((
+L
+"E¼Ü\84\97d\9ag k\94ÃÈimag\90%s.", 
+kÇme
+));
+
+178 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+179 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+180 
+·¿m_size
+ = 0;
+
+181 
+       `fÝs_þo£
+(
+fd
+);
+
+182 
+       `ä\93_kmem
+();
+
+186 
+       `DBG_PRT
+((
+L
+"k\94ÃÈimag\90»ad: %d by\8bs, %d Kby\8bs\n", 
+size
+, size / 1024));
+
+192 
+       `fÝs_þo£
+(
+fd
+);
+
+194 
+       }
+}
+
+197 \18
+INTN
+
+
+198 
+       $bzImage_lßd
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+200 
+       `DBG_PRT
+((
+L
+"load_bzImage_boot()\n"));
+
+202 ià(!
+kÇme
+ || !
+kd
+) {
+
+203 
+       `ERR_PRT
+((
+L
+"kÇme=0x%x kd=0x%x", 
+kÇme
+, 
+kd
+));
+
+204 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+205 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+206 
+·¿m_size
+ = 0;
+
+207 
+       `ä\93_kmem
+();
+
+210 
+kd
+->
+k¡¬t
+ = kd->
+k\92\8cy
+ = 
+k\94Ãl_¡¬t
+;
+
+211 
+kd
+->
+k\92d
+ = ((
+UINT8
+ *)kd->
+k¡¬t
+è+ 
+k\94Ãl_size
+;
+
+213 
+       `DBG_PRT
+((
+L
+"k¡¬t=0x%x k\92\8cy=0x%x k\92d=0x%x\n", 
+kd
+->
+k¡¬t
+, kd->
+k\92\8cy
+, kd->
+k\92d
+));
+
+216 
+       }
+}
+
+219 
+lßd\94_Ýs_t
+       gbzimage_lßd\94
+ = {
+
+220 
+NULL
+,
+
+221 
+L
+"bzImage_loader",
+
+222 &
+bzImage_´obe
+,
+
+223 &
+bzImage_lßd
+
+
+       @ia32/config.c
+
+27 \ 2
+       ~<efi.h
+>
+
+28 \ 2
+       ~<ef\9eib.h
+>
+
+30 \ 2
+       ~"\96\9eo.h
+"
+
+31 \ 2
+       ~"cÚfig.h
+"
+
+32 \ 2
+       ~"´iv©e.h
+"
+
+35 
+UINTN
+       mËgacy_ä\93_boÙ
+;
+
+36 } 
+       t\9f32_glob®_cÚfig_t
+;
+
+39 \18
+\9f32_glob®_cÚfig_t
+       g\9f32_gcÚf
+;
+
+41 \18
+cÚfig_ÝtiÚ_t
+       gsysd\95s_glob®_ÝtiÚs
+[]={
+
+42 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"Ëgacy-ä\93", 
+NULL
+, NULL, &
+\9f32_gcÚf
+.
+Ëgacy_ä\93_boÙ
+}
+
+53 
+INTN
+
+
+54 
+       $sysd\95s_´\96oÝ_aùiÚs
+(
+EFI_HANDLE
+dev
+, 
+CHAR16
+ **
+¬gv
+, 
+INTN
+¬gc
+, INTN 
+\9adex
+, EFI_HANDLE 
+image
+)
+
+57 
+       }
+}
+
+59 \ 1
+       #IA32_CMDLINE_OPTIONS
+L
+""
+
+       )
+
+61 
+CHAR16
+ *
+
+62 
+       $sysd\95s_g\91_cmdl\9ae_Ýts
+(
+VOID
+)
+
+64 \15 
+IA32_CMDLINE_OPTIONS
+;
+
+65 
+       }
+}
+
+67 
+INTN
+
+
+68 
+       $sysd\95s_g\91Ýt
+(
+INTN
+c
+, INTN 
+Ýt\9ad
+, 
+CHAR16
+ *
+ݏrg
+)
+
+71 
+       }
+}
+
+73 
+VOID
+
+
+74 
+       $sysd\95s_´\9at_cmdl\9ae_Ýts
+(
+VOID
+)
+
+76 
+       }
+}
+
+79 
+INTN
+
+
+80 
+       $\9f32_u£_Ëgacy_ä\93_boÙ
+(
+VOID
+)
+
+82 \15 
+\9f32_gcÚf
+.
+Ëgacy_ä\93_boÙ
+ ? 1 : 0;
+
+83 
+       }
+}
+
+85 
+INTN
+
+
+86 
+       $sysd\95s_»gi¡\94_ÝtiÚs
+(
+VOID
+)
+
+88 
+INTN
+»t
+;
+
+90 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+sysd\95s_glob®_ÝtiÚs
+,
+
+91 \17(
+sysd\95s_glob®_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+92 
+OPTIONS_GROUP_GLOBAL
+);
+
+95 ià(
+»t
+ == -1 ) \15\84et;
+
+97 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+sysd\95s_image_ÝtiÚs
+,
+
+98 \17(
+sysd\95s_image_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+99 
+OPTIONS_GROUP_IMAGE
+);
+
+102 \15 
+»t
+;
+
+103 
+       }
+}
+
+       @ia32/gzip.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96f.h
+"
+
+33 \ 2
+       ~"\96\9eo.h
+"
+
+34 \ 2
+       ~"gz\9d.h
+"
+
+35 \ 2
+       ~"´iv©e.h
+"
+
+37 \ 1
+       #LD_NAME
+L
+"gz\9d_\9f32"
+
+       )
+
+39 \ 1
+       #memz\94o
+(
+s
+, 
+n
+       `Mem£t
+((
+VOID
+ *)(s), 0, (n))
+
+       )
+
+40 \ 1
+       #memýy
+(
+a
+,
+b
+,
+n
+       `Memýy
+((
+VOID
+ *)×),(b),Ò))
+
+       )
+
+43 \ 1
+       #WSIZE
+ 0x8000
+
+       )
+
+46 \ 1
+       #INBUFSIZE
+ 0x8000
+
+       )
+
+52 \ 1
+       #OF
+(
+¬gs
+       )
+args
+
+53 \ 1
+       #FUNC_STATIC
\18
+
+       )
+
+55 \e\1d\ 5
+       tuch
+;
+
+56 \e\1d\16
+       tush
+;
+
+57 \e\1d\13
+       tulg
+;
+
+60 \e\19
+       s£gm\92t
+ {
+
+61 \1d\13
+       maddr
+;
+
+62 \1d\13
+       moff£t
+;
+
+63 \1d\13
+       msize
+;
+
+64 \1d\13
+       mbss_sz
+;
+
+65 
+UINT8
+       mæags
+;
+
+66 } 
+       t£gm\92t_t
+;
+
+68 \ 1
+       #CHUNK_FL_VALID
+ 0x1
+
+       )
+
+69 \ 1
+       #CHUNK_FL_LOAD
+ 0x2
+
+       )
+
+71 \ 1
+       #CHUNK_CAN_LOAD
+(
+n
+chunks
+[Ò)].
+æags
+ |ð
+CHUNK_FL_LOAD
+
+
+       )
+
+72 \ 1
+       #CHUNK_NO_LOAD
+(
+n
+chunks
+[Ò)].
+æags
+ &ð~
+CHUNK_FL_LOAD
+
+
+       )
+
+73 \ 1
+       #CHUNK_IS_LOAD
+(
+n
+è(
+chunks
+[Ò)].
+æags
+ & 
+CHUNK_FL_LOAD
+)
+
+       )
+
+75 \ 1
+       #CHUNK_VALIDATE
+(
+n
+chunks
+[Ò)].
+æags
+ |ð
+CHUNK_FL_VALID
+
+
+       )
+
+76 \ 1
+       #CHUNK_INVALIDATE
+(
+n
+chunks
+[Ò)].
+æags
+ = 0
+
+       )
+
+77 \ 1
+       #CHUNK_IS_VALID
+(
+n
+è(
+chunks
+[Ò)].
+æags
+ & 
+CHUNK_FL_VALID
+)
+
+       )
+
+84 \18
+£gm\92t_t
+ *
+       gchunks
+;
+
+85 \18
+£gm\92t_t
+ *
+       gcur_chunk
+;
+
+86 \18
+UINTN
+       gnchunks
+;
+
+87 \18
+UINTN
+       gchunk
+;
+
+88 \18
+UINTN
+       g\9aput_fd
+;
+
+89 \18
+VOID
+ *
+       gk\94Ãl_\92\8cy
+, *
+       gk\94Ãl_ba£
+, *
+       gk\94Ãl_\92d
+;
+
+91 \18
+uch
+ *
+       g\9abuf
+;
+
+92 \18
+uch
+ *
+       gw\9adow
+;
+
+93 \18\1d\13
+       gf\9ee_off£t
+;
+
+95 \18\1d
+       g\9asize
+ = 0;
+
+96 \18\1d
+       g\9a±r
+ = 0;
+
+97 \18\1d
+       goutút
+ = 0;
+
+100 \ 1
+       #ASCII_FLAG
+ 0x01
+
+       )
+
+101 \ 1
+       #CONTINUATION
+ 0x02
+
+       )
+
+102 \ 1
+       #EXTRA_FIELD
+ 0x04
+
+       )
+
+103 \ 1
+       #ORIG_NAME
+ 0x08
+
+       )
+
+104 \ 1
+       #COMMENT
+ 0x10
+
+       )
+
+105 \ 1
+       #ENCRYPTED
+ 0x20
+
+       )
+
+106 \ 1
+       #RESERVED
+ 0xC0
+
+       )
+
+108 \ 1
+       #g\91_by\8b
+(è(
+\9a±r
+ < 
+\9asize
+ ? 
+\9abuf
+[\9a±r++] : 
+       `f\9el_\9abuf
+())
+
+       )
+
+111 #ifdeà
+INFLATE_DEBUG
+
+
+112 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+è{if(!(cÚd)è
+       `\94
+(msg);}
+
+       )
+
+113 \12
+       g¡d\94r
+;
+
+114 \ 1
+       #T¿û
+(
+x
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+);
+
+       )
+
+115 \ 1
+       #T¿ûv
+(
+x
+è{ià(
+v\94bo£
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+116 \ 1
+       #T¿ûvv
+(
+x
+è{ià(
+v\94bo£
+>1è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+117 \ 1
+       #T¿ûc
+(
+c
+,
+x
+è{ià(
+v\94bo£
+ && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+118 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+è{ià(
+v\94bo£
+>1 && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+120 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+)
+
+       )
+
+121 \ 1
+       #T¿û
+(
+x
+)
+
+       )
+
+122 \ 1
+       #T¿ûv
+(
+x
+)
+
+       )
+
+123 \ 1
+       #T¿ûvv
+(
+x
+)
+
+       )
+
+124 \ 1
+       #T¿ûc
+(
+c
+,
+x
+)
+
+       )
+
+125 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+)
+
+       )
+
+128 \18\12
+f\9el_\9abuf
+(\1e);
+
+129 \18\1e
+æush_w\9adow
+(\1e);
+
+130 \18\1e
+\94
+(\ 5*
+m
+);
+
+131 \18\13
+       gby\8bs_out
+;
+
+132 \18\1e
+\94
+(\ 5*
+m
+);
+
+133 \18\12
+       g\94rÜ_»tuº
+;
+
+136 
+       $gz\9d_m®loc
+(\12
+size
+)
+
+138 \15 (\1e*)
+       `®loc
+(
+size
+, 0);
+
+139 
+       }
+}
+
+142 
+       $gz\9d\93
+(\1e*
+wh\94e
+)
+
+144 \15 
+       `ä\93
+(
+wh\94e
+);
+
+145 
+       }
+}
+
+147 \ 2
+       ~"\9aæ©e.c
+"
+
+154 
+       $f\9el_\9abuf
+(\1e)
+
+156 
+INTN
+ex³ùed
+, 
+ėd
+;
+
+157 
+EFI_STATUS
+¡©us
+;
+
+159 
+ex³ùed
+ = 
+ėd
+ = 
+INBUFSIZE
+;
+
+161 
+¡©us
+ = 
+       `fÝs_»ad
+(
+\9aput_fd
+, 
+\9abuf
+, &
+ėd
+);
+
+162 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+163 
+       `\94
+("elilo: Read failed");
+
+165 
+       `DBG_PRT
+((
+L
+"% :\84\97d %d by\8b oà%d by\8bs\n", 
+LD_NAME
+, 
+ėd
+, 
+ex³ùed
+));
+
+167 
+\9asize
+ = 
+ėd
+;
+
+168 
+\9a±r
+ = 1;
+
+170 \15 
+\9abuf
+[0];
+
+171 
+       }
+}
+
+188 
+       $updüc
+(\1d\ 5*
+s
+, \1d
+n
+)
+
+190 \14\1d\13
+c
+;
+
+193 ià(!
+s
+) {
+
+194 
+c
+ = 0xffffffffL;
+
+196 
+c
+ = 
+üc
+;
+
+197 \1f
+n
+--) {
+
+198 
+c
+ = 
+üc_32_\8fb
+[((\12)ø^ (*
+s
+++)) & 0xff] ^ (c >> 8);
+
+201 
+üc
+ = 
+c
+;
+
+202 \15 
+c
+ ^ 0xffffffffUL;
+
+203 
+       }
+}
+
+210 
+       $þ\97r_bufs
+(\1e)
+
+212 
+outút
+ = 0;
+
+213 
+\9a±r
+ = 0;
+
+214 
+chunk
+ = 0;
+
+215 
+cur_chunk
+ = 
+NULL
+;
+
+216 
+f\9ee_off£t
+ = 0;
+
+217 
+       }
+}
+
+220 \18
+INTN
+
+
+221 
+       $is_v®id_h\97d\94
+(
+Elf32_Ehdr
+ *
+ehdr
+)
+
+223 
+UINT16
+ty³
+, 
+mach\9ae
+;
+
+225 
+ty³
+ = 
+ehdr
+->
+e_ty³
+;
+
+226 
+mach\9ae
+ = 
+ehdr
+->
+e_mach\9ae
+;
+
+228 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"class=%d\81ype=%d data=%d machine=%d\n",
+
+229 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+],
+
+230 
+ty³
+,
+
+231 
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+],
+
+232 
+mach\9ae
+));
+
+234 \15 
+ehdr
+->
+e_id\92t
+[
+EI_MAG0
+] == 0x7f
+
+235 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG1
+] == 'E'
+
+236 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG2
+] == 'L'
+
+237 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG3
+] == 'F'
+
+238 && 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+] =ð
+ELFCLASS32
+
+
+239 && 
+ty³
+ =ð
+ET_EXEC
+
+
+240 && 
+mach\9ae
+ =ð
+EM_386
+ ? 0 : -1;
+
+241 
+       }
+}
+
+247 
+       $check_ov\94Ïp
+(\12
+i
+)
+
+249 \12
+j
+;
+
+250 \1d\13
+\9bnd
+ = 
+chunks
+[
+i
+].
+addr
+ + chunks[i].
+size
+;
+
+252 \ f
+j
+=0; j < 
+nchunks
+; j++) {
+
+253 ià(
+j
+ ==
+i
+) \ 6;
+
+254 ià(
+chunks
+[
+i
+].
+addr
+ >ðchunks[
+j
+].add¸&& 
+\9bnd
+ < (chunks[j].add¸+ chunks[j].
+size
+)) {
+
+255 
+       `DBG_PRT
+((
+L
+"% : segm\92\88%d fuÎy inþuded iÀ£gm\92\88%d\n", 
+LD_NAME
+, 
+i
+, 
+j
+));
+
+256 
+       `CHUNK_INVALIDATE
+(
+i
+);
+
+260 
+       }
+}
+
+263 
+       $ª®yze_chunks
+(\1e)
+
+265 
+INTN
+i
+;
+
+267 \ f
+i
+=0; i < 
+nchunks
+; i++) {
+
+268 ià(
+       `CHUNK_IS_VALID
+(
+i
+è&& !
+       `CHUNK_IS_LOAD
+(i))
+
+269 
+       `check_ov\94Ïp
+(
+i
+);
+
+271 
+       }
+}
+
+280 
+       $f\9c¡_block
+ (cڡ \ 5*
+buf
+, \13
+blocksize
+)
+
+282 
+Elf32_Ehdr
+ *
+\96f
+;
+
+283 
+Elf32_Phdr
+ *
+phdrs
+;
+
+284 
+UINTN
+tٮ_size
+, 
+·ges
+;
+
+285 
+UINTN
+low_addr
+, 
+max_addr
+;
+
+286 
+UINTN
+offs
+ = 0;
+
+287 
+UINT16
+phnum
+;
+
+288 
+UINTN
+·ddr
+, 
+memsz
+;
+
+289 
+INTN
+i
+;
+
+291 
+\96f
+ = (
+Elf32_Ehdr
+ *)
+buf
+;
+
+293 ià(
+       `is_v®id_h\97d\94
+(
+\96f
+) == -1)
+
+296 
+offs
+ = 
+\96f
+->
+e_phoff
+;
+
+297 
+phnum
+ = 
+\96f
+->
+e_phnum
+;
+
+299 
+       `VERB_PRT
+(3, {
+
+300 
+       `Pr\9at
+(
+L
+"EÁry\85o\9a\880x%lx\n", 
+\96f
+->
+e_\92\8cy
+);
+
+301 
+       `Pr\9at
+(
+L
+"%d\85rog¿m h\97d\94s\n", 
+phnum
+);
+
+302 
+       `Pr\9at
+(
+L
+"%d segm\92\88h\97d\94s\n", 
+\96f
+->
+e_shnum
+);
+
+305 ià(
+offs
+ + 
+phnum
+ * \17(*
+phdrs
+è> (\1dè
+blocksize
+) {
+
+306 
+       `ERR_PRT
+((
+L
+"% : ELF\85rog¿m h\97d\94 nÙ iÀf\9c¡ block (%ld)\n", 
+LD_NAME
+, 
+offs
+));
+
+310 
+k\94Ãl_\92\8cy
+ = (
+VOID
+ *)(
+\96f
+->
+e_\92\8cy
+ & 
+PADDR_MASK
+);
+
+312 
+phdrs
+ = (
+Elf32_Phdr
+ *è(
+buf
+ + 
+offs
+);
+
+313 
+low_addr
+ = ~0;
+
+314 
+max_addr
+ = 0;
+
+321 
+chunks
+ = (\1e*)
+       `®loc
+(\17(\19
+£gm\92t
+)*
+phnum
+, 0);
+
+322 ià(
+chunks
+ =ð
+NULL
+) {
+
+323 
+       `ERR_PRT
+((
+L
+"% : fa\9eed\87Îoøchunk %r\n", 
+LD_NAME
+));
+
+326 
+nchunks
+ = 
+phnum
+;
+
+331 \ f
+i
+ = 0; i < 
+phnum
+; ++i) {
+
+336 
+·ddr
+ = (
+phdrs
+[
+i
+].
+p_·ddr
+ & 
+PADDR_MASK
+);
+
+337 
+memsz
+ = 
+phdrs
+[
+i
+].
+p_memsz
+,
+
+339 
+chunks
+[
+i
+].
+addr
+ = 
+·ddr
+;
+
+340 
+chunks
+[
+i
+].
+off£t
+ = 
+phdrs
+[i].
+p_off£t
+;
+
+341 
+chunks
+[
+i
+].
+size
+ = 
+phdrs
+[i].
+p_f\9eesz
+;
+
+342 
+chunks
+[
+i
+].
+bss_sz
+ = 
+phdrs
+[i].
+p_memsz
+ -\85hdrs[i].
+p_f\9eesz
+;
+
+344 
+       `CHUNK_VALIDATE
+(
+i
+);
+
+346 ià(
+phdrs
+[
+i
+].
+p_ty³
+ !ð
+PT_LOAD
+) {
+
+347 
+       `CHUNK_NO_LOAD
+(
+i
+);
+
+348 
+       `DBG_PRT
+((
+L
+"% : sk\9dp\9ag segm\92\88%ld\n", 
+LD_NAME
+, 
+i
+));
+
+352 
+       `CHUNK_CAN_LOAD
+(
+i
+);
+
+354 
+       `VERB_PRT
+(3,
+
+355 
+       `Pr\9at
+(
+L
+"\n%s : segment %ld vaddr [0x%lx-0x%lx] offset %ld filesz %ld "
+
+357 
+LD_NAME
+, 1+
+i
+, 
+chunks
+[i].
+addr
+, chunks[i].addr+
+phdrs
+[i].
+p_f\9eesz
+,
+
+358 
+chunks
+[
+i
+].
+off£t
+, chunks[i].
+size
+, 
+memsz
+, chunks[i].
+bss_sz
+));
+
+360 ià(
+·ddr
+ < 
+low_addr
+)
+
+361 
+low_addr
+ = 
+·ddr
+;
+
+362 ià(
+·ddr
+ + 
+memsz
+ > 
+max_addr
+)
+
+363 
+max_addr
+ = 
+·ddr
+ + 
+memsz
+;
+
+366 ià(
+low_addr
+ & (
+EFI_PAGE_SIZE
+ - 1)) {
+
+367 
+       `ERR_PRT
+((
+L
+"% :\86ow_add¸nÙ\85ag\90®igÃd 0x%lx\n", 
+LD_NAME
+, 
+low_addr
+));
+
+368 \10
+\94
+;
+
+370 
+       `ª®yze_chunks
+();
+
+372 
+       `DBG_PRT
+((
+L
+"%s : %d\85rogram headers\83ntry=0x%lx\nlowest_addr=0x%lx highest_addr=0x%lx\n",
+
+373 
+LD_NAME
+,
+
+374 
+phnum
+, 
+k\94Ãl_\92\8cy
+, 
+low_addr
+, 
+max_addr
+));
+
+376 
+tٮ_size
+ = (
+UINTN
+)
+max_addr
+ - (UINTN)
+low_addr
+;
+
+377 
+·ges
+ = 
+       `EFI_SIZE_TO_PAGES
+(
+tٮ_size
+);
+
+382 
+k\94Ãl_ba£
+ = (\1e*)
+low_addr
+;
+
+383 
+k\94Ãl_\92d
+ = (\1e*)(
+low_addr
+ + (
+·ges
+ << 
+EFI_PAGE_SHIFT
+));
+
+386 ià(
+       `®loc_kmem
+((\1e*)
+low_addr
+, 
+·ges
+) == -1) {
+
+387 
+       `ERR_PRT
+((
+L
+"%s : AllocatePages(%d, 0x%lx) for kernel failed\n",
+
+388 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+389 
+       `ERR_PRT
+((
+L
+"% : Could\82Ù\86ßd k\94ÃÈ© 0x%lx\n", 
+LD_NAME
+, 
+low_addr
+));
+
+390 
+       `ERR_PRT
+((
+L
+"% : Ba\9e\9ag\n", 
+LD_NAME
+));
+
+391 \10
+\94
+;
+
+394 
+\94
+:
+
+395 ià(
+chunks
+)
+
+396 
+       `ä\93
+(
+chunks
+);
+
+398 
+       }
+}
+
+405 
+       $Ãxtchunk
+(\1e)
+
+407 \12
+i
+;
+
+408 
+£gm\92t_t
+ *
+;
+
+410 
+ = 
+NULL
+;
+
+411 \ f
+i
+=0; i < 
+nchunks
+; i++) {
+
+413 ià(!
+       `CHUNK_IS_VALID
+(
+i
+è|| !
+       `CHUNK_IS_LOAD
+(i)) \ 6;
+
+415 ià(
+f\9ee_off£t
+ > 
+chunks
+[
+i
+].
+off£t
+) \ 6;
+
+417 ià(
+ =ð
+NULL
+ || 
+chunks
+[
+i
+].
+off£t
+ < cp->offset) cp = &chunks[i];
+
+419 
+cur_chunk
+ = 
+;
+
+420 
+       }
+}
+
+428 
+       $æush_w\9adow
+(\1e)
+
+430 \18cڡ 
+CHAR8
+h\96icÝ\8br
+[4] = { '|' , '/' , '-' , '\\' };
+
+431 \18
+UINTN
+h\96i_couÁ
+;
+
+432 \19
+£gm\92t
+ *
+;
+
+433 \ 5*
+¤c
+, *
+d¡
+;
+
+434 \13
+út
+;
+
+436 ià(!
+outút
+) \15;
+
+438 
+       `DBG_PRT
+((
+L
+"% : flush_w\9adow ou\8aù=%d f\9ee_off£t=%ld\n", 
+LD_NAME
+, 
+outút
+, 
+f\9ee_off£t
+));
+
+440 
+       `Pr\9at
+(
+L
+"%c\b",
+h\96icÝ\8br
+[
+h\96i_couÁ
+++%4]);
+
+442 
+       `updüc
+(
+w\9adow
+, 
+outút
+);
+
+445 ià(!
+by\8bs_out
+) {
+
+446 ià(
+       `f\9c¡_block
+(
+w\9adow
+, 
+outút
+) < 0)
+
+447 
+       `\94
+("invalid\83xec header");
+
+448 
+       `Ãxtchunk
+();
+
+451 
+by\8bs_out
+ +ð
+outút
+;
+
+452 
+¤c
+ = 
+w\9adow
+;
+
+453 
+\8f\9e
+:
+
+455 ià(
+       `check_abÜt
+(è=ð
+EFI_SUCCESS
\10
+lßd_abÜt
+;
+
+457 
+ = 
+cur_chunk
+;
+
+458 ià(
+ =ð
+NULL
+ || 
+f\9ee_off£t
+ + 
+outút
+ <ðý->
+off£t
+) {
+
+459 
+f\9ee_off£t
+ +ð
+outút
+;
+
+464 ià(
+f\9ee_off£t
+ < 
+->
+off£t
+) {
+
+465 \1d\13
+sk\9d
+ = 
+->
+off£t
+ - 
+f\9ee_off£t
+;
+
+467 
+¤c
+ +ð
+sk\9d
+;
+
+468 
+f\9ee_off£t
+ +ð
+sk\9d
+;
+
+469 
+outút
+ -ð
+sk\9d
+;
+
+471 
+d¡
+ = (\ 5*)
+->
+addr
+ + (
+f\9ee_off£t
+ - cp->
+off£t
+);
+
+472 
+út
+ = 
+->
+off£t
+ + cp->
+size
+ - 
+f\9ee_off£t
+;
+
+473 ià(
+út
+ > 
+outút
+)
+
+474 
+út
+ = 
+outút
+;
+
+476 
+       `Memýy
+(
+d¡
+, 
+¤c
+, 
+út
+);
+
+478 
+f\9ee_off£t
+ +ð
+út
+;
+
+479 
+outút
+ -ð
+út
+;
+
+480 
+¤c
+ +ð
+út
+;
+
+483 ià(
+f\9ee_off£t
+ =ð
+->
+off£t
+ + cp->
+size
+) {
+
+484 ià(
+->
+bss_sz
+) {
+
+485 
+d¡
+ = (\ 5*)
+->
+addr
+ + cp->
+size
+;
+
+486 
+       `Mem£t
+(
+d¡
+, 0, 
+->
+bss_sz
+);
+
+488 
+       `Ãxtchunk
+();
+
+490 ià(
+outút
+)
+
+491 \10
+\8f\9e
+;
+
+494 
+lßd_abÜt
+:
+
+495 
+       `ä\93_kmem
+();
+
+496 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_ABORTED
+;
+
+497 
+       }
+}
+
+500 
+       $\94
+(\ 5*
+x
+)
+
+502 
+       `ERR_PRT
+((
+L
+"% : %a", 
+LD_NAME
+, 
+x
+));
+
+504 
+       }
+}
+
+506 
+INT32
+
+
+507 
+       $decom´ess_k\94Ãl
+(
+VOID
+)
+
+509 
+INT32
+»t
+;
+
+511 
+       `þ\97r_bufs
+();
+
+512 
+       `makeüc
+();
+
+513 
+       `Pr\9at
+(
+L
+"Uncompressing Linux... ");
+
+514 
+»t
+ = 
+       `gunz\9d
+();
+
+515 ià(
+»t
+ == 0)
+
+516 
+       `Pr\9at
+(
+L
+"done\n");
+
+517 \15 
+»t
+ == 0 ? 0 : -1;
+
+518 
+       }
+}
+
+521 
+       $gunz\9d_k\94Ãl
+(
+fÝs_fd_t
+fd
+, 
+kdesc_t
+ *
+kd
+)
+
+523 \12
+»t
+ = -1;
+
+525 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_ERROR
+;
+
+527 
+w\9adow
+ = (\1e*)
+       `®loc
+(
+WSIZE
+, 0);
+
+528 ià(
+w\9adow
+ =ð
+NULL
+) {
+
+529 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b ou\8du\88w\9adow fa\9eed\n", 
+LD_NAME
+));
+
+533 
+\9abuf
+ = (\1e*)
+       `®loc
+(
+INBUFSIZE
+, 0);
+
+534 ià(
+\9abuf
+ =ð
+NULL
+) {
+
+535 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b iÅu\88w\9adow fa\9eedr\n", 
+LD_NAME
+));
+
+536 \10
+\94
+;
+
+538 
+\9aput_fd
+ = 
+fd
+;
+
+539 
+\9asize
+ = 0;
+
+540 
+by\8bs_out
+ = 0;
+
+542 
+»t
+ = 
+       `decom´ess_k\94Ãl
+();
+
+543 
+\94
+:
+
+544 ià(
+w\9adow
+       `ä\93
+(window);
+
+545 ià(
+\9abuf
+       `ä\93
+(inbuf);
+
+547 ià(
+»t
+ == 0) {
+
+548 
+kd
+->
+k\92\8cy
+ = 
+k\94Ãl_\92\8cy
+;
+
+549 
+kd
+->
+k\92d
+ = 
+k\94Ãl_\92d
+;
+
+550 
+kd
+->
+k¡¬t
+ = 
+k\94Ãl_ba£
+;
+
+551 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_SUCCESS
+;
+
+553 \15 
+\94rÜ_»tuº
+;
+
+554 
+       }
+}
+
+       @ia32/gzip_loader.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"lßd\94.h
+"
+
+31 \ 2
+       ~"gz\9d.h
+"
+
+33 \ 1
+       #LD_NAME
+L
+"gz\9d_\9f32"
+
+       )
+
+35 \18
+INTN
+
+
+36 
+       $gz\9d_´obe_fÜm©
+(
+CHAR16
+ *
+kÇme
+)
+
+38 
+UINT8
+buf
+[4];
+
+39 
+EFI_STATUS
+¡©us
+;
+
+40 
+INTN
+»t
+ = -1;
+
+41 
+UINTN
+size
+;
+
+42 
+fÝs_fd_t
+fd
+;
+
+44 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+45 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15 -1;
+
+47 
+size
+ = \17(
+buf
+);
+
+48 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+buf
+, &
+size
+);
+
+50 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð\17(
+buf
+)è\10
+\94
+;
+
+52 
+»t
+ = 
+       `gz\9d_´obe
+(
+buf
+, \17(buf));
+
+53 
+\94
+:
+
+54 
+       `fÝs_þo£
+(
+fd
+);
+
+55 \15 
+»t
+;
+
+56 
+       }
+}
+
+59 \18
+INTN
+
+
+60 
+       $gz\9d_lßd_k\94Ãl
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+62 
+EFI_STATUS
+¡©us
+;
+
+63 
+INT32
+»t
+;
+
+64 
+fÝs_fd_t
+fd
+;
+
+66 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+67 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+69 
+»t
+ = 
+       `gunz\9d_k\94Ãl
+(
+fd
+, 
+kd
+);
+
+71 
+       `fÝs_þo£
+(
+fd
+);
+
+73 \15 
+»t
+;
+
+74 
+       }
+}
+
+76 
+lßd\94_Ýs_t
+       ggz\9d_lßd\94
+={
+
+77 
+NULL
+,
+
+78 
+LD_NAME
+,
+
+79 
+gz\9d_´obe_fÜm©
+,
+
+80 
+gz\9d_lßd_k\94Ãl
+
+
+       @ia32/plain_loader.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96\9eo.h
+"
+
+33 \ 2
+       ~"lßd\94.h
+"
+
+34 \ 2
+       ~"\96f.h
+"
+
+35 \ 2
+       ~"´iv©e.h
+"
+
+37 \ 1
+       #LD_NAME
+L
+"¶a\9a_\96f32"
+
+       )
+
+39 \18
+INTN
+
+
+40 
+       $is_v®id_h\97d\94
+(
+Elf32_Ehdr
+ *
+ehdr
+)
+
+42 
+UINT16
+ty³
+, 
+mach\9ae
+;
+
+44 
+ty³
+ = 
+ehdr
+->
+e_ty³
+;
+
+45 
+mach\9ae
+ = 
+ehdr
+->
+e_mach\9ae
+;
+
+47 
+       `DBG_PRT
+((
+L
+"class=%d\81ype=%d data=%d machine=%d\n",
+
+48 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+],
+
+49 
+ty³
+,
+
+50 
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+],
+
+51 
+mach\9ae
+));
+
+53 \15 
+ehdr
+->
+e_id\92t
+[
+EI_MAG0
+] == 0x7f
+
+54 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG1
+] == 'E'
+
+55 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG2
+] == 'L'
+
+56 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG3
+] == 'F'
+
+57 && 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+] =ð
+ELFCLASS32
+
+
+58 && 
+ty³
+ =ð
+ET_EXEC
+
+
+59 && 
+mach\9ae
+ =ð
+EM_386
+ ? 0 : -1;
+
+60 
+       }
+}
+
+62 \18
+INTN
+
+
+63 
+       $¶a\9a_´obe
+(
+CHAR16
+ *
+kÇme
+)
+
+65 
+Elf32_Ehdr
+ehdr
+;
+
+66 
+EFI_STATUS
+¡©us
+;
+
+67 
+INTN
+»t
+ = -1;
+
+68 
+fÝs_fd_t
+fd
+;
+
+69 
+UINTN
+size
+ = \17(
+ehdr
+);
+
+71 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+72 ià(
+       `EFI_ERROR
+(
+¡©us
+))
+
+75 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, &
+ehdr
+, &
+size
+);
+
+76 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð\17(
+ehdr
+))
+
+77 \10
+\94
+;
+
+79 
+»t
+ = 
+       `is_v®id_h\97d\94
+(&
+ehdr
+);
+
+80 
+\94
+:
+
+81 
+       `fÝs_þo£
+(
+fd
+);
+
+82 \15 
+»t
+;
+
+83 
+       }
+}
+
+86 \18
+INTN
+
+
+87 
+       $lßd_\96f
+(
+fÝs_fd_t
+fd
+, 
+kdesc_t
+ *
+kd
+)
+
+89 
+Elf32_Ehdr
+ehdr
+;
+
+90 
+Elf32_Phdr
+ *
+phdrs
+;
+
+91 
+EFI_STATUS
+¡©us
+;
+
+92 
+INTN
+»t
+ = 
+ELILO_LOAD_ERROR
+;
+
+93 
+UINTN
+i
+, 
+tٮ_size
+ = 0;
+
+94 
+UINTN
+·ges
+, 
+size
+, 
+bss_sz
+, 
+osize
+;
+
+95 
+VOID
+ *
+low_addr
+ = (VOID *)~0;
+
+96 
+VOID
+ *
+max_addr
+ = (VOID *)0;
+
+97 
+UINTN
+·ddr
+, 
+memsz
+, 
+f\9eesz
+;
+
+98 
+UINT16
+phnum
+;
+
+100 
+       `Pr\9at
+(
+L
+"Loading Linux... ");
+
+102 
+size
+ = \17(
+ehdr
+);
+
+104 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, &
+ehdr
+, &
+size
+);
+
+105 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ < \17(
+ehdr
+))
+
+106 \15 
+ELILO_LOAD_ERROR
+;
+
+108 ià(
+       `is_v®id_h\97d\94
+(&
+ehdr
+) == -1) {
+
+109 
+       `ERR_PRT
+((
+L
+"% :\82Ù\87 32-b\99 ELF image\n", 
+LD_NAME
+));
+
+110 \15 
+ELILO_LOAD_ERROR
+;
+
+112 
+       `VERB_PRT
+(3, {
+
+113 
+       `Pr\9at
+(
+L
+"ELF Header information: \n");
+
+114 
+       `Pr\9at
+(
+L
+"\tEÁry\85o\9a\880x%x\n", (
+ehdr
+.
+e_\92\8cy
+ & 
+PADDR_MASK
+));
+
+115 
+       `Pr\9at
+(
+L
+"\t%d\85rog¿m h\97d\94s\n", 
+ehdr
+.
+e_phnum
+);
+
+116 
+       `Pr\9at
+(
+L
+"\t%d segm\92\88h\97d\94s\n", 
+ehdr
+.
+e_shnum
+);
+
+119 
+phnum
+ = 
+ehdr
+.
+e_phnum
+;
+
+121 ià(
+       `fÝs_£ek
+(
+fd
+, 
+ehdr
+.
+e_phoff
+) < 0) {
+
+122 
+       `ERR_PRT
+((
+L
+"% : s\93k\81Ø%d fÜ\85hdr ç\9eed", 
+LD_NAME
+, 
+ehdr
+.
+e_phoff
+));
+
+123 \15 
+ELILO_LOAD_ERROR
+;
+
+125 
+size
+ = 
+osize
+ = (
+phnum
+ * \17(
+Elf32_Phdr
+));
+
+127 
+       `DBG_PRT
+((
+L
+"%s :\87llocate %d bytes for %d\85headers\83ach of size:%d\85hentsize=%d\n",
+
+128 
+LD_NAME
+, 
+size
+, 
+phnum
+, \17(
+Elf32_Phdr
+), 
+ehdr
+.
+e_ph\92tsize
+));
+
+130 
+phdrs
+ = (
+Elf32_Phdr
+ *)
+       `®loc
+(
+size
+, 0);
+
+131 ià(
+phdrs
+ =ð
+NULL
+) {
+
+132 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b fÜ\85hdr ç\9eed", 
+LD_NAME
+));
+
+133 \15 
+ELILO_LOAD_ERROR
+;
+
+135 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+phdrs
+, &
+size
+);
+
+136 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð
+osize
+) {
+
+137 
+       `ERR_PRT
+((
+L
+"% :\85hd¸lßd fa\9eed", 
+LD_NAME
+, 
+¡©us
+));
+
+138 \10
+out
+;
+
+143 \ f
+i
+ = 0; i < 
+phnum
+; i++) {
+
+145 
+·ddr
+ = (
+phdrs
+[
+i
+].
+p_·ddr
+ & 
+PADDR_MASK
+);
+
+146 
+memsz
+ = 
+phdrs
+[
+i
+].
+p_memsz
+;
+
+148 
+       `DBG_PRT
+((
+L
+"Phdr %d\85addr [0x%x-0x%x] offset 0x%x"
+
+150 1+
+i
+, 
+·ddr
+,\85addr+
+phdrs
+[i].
+p_f\9eesz
+,\85hdrs[i].
+p_off£t
+,
+
+151 
+phdrs
+[
+i
+].
+p_f\9eesz
+, 
+memsz
+,
+
+152 (
+memsz
+ - 
+phdrs
+[
+i
+].
+p_f\9eesz
+),\85hdrs[i].
+p_ty³
+));
+
+154 ià(
+phdrs
+[
+i
+].
+p_ty³
+ !ð
+PT_LOAD
+)
+
+156 ià(
+·ddr
+ < (
+UINTN
+)
+low_addr
+)
+
+157 
+low_addr
+ = (
+VOID
+ *)
+·ddr
+;
+
+158 ià(
+·ddr
+ + 
+memsz
+ > (
+UINTN
+)
+max_addr
+)
+
+159 
+max_addr
+ = (
+VOID
+ *)
+·ddr
+ + 
+memsz
+;
+
+162 ià((
+UINTN
+)
+low_addr
+ & (
+EFI_PAGE_SIZE
+ - 1)) {
+
+163 
+       `ERR_PRT
+((
+L
+"%s : kernel\86ow\87ddress 0x%x\82ot\85age\87ligned\n",
+
+164 
+LD_NAME
+, 
+low_addr
+));
+
+165 \10
+out
+;
+
+168 
+tٮ_size
+ = (
+UINTN
+)
+max_addr
+ - (UINTN)
+low_addr
+;
+
+171 
+·ges
+ = 
+       `EFI_SIZE_TO_PAGES
+(
+tٮ_size
+);
+
+174 
+kd
+->
+k¡¬t
+ = 
+low_addr
+;
+
+175 
+kd
+->
+k\92d
+ = (
+low_addr
+ + (
+·ges
+ << 
+EFI_PAGE_SHIFT
+));
+
+176 
+kd
+->
+k\92\8cy
+ = (
+VOID
+ *)(
+ehdr
+.
+e_\92\8cy
+ & 
+PADDR_MASK
+);
+
+178 
+       `VERB_PRT
+(3, {
+
+179 
+       `Pr\9at
+(
+L
+"Lowest PhysAddr: 0x%x\nTotalMemSize:%d bytes (%d\85ages)\n",
+
+180 
+low_addr
+, 
+tٮ_size
+, 
+·ges
+);
+
+181 
+       `Pr\9at
+(
+L
+"K\94ÃÈ\92\8cy @ 0x%x\n", 
+kd
+->
+k\92\8cy
+);
+
+185 ià(
+       `®loc_kmem
+(
+low_addr
+, 
+·ges
+) == -1) {
+
+186 
+       `ERR_PRT
+((
+L
+"%s : AllocatePages(%d, 0x%lx) for kernel failed\n",
+
+187 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+188 
+       `ERR_PRT
+((
+L
+"%s : Could\82ot\87lloc %d\85ages for\81he kernel\87t 0x%lx "
+
+190 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+191 \10
+lßd_abÜt
+;
+
+194 
+       `Mem£t
+(
+low_addr
+, 0, (
+·ges
+ << 
+EFI_PAGE_SHIFT
+));
+
+196 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"Press\87ny key\81o interrupt\n"));
+
+203 \ f
+i
+ = 0; i < 
+phnum
+; i++) {
+
+206 ià(
+phdrs
+[
+i
+].
+p_ty³
+ !ð
+PT_LOAD
+)
+
+209 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"poffs: 0x%x (phdrs[%d].p_offset)\n",
+
+210 
+phdrs
+[
+i
+].
+p_off£t
+, i));
+
+212 
+f\9eesz
+ = 
+phdrs
+[
+i
+].
+p_f\9eesz
+;
+
+213 
+low_addr
+ = (
+VOID
+ *)((
+UINTN
+phdrs
+[
+i
+].
+p_·ddr
+ & 
+PADDR_MASK
+);
+
+216 ià(
+       `fÝs_£ek
+(
+fd
+, 
+phdrs
+[
+i
+].
+p_off£t
+) < 0)
+
+217 \10
+out_k\94Ãl
+;
+
+220 
+bss_sz
+ = 
+phdrs
+[
+i
+].
+p_memsz
+ - 
+f\9eesz
+;
+
+222 
+       `VERB_PRT
+(4, {
+
+223 
+       `Pr\9at
+(
+L
+"\nH\97d\94 #%d\n", 
+i
+);
+
+224 
+       `Pr\9at
+(
+L
+"Off£\88\9a f\9e\900x%x\n", 
+phdrs
+[
+i
+].
+p_off£t
+);
+
+225 
+       `Pr\9at
+(
+L
+"PhysiÿÈadd¸0x%x\n", 
+low_addr
+);
+
+226 
+       `Pr\9at
+(
+L
+"BSS siz\900x%x by\8bs\n", 
+bss_sz
+);
+
+232 
+»t
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+low_addr
+, &
+f\9eesz
+);
+
+233 ià(
+»t
+ =ð
+ELILO_LOAD_ABORTED
\10
+lßd_abÜt
+;
+
+234 ià(
+»t
+ =ð
+ELILO_LOAD_ERROR
\10
+out
+;
+
+239 ià(
+bss_sz
+)
+
+240 
+       `Mem£t
+((
+VOID
+ *)
+low_addr
++
+f\9eesz
+, 0, 
+bss_sz
+);
+
+243 
+       `ä\93
+(
+phdrs
+);
+
+245 
+       `Pr\9at
+(
+L
+"..Done\n");
+
+246 \15 
+ELILO_LOAD_SUCCESS
+;
+
+248 
+lßd_abÜt
+:
+
+249 
+       `Pr\9at
+(
+L
+"..Aborted\n");
+
+250 
+»t
+ = 
+ELILO_LOAD_ABORTED
+;
+
+251 
+out_k\94Ãl
+:
+
+253 
+       `ä\93_kmem
+();
+
+254 
+out
+:
+
+255 
+       `ä\93
+(
+phdrs
+);
+
+256 \15 
+»t
+;
+
+257 
+       }
+}
+
+259 \18
+INTN
+
+
+260 
+       $¶a\9a_lßd_k\94Ãl
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+262 
+INTN
+»t
+;
+
+263 
+fÝs_fd_t
+fd
+;
+
+264 
+EFI_STATUS
+¡©us
+;
+
+269 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+270 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+272 
+       `Pr\9at
+(
+L
+"Lßd\9ag %s...", 
+kÇme
+);
+
+274 
+»t
+ = 
+       `lßd_\96f
+(
+fd
+, 
+kd
+);
+
+276 
+       `fÝs_þo£
+(
+fd
+);
+
+277 \15 
+»t
+;
+
+278 
+       }
+}
+
+280 
+lßd\94_Ýs_t
+       g¶a\9a_lßd\94
+={
+
+281 
+NULL
+,
+
+282 
+LD_NAME
+,
+
+283 
+¶a\9a_´obe
+,
+
+284 
+¶a\9a_lßd_k\94Ãl
+
+
+       @ia32/private.h
+
+26 #iâdeà
+__ELILO_PRIVATE_IA32_H__
+
+
+27 \ 1
+       #__ELILO_PRIVATE_IA32_H__
+
+
+       )
+
+       @ia32/sysdeps.h
+
+32 #iâdeà
+__ELILO_SYSDEPS_IA32_H__
+
+
+33 \ 1
+       #__ELILO_SYSDEPS_IA32_H__
+
+
+       )
+
+35 \ 1
+       #ELILO_ARCH
+ "IA-32"
+
+       )
+
+36 \ 1
+       #PADDR_MASK
+ 0xfffffff
+
+       )
+
+39 \ 1
+       #Mem£t
+(
+a
+,
+v
+,
+n
+       `S\91Mem
+(×),Ò),(v))
+
+       )
+
+40 \ 1
+       #Memýy
+(
+a
+,
+b
+,
+n
+       `CÝyMem
+(×),(b),Ò))
+
+       )
+
+61 #´agm¨
+·ck
+(1)
+
+62 \e\1c
+       u\9f32_boÙ_·¿ms
+ {
+
+63 
+UINT8
+       m¿w
+[0x2000];
+
+66  
+UINT8
+       mÜig_cursÜ_cÞ
+;
+
+67  
+UINT8
+       mÜig_cursÜ_row
+;
+
+70  
+UINT16
+       mext_mem_k
+;
+
+73  
+UINT16
+       mÜig_video_·ge
+;
+
+74  
+UINT8
+       mÜig_video_mode
+;
+
+75  
+UINT8
+       mÜig_video_cÞs
+;
+
+77  
+UINT16
+       munu£d_1
+;
+
+80  
+UINT16
+       mÜig_ega_bx
+;
+
+82  
+UINT16
+       munu£d_2
+;
+
+85  
+UINT8
+       mÜig_video_rows
+;
+
+88  
+UINT8
+       mis_vga
+;
+
+89  
+UINT16
+       mÜig_video_po\9ats
+;
+
+92  
+UINT16
+       mlfb_width
+;
+
+93  
+UINT16
+       mlfb_height
+;
+
+94  
+UINT16
+       mlfb_d\95th
+;
+
+95  
+UINT32
+       mlfb_ba£
+;
+
+96  
+UINT32
+       mlfb_size
+;
+
+101  
+UINT16
+       mcmdl\9ae_magik
+;
+
+102 \ 1
+       #CMDLINE_MAGIK
+ 0xA33F
+
+       )
+
+103  
+UINT16
+       mcmdl\9ae_off£t
+;
+
+106  
+UINT16
+       mlfb_l\9ae_Ën
+;
+
+109  
+UINT8
+       mlfb_»d_size
+;
+
+110  
+UINT8
+       mlfb_»d_pos
+;
+
+111  
+UINT8
+       mlfb_g»\92_size
+;
+
+112  
+UINT8
+       mlfb_g»\92_pos
+;
+
+113  
+UINT8
+       mlfb_blue_size
+;
+
+114  
+UINT8
+       mlfb_blue_pos
+;
+
+115  
+UINT8
+       mlfb_rsvd_size
+;
+
+116  
+UINT8
+       mlfb_rsvd_pos
+;
+
+119  
+UINT16
+       mve§_£g
+;
+
+120  
+UINT16
+       mve§_off
+;
+
+123  
+UINT16
+       mlfb_·ges
+;
+
+124  
+UINT8
+       mlfb_»£rved
+[0x0C];
+
+127  
+UINT16
+       m­m_bios_v\94
+;
+
+128 \ 1
+       #NO_APM_BIOS
+ 0x0000
+
+       )
+
+131  
+UINT16
+       mbios_code_£g
+;
+
+132  
+UINT32
+       mbios_\92\8cy_po\9at
+;
+
+133  
+UINT16
+       mbios_code_£g16
+;
+
+134  
+UINT16
+       mbios_d©a_£g
+;
+
+137  
+UINT16
+       m­m_bios_æags
+;
+
+138 \ 1
+       #NO_32BIT_APM_MASK
+ 0xFFFD
+
+       )
+
+141  
+UINT32
+       mbios_code_Ën
+;
+
+142  
+UINT16
+       mbios_d©a_Ën
+;
+
+144  
+UINT8
+       munu£d_3
+[0x2C];
+
+147  
+UINT8
+       mhd0_\9afo
+[0x10];
+
+148  
+UINT8
+       mhd1_\9afo
+[0x10];
+
+151  
+UINT16
+       mmÿ_\9afo_Ën
+;
+
+152  
+UINT8
+       mmÿ_\9afo_buf
+[0x10];
+
+154  
+UINT8
+       munu£d_4
+[0x10E];
+
+157  
+UINT8
+       mefi_lßd\94_sig
+[4];
+
+158 \ 1
+       #EFI_LOADER_SIG
+ "EFIL"
+
+       )
+
+161  
+UINT32
+       mefi_sys_tbl
+;
+
+164  
+UINT32
+       mefi_mem_desc_size
+;
+
+167  
+UINT32
+       mefi_mem_desc_v\94
+;
+
+170  
+UINT32
+       mefi_mem_m­
+;
+
+171  
+UINT32
+       mefi_mem_m­_size
+;
+
+174  
+UINT32
+       mlßd\94_¡¬t
+;
+
+175  
+UINT32
+       mlßd\94_size
+;
+
+178  
+UINT32
+       m®t_mem_k
+;
+
+180  
+UINT8
+       munu£d_5
+[0x0D];
+
+183  
+UINT8
+       m£tup_£ùÜs
+;
+
+186  
+UINT16
+       mmouÁ_roÙ_rdÚly
+;
+
+189  
+UINT16
+       msys_size
+;
+
+192  
+UINT16
+       msw­_dev
+;
+
+195  
+UINT16
+       m¿mdisk_æags
+;
+
+196 \ 1
+       #RAMDISK_PROMPT
+ 0x8000
+
+       )
+
+197 \ 1
+       #RAMDISK_LOAD
+ 0x4000
+
+       )
+
+200  
+UINT16
+       mvideo_mode_æag
+;
+
+203  
+UINT16
+       mÜig_roÙ_dev
+;
+
+205  
+UINT8
+       munu£d_6
+;
+
+208  
+UINT8
+       maux_dev_\9afo
+;
+
+209 \ 1
+       #NO_MOUSE
+ 0x00
+
+       )
+
+210 \ 1
+       #FOUND_MOUSE
+ 0xAA
+
+       )
+
+213  
+UINT16
+       mjump
+;
+
+216  
+UINT8
+       m£tup_sig
+[4];
+
+217 \ 1
+       #SETUP_SIG
+ "HdrS"
+
+       )
+
+220  
+UINT8
+       mhdr_m\9aÜ
+;
+
+221  
+UINT8
+       mhdr_majÜ
+;
+
+224  
+UINT32
+       mrm_sw\99ch
+;
+
+227  
+UINT16
+       m¡¬t_sys_£g
+;
+
+230  
+UINT16
+       mk\94Ãl_v\94¡r_off£t
+;
+
+233  
+UINT8
+       mlßd\94_ty³
+;
+
+234 \ 1
+       #LDRTYPE_ELILO
+ 0x50
+
+       )
+
+237  
+UINT8
+       mlßd\94_æags
+;
+
+238 \ 1
+       #LDRFLAG_CAN_USE_HEAP
+ 0x80
+
+       )
+
+239 \ 1
+       #LDRFLAG_BOOT_PARAM_RELOC
+ 0x40
+
+       )
+
+242  
+UINT16
+       m£tup_move_size
+;
+
+245  
+UINT32
+       mk\94Ãl_¡¬t
+;
+
+248  
+UINT32
+       m\9a\99rd_¡¬t
+;
+
+249  
+UINT32
+       m\9a\99rd_size
+;
+
+252  
+UINT32
+       mboÙ£ù_h\96³r
+;
+
+255  
+UINT16
+       mh\97p_\92d_±r
+;
+
+258  
+UINT16
+       munu£d_7
+;
+
+260  
+UINT32
+       mcmdl\9ae_addr
+;
+
+261 } 
+       ms
+;
+
+262 } 
+       tboÙ_·¿ms_t
+;
+
+263 #´agm¨
+·ck
+()
+
+274 \ 1
+       #MEMCPY
+(
+to
+, 
+äom
+, 
+út
+) { \
+
+275 
+UINT8
+ *
+t
+ = (UINT8 *)(
+to
+); \
+
+276 
+UINT8
+ *
+f
+ = (UINT8 *)(
+äom
+); \
+
+277 
+UINTN
+n
+ = 
+út
+; \
+
+278 ià(
+t
+ && 
+f
+ && 
+n
+) { \
+
+279 \1f
+n
+--) { \
+
+280 *
+t
+++ = *
+f
+++; \
+
+283 }
+
+       )
+
+285 \ 1
+       #MEMSET
+(
+±r
+, 
+size
+, 
+v®
+) { \
+
+286 
+UINT8
+ *
+p
+ = (UINT8 *)(
+±r
+); \
+
+287 
+UINTN
+n
+ = (UINTN)(
+size
+); \
+
+288 
+UINT8
+v
+ = (UINT8)(
+v®
+); \
+
+289 ià(
+p
+ && 
+n
+) { \
+
+290 \1f
+n
+--) { \
+
+291 *
+p
+++ = 
+v
+; \
+
+294 }
+
+       )
+
+299 #´agm¨
+·ck
+(1)
+
+301 
+UINT16
+       mlim\99
+;
+
+302 
+UINT32
+       mba£
+;
+
+303 } 
+       tdt_addr_t
+;
+
+304 #´agm¨
+·ck
+()
+
+306 \r
+UINTN
+high_ba£_mem
+;
+
+307 \r
+UINTN
+high_ext_mem
+;
+
+309 \r
+boÙ_·¿ms_t
+ *
+·¿m_¡¬t
+;
+
+310 \r
+UINTN
+·¿m_size
+;
+
+312 \r
+VOID
+ *
+k\94Ãl_¡¬t
+;
+
+313 \r
+UINTN
+k\94Ãl_size
+;
+
+315 \r
+VOID
+ *
+\9a\99rd_¡¬t
+;
+
+316 \r
+UINTN
+\9a\99rd_size
+;
+
+318 \r
+dt_addr_t
+gdt_addr
+;
+
+319 \r
+dt_addr_t
+idt_addr
+;
+
+321 \r
+UINT16
+\9a\99_gdt
+[];
+
+322 \r
+UINTN
+sizeof_\9a\99_gdt
+;
+
+324 \r
+UINT8
+rmsw\99ch_image
+[];
+
+325 \r
+UINTN
+rmsw\99ch_size
+;
+
+327 \r
+INTN
+\9f32_u£_Ëgacy_ä\93_boÙ
+();
+
+333 \18
+\9al\9ae
\1e
+
+334 
+       $¡¬t_k\94Ãl
+(
+VOID
+ *
+k\92\8cy
+, 
+boÙ_·¿ms_t
+ *
+bp
+)
+
+339 
+asm
+ volatile ( "cli" : : );
+
+345 ià(
+bp
+->
+s
+.
+\9a\99rd_¡¬t
+) {
+
+346 
+       `MEMCPY
+(15 * 1024 * 1024, 
+bp
+->
+s
+.
+\9a\99rd_¡¬t
+, bp->s.
+\9a\99rd_size
+);
+
+347 
+bp
+->
+s
+.
+\9a\99rd_¡¬t
+ = 15 * 1024 * 1024;
+
+355 
+       `MEMCPY
+(
+high_ba£_mem
+, 
+bp
+, 0x4000);
+
+361 
+       `MEMSET
+(
+gdt_addr
+.
+ba£
+, gdt_addr.
+lim\99
+, 0);
+
+362 
+       `MEMCPY
+(
+gdt_addr
+.
+ba£
+, 
+\9a\99_gdt
+, 
+sizeof_\9a\99_gdt
+);
+
+364 ià(! 
+       `\9f32_u£_Ëgacy_ä\93_boÙ
+()) {
+
+370 
+       `MEMCPY
+(0x7C00, 
+rmsw\99ch_image
+, 
+rmsw\99ch_size
+);
+
+372 
+asm
+ volatile ( "movl $0x7C00, %%ebx" : : );
+
+373 
+asm
+ volatile ( "jmp *%%ebx" : : );
+
+380 
+asm
+ vÞ©\9e\90Ð"lid\88%0" : : "m" (
+idt_addr
+) );
+
+381 
+asm
+ vÞ©\9e\90Ð"lgd\88%0" : : "m" (
+gdt_addr
+) );
+
+389 
+asm
+ vÞ©\9e\90Ð"movÈ%0, %%esi" : : "m" (
+high_ba£_mem
+) );
+
+390 
+asm
+ vÞ©\9e\90Ð"movÈ%0, %%ecx" : : "m" (
+k\92\8cy
+) );
+
+391 
+asm
+ volatile ( "xorl %%ebx, %%ebx" : : );
+
+397 
+asm
+ volatile ( "jmp *%%ecx" : : );
+
+398 
+       }
+}
+
+400 \e\19
+       ssys_img_ÝtiÚs
+ {
+
+401 
+UINT8
+       mnÙh\9ag_y\91
+;
+
+402 } 
+       tsys_img_ÝtiÚs_t
+;
+
+       @ia32/system.c
+
+31 \ 2
+       ~<efi.h
+>
+
+32 \ 2
+       ~<ef\9eib.h
+>
+
+34 \ 2
+       ~"\96\9eo.h
+"
+
+35 \ 2
+       ~"lßd\94.h
+"
+
+36 \ 2
+       ~"rmsw\99ch.h
+"
+
+38 \r
+lßd\94_Ýs_t
+bzimage_lßd\94
+, 
+¶a\9a_lßd\94
+, 
+gz\9d_lßd\94
+;
+
+44 
+dt_addr_t
+       ggdt_addr
+ = { 0x800, 0x94000 };
+
+45 
+dt_addr_t
+       gidt_addr
+ = { 0, 0 };
+
+51 
+UINT16
+       g\9a\99_gdt
+[] = {
+
+71 
+UINTN
+       gsizeof_\9a\99_gdt
+ = \17 
+\9a\99_gdt
+;
+
+86 
+UINTN
+       ghigh_ba£_mem
+ = 0x90000;
+
+97 
+UINTN
+       ghigh_ext_mem
+ = 32 * 1024 * 1024;
+
+100 
+VOID
+ *
+       gk\94Ãl_¡¬t
+ = (VOID *)0x100000;
+
+102 
+VOID
+ *
+       g\9a\99rd_¡¬t
+ = 
+NULL
+;
+
+103 
+UINTN
+       g\9a\99rd_size
+ = 0;
+
+105 
+INTN
+
+
+106 
+       $sysd\95s_\9a\99
+(
+EFI_HANDLE
+dev
+)
+
+108 
+       `DBG_PRT
+((
+L
+"sysdeps_init()\n"));
+
+114 
+       `lßd\94_»gi¡\94
+(&
+bzimage_lßd\94
+);
+
+115 
+       `lßd\94_»gi¡\94
+(&
+¶a\9a_lßd\94
+);
+
+116 
+       `lßd\94_»gi¡\94
+(&
+gz\9d_lßd\94
+);
+
+118 
+       }
+}
+
+128 
+INTN
+
+
+129 
+       $sysd\95s_\9a\99rd_g\91_addr
+(
+kdesc_t
+ *
+kd
+, 
+memdesc_t
+ *
+imem
+)
+
+131 
+       `DBG_PRT
+((
+L
+"initrd_get_addr()\n"));
+
+133 ià(!
+kd
+ || !
+imem
+) {
+
+134 
+       `ERR_PRT
+((
+L
+"kd=0x%x imem=0x%x", 
+kd
+, 
+imem
+));
+
+138 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"kstart=0x%x kentry=0x%x kend=0x%x\n",
+
+139 
+kd
+->
+k¡¬t
+, kd->
+k\92\8cy
+, kd->
+k\92d
+));
+
+141 
+imem
+->
+¡¬t_addr
+ = 
+kd
+->
+k\92d
+;
+
+143 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"initrd start_addr=0x%x\85gcnt=%d\n",
+
+144 
+imem
+->
+¡¬t_addr
+, imem->
+pgút
+));
+
+147 
+       }
+}
+
+149 
+VOID
+
+
+150 
+       $sysd\95s_ä\93_boÙ_·¿ms
+(
+boÙ_·¿ms_t
+ *
+bp
+)
+
+152 
+mm­_desc_t
+md
+;
+
+154 
+       `Z\94oMem
+(&
+md
+, \17 md);
+
+155 
+md
+.md = (
+VOID
+ *)
+bp
+->
+s
+.
+efi_mem_m­
+;
+
+156 
+       `ä\93_memm­
+(&
+md
+);
+
+157 
+       }
+}
+
+162 
+INTN
+
+
+163 
+       $sysd\95s_ü\97\8b_boÙ_·¿ms
+(
+
+164 
+boÙ_·¿ms_t
+ *
+bp
+,
+
+165 
+CHAR8
+ *
+cmdl\9ae
+,
+
+166 
+memdesc_t
+ *
+\9a\99rd
+,
+
+167 
+memdesc_t
+ *
+vmcode
+,
+
+168 
+UINTN
+ *
+cook\9b
+)
+
+170 
+mm­_desc_t
+mdesc
+;
+
+171 
+EFI_STATUS
+efi_¡©us
+;
+
+172 
+UINTN
+rows
+, 
+cÞs
+;
+
+173 
+UINT8
+row
+, 
+cÞ
+;
+
+174 
+UINT8
+mode
+;
+
+175 
+UINT16
+hdr_v\94siÚ
+;
+
+177 
+       `DBG_PRT
+((
+L
+"fill_boot_params()\n"));
+
+179 ià(!
+bp
+ || !
+cmdl\9ae
+ || !
+\9a\99rd
+ || !
+cook\9b
+) {
+
+180 
+       `ERR_PRT
+((
+L
+"bp=0x%x cmdline=0x%x initrd=0x%x cookie=0x%x",
+
+181 
+bp
+, 
+cmdl\9ae
+, 
+\9a\99rd
+, 
+cook\9b
+));
+
+183 ià(
+·¿m_¡¬t
+ !ð
+NULL
+) {
+
+184 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+185 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+186 
+·¿m_size
+ = 0;
+
+188 
+       `ä\93_kmem
+();
+
+198 ià(
+·¿m_¡¬t
+ !ð
+NULL
+) {
+
+199 
+       `CÝyMem
+(
+bp
+, 
+·¿m_¡¬t
+, 0x2000);
+
+200 
+       `ä\93
+(
+·¿m_¡¬t
+);
+
+201 
+·¿m_¡¬t
+ = 
+NULL
+;
+
+202 
+·¿m_size
+ = 0;
+
+207 
+hdr_v\94siÚ
+ = (
+bp
+->
+s
+.
+hdr_majÜ
+ << 8è| bp->s.
+hdr_m\9aÜ
+;
+
+212 
+bp
+->
+s
+.
+unu£d_1
+ = 0;
+
+213 
+bp
+->
+s
+.
+unu£d_2
+ = 0;
+
+214 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+unu£d_3
+, \17 bp->s.unused_3);
+
+215 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+unu£d_4
+, \17 bp->s.unused_4);
+
+216 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+unu£d_5
+, \17 bp->s.unused_5);
+
+217 
+bp
+->
+s
+.
+unu£d_6
+ = 0;
+
+218 
+bp
+->
+s
+.
+unu£d_7
+ = 0;
+
+226 
+bp
+->
+s
+.
+lßd\94_ty³
+ = 
+LDRTYPE_ELILO
+;
+
+232 
+bp
+->
+s
+.
+cmdl\9ae_magik
+ = 
+CMDLINE_MAGIK
+;
+
+233 
+bp
+->
+s
+.
+cmdl\9ae_off£t
+ = (
+UINT8
+ *)
+cmdl\9ae
+ - (UINT8 *)bp;
+
+239 
+bp
+->
+s
+.
+cmdl\9ae_addr
+ = 0x0;
+
+247 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+hd0_\9afo
+, \17 bp->s.hd0_info);
+
+248 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+hd1_\9afo
+, \17 bp->s.hd1_info);
+
+254 
+bp
+->
+s
+.
+®t_mem_k
+ = 
+high_ext_mem
+ / 1024;
+
+256 ià(
+bp
+->
+s
+.
+®t_mem_k
+ <= 65535)
+
+257 
+bp
+->
+s
+.
+ext_mem_k
+ = (
+UINT16
+)bp->s.
+®t_mem_k
+;
+
+259 
+bp
+->
+s
+.
+ext_mem_k
+ = 65535;
+
+265 
+       `DBG_PRT
+((
+L
+"initrd->start_addr=0x%x initrd->pgcnt=%d\n",
+
+266 
+\9a\99rd
+->
+¡¬t_addr
+, in\99rd->
+pgút
+));
+
+269 
+bp
+->
+s
+.
+¿mdisk_æags
+ = 0;
+
+271 ià(
+\9a\99rd
+->
+¡¬t_addr
+ && in\99rd->
+pgút
+) {
+
+273 
+bp
+->
+s
+.
+\9a\99rd_¡¬t
+ = (
+UINT32
+)
+\9a\99rd
+->
+¡¬t_addr
+;
+
+274 
+bp
+->
+s
+.
+\9a\99rd_size
+ = (
+UINT32
+)(
+\9a\99rd
+->
+size
+);
+
+281 
+bp
+->
+s
+.
+Üig_roÙ_dev
+ = 0x0100;
+
+283 
+bp
+->
+s
+.
+\9a\99rd_¡¬t
+ = 0;
+
+284 
+bp
+->
+s
+.
+\9a\99rd_size
+ = 0;
+
+290 
+bp
+->
+s
+.
+­m_bios_v\94
+ = 
+NO_APM_BIOS
+;
+
+291 
+bp
+->
+s
+.
+bios_code_£g
+ = 0;
+
+292 
+bp
+->
+s
+.
+bios_\92\8cy_po\9at
+ = 0;
+
+293 
+bp
+->
+s
+.
+bios_code_£g16
+ = 0;
+
+294 
+bp
+->
+s
+.
+bios_d©a_£g
+ = 0;
+
+295 
+bp
+->
+s
+.
+­m_bios_æags
+ = 0;
+
+296 
+bp
+->
+s
+.
+bios_code_Ën
+ = 0;
+
+297 
+bp
+->
+s
+.
+bios_d©a_Ën
+ = 0;
+
+302 
+bp
+->
+s
+.
+mÿ_\9afo_Ën
+ = 0;
+
+303 
+       `Z\94oMem
+(
+bp
+->
+s
+.
+mÿ_\9afo_buf
+, \17 bp->s.mca_info_buf);
+
+308 
+bp
+->
+s
+.
+aux_dev_\9afo
+ = 
+NO_MOUSE
+;
+
+313 
+       `CÝyMem
+(
+bp
+->
+s
+.
+efi_lßd\94_sig
+, 
+EFI_LOADER_SIG
+, 4);
+
+318 
+bp
+->
+s
+.
+k\94Ãl_¡¬t
+ = (
+UINT32
+)kernel_start;
+
+330 \ 1
+       #CHECK_OFFSET
+(
+n
+, 
+o
+, 
+f
+) \
+
+332 
+UINTN
+p
+ = (
+UINT8
+ *)&
+bp
+->
+s
+.
+n
+ - (UINT8 *)bp; \
+
+333 
+UINTN
+q
+ = (UINTN)(
+o
+); \
+
+334 ià(
+p
+ !ð
+q
+) { \
+
+335 
+\8b¡
+ |= 1; \
+
+336 
+       `Pr\9at
+(
+L
+"%20a: %3xh %3xh ", #n, 
+p
+, 
+q
+); \
+
+337 ià(*
+f
+) { \
+
+338 
+       `Pr\9at
+(
+f
+, 
+bp
+->
+s
+.
+n
+); \
+
+340 
+       `Pr\9at
+(
+L
+"\n"); \
+
+342 }
+
+       )
+
+344 \ 1
+       #WAIT_FOR_KEY
+() \
+
+346 
+EFI_INPUT_KEY
+key
+; \
+
+347 \1f
+ST
+->
+CÚIn
+->
+       `R\97dKeyS\8coke
+(ST->CÚIn, &
+key
+è!ð
+EFI_SUCCESS
+) { \
+
+350 }
+
+       )
+
+352 
+UINTN
+\8b¡
+ = 0;
+
+354 
+       `CHECK_OFFSET
+(
+Üig_cursÜ_cÞ
+, 0x00, 
+L
+"%xh");
+
+355 
+       `CHECK_OFFSET
+(
+Üig_cursÜ_row
+, 0x01, 
+L
+"%xh");
+
+356 
+       `CHECK_OFFSET
+(
+ext_mem_k
+, 0x02, 
+L
+"%xh");
+
+357 
+       `CHECK_OFFSET
+(
+Üig_video_·ge
+, 0x04, 
+L
+"%xh");
+
+358 
+       `CHECK_OFFSET
+(
+Üig_video_mode
+, 0x06, 
+L
+"%xh");
+
+359 
+       `CHECK_OFFSET
+(
+Üig_video_cÞs
+, 0x07, 
+L
+"%xh");
+
+360 
+       `CHECK_OFFSET
+(
+Üig_ega_bx
+, 0x0A, 
+L
+"%xh");
+
+361 
+       `CHECK_OFFSET
+(
+Üig_video_rows
+, 0x0E, 
+L
+"%xh");
+
+362 
+       `CHECK_OFFSET
+(
+is_vga
+, 0x0F, 
+L
+"%xh");
+
+363 
+       `CHECK_OFFSET
+(
+Üig_video_po\9ats
+, 0x10, 
+L
+"%xh");
+
+364 
+       `CHECK_OFFSET
+(
+lfb_width
+, 0x12, 
+L
+"%xh");
+
+365 
+       `CHECK_OFFSET
+(
+lfb_height
+, 0x14, 
+L
+"%xh");
+
+366 
+       `CHECK_OFFSET
+(
+lfb_d\95th
+, 0x16, 
+L
+"%xh");
+
+367 
+       `CHECK_OFFSET
+(
+lfb_ba£
+, 0x18, 
+L
+"%xh");
+
+368 
+       `CHECK_OFFSET
+(
+lfb_size
+, 0x1C, 
+L
+"%xh");
+
+369 
+       `CHECK_OFFSET
+(
+cmdl\9ae_magik
+, 0x20, 
+L
+"%xh");
+
+370 
+       `CHECK_OFFSET
+(
+cmdl\9ae_off£t
+, 0x22, 
+L
+"%xh");
+
+371 
+       `CHECK_OFFSET
+(
+lfb_l\9ae_Ën
+, 0x24, 
+L
+"%xh");
+
+372 
+       `CHECK_OFFSET
+(
+lfb_»d_size
+, 0x26, 
+L
+"%xh");
+
+373 
+       `CHECK_OFFSET
+(
+lfb_»d_pos
+, 0x27, 
+L
+"%xh");
+
+374 
+       `CHECK_OFFSET
+(
+lfb_g»\92_size
+, 0x28, 
+L
+"%xh");
+
+375 
+       `CHECK_OFFSET
+(
+lfb_g»\92_pos
+, 0x29, 
+L
+"%xh");
+
+376 
+       `CHECK_OFFSET
+(
+lfb_blue_size
+, 0x2A, 
+L
+"%xh");
+
+377 
+       `CHECK_OFFSET
+(
+lfb_blue_pos
+, 0x2B, 
+L
+"%xh");
+
+378 
+       `CHECK_OFFSET
+(
+lfb_rsvd_size
+, 0x2C, 
+L
+"%xh");
+
+379 
+       `CHECK_OFFSET
+(
+lfb_rsvd_pos
+, 0x2D, 
+L
+"%xh");
+
+380 
+       `CHECK_OFFSET
+(
+ve§_£g
+, 0x2E, 
+L
+"%xh");
+
+381 
+       `CHECK_OFFSET
+(
+ve§_off
+, 0x30, 
+L
+"%xh");
+
+382 
+       `CHECK_OFFSET
+(
+lfb_·ges
+, 0x32, 
+L
+"%xh");
+
+383 
+       `CHECK_OFFSET
+(
+lfb_ȣrved
+, 0x34, 
+L
+"");
+
+384 
+       `CHECK_OFFSET
+(
+­m_bios_v\94
+, 0x40, 
+L
+"%xh");
+
+385 
+       `CHECK_OFFSET
+(
+bios_code_£g
+, 0x42, 
+L
+"%xh");
+
+386 
+       `CHECK_OFFSET
+(
+bios_\92\8cy_po\9at
+, 0x44, 
+L
+"%xh");
+
+387 
+       `CHECK_OFFSET
+(
+bios_code_£g16
+, 0x48, 
+L
+"%xh");
+
+388 
+       `CHECK_OFFSET
+(
+bios_d©a_£g
+, 0x4A, 
+L
+"%xh");
+
+389 
+       `CHECK_OFFSET
+(
+­m_bios_æags
+, 0x4C, 
+L
+"%xh");
+
+390 
+       `CHECK_OFFSET
+(
+bios_code_Ën
+, 0x4E, 
+L
+"%xh");
+
+391 
+       `CHECK_OFFSET
+(
+bios_d©a_Ën
+, 0x52, 
+L
+"%xh");
+
+392 
+       `CHECK_OFFSET
+(
+hd0_\9afo
+, 0x80, 
+L
+"");
+
+393 
+       `CHECK_OFFSET
+(
+hd1_\9afo
+, 0x90, 
+L
+"");
+
+394 
+       `CHECK_OFFSET
+(
+mÿ_\9afo_Ën
+, 0xA0, 
+L
+"%xh");
+
+395 
+       `CHECK_OFFSET
+(
+mÿ_\9afo_buf
+, 0xA2, 
+L
+"");
+
+396 
+       `CHECK_OFFSET
+(
+efi_lßd\94_sig
+, 0x1C0, 
+L
+"'%-4.4a'");
+
+397 
+       `CHECK_OFFSET
+(
+efi_sys_tbl
+, 0x1C4, 
+L
+"%xh");
+
+398 
+       `CHECK_OFFSET
+(
+efi_mem_desc_size
+, 0x1C8, 
+L
+"%xh");
+
+399 
+       `CHECK_OFFSET
+(
+efi_mem_desc_v\94
+, 0x1CC, 
+L
+"%xh");
+
+400 
+       `CHECK_OFFSET
+(
+efi_mem_m­
+, 0x1D0, 
+L
+"%xh");
+
+401 
+       `CHECK_OFFSET
+(
+efi_mem_m­_size
+, 0x1D4, 
+L
+"%xh");
+
+402 
+       `CHECK_OFFSET
+(
+lßd\94_¡¬t
+, 0x1D8, 
+L
+"%xh");
+
+403 
+       `CHECK_OFFSET
+(
+lßd\94_size
+, 0x1DC, 
+L
+"%xh");
+
+404 
+       `CHECK_OFFSET
+(
+®t_mem_k
+, 0x1E0, 
+L
+"%xh");
+
+405 
+       `CHECK_OFFSET
+(
+£tup_£ùÜs
+, 0x1F1, 
+L
+"%xh");
+
+406 
+       `CHECK_OFFSET
+(
+mouÁ_roÙ_rdÚly
+, 0x1F2, 
+L
+"%xh");
+
+407 
+       `CHECK_OFFSET
+(
+sys_size
+, 0x1F4, 
+L
+"%xh");
+
+408 
+       `CHECK_OFFSET
+(
+sw­_dev
+, 0x1F6, 
+L
+"%xh");
+
+409 
+       `CHECK_OFFSET
+(
+¿mdisk_æags
+, 0x1F8, 
+L
+"%xh");
+
+410 
+       `CHECK_OFFSET
+(
+video_mode_æag
+, 0x1FA, 
+L
+"%xh");
+
+411 
+       `CHECK_OFFSET
+(
+Üig_roÙ_dev
+, 0x1FC, 
+L
+"%xh");
+
+412 
+       `CHECK_OFFSET
+(
+aux_dev_\9afo
+, 0x1FF, 
+L
+"%xh");
+
+413 
+       `CHECK_OFFSET
+(
+jump
+, 0x200, 
+L
+"%xh");
+
+414 
+       `CHECK_OFFSET
+(
+£tup_sig
+, 0x202, 
+L
+"'%-4.4a'");
+
+415 
+       `CHECK_OFFSET
+(
+hdr_m\9aÜ
+, 0x206, 
+L
+"%xh");
+
+416 
+       `CHECK_OFFSET
+(
+hdr_majÜ
+, 0x207, 
+L
+"%xh");
+
+417 
+       `CHECK_OFFSET
+(
+rm_sw\99ch
+, 0x208, 
+L
+"%xh");
+
+418 
+       `CHECK_OFFSET
+(
+¡¬t_sys_£g
+, 0x20C, 
+L
+"%xh");
+
+419 
+       `CHECK_OFFSET
+(
+k\94Ãl_v\94¡r_off£t
+, 0x20E, 
+L
+"%xh");
+
+420 
+       `CHECK_OFFSET
+(
+lßd\94_ty³
+, 0x210, 
+L
+"%xh");
+
+421 
+       `CHECK_OFFSET
+(
+lßd\94_æags
+, 0x211, 
+L
+"%xh");
+
+422 
+       `CHECK_OFFSET
+(
+£tup_move_size
+, 0x212, 
+L
+"%xh");
+
+423 
+       `CHECK_OFFSET
+(
+k\94Ãl_¡¬t
+, 0x214, 
+L
+"%xh");
+
+424 
+       `CHECK_OFFSET
+(
+\9a\99rd_¡¬t
+, 0x218, 
+L
+"%xh");
+
+425 
+       `CHECK_OFFSET
+(
+\9a\99rd_size
+, 0x21C, 
+L
+"%xh");
+
+426 
+       `CHECK_OFFSET
+(
+boÙ£ù_h\96³r
+, 0x220, 
+L
+"%xh");
+
+427 
+       `CHECK_OFFSET
+(
+h\97p_\92d_±r
+, 0x224, 
+L
+"%xh");
+
+428 
+       `CHECK_OFFSET
+(
+cmdl\9ae_addr
+, 0x228, 
+L
+"%xh");
+
+430 ià(
+\8b¡
+) {
+
+431 
+       `ERR_PRT
+((
+L
+"Boot sector\87nd/or setup\85arameter\87lignment\83rror."));
+
+432 
+       `ä\93_kmem
+();
+
+443 
+efi_¡©us
+ = 
+ST
+->
+CÚOut
+->
+       `Qu\94yMode
+(
+
+444 
+ST
+->
+CÚOut
+,
+
+445 
+ST
+->
+CÚOut
+->
+Mode
+->Mode,
+
+446 &
+cÞs
+,
+
+447 &
+rows
+);
+
+449 ià(
+       `EFI_ERROR
+(
+efi_¡©us
+)) {
+
+450 
+       `ERR_PRT
+((
+L
+"QueryMode failed. Fake it."));
+
+451 
+mode
+ = 3;
+
+452 
+rows
+ = 25;
+
+453 
+cÞs
+ = 80;
+
+454 
+row
+ = 24;
+
+455 
+cÞ
+ = 0;
+
+457 
+mode
+ = (
+UINT8
+)
+ST
+->
+CÚOut
+->
+Mode
+->Mode;
+
+458 
+cÞ
+ = (
+UINT8
+)
+ST
+->
+CÚOut
+->
+Mode
+->
+CursÜCÞumn
+;
+
+459 
+row
+ = (
+UINT8
+)
+ST
+->
+CÚOut
+->
+Mode
+->
+CursÜRow
+;
+
+462 
+bp
+->
+s
+.
+Üig_cursÜ_cÞ
+ = 
+cÞ
+;
+
+463 
+bp
+->
+s
+.
+Üig_cursÜ_row
+ = 
+row
+;
+
+464 
+bp
+->
+s
+.
+Üig_video_·ge
+ = 0;
+
+465 
+bp
+->
+s
+.
+Üig_video_mode
+ = 
+mode
+;
+
+466 
+bp
+->
+s
+.
+Üig_video_cÞs
+ = (
+UINT8
+)
+cÞs
+;
+
+467 
+bp
+->
+s
+.
+Üig_video_rows
+ = (
+UINT8
+)
+rows
+;
+
+469 
+bp
+->
+s
+.
+Üig_ega_bx
+ = 0;
+
+470 
+bp
+->
+s
+.
+is_vga
+ = 0;
+
+471 
+bp
+->
+s
+.
+Üig_video_po\9ats
+ = 16;
+
+473 
+bp
+->
+s
+.
+lfb_width
+ = 0;
+
+474 
+bp
+->
+s
+.
+lfb_height
+ = 0;
+
+475 
+bp
+->
+s
+.
+lfb_d\95th
+ = 0;
+
+476 
+bp
+->
+s
+.
+lfb_ba£
+ = 0;
+
+477 
+bp
+->
+s
+.
+lfb_size
+ = 0;
+
+478 
+bp
+->
+s
+.
+lfb_l\9ae_Ën
+ = 0;
+
+479 
+bp
+->
+s
+.
+lfb_»d_size
+ = 0;
+
+480 
+bp
+->
+s
+.
+lfb_»d_pos
+ = 0;
+
+481 
+bp
+->
+s
+.
+lfb_g»\92_size
+ = 0;
+
+482 
+bp
+->
+s
+.
+lfb_g»\92_pos
+ = 0;
+
+483 
+bp
+->
+s
+.
+lfb_blue_size
+ = 0;
+
+484 
+bp
+->
+s
+.
+lfb_blue_pos
+ = 0;
+
+485 
+bp
+->
+s
+.
+lfb_rsvd_size
+ = 0;
+
+486 
+bp
+->
+s
+.
+lfb_rsvd_pos
+ = 0;
+
+487 
+bp
+->
+s
+.
+lfb_·ges
+ = 0;
+
+488 
+bp
+->
+s
+.
+ve§_£g
+ = 0;
+
+489 
+bp
+->
+s
+.
+ve§_off
+ = 0;
+
+495 ià(
+       `g\91_memm­
+(&
+mdesc
+)) {
+
+496 
+       `ERR_PRT
+((
+L
+"Could\82ot get memory map."));
+
+497 
+       `ä\93_kmem
+();
+
+500 *
+cook\9b
+ = 
+mdesc
+.cookie;
+
+501 
+bp
+->
+s
+.
+efi_mem_m­
+ = (
+UINTN
+)
+mdesc
+.
+md
+;
+
+502 
+bp
+->
+s
+.
+efi_mem_m­_size
+ = 
+mdesc
+.
+m­_size
+;
+
+503 
+bp
+->
+s
+.
+efi_mem_desc_size
+ = 
+mdesc
+.
+desc_size
+;
+
+504 
+bp
+->
+s
+.
+efi_mem_desc_v\94
+ = 
+mdesc
+.
+desc_v\94siÚ
+;
+
+505 
+bp
+->
+s
+.
+efi_sys_tbl
+ = (
+UINTN
+)
+sy¡ab
+;
+
+508 
+       }
+}
+
+       @ia64/config.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"cÚfig.h
+"
+
+31 \ 2
+       ~"´iv©e.h
+"
+
+32 \ 2
+       ~"sysd\95s.h
+"
+
+33 \ 2
+       ~"g\91Ýt.h
+"
+
+36 
+CHAR16
+       måswa
+[
+FILENAME_MAXLEN
+];
+
+37 
+CHAR16
+       mcmd_åswa
+[
+FILENAME_MAXLEN
+];
+
+38 
+UINTN
+       m®low_»loÿtiÚ
+;
+
+39 } 
+       t\9f64_glob®_cÚfig_t
+;
+
+41 \ 1
+       #\9f64_Ýt_off£tof
+(
+ÝtiÚ
+è(&((
+sys_img_ÝtiÚs_t
+ *)(0x0))->ÝtiÚ)
+
+       )
+
+43 \18
+\9f64_glob®_cÚfig_t
+       g\9f64_gcÚf
+;
+
+50 
+cÚfig_ÝtiÚ_t
+       gsysd\95s_glob®_ÝtiÚs
+[]={
+
+51 {
+OPT_FILE
+, 
+OPT_GLOBAL
+, 
+L
+"åswa", 
+NULL
+, NULL, 
+\9f64_gcÚf
+.
+åswa
+},
+
+52 {
+OPT_BOOL
+, 
+OPT_GLOBAL
+, 
+L
+"»loÿ\8fbË", 
+NULL
+, NULL, &
+\9f64_gcÚf
+.
+®low_»loÿtiÚ
+},
+
+55 
+cÚfig_ÝtiÚ_t
+       gsysd\95s_image_ÝtiÚs
+[]={
+
+56 {
+OPT_BOOL
+, 
+OPT_IMAGE_SYS
+, 
+L
+"»loÿ\8fbË", 
+NULL
+, NULL, 
+\9f64_Ýt_off£tof
+(
+®low_»loÿtiÚ
+)},
+
+67 
+INTN
+
+
+68 
+       $sysd\95s_´\96oÝ_aùiÚs
+(
+EFI_HANDLE
+dev
+, 
+CHAR16
+ **
+¬gv
+, 
+INTN
+¬gc
+, INTN 
+\9adex
+, EFI_HANDLE 
+image
+)
+
+74 ià(
+\9f64_gcÚf
+.
+cmd_åswa
+[0] !ð
+CHAR_NULL
+) {
+
+75 
+       `check_åswa
+(
+image
+, 
+dev
+, 
+\9f64_gcÚf
+.
+cmd_åswa
+);
+
+76 } \vià(
+\9f64_gcÚf
+.
+åswa
+[0] !ð
+CHAR_NULL
+)
+
+77 
+       `check_åswa
+(
+image
+, 
+dev
+, 
+\9f64_gcÚf
+.
+åswa
+);
+
+79 
+       `check_åswa
+(
+image
+, 
+dev
+, 
+NULL
+);
+
+82 
+       }
+}
+
+92 
+INTN
+
+
+93 
+       $\9f64_ÿn_»loÿ\8b
+(
+VOID
+)
+
+95 \15 
+\9f64_gcÚf
+.
+®low_»loÿtiÚ
+ =ð
+TRUE
+
+
+96 || (
+\96\9eo_Ýt
+.
+sys_img_Ýts
+ &&\83l\9eo_Ýt.sys_img_Ýts->
+®low_»loÿtiÚ
+ ==
+TRUE
+) ? 1 : 0;
+
+97 
+       }
+}
+
+99 \ 1
+       #IA64_CMDLINE_OPTIONS
+L
+"rF:"
+
+       )
+
+101 
+CHAR16
+ *
+
+102 
+       $sysd\95s_g\91_cmdl\9ae_Ýts
+(
+VOID
+)
+
+104 \15 
+IA64_CMDLINE_OPTIONS
+;
+
+105 
+       }
+}
+
+107 
+INTN
+
+
+108 
+       $sysd\95s_g\91Ýt
+(
+INTN
+c
+, INTN 
+Ýt\9ad
+, 
+CHAR16
+ *
+ݏrg
+)
+
+110 
+INTN
+»t
+ = 0;
+
+115 \1a
+c
+) {
+
+116 \ 4
+L
+'r':
+
+117 
+\9f64_gcÚf
+.
+®low_»loÿtiÚ
+ = 1;
+
+119 \ 4
+L
+'F':
+
+120 ià(
+       `S\8cL\92
+(
+O±¬g
+è>ð
+FILENAME_MAXLEN
+) {
+
+121 
+       `Pr\9at
+(
+L
+"FPSWA f\9e\92am\90i lim\99ed\81Ø%d ch¬aù\94s\n", 
+FILENAME_MAXLEN
+);
+
+124 
+       `S\8cCpy
+(
+\9f64_gcÚf
+.
+cmd_åswa
+, 
+O±¬g
+);
+
+127 
+»t
+ = -1;
+
+129 \15 
+»t
+;
+
+130 
+       }
+}
+
+132 
+VOID
+
+
+133 
+       $sysd\95s_´\9at_cmdl\9ae_Ýts
+(
+VOID
+)
+
+135 
+       `Pr\9at
+(
+L
+"-r kernel image can be\84elocated if\86oad\87ddress inexistent\n");
+
+136 
+       `Pr\9at
+(
+L
+"-F file\82ame of\87 specific FPSWA EFI driver\81o\86oad\n");
+
+137 
+       }
+}
+
+139 
+INTN
+
+
+140 
+       $sysd\95s_»gi¡\94_ÝtiÚs
+(
+VOID
+)
+
+142 
+INTN
+»t
+;
+
+144 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+sysd\95s_glob®_ÝtiÚs
+,
+
+145 \17(
+sysd\95s_glob®_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+146 
+OPTIONS_GROUP_GLOBAL
+);
+
+147 ià(
+»t
+ == -1 ) \15\84et;
+
+149 
+»t
+ = 
+       `»gi¡\94_cÚfig_ÝtiÚs
+(
+sysd\95s_image_ÝtiÚs
+,
+
+150 \17(
+sysd\95s_image_ÝtiÚs
+)/\17(
+cÚfig_ÝtiÚ_t
+),
+
+151 
+OPTIONS_GROUP_IMAGE
+);
+
+153 \15 
+»t
+;
+
+154 
+       }
+}
+
+       @ia64/fpswa.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"f\9eeÝs.h
+"
+
+33 
+UINT32
+       m»visiÚ
+;
+
+34 
+UINT32
+       m»£rved
+;
+
+35 
+VOID
+ *
+       måswa
+;
+
+36 } 
+       tåswa_\9a\8brçû_t
+;
+
+38 
+INTN
+
+
+39 
+       $qu\94y_åswa
+(
+VOID
+ **
+åswa
+)
+
+41 
+EFI_HANDLE
+åswa_image
+;
+
+42 
+UINTN
+size
+;
+
+43 
+EFI_STATUS
+¡©us
+;
+
+44 
+EFI_GUID
+FpswaPrÙocÞ
+ = 
+FPSWA_PROTOCOL
+;
+
+46 
+       `DBG_PRT
+((
+L
+"Querying FpswaProtocol"));
+
+48 
+size
+ = \17(
+EFI_HANDLE
+);
+
+50 
+¡©us
+ = 
+BS
+->
+       `Loÿ\8bHªdË
+(
+ByPrÙocÞ
+, &
+FpswaPrÙocÞ
+, 
+NULL
+, &
+size
+, &
+åswa_image
+);
+
+51 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+52 
+       `ERR_PRT
+((
+L
+"boÙ_·¿m could\82Ù\86oÿ\8b FPSWA driv\94", 
+¡©us
+));
+
+55 
+¡©us
+ = 
+BS
+->
+       `HªdËPrÙocÞ
+(
+åswa_image
+, &
+FpswaPrÙocÞ
+, 
+åswa
+);
+
+56 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+57 
+       `ERR_PRT
+((
+L
+"boot_params FpswaProtocol\82ot\87ble find\81he interface"));
+
+60 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"FpswaPrÙocÞ = 0x%lx\84evisiÚ=%x\n", *
+åswa
+,
+
+61 ((
+åswa_\9a\8brçû_t
+ *)*
+åswa
+)->
+»visiÚ
+));
+
+63 
+       }
+}
+
+66 \18
+INTN
+
+
+67 
+       $do_check_åswa
+(
+EFI_HANDLE
+image
+, EFI_HANDLE 
+dev
+, 
+CHAR16
+ *
+åswa_f\9ee
+)
+
+69 
+EFI_STATUS
+¡©us
+;
+
+70 
+EFI_HANDLE
+hªdË
+;
+
+71 
+EFI_DEVICE_PATH
+ *
+dp
+;
+
+74 
+dp
+ = 
+       `F\9eeDeviûP©h
+(
+dev
+, 
+åswa_f\9ee
+);
+
+75 ià(
+dp
+ =ð
+NULL
+) {
+
+76 
+       `ERR_PRT
+((
+L
+"CªnÙ c»©\90F\9eeP©h fÜ %s", 
+åswa_f\9ee
+));
+
+79 
+¡©us
+ = 
+BS
+->
+       `LßdImage
+(0, 
+image
+, 
+dp
+, 
+NULL
+, 0, &
+hªdË
+);
+
+80 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+81 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"..not found\n"));
+
+82 
+       `F»ePoÞ
+(
+dp
+);
+
+85 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"..starting.."));
+
+87 
+¡©us
+ = 
+BS
+->
+       `S\8f¹Image
+(
+hªdË
+, 0, 0);
+
+88 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+89 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"ç\9eed (%r)\n", 
+¡©us
+));
+
+96 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"..ok\n"));
+
+98 
+       `F»ePoÞ
+(
+dp
+);
+
+101 
+       }
+}
+
+111 
+INTN
+
+
+112 
+       $check_åswa
+(
+EFI_HANDLE
+image
+, EFI_HANDLE 
+dev
+, 
+CHAR16
+ *
+åswa_f\9ee
+)
+
+123 \18
+CHAR16
+ *
+åswa_f\9e\92ames
+[] ={
+
+124 
+L
+"\\efi\\intel firmware\\fpswa.efi",
+
+126 
+L
+"\\fpswa.efi",
+
+127 
+L
+"\\fw\\fpswa.efi",
+
+128 
+L
+"\\efi\\fpswa.efi",
+
+129 
+L
+"\\efi\\tools\\fpswa.efi",
+
+130 
+L
+"\\fpswa.efi",
+
+131 
+L
+"fpswa.efi",
+
+134 
+UINTN
+j
+, 
+couÁ
+ = \17(
+åswa_f\9e\92ames
+)/\17(
+CHAR16
+ *);
+
+135 
+INTN
+cook\9b
+;
+
+136 
+CHAR16
+devÇme
+[
+FILENAME_MAXLEN
+];
+
+138 ià(
+åswa_f\9ee
+) {
+
+139 
+INTN
+r
+;
+
+140 
+devÇme
+[0] = 
+CHAR_NULL
+;
+
+141 
+r
+ = 
+       `fÝs_¥l\99_·th
+(
+åswa_f\9ee
+, 
+devÇme
+);
+
+142 ià(
+r
+ == -1) {
+
+143 
+       `ERR_PRT
+((
+L
+"FPSWA driv\94 f\9e\92am\90toØlÚg %s", 
+åswa_f\9ee
+));
+
+146 ià(
+devÇme
+[0] !ð
+CHAR_NULL
+) {
+
+147 ià(
+       `fÝs_g\91_deviû_hªdË
+(
+devÇme
+, &
+dev
+è!ð
+EFI_SUCCESS
+) {
+
+148 
+       `ERR_PRT
+((
+L
+"ÿÂÙ f\9ad deviû % fÜ FPSWA driv\94", 
+devÇme
+));
+
+152 \15 
+       `do_check_åswa
+(
+image
+, 
+dev
+, 
+åswa_f\9ee
+);
+
+155 
+cook\9b
+ = 0;
+
+156 \1f
+       `fÝs_g\91_Ãxt_deviû
+(
+cook\9b
+, 
+L
+"vçt", 
+FILENAME_MAXLEN
+, &cook\9b
+devÇme
+, &
+dev
+è=ð
+EFI_SUCCESS
+) {
+
+157 \ f
+j
+ = 0; j < 
+couÁ
+; j++) {
+
+158 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"Try\9ag FPSWA driv\94 %s:%s..", 
+devÇme
+, 
+åswa_f\9e\92ames
+[
+j
+]));
+
+163 
+       `do_check_åswa
+(
+image
+, 
+dev
+, 
+åswa_f\9e\92ames
+[
+j
+]);
+
+167 
+       }
+}
+
+       @ia64/gzip.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96f.h
+"
+
+33 \ 2
+       ~"\96\9eo.h
+"
+
+35 \ 2
+       ~"gz\9d.h
+"
+
+37 \ 2
+       ~"´iv©e.h
+"
+
+38 \ 2
+       ~"£tjmp.h
+"
+
+40 \ 1
+       #LD_NAME
+L
+"gz\9d_\9f64"
+
+       )
+
+42 \ 1
+       #memz\94o
+(
+s
+, 
+n
+       `Mem£t
+((
+VOID
+ *)(s), 0, (n))
+
+       )
+
+43 \ 1
+       #memýy
+(
+a
+,
+b
+,
+n
+       `Memýy
+((
+VOID
+ *)×),(b),Ò))
+
+       )
+
+46 \ 1
+       #WSIZE
+ 0x8000
+
+       )
+
+49 \ 1
+       #INBUFSIZE
+ 0x8000
+
+       )
+
+55 \ 1
+       #OF
+(
+¬gs
+       )
+args
+
+56 \ 1
+       #FUNC_STATIC
\18
+
+       )
+
+58 \e\1d\ 5
+       tuch
+;
+
+59 \e\1d\16
+       tush
+;
+
+60 \e\1d\13
+       tulg
+;
+
+63 \e\19
+       s£gm\92t
+ {
+
+64 \1d\13
+       maddr
+;
+
+65 \1d\13
+       moff£t
+;
+
+66 \1d\13
+       msize
+;
+
+67 \1d\13
+       mbss_sz
+;
+
+68 
+UINT8
+       mæags
+;
+
+69 } 
+       t£gm\92t_t
+;
+
+71 \ 1
+       #CHUNK_FL_VALID
+ 0x1
+
+       )
+
+72 \ 1
+       #CHUNK_FL_LOAD
+ 0x2
+
+       )
+
+73 \ 1
+       #CHUNK_FL_X
+ 0x4
+
+       )
+
+75 \ 1
+       #CHUNK_CAN_LOAD
+(
+n
+chunks
+[Ò)].
+æags
+ |ð
+CHUNK_FL_LOAD
+
+
+       )
+
+76 \ 1
+       #CHUNK_NO_LOAD
+(
+n
+chunks
+[Ò)].
+æags
+ &ð~
+CHUNK_FL_LOAD
+
+
+       )
+
+77 \ 1
+       #CHUNK_IS_LOAD
+(
+n
+è(
+chunks
+[Ò)].
+æags
+ & 
+CHUNK_FL_LOAD
+)
+
+       )
+
+79 \ 1
+       #CHUNK_VALIDATE
+(
+n
+chunks
+[Ò)].
+æags
+ |ð
+CHUNK_FL_VALID
+
+
+       )
+
+80 \ 1
+       #CHUNK_INVALIDATE
+(
+n
+chunks
+[Ò)].
+æags
+ = 0
+
+       )
+
+81 \ 1
+       #CHUNK_IS_VALID
+(
+n
+è(
+chunks
+[Ò)].
+æags
+ & 
+CHUNK_FL_VALID
+)
+
+       )
+
+88 \18
+£gm\92t_t
+ *
+       gchunks
+;
+
+89 \18
+£gm\92t_t
+ *
+       gcur_chunk
+;
+
+90 \18
+UINTN
+       gnchunks
+;
+
+91 \18
+UINTN
+       gchunk
+;
+
+92 \18
+UINTN
+       g\9aput_fd
+;
+
+93 \18
+VOID
+ *
+       gk\94Ãl_\92\8cy
+, *
+       gk\94Ãl_ba£
+, *
+       gk\94Ãl_\92d
+;
+
+95 \18
+uch
+ *
+       g\9abuf
+;
+
+96 \18
+uch
+ *
+       gw\9adow
+;
+
+97 \18\1d\13
+       gf\9ee_off£t
+;
+
+99 \18\1d
+       g\9asize
+ = 0;
+
+100 \18\1d
+       g\9a±r
+ = 0;
+
+101 \18\1d
+       goutút
+ = 0;
+
+104 \ 1
+       #ASCII_FLAG
+ 0x01
+
+       )
+
+105 \ 1
+       #CONTINUATION
+ 0x02
+
+       )
+
+106 \ 1
+       #EXTRA_FIELD
+ 0x04
+
+       )
+
+107 \ 1
+       #ORIG_NAME
+ 0x08
+
+       )
+
+108 \ 1
+       #COMMENT
+ 0x10
+
+       )
+
+109 \ 1
+       #ENCRYPTED
+ 0x20
+
+       )
+
+110 \ 1
+       #RESERVED
+ 0xC0
+
+       )
+
+112 \ 1
+       #g\91_by\8b
+(è(
+\9a±r
+ < 
+\9asize
+ ? 
+\9abuf
+[\9a±r++] : 
+       `f\9el_\9abuf
+())
+
+       )
+
+115 #ifdeà
+INFLATE_DEBUG
+
+
+116 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+è{if(!(cÚd)è
+       `\94
+(msg);}
+
+       )
+
+117 \12
+       g¡d\94r
+;
+
+118 \ 1
+       #T¿û
+(
+x
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+);
+
+       )
+
+119 \ 1
+       #T¿ûv
+(
+x
+è{ià(
+v\94bo£
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+120 \ 1
+       #T¿ûvv
+(
+x
+è{ià(
+v\94bo£
+>1è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+121 \ 1
+       #T¿ûc
+(
+c
+,
+x
+è{ià(
+v\94bo£
+ && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+122 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+è{ià(
+v\94bo£
+>1 && (c)è
+       `Pr\9at
+(
+L
+"l\9a\90%d:\n", 
+__LINE__
+è;}
+
+       )
+
+124 \ 1
+       #As£¹
+(
+cÚd
+,
+msg
+)
+
+       )
+
+125 \ 1
+       #T¿û
+(
+x
+)
+
+       )
+
+126 \ 1
+       #T¿ûv
+(
+x
+)
+
+       )
+
+127 \ 1
+       #T¿ûvv
+(
+x
+)
+
+       )
+
+128 \ 1
+       #T¿ûc
+(
+c
+,
+x
+)
+
+       )
+
+129 \ 1
+       #T¿ûcv
+(
+c
+,
+x
+)
+
+       )
+
+132 \18\12
+f\9el_\9abuf
+(\1e);
+
+133 \18\1e
+æush_w\9adow
+(\1e);
+
+134 \18\1e
+\94
+(\ 5*
+m
+);
+
+135 \18\13
+       gby\8bs_out
+;
+
+137 \18\1e
+\94
+(\ 5*
+m
+);
+
+139 \18
+jmp_buf
+       gjbuf
+;
+
+140 \18\12
+       g\94rÜ_»tuº
+;
+
+141 \18
+UINTN
+       g\96f_is_big_\92d\9fn
+;
+
+144 
+       $gz\9d_m®loc
+(\12
+size
+)
+
+146 \15 (\1e*)
+       `®loc
+(
+size
+, 0);
+
+147 
+       }
+}
+
+150 
+       $gz\9d\93
+(\1e*
+wh\94e
+)
+
+152 \15 
+       `ä\93
+(
+wh\94e
+);
+
+153 
+       }
+}
+
+155 \ 2
+       ~"\9aæ©e.c
+"
+
+162 
+       $f\9el_\9abuf
+(\1e)
+
+164 
+INTN
+ex³ùed
+, 
+ėd
+;
+
+165 
+EFI_STATUS
+¡©us
+;
+
+167 
+ex³ùed
+ = 
+ėd
+ = 
+INBUFSIZE
+;
+
+169 
+¡©us
+ = 
+       `fÝs_»ad
+(
+\9aput_fd
+, 
+\9abuf
+, &
+ėd
+);
+
+170 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+171 
+       `\94
+("elilo: Read failed");
+
+173 
+       `DBG_PRT
+((
+L
+"% :\84\97d %d by\8b oà%d by\8bs\n", 
+LD_NAME
+, 
+ėd
+, 
+ex³ùed
+));
+
+175 
+\9asize
+ = 
+ėd
+;
+
+176 
+\9a±r
+ = 1;
+
+178 \15 
+\9abuf
+[0];
+
+179 
+       }
+}
+
+196 
+       $updüc
+(\1d\ 5*
+s
+, \1d
+n
+)
+
+198 \14\1d\13
+c
+;
+
+201 ià(!
+s
+) {
+
+202 
+c
+ = 0xffffffffL;
+
+204 
+c
+ = 
+üc
+;
+
+205 \1f
+n
+--) {
+
+206 
+c
+ = 
+üc_32_\8fb
+[((\12)ø^ (*
+s
+++)) & 0xff] ^ (c >> 8);
+
+209 
+üc
+ = 
+c
+;
+
+210 \15 
+c
+ ^ 0xffffffffUL;
+
+211 
+       }
+}
+
+218 
+       $þ\97r_bufs
+(\1e)
+
+220 
+outút
+ = 0;
+
+221 
+\9a±r
+ = 0;
+
+222 
+chunk
+ = 0;
+
+223 
+cur_chunk
+ = 
+NULL
+;
+
+224 
+f\9ee_off£t
+ = 0;
+
+225 
+       }
+}
+
+228 \18
+\9al\9ae
+UINT64
+
+
+229 
+       $bsw­64
+(
+UINT64
+v
+)
+
+231 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab64
+(v);
+
+232 \15 
+v
+;
+
+233 
+       }
+}
+
+235 \18
+\9al\9ae
+UINT32
+
+
+236 
+       $bsw­32
+(
+UINT32
+v
+)
+
+238 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab32
+(v);
+
+239 \15 
+v
+;
+
+240 
+       }
+}
+
+242 \18
+\9al\9ae
+UINT16
+
+
+243 
+       $bsw­16
+(
+UINT16
+v
+)
+
+245 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab16
+(v);
+
+246 \15 
+v
+;
+
+247 
+       }
+}
+
+249 \18
+INTN
+
+
+250 
+       $is_v®id_h\97d\94
+(
+Elf64_Ehdr
+ *
+ehdr
+)
+
+252 
+UINT16
+ty³
+, 
+mach\9ae
+;
+
+254 ià(
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+] =ð
+ELFDATA2MSB
+) {
+
+255 
+ty³
+ = 
+       `__\9f64_swab16
+(
+ehdr
+->
+e_ty³
+);
+
+256 
+mach\9ae
+ = 
+       `__\9f64_swab16
+(
+ehdr
+->
+e_mach\9ae
+);
+
+258 
+ty³
+ = 
+ehdr
+->
+e_ty³
+;
+
+259 
+mach\9ae
+ = 
+ehdr
+->
+e_mach\9ae
+;
+
+261 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"class=%d\81ype=%d data=%d machine=%d\n",
+
+262 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+],
+
+263 
+ty³
+,
+
+264 
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+],
+
+265 
+mach\9ae
+));
+
+267 \15 
+ehdr
+->
+e_id\92t
+[
+EI_MAG0
+] == 0x7f
+
+268 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG1
+] == 'E'
+
+269 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG2
+] == 'L'
+
+270 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG3
+] == 'F'
+
+271 && 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+] =ð
+ELFCLASS64
+
+
+272 && 
+ty³
+ =ð
+ET_EXEC
+
+
+273 && 
+mach\9ae
+ =ð
+EM_IA_64
+ ? 0 : -1;
+
+274 
+       }
+}
+
+280 
+       $check_ov\94Ïp
+(\12
+i
+)
+
+282 \12
+j
+;
+
+283 \1d\13
+\9bnd
+ = 
+chunks
+[
+i
+].
+addr
+ + chunks[i].
+size
+;
+
+285 \ f
+j
+=0; j < 
+nchunks
+; j++) {
+
+286 ià(
+j
+ ==
+i
+) \ 6;
+
+287 ià(
+chunks
+[
+i
+].
+addr
+ >ðchunks[
+j
+].add¸&& 
+\9bnd
+ < (chunks[j].add¸+ chunks[j].
+size
+)) {
+
+288 
+       `DBG_PRT
+((
+L
+"% : segm\92\88%d fuÎy inþuded iÀ£gm\92\88%d\n", 
+LD_NAME
+, 
+i
+, 
+j
+));
+
+289 
+       `CHUNK_INVALIDATE
+(
+i
+);
+
+293 
+       }
+}
+
+296 
+       $ª®yze_chunks
+(\1e)
+
+298 
+INTN
+i
+;
+
+300 \ f
+i
+=0; i < 
+nchunks
+; i++) {
+
+301 ià(
+       `CHUNK_IS_VALID
+(
+i
+è&& !
+       `CHUNK_IS_LOAD
+(i)è
+       `check_ov\94Ïp
+(i);
+
+303 
+       }
+}
+
+312 
+       $f\9c¡_block
+ (cڡ \ 5*
+buf
+, \13
+blocksize
+)
+
+314 
+Elf64_Ehdr
+ *
+\96f
+;
+
+315 
+Elf64_Phdr
+ *
+phdrs
+;
+
+316 
+UINTN
+tٮ_size
+, 
+·ges
+;
+
+317 
+UINTN
+low_addr
+, 
+max_addr
+;
+
+318 
+UINTN
+lßd_off£t
+ = 0;
+
+319 
+UINTN
+offs
+ = 0;
+
+320 
+UINT16
+phnum
+;
+
+321 
+UINTN
+·ddr
+, 
+memsz
+;
+
+322 
+INTN
+i
+;
+
+324 
+\96f
+ = (
+Elf64_Ehdr
+ *)
+buf
+;
+
+326 ià(
+       `is_v®id_h\97d\94
+(
+\96f
+) == -1) \15 -1;
+
+329 
+\96f_is_big_\92d\9fn
+ = 
+\96f
+->
+e_id\92t
+[
+EI_DATA
+] =ð
+ELFDATA2MSB
+ ? 1 : 0;
+
+332 
+offs
+ = 
+       `bsw­64
+(
+\96f
+->
+e_phoff
+);
+
+333 
+phnum
+ = 
+       `bsw­16
+(
+\96f
+->
+e_phnum
+);
+
+335 
+       `VERB_PRT
+(3, {
+
+336 
+       `Pr\9at
+(
+L
+"ELF f\9e\90i %s\n", 
+\96f_is_big_\92d\9fn
+ ? L"big\83ndian" : L"little\83ndian");
+
+337 
+       `Pr\9at
+(
+L
+"EÁry\85o\9a\880x%lx\n", 
+       `bsw­64
+(
+\96f
+->
+e_\92\8cy
+));
+
+338 
+       `Pr\9at
+(
+L
+"%d\85rog¿m h\97d\94s\n", 
+phnum
+);
+
+339 
+       `Pr\9at
+(
+L
+"%d segm\92\88h\97d\94s\n", 
+       `bsw­16
+(
+\96f
+->
+e_shnum
+));
+
+344 ià(
+offs
+ + 
+phnum
+ * \17(*
+phdrs
+è> (\1dè
+blocksize
+) {
+
+345 
+       `ERR_PRT
+((
+L
+"% : ELF\85rog¿m h\97d\94 nÙ iÀf\9c¡ block (%ld)\n", 
+LD_NAME
+, 
+offs
+));
+
+349 
+k\94Ãl_\92\8cy
+ = (\1e*)
+       `bsw­64
+(
+\96f
+->
+e_\92\8cy
+);
+
+351 ià(((
+UINTN
+)
+k\94Ãl_\92\8cy
+ >> 61) != 0) {
+
+352 
+       `ERR_PRT
+((
+L
+"%s: <<ERROR>>\83Áry\85o\9a\88i ¨v\9ctu®\87dd»s 0x%lx :\82Ù suµÜ\8bd\87nymÜe\n", 
+LD_NAME
+, 
+k\94Ãl_\92\8cy
+));
+
+355 
+phdrs
+ = (
+Elf64_Phdr
+ *è(
+buf
+ + 
+offs
+);
+
+357 
+low_addr
+ = ~0;
+
+358 
+max_addr
+ = 0;
+
+365 
+chunks
+ = (\1e*)
+       `®loc
+(\17(\19
+£gm\92t
+)*
+phnum
+, 0);
+
+366 ià(
+chunks
+ =ð
+NULL
+) {
+
+367 
+       `ERR_PRT
+((
+L
+"% : fa\9eed\87Îoøchunk %r\n", 
+LD_NAME
+));
+
+370 
+nchunks
+ = 
+phnum
+;
+
+375 \ f
+i
+ = 0; i < 
+phnum
+; ++i) {
+
+381 
+·ddr
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+382 
+memsz
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_memsz
+),
+
+384 
+chunks
+[
+i
+].
+addr
+ = 
+·ddr
+;
+
+385 
+chunks
+[
+i
+].
+off£t
+ = 
+       `bsw­64
+(
+phdrs
+[i].
+p_off£t
+);
+
+386 
+chunks
+[
+i
+].
+size
+ = 
+       `bsw­64
+(
+phdrs
+[i].
+p_f\9eesz
+);
+
+387 
+chunks
+[
+i
+].
+bss_sz
+ = 
+       `bsw­64
+(
+phdrs
+[i].
+p_memsz
+è- bsw­64Õhdrs[i].
+p_f\9eesz
+);
+
+389 
+       `CHUNK_VALIDATE
+(
+i
+);
+
+391 ià(
+       `bsw­32
+(
+phdrs
+[
+i
+].
+p_ty³
+è!ð
+PT_LOAD
+) {
+
+392 
+       `CHUNK_NO_LOAD
+(
+i
+);
+
+393 
+       `DBG_PRT
+((
+L
+"% : sk\9dp\9ag segm\92\88%ld\n", 
+LD_NAME
+, 
+i
+));
+
+397 ià(
+       `bsw­32
+(
+phdrs
+[
+i
+].
+p_æags
+è& 
+PF_X
+)
+
+398 
+chunks
+[
+i
+].
+æags
+ |ð
+CHUNK_FL_X
+;
+
+400 
+       `CHUNK_CAN_LOAD
+(
+i
+);
+
+402 
+       `VERB_PRT
+(3,
+
+403 
+       `Pr\9at
+(
+L
+"\n%s : segment %ld vaddr [0x%lx-0x%lx] offset %ld filesz %ld memsz=%ld bss_sz=%ld\n",
+
+404 
+LD_NAME
+,
+
+405 1+
+i
+,
+
+406 
+chunks
+[
+i
+].
+addr
+,
+
+407 
+chunks
+[
+i
+].
+addr
++
+       `bsw­64
+(
+phdrs
+[i].
+p_f\9eesz
+),
+
+408 
+chunks
+[
+i
+].
+off£t
+,
+
+409 
+chunks
+[
+i
+].
+size
+,
+
+410 
+memsz
+,
+
+411 
+chunks
+[
+i
+].
+bss_sz
+));
+
+413 ià(
+·ddr
+ < 
+low_addr
+)\86ow_addr =\85addr;
+
+415 ià(
+·ddr
+ + 
+memsz
+ > 
+max_addr
+) max_addr =\85addr + memsz;
+
+418 ià(
+low_addr
+ & (
+EFI_PAGE_SIZE
+ - 1)) {
+
+419 
+       `ERR_PRT
+((
+L
+"% :\86ow_add¸nÙ\85ag\90®igÃd 0x%lx\n", 
+LD_NAME
+, 
+low_addr
+));
+
+420 \10
+\94
+;
+
+423 
+       `ª®yze_chunks
+();
+
+425 
+       `DBG_PRT
+((
+L
+"%s : %d\85rogram headers\83ntry=0x%lx\nlowest_addr=0x%lx highest_addr=0x%lx\n",
+
+426 
+LD_NAME
+,
+
+427 
+phnum
+, 
+k\94Ãl_\92\8cy
+, 
+low_addr
+, 
+max_addr
+));
+
+429 
+tٮ_size
+ = (
+UINTN
+)
+max_addr
+ - (UINTN)
+low_addr
+;
+
+430 
+·ges
+ = 
+       `EFI_SIZE_TO_PAGES
+(
+tٮ_size
+);
+
+435 
+k\94Ãl_ba£
+ = (\1e*)
+low_addr
+;
+
+436 
+k\94Ãl_\92d
+ = (\1e*)(
+low_addr
+ + (
+·ges
+ << 
+EFI_PAGE_SHIFT
+));
+
+439 ià(
+       `®loc_kmem
+((\1e*)
+low_addr
+, 
+·ges
+) == -1) {
+
+440 
+VOID
+ *
+Ãw_addr
+;
+
+442 
+       `VERB_PRT
+(1, (
+L
+"% : AÎoÿ\8bPages(%d, 0x%lxèfÜ k\94ÃÈç\9eed\n", 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+444 ià(
+       `\9f64_ÿn_»loÿ\8b
+() == 0) {
+
+445 
+       `ERR_PRT
+((
+L
+"relocation is disabled, cannot\86oad kernel"));
+
+446 \10
+\94
+;
+
+458 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"Attempting\81o\84elocate kernel.\n"));
+
+460 ià(
+       `f\9ad_k\94Ãl_memÜy
+((
+VOID
+*è
+low_addr
+, (VOID*è
+max_addr
+, 256*
+MB
+, &
+Ãw_addr
+) == -1) {
+
+461 
+       `ERR_PRT
+((
+L
+"% : f\9ad_k\94Ãl_memÜy(0x%lx, 0x%lx, 0x%lx, 0x%lxèç\9eed\n", 
+LD_NAME
+, 
+low_addr
+, 
+max_addr
+, 256*
+MB
+, &
+lßd_off£t
+));
+
+462 \10
+\94
+;
+
+465 
+lßd_off£t
+ = (
+UINTN
+è(
+Ãw_addr
+ - 
+       `ROUNDDOWN
+((UINTNè
+low_addr
+,256*
+MB
+));
+
+467 
+       `VERB_PRT
+(1, (
+L
+"low_addr=0x%lx\82ew_addr=0x%lx off£t=0x%lx", 
+low_addr
+, 
+Ãw_addr
+, 
+lßd_off£t
+));
+
+472 
+k\94Ãl_ba£
+ = (\1e*è((
+UINTN
+èk\94Ãl_ba£ + 
+lßd_off£t
+);
+
+473 
+k\94Ãl_\92d
+ = (\1e*è((
+UINTN
+èk\94Ãl_\92d + 
+lßd_off£t
+);
+
+474 
+k\94Ãl_\92\8cy
+ = (\1e*è((
+UINTN
+èk\94Ãl_\92\8cy + 
+lßd_off£t
+);
+
+476 \ f
+i
+ = 0; i < 
+phnum
+; ++i) {
+
+477 
+chunks
+[
+i
+].
+addr
+ +ð
+lßd_off£t
+;
+
+478 
+phdrs
+[
+i
+].
+p_·ddr
+ = (
+Elf64_Addr
+è((
+UINT64
+èphdrs[i].p_·dd¸+ 
+lßd_off£t
+);
+
+484 ià(
+       `®loc_kmem
+((\1e*)
+low_addr
++
+lßd_off£t
+, 
+·ges
+) == -1) {
+
+485 
+       `ERR_PRT
+((
+L
+"% : AÎoÿ\8bPages(%d, 0x%lxèfÜ k\94ÃÈç\9eed\n", 
+LD_NAME
+, 
+·ges
+, 
+low_addr
++
+lßd_off£t
+));
+
+486 
+       `ERR_PRT
+((
+L
+"R\96oÿtiÚ by 0x%lx by\8b ç\9eed.\n", 
+lßd_off£t
+));
+
+487 \10
+\94
+;
+
+491 
+\94
+:
+
+492 ià(
+chunks
+       `ä\93
+(chunks);
+
+494 
+       }
+}
+
+501 
+       $Ãxtchunk
+(\1e)
+
+503 \12
+i
+;
+
+504 
+£gm\92t_t
+ *
+;
+
+506 
+ = 
+NULL
+;
+
+507 \ f
+i
+=0; i < 
+nchunks
+; i++) {
+
+509 ià(!
+       `CHUNK_IS_VALID
+(
+i
+è|| !
+       `CHUNK_IS_LOAD
+(i)) \ 6;
+
+511 ià(
+f\9ee_off£t
+ > 
+chunks
+[
+i
+].
+off£t
+) \ 6;
+
+513 ià(
+ =ð
+NULL
+ || 
+chunks
+[
+i
+].
+off£t
+ < cp->offset) cp = &chunks[i];
+
+515 
+cur_chunk
+ = 
+;
+
+516 
+       }
+}
+
+524 
+       $æush_w\9adow
+(\1e)
+
+526 \18cڡ 
+CHAR8
+h\96icÝ\8br
+[4] = { '|' , '/' , '-' , '\\' };
+
+527 \18
+UINTN
+h\96i_couÁ
+;
+
+528 \19
+£gm\92t
+ *
+;
+
+529 \ 5*
+¤c
+, *
+d¡
+;
+
+530 \13
+út
+;
+
+532 ià(!
+outút
+) \15;
+
+534 
+       `DBG_PRT
+((
+L
+"% : flush_w\9adow ou\8aù=%d f\9ee_off£t=%ld\n", 
+LD_NAME
+, 
+outút
+, 
+f\9ee_off£t
+));
+
+536 
+       `Pr\9at
+(
+L
+"%c\b",
+h\96icÝ\8br
+[
+h\96i_couÁ
+++%4]);
+
+538 
+       `updüc
+(
+w\9adow
+, 
+outút
+);
+
+543 ià(!
+by\8bs_out
+) {
+
+544 ià(
+       `f\9c¡_block
+(
+w\9adow
+, 
+outút
+è< 0è
+       `\94
+("invalid\83xec header");
+
+545 
+       `Ãxtchunk
+();
+
+548 
+by\8bs_out
+ +ð
+outút
+;
+
+549 
+¤c
+ = 
+w\9adow
+;
+
+550 
+\8f\9e
+:
+
+552 ià(
+       `check_abÜt
+(è=ð
+EFI_SUCCESS
\10
+lßd_abÜt
+;
+
+554 
+ = 
+cur_chunk
+;
+
+555 ià(
+ =ð
+NULL
+ || 
+f\9ee_off£t
+ + 
+outút
+ <ðý->
+off£t
+) {
+
+556 
+f\9ee_off£t
+ +ð
+outút
+;
+
+561 ià(
+f\9ee_off£t
+ < 
+->
+off£t
+) {
+
+562 \1d\13
+sk\9d
+ = 
+->
+off£t
+ - 
+f\9ee_off£t
+;
+
+564 
+¤c
+ +ð
+sk\9d
+;
+
+565 
+f\9ee_off£t
+ +ð
+sk\9d
+;
+
+566 
+outút
+ -ð
+sk\9d
+;
+
+568 
+d¡
+ = (\ 5*)
+->
+addr
+ + (
+f\9ee_off£t
+ - cp->
+off£t
+);
+
+570 
+út
+ = 
+->
+off£t
+ + cp->
+size
+ - 
+f\9ee_off£t
+;
+
+572 ià(
+út
+ > 
+outút
+) cnt = outcnt;
+
+574 
+       `Memýy
+(
+d¡
+, 
+¤c
+, 
+út
+);
+
+575 ià(
+->
+æags
+ & 
+CHUNK_FL_X
+)
+
+576 
+       `æush_dÿche
+ (
+d¡
+, 
+út
+);
+
+578 
+f\9ee_off£t
+ +ð
+út
+;
+
+579 
+outút
+ -ð
+út
+;
+
+580 
+¤c
+ +ð
+út
+;
+
+583 ià(
+f\9ee_off£t
+ =ð
+->
+off£t
+ + cp->
+size
+) {
+
+584 ià(
+->
+bss_sz
+) {
+
+585 
+d¡
+ = (\ 5*)
+->
+addr
+ + cp->
+size
+;
+
+586 
+       `Mem£t
+(
+d¡
+, 0, 
+->
+bss_sz
+);
+
+588 
+       `Ãxtchunk
+();
+
+590 ià(
+outút
\10
+\8f\9e
+;
+
+593 
+lßd_abÜt
+:
+
+594 
+       `ä\93_kmem
+();
+
+595 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_ABORTED
+;
+
+596 
+       `lÚgjmp
+(
+jbuf
+, 1);
+
+597 
+       }
+}
+
+600 
+       $\94
+(\ 5*
+x
+)
+
+602 
+       `ERR_PRT
+((
+L
+"% : %a", 
+LD_NAME
+, 
+x
+));
+
+604 
+       `lÚgjmp
+(
+jbuf
+,1);
+
+605 
+       }
+}
+
+607 
+INT32
+
+
+608 
+       $decom´ess_k\94Ãl
+(
+VOID
+)
+
+610 
+INT32
+»t
+;
+
+612 
+       `þ\97r_bufs
+();
+
+613 
+       `makeüc
+();
+
+614 
+       `Pr\9at
+(
+L
+"Uncompressing Linux... ");
+
+615 
+»t
+ = 
+       `gunz\9d
+();
+
+616 ià(
+»t
+ =ð0è
+       `Pr\9at
+(
+L
+"done\n");
+
+617 \15 
+»t
+ == 0 ? 0 : -1;
+
+618 
+       }
+}
+
+621 
+       $gunz\9d_k\94Ãl
+(
+fÝs_fd_t
+fd
+, 
+kdesc_t
+ *
+kd
+)
+
+623 \12
+»t
+ = -1;
+
+625 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_ERROR
+;
+
+627 
+w\9adow
+ = (\1e*)
+       `®loc
+(
+WSIZE
+, 0);
+
+628 ià(
+w\9adow
+ =ð
+NULL
+) {
+
+629 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b ou\8du\88w\9adow fa\9eed\n", 
+LD_NAME
+));
+
+633 
+\9abuf
+ = (\1e*)
+       `®loc
+(
+INBUFSIZE
+, 0);
+
+634 ià(
+\9abuf
+ =ð
+NULL
+) {
+
+635 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b iÅu\88w\9adow fa\9eedr\n", 
+LD_NAME
+));
+
+636 \10
+\94
+;
+
+639 
+\9aput_fd
+ = 
+fd
+;
+
+640 
+\9asize
+ = 0;
+
+641 
+by\8bs_out
+ = 0;
+
+643 ià(
+       `£tjmp
+(
+jbuf
+è=ð1è\10
+\94
+;
+
+646 
+»t
+ = 
+       `decom´ess_k\94Ãl
+();
+
+648 
+\94
+:
+
+649 ià(
+w\9adow
+       `ä\93
+(window);
+
+650 ià(
+\9abuf
+       `ä\93
+(inbuf);
+
+652 ià(
+»t
+ == 0) {
+
+653 
+kd
+->
+k\92\8cy
+ = 
+k\94Ãl_\92\8cy
+;
+
+654 
+kd
+->
+k\92d
+ = 
+k\94Ãl_\92d
+;
+
+655 
+kd
+->
+k¡¬t
+ = 
+k\94Ãl_ba£
+;
+
+656 
+\94rÜ_»tuº
+ = 
+ELILO_LOAD_SUCCESS
+;
+
+658 \15 
+\94rÜ_»tuº
+;
+
+659 
+       }
+}
+
+       @ia64/gzip_loader.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"lßd\94.h
+"
+
+31 \ 2
+       ~"gz\9d.h
+"
+
+33 \ 1
+       #LD_NAME
+L
+"gz\9d_\9f64"
+
+       )
+
+35 \18
+INTN
+
+
+36 
+       $gz\9d_´obe_fÜm©
+(
+CHAR16
+ *
+kÇme
+)
+
+38 
+UINT8
+buf
+[4];
+
+39 
+EFI_STATUS
+¡©us
+;
+
+40 
+INTN
+»t
+ = -1;
+
+41 
+UINTN
+size
+;
+
+42 
+fÝs_fd_t
+fd
+;
+
+44 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+45 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15 -1;
+
+47 
+size
+ = \17(
+buf
+);
+
+48 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+buf
+, &
+size
+);
+
+50 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð\17(
+buf
+)è\10
+\94
+;
+
+52 
+»t
+ = 
+       `gz\9d_´obe
+(
+buf
+, \17(buf));
+
+53 
+\94
+:
+
+54 
+       `fÝs_þo£
+(
+fd
+);
+
+55 \15 
+»t
+;
+
+56 
+       }
+}
+
+59 \18
+INTN
+
+
+60 
+       $gz\9d_lßd_k\94Ãl
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+62 
+EFI_STATUS
+¡©us
+;
+
+63 
+INT32
+»t
+;
+
+64 
+fÝs_fd_t
+fd
+;
+
+66 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+67 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+69 
+»t
+ = 
+       `gunz\9d_k\94Ãl
+(
+fd
+, 
+kd
+);
+
+71 
+       `fÝs_þo£
+(
+fd
+);
+
+73 \15 
+»t
+;
+
+74 
+       }
+}
+
+76 
+lßd\94_Ýs_t
+       ggz\9d_lßd\94
+={
+
+77 
+NULL
+,
+
+78 
+LD_NAME
+,
+
+79 
+gz\9d_´obe_fÜm©
+,
+
+80 
+gz\9d_lßd_k\94Ãl
+
+
+       @ia64/plain_loader.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96\9eo.h
+"
+
+33 \ 2
+       ~"lßd\94.h
+"
+
+34 \ 2
+       ~"\96f.h
+"
+
+35 \ 2
+       ~"´iv©e.h
+"
+
+37 \ 1
+       #LD_NAME
+L
+"¶a\9a_\96f64"
+
+       )
+
+39 \ 1
+       #PLAIN_MIN_BLOCK_SIZE
\17(
+Elf64_Ehdr
+
+       )
+
+41 \ 1
+       #SKIPBUFSIZE
+ 2048
+
+       )
+
+42 \18
+CHAR8
+ *
+       gsk\9d_bufãr
+;
+
+43 \18
+UINTN
+       gsk\9d_bufsize
+;
+
+44 \18
+UINTN
+       g\96f_is_big_\92d\9fn
+;
+
+46 \18
+\9al\9ae
+UINT64
+
+
+47 
+       $bsw­64
+(
+UINT64
+v
+)
+
+49 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab64
+(v);
+
+50 \15 
+v
+;
+
+51 
+       }
+}
+
+53 \18
+\9al\9ae
+UINT32
+
+
+54 
+       $bsw­32
+(
+UINT32
+v
+)
+
+56 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab32
+(v);
+
+57 \15 
+v
+;
+
+58 
+       }
+}
+
+60 \18
+\9al\9ae
+UINT16
+
+
+61 
+       $bsw­16
+(
+UINT16
+v
+)
+
+63 if(
+\96f_is_big_\92d\9fn
+v
+ = 
+       `__\9f64_swab16
+(v);
+
+64 \15 
+v
+;
+
+65 
+       }
+}
+
+67 \18
+INTN
+
+
+68 
+       $is_v®id_h\97d\94
+(
+Elf64_Ehdr
+ *
+ehdr
+)
+
+70 
+UINT16
+ty³
+, 
+mach\9ae
+;
+
+72 ià(
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+] =ð
+ELFDATA2MSB
+) {
+
+73 
+ty³
+ = 
+       `__\9f64_swab16
+(
+ehdr
+->
+e_ty³
+);
+
+74 
+mach\9ae
+ = 
+       `__\9f64_swab16
+(
+ehdr
+->
+e_mach\9ae
+);
+
+76 
+ty³
+ = 
+ehdr
+->
+e_ty³
+;
+
+77 
+mach\9ae
+ = 
+ehdr
+->
+e_mach\9ae
+;
+
+79 
+       `DBG_PRT
+((
+L
+"class=%d\81ype=%d data=%d machine=%d\n",
+
+80 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+],
+
+81 
+ty³
+,
+
+82 
+ehdr
+->
+e_id\92t
+[
+EI_DATA
+],
+
+83 
+mach\9ae
+));
+
+85 \15 
+ehdr
+->
+e_id\92t
+[
+EI_MAG0
+] == 0x7f
+
+86 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG1
+] == 'E'
+
+87 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG2
+] == 'L'
+
+88 && 
+ehdr
+->
+e_id\92t
+[
+EI_MAG3
+] == 'F'
+
+89 && 
+ehdr
+->
+e_id\92t
+[
+EI_CLASS
+] =ð
+ELFCLASS64
+
+
+90 && 
+ty³
+ =ð
+ET_EXEC
+
+
+91 && 
+mach\9ae
+ =ð
+EM_IA_64
+ ? 0 : -1;
+
+92 
+       }
+}
+
+94 \18
+INTN
+
+
+95 
+       $¶a\9a_´obe
+(
+CHAR16
+ *
+kÇme
+)
+
+97 
+Elf64_Ehdr
+ehdr
+;
+
+98 
+EFI_STATUS
+¡©us
+;
+
+99 
+INTN
+»t
+ = -1;
+
+100 
+fÝs_fd_t
+fd
+;
+
+101 
+UINTN
+size
+ = \17(
+ehdr
+);
+
+103 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+104 ià(
+       `EFI_ERROR
+(
+¡©us
+)) \15 -1;
+
+106 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, &
+ehdr
+, &
+size
+);
+
+108 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð\17(
+ehdr
+)è\10
+\94
+;
+
+110 
+»t
+ = 
+       `is_v®id_h\97d\94
+(&
+ehdr
+);
+
+111 
+\94
+:
+
+112 
+       `fÝs_þo£
+(
+fd
+);
+
+113 \15 
+»t
+;
+
+114 
+       }
+}
+
+121 \18
+INTN
+
+
+122 
+       $sk\9d_by\8bs
+(
+fÝs_fd_t
+fd
+, 
+UINTN
+cu½os
+, UINTN 
+Ãwpos
+)
+
+124 
+EFI_STATUS
+¡©us
+;
+
+125 
+UINTN
+n
+, 
+sk\9d
+;
+
+127 
+sk\9d
+ = 
+Ãwpos
+ - 
+cu½os
+;
+
+130 
+¡©us
+ = 
+       `fÝs_£ek
+(
+fd
+, 
+Ãwpos
+);
+
+131 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) \15 0;
+
+133 ià(
+¡©us
+ !ð
+EFI_UNSUPPORTED
\10
+\94
+;
+
+137 ià(
+sk\9d_bufãr
+ =ð
+NULL
+) {
+
+138 
+sk\9d_bufsize
+ = 
+       `MAX
+(
+sk\9d
+, 
+SKIPBUFSIZE
+);
+
+139 
+sk\9d_bufãr
+ð(
+CHAR8
+ *)
+       `®loc
+(
+sk\9d_bufsize
+, 
+EfiLßd\94D©a
+);
+
+140 ià(
+sk\9d_bufãr
+ =ð
+NULL
+) \15 -1;
+
+142 \1f
+sk\9d
+) {
+
+143 
+n
+ = 
+sk\9d
+ > 
+sk\9d_bufsize
+? skip_bufsize : skip;
+
+145 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+sk\9d_bufãr
+, &
+n
+);
+
+146 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\10
+\94
+;
+
+148 
+sk\9d
+ -=
+n
+;
+
+152 
+\94
+:
+
+153 
+       `ERR_PRT
+((
+L
+"% : cªnÙ sk\9d %d by\8bs\n", 
+LD_NAME
+, 
+n
+));
+
+155 
+       }
+}
+
+157 \18
+INTN
+
+
+158 
+       $lßd_\96f
+(
+fÝs_fd_t
+fd
+, 
+kdesc_t
+ *
+kd
+)
+
+160 
+Elf64_Ehdr
+ehdr
+;
+
+161 
+Elf64_Phdr
+ *
+phdrs
+;
+
+162 
+EFI_STATUS
+¡©us
+;
+
+163 
+INTN
+»t
+ = 
+ELILO_LOAD_ERROR
+;
+
+164 
+UINTN
+i
+, 
+tٮ_size
+ = 0;
+
+165 
+UINTN
+·ges
+, 
+size
+, 
+bss_sz
+, 
+osize
+;
+
+166 
+UINTN
+offs
+ = 0;
+
+167 
+VOID
+ *
+low_addr
+ = (VOID *)~0;
+
+168 
+VOID
+ *
+max_addr
+ = (VOID *)0;
+
+169 
+UINTN
+lßd_off£t
+ = 0;
+
+170 
+UINTN
+·ddr
+, 
+memsz
+, 
+f\9eesz
+, 
+poffs
+;
+
+171 
+UINT16
+phnum
+;
+
+173 
+       `Pr\9at
+(
+L
+"Loading Linux... ");
+
+175 
+size
+ = \17(
+ehdr
+);
+
+177 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, &
+ehdr
+, &
+size
+);
+
+178 ià(
+       `EFI_ERROR
+(
+¡©us
+è||
+size
+ < \17(
+ehdr
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+180 
+offs
+ +ð
+size
+;
+
+185 ià(
+       `is_v®id_h\97d\94
+(&
+ehdr
+) == -1) {
+
+186 
+       `ERR_PRT
+((
+L
+"% :\82Ù\87À\96à64-b\99 f\9ee\n", 
+LD_NAME
+));
+
+187 \15 
+ELILO_LOAD_ERROR
+;
+
+191 
+\96f_is_big_\92d\9fn
+ = 
+ehdr
+.
+e_id\92t
+[
+EI_DATA
+] =ð
+ELFDATA2MSB
+ ? 1 : 0;
+
+193 
+       `VERB_PRT
+(3, {
+
+194 
+       `Pr\9at
+(
+L
+"ELF f\9e\90i %s\n", 
+\96f_is_big_\92d\9fn
+ ? L"big\83ndian" : L"little\83ndian");
+
+195 
+       `Pr\9at
+(
+L
+"EÁry\85o\9a\880x%lx\n", 
+       `bsw­64
+(
+ehdr
+.
+e_\92\8cy
+));
+
+196 
+       `Pr\9at
+(
+L
+"%d\85rog¿m h\97d\94s\n", 
+       `bsw­16
+(
+ehdr
+.
+e_phnum
+));
+
+197 
+       `Pr\9at
+(
+L
+"%d segm\92\88h\97d\94s\n", 
+       `bsw­16
+(
+ehdr
+.
+e_shnum
+));
+
+200 
+phnum
+ = 
+       `bsw­16
+(
+ehdr
+.
+e_phnum
+);
+
+202 ià(
+       `sk\9d_by\8bs
+(
+fd
+, 
+offs
+, 
+       `bsw­64
+(
+ehdr
+.
+e_phoff
+)) != 0) {
+
+203 
+       `ERR_PRT
+((
+L
+"% : sk\9d\81°%ld fÜ\85hdr ç\9eed", 
+LD_NAME
+, 
+offs
+));
+
+204 \15 
+ELILO_LOAD_ERROR
+;
+
+206 
+offs
+ = 
+       `bsw­64
+(
+ehdr
+.
+e_phoff
+);
+
+208 
+size
+ = 
+osize
+ = 
+phnum
+*\17(
+Elf64_Phdr
+);
+
+210 
+       `DBG_PRT
+((
+L
+"% :\85hdr ®loÿ\8b %d by\8b sizeof=%d\83Ásize=%d\n", 
+LD_NAME
+, 
+size
+,\17(
+Elf64_Phdr
+), 
+       `bsw­16
+(
+ehdr
+.
+e_ph\92tsize
+)));
+
+212 
+phdrs
+ = (
+Elf64_Phdr
+ *)
+       `®loc
+(
+size
+, 0);
+
+213 ià(
+phdrs
+ =ð
+NULL
+) {
+
+214 
+       `ERR_PRT
+((
+L
+"% :\87Îoÿ\8b\85hdr ç\9eed", 
+LD_NAME
+));
+
+215 \15 
+ELILO_LOAD_ERROR
+;
+
+218 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+phdrs
+, &
+size
+);
+
+219 ià(
+       `EFI_ERROR
+(
+¡©us
+è|| 
+size
+ !ð
+osize
+) {
+
+220 
+       `ERR_PRT
+((
+L
+"% :\86ßd\85hdr ç\9eed", 
+LD_NAME
+, 
+¡©us
+));
+
+221 \10
+out
+;
+
+223 
+offs
+ +ð
+size
+;
+
+229 \ f
+i
+ = 0; i < 
+phnum
+; i++) {
+
+231 
+·ddr
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+232 
+memsz
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_memsz
+);
+
+234 
+       `DBG_PRT
+((
+L
+"Phdr %d\85addr [0x%lx-0x%lx] offset %ld"
+
+236 1+
+i
+,
+
+237 
+·ddr
+,
+
+238 
+·ddr
++
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+),
+
+239 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_off£t
+),
+
+240 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+),
+
+241 
+memsz
+,
+
+242 
+memsz
+ - 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+), 
+       `bsw­32
+Õhdrs[i].
+p_ty³
+)));
+
+244 ià(
+       `bsw­32
+(
+phdrs
+[
+i
+].
+p_ty³
+è!ð
+PT_LOAD
+) \ 6;
+
+247 ià(
+·ddr
+ < (
+UINTN
+)
+low_addr
+èlow_add¸ð(
+VOID
+ *)paddr;
+
+249 ià(
+·ddr
+ + 
+memsz
+ > (
+UINTN
+)
+max_addr
+)
+
+250 
+max_addr
+ = (
+VOID
+ *)
+·ddr
+ + 
+memsz
+;
+
+253 ià((
+UINTN
+)
+low_addr
+ & (
+EFI_PAGE_SIZE
+ - 1)) {
+
+254 
+       `ERR_PRT
+((
+L
+"% : k\94ÃÈlow\87dd»s 0x%lx\82Ù\85ag\90®igÃd\n", 
+LD_NAME
+, 
+low_addr
+));
+
+255 \10
+out
+;
+
+259 
+tٮ_size
+ = (
+UINTN
+)
+max_addr
+ - (UINTN)
+low_addr
+;
+
+262 
+·ges
+ = 
+       `EFI_SIZE_TO_PAGES
+(
+tٮ_size
+);
+
+267 
+kd
+->
+k¡¬t
+ = 
+low_addr
+;
+
+268 
+kd
+->
+k\92d
+ = 
+low_addr
++ (
+·ges
+ << 
+EFI_PAGE_SHIFT
+);
+
+273 
+kd
+->
+k\92\8cy
+ = (
+VOID
+ *)
+       `bsw­64
+(
+ehdr
+.
+e_\92\8cy
+);
+
+275 ià(((
+UINTN
+)
+kd
+->
+k\92\8cy
+ >> 61) != 0) {
+
+276 
+       `ERR_PRT
+((
+L
+"%s: <<ERROR>>\83Áry\85o\9a\88i ¨v\9ctu®\87dd»s 0x%lx :\82Ù suµÜ\8bd\87nymÜe\n", 
+LD_NAME
+, 
+kd
+->
+k\92\8cy
+));
+
+279 
+       `VERB_PRT
+(3, {
+
+280 
+       `Pr\9at
+(
+L
+"Lowest PhysAddr: 0x%lx\nTotalMemSize:%d bytes (%d\85ages)\n",
+
+281 
+low_addr
+, 
+tٮ_size
+, 
+·ges
+);
+
+282 
+       `Pr\9at
+(
+L
+"K\94ÃÈ\92\8cy @ 0x%lx\n", 
+kd
+->
+k\92\8cy
+);
+
+288 ià(
+       `®loc_kmem
+(
+low_addr
+, 
+·ges
+) == -1) {
+
+289 
+VOID
+ *
+Ãw_addr
+;
+
+291 
+       `VERB_PRT
+(1, (
+L
+"% : AÎoÿ\8bPages(%d, 0x%lxèfÜ k\94ÃÈç\9eed\n", 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+293 ià(
+       `\9f64_ÿn_»loÿ\8b
+() == 0) {
+
+294 
+       `ERR_PRT
+((
+L
+"relocation is disabled, cannot\86oad kernel"));
+
+295 \10
+out
+;
+
+307 
+       `Pr\9at
+(
+L
+"Attempting\81o\84elocate kernel.\n");
+
+308 ià(
+       `f\9ad_k\94Ãl_memÜy
+(
+low_addr
+, 
+max_addr
+, 256*
+MB
+, &
+Ãw_addr
+) == -1) {
+
+309 
+       `ERR_PRT
+((
+L
+"% : f\9ad_k\94Ãl_memÜy(0x%lx, 0x%lx, 0x%lx, 0x%lxèç\9eed\n", 
+LD_NAME
+, 
+low_addr
+, 
+max_addr
+, 256*
+MB
+, &
+lßd_off£t
+));
+
+310 \10
+out
+;
+
+313 
+lßd_off£t
+ = (
+UINTN
+è(
+Ãw_addr
+ - 
+       `ROUNDDOWN
+((UINTNè
+low_addr
+,256*
+MB
+));
+
+315 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"low_addr=0x%lx\82ew_addr=0x%lx off£t=0x%lx", 
+low_addr
+, 
+Ãw_addr
+, 
+lßd_off£t
+));
+
+320 
+low_addr
+ = (
+VOID
+*è((
+UINTN
+èlow_add¸+ 
+lßd_off£t
+);
+
+321 
+max_addr
+ = (
+VOID
+*è((
+UINTN
+èmax_add¸+ 
+lßd_off£t
+);
+
+322 
+kd
+->
+k¡¬t
+ = (
+VOID
+ *è((
+UINTN
+èkd->k¡¬\88
+lßd_off£t
+);
+
+323 
+kd
+->
+k\92d
+ = (
+VOID
+ *è((
+UINTN
+èkd->k\92d + 
+lßd_off£t
+);
+
+324 
+kd
+->
+k\92\8cy
+ = (
+VOID
+ *è((
+UINTN
+èkd->k\92\8cy + 
+lßd_off£t
+);
+
+329 ià(
+       `®loc_kmem
+(
+low_addr
+, 
+·ges
+) == -1) {
+
+330 
+       `ERR_PRT
+((
+L
+"% : AÎoÿ\8bPages(%d, 0x%lxèfÜ k\94ÃÈç\9eed\n", 
+LD_NAME
+, 
+·ges
+, 
+low_addr
+));
+
+331 
+       `ERR_PRT
+((
+L
+"R\96oÿtiÚ by 0x%lx by\8b ç\9eed.\n", 
+lßd_off£t
+));
+
+332 \10
+out
+;
+
+336 
+       `VERB_PRT
+(1, 
+       `Pr\9at
+(
+L
+"Press\87ny key\81o interrupt\n"));
+
+342 \ f
+i
+ = 0; i < 
+phnum
+; i++) {
+
+347 ià(
+       `bsw­32
+(
+phdrs
+[
+i
+].
+p_ty³
+è!ð
+PT_LOAD
+) \ 6;
+
+349 
+poffs
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_off£t
+);
+
+351 
+size
+ = 
+poffs
+ - 
+offs
+;
+
+353 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"\noff=%ld\85offs=%ld size=%ld\n", 
+offs
+, 
+poffs
+, 
+size
+));
+
+355 
+f\9eesz
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+);
+
+359 
+phdrs
+[
+i
+].
+p_·ddr
+ = (
+Elf64_Addr
+è((
+UINTN
+       `bsw­64
+Õhdrs[i].p_·ddrè+ 
+lßd_off£t
+);
+
+364 ià(
+size
+ && 
+       `sk\9d_by\8bs
+(
+fd
+, 
+offs
+, 
+poffs
+è!ð0è\10
+out_k\94Ãl
+;
+
+369 
+offs
+ +ð
+size
+;
+
+374 
+bss_sz
+ = 
+       `bsw­64
+(
+phdrs
+[
+i
+].
+p_memsz
+è- 
+f\9eesz
+;
+
+376 
+       `VERB_PRT
+(4, {
+
+377 
+       `Pr\9at
+(
+L
+"\nH\97d\94 #%d\n", 
+i
+);
+
+378 
+       `Pr\9at
+(
+L
+"off£\88%ld\n", 
+poffs
+);
+
+379 
+       `Pr\9at
+(
+L
+"Phy add¸0x%lx\n", 
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+380 
+       `Pr\9at
+(
+L
+"BSS siz\90%ld by\8bs\n", 
+bss_sz
+);
+
+381 
+       `Pr\9at
+(
+L
+"sk\9d=%ld offs=%ld\n", 
+size
+, 
+offs
+);
+
+387 
+»t
+ = 
+       `»ad_f\9ee
+(
+fd
+, 
+f\9eesz
+, (
+CHAR8
+ *)
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+388 ià(
+»t
+ =ð
+ELILO_LOAD_ABORTED
\10
+lßd_abÜt
+;
+
+389 ià(
+»t
+ =ð
+ELILO_LOAD_ERROR
\10
+out
+;
+
+390 ià(
+       `bsw­32
+(
+phdrs
+[
+i
+].
+p_æags
+è& 
+PF_X
+)
+
+391 
+       `æush_dÿche
+ ((
+CHAR8
+ *)
+phdrs
+[
+i
+].
+p_·ddr
+, 
+f\9eesz
+);
+
+396 
+offs
+ +ð
+f\9eesz
+;
+
+401 ià(
+bss_sz
+       `Mem£t
+((
+VOID
+ *è
+phdrs
+[
+i
+].
+p_·ddr
++
+f\9eesz
+, 0, bss_sz);
+
+404 
+       `ä\93
+(
+phdrs
+);
+
+406 
+       `Pr\9at
+(
+L
+"..done\n");
+
+407 \15 
+ELILO_LOAD_SUCCESS
+;
+
+409 
+lßd_abÜt
+:
+
+410 
+       `Pr\9at
+(
+L
+"..Aborted\n");
+
+411 
+»t
+ = 
+ELILO_LOAD_ABORTED
+;
+
+412 
+out_k\94Ãl
+:
+
+414 
+       `ä\93_kmem
+();
+
+415 
+out
+:
+
+416 
+       `ä\93
+(
+phdrs
+);
+
+417 \15 
+»t
+;
+
+418 
+       }
+}
+
+420 \18
+INTN
+
+
+421 
+       $¶a\9a_lßd_k\94Ãl
+(
+CHAR16
+ *
+kÇme
+, 
+kdesc_t
+ *
+kd
+)
+
+423 
+INTN
+»t
+;
+
+424 
+fÝs_fd_t
+fd
+;
+
+425 
+EFI_STATUS
+¡©us
+;
+
+430 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+kÇme
+, &
+fd
+);
+
+431 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+433 
+       `Pr\9at
+(
+L
+"Lßd\9ag %s...", 
+kÇme
+);
+
+435 
+»t
+ = 
+       `lßd_\96f
+(
+fd
+, 
+kd
+);
+
+437 
+       `fÝs_þo£
+(
+fd
+);
+
+442 ià(
+sk\9d_bufãr
+) {
+
+443 
+       `ä\93
+(
+sk\9d_bufãr
+);
+
+445 
+sk\9d_bufãr
+ = 
+NULL
+;
+
+447 \15 
+»t
+;
+
+448 
+       }
+}
+
+450 
+lßd\94_Ýs_t
+       g¶a\9a_lßd\94
+={
+
+451 
+NULL
+,
+
+452 
+LD_NAME
+,
+
+453 
+¶a\9a_´obe
+,
+
+454 
+¶a\9a_lßd_k\94Ãl
+
+
+       @ia64/private.h
+
+26 #iâdeà
+__ELILO_PRIVATE_IA64_H__
+
+
+27 \ 1
+       #__ELILO_PRIVATE_IA64_H__
+
+
+       )
+
+29 \r
+INTN
+check_åswa
+(
+EFI_HANDLE
+, EFI_HANDLE, 
+CHAR16
+ *);
+
+30 \r
+INTN
+qu\94y_åswa
+(
+VOID
+ **);
+
+32 \r
+INTN
+\9f64_ÿn_»loÿ\8b
+();
+
+34 \r\1e
+æush_dÿche
+ (
+CHAR8
+ *
+addr
+, 
+UINT64
+Ën
+);
+
+       @ia64/setjmp.h
+
+22 \ 1
+       #_JBLEN
+ 70
+
+       )
+
+25 \e\13
+       tjmp_buf
+[
+_JBLEN
+] 
+       t__©\8cibu\8b__
+ ((
+       t®igÃd
+ (16)));
+
+27 \r\12
+£tjmp
+ (
+jmp_buf
+__\92v
+);
+
+28 \r\1e
+lÚgjmp
+ (
+jmp_buf
+__\92v
+, \12
+__v®
+);
+
+       @ia64/sysdeps.h
+
+32 #iâdeà
+__ELILO_SYSDEPS_IA64_H__
+
+
+33 \ 1
+       #__ELILO_SYSDEPS_IA64_H__
+
+
+       )
+
+35 \ 1
+       #ELILO_ARCH
+ "IA-64"
+
+       )
+
+38 \r
+VOID
+Mem£t
+(VOID *, 
+INTN
+, 
+UINTN
+);
+
+39 \r
+VOID
+Memýy
+(VOID *, VOID *, 
+UINTN
+);
+
+41 \r
+VOID
+sysd\95_»gi¡\94_ÝtiÚs
+(VOID);
+
+46 \e\19
+       s\9f64_boÙ_·¿ms
+ {
+
+52 
+UINTN
+       mcommªd_l\9ae
+;
+
+53 
+UINTN
+       mefi_sy¡ab
+;
+
+54 
+UINTN
+       mefi_memm­
+;
+
+55 
+UINTN
+       mefi_memm­_size
+;
+
+56 
+UINTN
+       mefi_memdesc_size
+;
+
+57 
+UINT32
+       mefi_memdesc_v\94siÚ
+;
+
+59 
+UINT16
+       mnum_cÞs
+;
+
+60 
+UINT16
+       mnum_rows
+;
+
+61 
+UINT16
+       mÜig_x
+;
+
+62 
+UINT16
+       mÜig_y
+;
+
+63 } 
+       mcÚsÞe_\9afo
+;
+
+64 
+UINTN
+       måswa
+;
+
+65 
+UINTN
+       m\9a\99rd_¡¬t
+;
+
+66 
+UINTN
+       m\9a\99rd_size
+;
+
+68 
+UINTN
+       mvmcode_¡¬t
+;
+
+69 
+UINTN
+       mvmcode_size
+;
+
+70 
+UINTN
+       mlßd\94_addr
+;
+
+71 
+UINTN
+       mlßd\94_size
+;
+
+73 } 
+       tboÙ_·¿ms_t
+;
+
+75 \e\19
+       ssys_img_ÝtiÚs
+ {
+
+76 
+UINT8
+       mdummy
+;
+
+77 
+UINT8
+       m®low_»loÿtiÚ
+;
+
+78 } 
+       tsys_img_ÝtiÚs_t
+;
+
+83 \18
+\9al\9ae
\1e
+
+84 
+       $¡¬t_k\94Ãl
+(
+VOID
+ *
+k\92\8cy
+, VOID *
+bp
+)
+
+86 
+asm
+ vÞ©\9e\90("mov\8428=%1; br.¥tk.ãw %0" :: "b"(
+k\92\8cy
+),"r"(
+bp
+));
+
+87 
+       }
+}
+
+89 \18
+\9al\9ae
+ cڡ 
+UINT64
+
+
+90 
+       $__\9f64_swab64
+ (
+UINT64
+x
+)
+
+92 
+UINT64
+»suÉ
+;
+
+94 
+asm
+ vÞ©\9e\90("mux1 %0=%1,@»v" : "ô" (
+»suÉ
+è: "r" (
+x
+));
+
+95 \15 
+»suÉ
+;
+
+96 
+       }
+}
+
+98 \18
+\9al\9ae
+ cڡ 
+UINT32
+
+
+99 
+       $__\9f64_swab32
+ (
+UINT32
+x
+)
+
+101 \15 
+       `__\9f64_swab64
+(
+x
+) >> 32;
+
+102 
+       }
+}
+
+104 \18
+\9al\9ae
+ cڡ 
+UINT16
+
+
+105 
+       $__\9f64_swab16
+(
+UINT16
+x
+)
+
+107 \15 
+       `__\9f64_swab64
+(
+x
+) >> 48;
+
+108 
+       }
+}
+
+       @ia64/system.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96\9eo.h
+"
+
+33 \ 2
+       ~"lßd\94.h
+"
+
+34 \ 2
+       ~"´iv©e.h
+"
+
+36 \r
+lßd\94_Ýs_t
+¶a\9a_lßd\94
+, 
+gz\9d_lßd\94
+;
+
+41 
+INTN
+
+
+42 
+       $sysd\95s_ü\97\8b_boÙ_·¿ms
+(
+boÙ_·¿ms_t
+ *
+bp
+, 
+CHAR8
+ *
+cmdl\9ae
+, 
+memdesc_t
+ *
+\9a\99rd
+, memdesc_\88*
+vmcode
+, 
+UINTN
+ *
+cook\9b
+)
+
+44 
+UINTN
+cÞs
+, 
+rows
+;
+
+45 
+SIMPLE_TEXT_OUTPUT_INTERFACE
+ *
+cÚout
+;
+
+46 
+EFI_STATUS
+¡©us
+;
+
+47 
+mm­_desc_t
+mdesc
+;
+
+54 
+       `qu\94y_åswa
+((
+VOID
+ **)&
+bp
+->
+åswa
+);
+
+56 ià(
+       `g\91_memm­
+(&
+mdesc
+) == -1) \15 -1;
+
+58 
+       `DBG_PRT
+((
+L
+"GÙ memÜy m­ @ 0x%lx (%d by\8bs)", 
+mdesc
+.
+md
+, mdesc.
+m­_size
+));
+
+60 
+bp
+->
+efi_sy¡ab
+ = (
+UINTN
+)
+sy¡ab
+;
+
+61 
+bp
+->
+efi_memm­
+ = (
+UINTN
+)
+mdesc
+.
+md
+;
+
+62 
+bp
+->
+efi_memm­_size
+ = 
+mdesc
+.
+m­_size
+;
+
+63 
+bp
+->
+efi_memdesc_size
+ = 
+mdesc
+.
+desc_size
+;
+
+64 
+bp
+->
+efi_memdesc_v\94siÚ
+ = 
+mdesc
+.
+desc_v\94siÚ
+;
+
+65 
+bp
+->
+commªd_l\9ae
+ = (
+UINTN
+)
+cmdl\9ae
+;
+
+66 
+bp
+->
+\9a\99rd_¡¬t
+ = (
+UINTN
+\9a\99rd
+->
+¡¬t_addr
+;
+
+67 
+bp
+->
+\9a\99rd_size
+ = 
+\9a\99rd
+->
+size
+;
+
+68 
+       `DBG_PRT
+((
+L
+"GÙ in\99rd @ 0x%lx (%d by\8bs)", 
+\9a\99rd
+->
+¡¬t_addr
+, in\99rd->
+size
+));
+
+70 
+bp
+->
+vmcode_¡¬t
+ = (
+UINTN
+vmcode
+->
+¡¬t_addr
+;
+
+71 
+bp
+->
+vmcode_size
+ = 
+vmcode
+->
+size
+;
+
+72 
+       `DBG_PRT
+((
+L
+"GÙ vmcod\90@ 0x%lx (%d by\8bs)", 
+vmcode
+->
+¡¬t_addr
+, vmcode->
+size
+));
+
+75 
+cÚout
+ = 
+sy¡ab
+->
+CÚOut
+;
+
+76 
+¡©us
+ = 
+cÚout
+->
+       `Qu\94yMode
+(cÚout, cÚout->
+Mode
+->Mode, &
+cÞs
+, &
+rows
+);
+
+77 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+78 
+       `ERR_PRT
+((
+L
+"boÙ_·¿m Qu\94yMod\90ç\9eed %r", 
+¡©us
+));
+
+79 \10
+\94
+;
+
+81 
+       `DBG_PRT
+((
+L
+"Got console info: cols=%d\84ows=%d x=%d y=%d",
+
+82 
+cÞs
+, 
+rows
+, 
+cÚout
+->
+Mode
+->
+CursÜCÞumn
+, cÚout->Mode->
+CursÜRow
+));
+
+84 
+bp
+->
+cÚsÞe_\9afo
+.
+num_cÞs
+ = 
+cÞs
+;
+
+85 
+bp
+->
+cÚsÞe_\9afo
+.
+num_rows
+ = 
+rows
+;
+
+86 
+bp
+->
+cÚsÞe_\9afo
+.
+Üig_x
+ = 
+cÚout
+->
+Mode
+->
+CursÜCÞumn
+;
+
+87 
+bp
+->
+cÚsÞe_\9afo
+.
+Üig_y
+ = 
+cÚout
+->
+Mode
+->
+CursÜRow
+;
+
+89 *
+cook\9b
+ = 
+mdesc
+.cookie;
+
+92 
+\94
+:
+
+94 
+       `ä\93_memm­
+(&
+mdesc
+);
+
+97 
+       }
+}
+
+99 
+VOID
+
+
+100 
+       $sysd\95s_ä\93_boÙ_·¿ms
+(
+boÙ_·¿ms_t
+ *
+bp
+)
+
+102 
+mm­_desc_t
+md
+;
+
+104 
+       `Mem£t
+(&
+md
+, 0, \17(md));
+
+106 
+md
+.md = (
+VOID
+ *)
+bp
+->
+efi_memm­
+;
+
+108 
+       `ä\93_memm­
+(&
+md
+);
+
+109 
+       }
+}
+
+111 
+INTN
+
+
+112 
+       $sysd\95s_\9a\99
+(
+EFI_HANDLE
+dev
+)
+
+114 
+       `lßd\94_»gi¡\94
+(&
+¶a\9a_lßd\94
+);
+
+115 
+       `lßd\94_»gi¡\94
+(&
+gz\9d_lßd\94
+);
+
+118 
+       }
+}
+
+120 
+INTN
+
+
+121 
+       $sysd\95s_\9a\99rd_g\91_addr
+(
+kdesc_t
+ *
+kd
+, 
+memdesc_t
+ *
+imem
+)
+
+135 
+imem
+->
+¡¬t_addr
+ = (
+VOID
+ *)
+       `ROUNDUP
+((
+UINTN
+)
+kd
+->
+k\92d
+, 
+EFI_PAGE_SIZE
+);
+
+137 
+imem
+->
+¡¬t_addr
+ = 0;
+
+141 
+       }
+}
+
+145 
+       $æush_dÿche
+ (
+CHAR8
+ *
+addr
+, 
+UINT64
+Ën
+)
+
+148 
+UINT64
+a
+ = (UINT64)
+addr
+ & ~0x1f;
+
+150 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"Flush 0x%lx-", 
+a
+));
+
+153 \ f
+Ën
+ = (ËÀ+ 31è& ~0x1f;\86\92 > 0;\86\92 -ð0x20, 
+a
+ += 0x20)
+
+154 
+asm
+ vÞ©\9e\90("fø%0" : : "r" (
+a
+));
+
+156 
+asm
+ volatile (";; sync.i;; srlz.i;;");
+
+158 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"0x%lx\n", 
+a
+));
+
+159 
+       }
+}
+
+       @inflate.c
+
+1 \ 1
+       #DEBG
+(
+x
+)
+
+       )
+
+2 \ 1
+       #DEBG1
+(
+x
+)
+
+       )
+
+106 #ifdeà
+RCSID
+
+
+107 \18\ 5
+       grcsid
+[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
+
+110 #iâdeà
+FUNC_STATIC
+
+
+112 #ià
+def\9aed
+(
+STDC_HEADERS
+è|| def\9aed(
+HAVE_STDLIB_H
+)
+
+113 \ 2
+       ~<sys/ty³s.h
+>
+
+114 \ 2
+       ~<¡dlib.h
+>
+
+117 \ 2
+       ~"gz\9d.h
+"
+
+118 \ 1
+       #FUNC_STATIC
+
+
+       )
+
+121 \ 1
+       #¦ide
+w\9adow
+
+
+       )
+
+130 \19
+       shuá
+ {
+
+131 
+uch
+       me
+;
+
+132 
+uch
+       mb
+;
+
+134 
+ush
+       mn
+;
+
+135 \19
+huá
+ *
+       mt
+;
+
+136 } 
+       mv
+;
+
+141 
+FUNC_STATIC
\12
+huá_bu\9ed
+OF
+((\1d*, \1d\1d,
+
+142 cڡ 
+ush
+ *, cڡ ush *, \19
+huá
+ **, \12*));
+
+143 
+FUNC_STATIC
\12
+huá_ä\93
+OF
+((\19
+huá
+ *));
+
+144 
+FUNC_STATIC
\12
+\9aæ©e_codes
+OF
+((\19
+huá
+ *, \19huft *, \12\12));
+
+145 
+FUNC_STATIC
\12
+\9aæ©e_¡Üed
+OF
+((\1e));
+
+146 
+FUNC_STATIC
\12
+\9aæ©e_fixed
+OF
+((\1e));
+
+147 
+FUNC_STATIC
\12
+\9aæ©e_dyÇmic
+OF
+((\1e));
+
+148 
+FUNC_STATIC
\12
+\9aæ©e_block
+OF
+((\12*));
+
+149 
+FUNC_STATIC
\12
+\9aæ©e
+OF
+((\1e));
+
+161 \ 1
+       #wp
+outút
+
+
+       )
+
+162 \ 1
+       #æush_ou\8dut
+(
+w
+è(
+wp
+=(w),
+       `æush_w\9adow
+())
+
+       )
+
+165 \18cڡ \1d
+       gbÜd\94
+[] = {
+
+167 \18cڡ 
+ush
+       gýËns
+[] = {
+
+171 \18cڡ 
+ush
+       gýËxt
+[] = {
+
+174 \18cڡ 
+ush
+       gýdi¡
+[] = {
+
+178 \18cڡ 
+ush
+       gýdext
+[] = {
+
+215 
+FUNC_STATIC
+ulg
+       gbb
+;
+
+216 
+FUNC_STATIC
\1d
+       gbk
+;
+
+218 
+FUNC_STATIC
+ cڡ 
+ush
+       gmask_b\99s
+[] = {
+
+224 \ 1
+       #NEXTBYTE
+(è(
+uch
+)
+       `g\91_by\8b
+()
+
+       )
+
+225 \ 1
+       #NEEDBITS
+(
+n
+è{\1f
+k
+<Ò)){
+b
+|=((
+ulg
+)
+       `NEXTBYTE
+())<<k;k+=8;}}
+
+       )
+
+226 \ 1
+       #DUMPBITS
+(
+n
+è{
+b
+>>=Ò);
+k
+-=Ò);}
+
+       )
+
+262 
+FUNC_STATIC
+ cڡ \12
+       glb\99s
+ = 9;
+
+263 
+FUNC_STATIC
+ cڡ \12
+       gdb\99s
+ = 6;
+
+267 \ 1
+       #BMAX
+ 16
+
+       )
+
+268 \ 1
+       #N_MAX
+ 288
+
+       )
+
+271 
+FUNC_STATIC
\1d
+       ghuás
+;
+
+274 
+FUNC_STATIC
\12
+       $huá_bu\9ed
+(
+b
+, 
+n
+, 
+s
+, 
+d
+, 
+e
+, 
+t
+, 
+m
+)
+
+275 \1d*
+b
+;
+
+276 \1d
+n
+;
+
+277 \1d
+s
+;
+
+278 cڡ 
+ush
+ *
+d
+;
+
+279 cڡ 
+ush
+ *
+e
+;
+
+280 \19
+huá
+ **
+t
+;
+
+281 \12*
+m
+;
+
+288 \1d
+a
+;
+
+289 \1d
+c
+[
+BMAX
++1];
+
+290 \1d
+f
+;
+
+291 \12
+g
+;
+
+292 \12
+h
+;
+
+293 \14\1d
+i
+;
+
+294 \14\1d
+j
+;
+
+295 \14\12
+k
+;
+
+296 \12
+l
+;
+
+297 \14\1d*
+p
+;
+
+298 \14\19
+huá
+ *
+q
+;
+
+299 \19
+huá
+r
+;
+
+300 \19
+huá
+ *
+u
+[
+BMAX
+];
+
+301 \1d
+v
+[
+N_MAX
+];
+
+302 \14\12
+w
+;
+
+303 \1d
+x
+[
+BMAX
++1];
+
+304 \1d*
+xp
+;
+
+305 \12
+y
+;
+
+306 \1d
+z
+;
+
+308 
+       `DEBG
+("huft1 ");
+
+311 
+       `memz\94o
+(
+c
+, \17(c));
+
+313 
+p
+ = 
+b
+; 
+i
+ = 
+n
+;
+
+315 
+       `T¿ûcv
+(*
+p
+, (
+¡d\94r
+, (
+n
+-
+i
+ >= ' ' &&\82-i <= '~' ? "%c %d\n" : "0x%x %d\n"),
+
+316 
+n
+-
+i
+, *
+p
+));
+
+317 
+c
+[*
+p
+]++;
+
+318 
+p
+++;
+
+319 } \1f--
+i
+);
+
+320 ià(
+c
+[0] =ð
+n
+)
+
+322 *
+t
+ = (\19
+huá
+ *)
+NULL
+;
+
+323 *
+m
+ = 0;
+
+327 
+       `DEBG
+("huft2 ");
+
+330 
+l
+ = *
+m
+;
+
+331 \ f
+j
+ = 1; j <ð
+BMAX
+; j++)
+
+332 ià(
+c
+[
+j
+])
+
+334 
+k
+ = 
+j
+;
+
+335 ià((\1d)
+l
+ < 
+j
+)
+
+336 
+l
+ = 
+j
+;
+
+337 \ f
+i
+ = 
+BMAX
+; i; i--)
+
+338 ià(
+c
+[
+i
+])
+
+340 
+g
+ = 
+i
+;
+
+341 ià((\1d)
+l
+ > 
+i
+)
+
+342 
+l
+ = 
+i
+;
+
+343 *
+m
+ = 
+l
+;
+
+345 
+       `DEBG
+("huft3 ");
+
+348 \ f
+y
+ = 1 << 
+j
+; j < 
+i
+; j++, y <<= 1)
+
+349 ià((
+y
+ -ð
+c
+[
+j
+]) < 0)
+
+351 ià((
+y
+ -ð
+c
+[
+i
+]) < 0)
+
+353 
+c
+[
+i
+] +ð
+y
+;
+
+355 
+       `DEBG
+("huft4 ");
+
+358 
+x
+[1] = 
+j
+ = 0;
+
+359 
+p
+ = 
+c
+ + 1; 
+xp
+ = 
+x
+ + 2;
+
+360 \1f--
+i
+) {
+
+361 *
+xp
+++ = (
+j
+ +ð*
+p
+++);
+
+364 
+       `DEBG
+("huft5 ");
+
+367 
+p
+ = 
+b
+; 
+i
+ = 0;
+
+369 ià((
+j
+ = *
+p
+++) != 0)
+
+370 
+v
+[
+x
+[
+j
+]++] = 
+i
+;
+
+371 } \1f++
+i
+ < 
+n
+);
+
+373 
+       `DEBG
+("h6 ");
+
+376 
+x
+[0] = 
+i
+ = 0;
+
+377 
+p
+ = 
+v
+;
+
+378 
+h
+ = -1;
+
+379 
+w
+ = -
+l
+;
+
+380 
+u
+[0] = (\19
+huá
+ *)
+NULL
+;
+
+381 
+q
+ = (\19
+huá
+ *)
+NULL
+;
+
+382 
+z
+ = 0;
+
+383 
+       `DEBG
+("h6a ");
+
+386 \ f
+k
+ <ð
+g
+; k++)
+
+388 
+       `DEBG
+("h6b ");
+
+389 
+a
+ = 
+c
+[
+k
+];
+
+390 \1f
+a
+--)
+
+392 
+       `DEBG
+("h6b1 ");
+
+395 \1f
+k
+ > 
+w
+ + 
+l
+)
+
+397 
+       `DEBG1
+("1 ");
+
+398 
+h
+++;
+
+399 
+w
+ +ð
+l
+;
+
+402 
+z
+ = (z = 
+g
+ - 
+w
+è> (\1d)
+l
+ ?\86 : z;
+
+403 ià((
+f
+ = 1 << (
+j
+ = 
+k
+ - 
+w
+)è> 
+a
+ + 1)
+
+405 
+       `DEBG1
+("2 ");
+
+406 
+f
+ -ð
+a
+ + 1;
+
+407 
+xp
+ = 
+c
+ + 
+k
+;
+
+408 \1f++
+j
+ < 
+z
+)
+
+410 ià((
+f
+ <<ð1è<ð*++
+xp
+)
+
+412 
+f
+ -ð*
+xp
+;
+
+415 
+       `DEBG1
+("3 ");
+
+416 
+z
+ = 1 << 
+j
+;
+
+419 ià((
+q
+ = (\19
+huá
+ *)
+       `gz\9d_m®loc
+((
+z
+ + 1)*\17(\19huft))) ==
+
+420 (\19
+huá
+ *)
+NULL
+)
+
+422 ià(
+h
+)
+
+423 
+       `huá_ä\93
+(
+u
+[0]);
+
+426 
+       `DEBG1
+("4 ");
+
+427 
+huás
+ +ð
+z
+ + 1;
+
+428 *
+t
+ = 
+q
+ + 1;
+
+429 *(
+t
+ = &(
+q
+->
+v
+.t)èð(\19
+huá
+ *)
+NULL
+;
+
+430 
+u
+[
+h
+] = ++
+q
+;
+
+432 
+       `DEBG1
+("5 ");
+
+434 ià(
+h
+)
+
+436 
+x
+[
+h
+] = 
+i
+;
+
+437 
+r
+.
+b
+ = (
+uch
+)
+l
+;
+
+438 
+r
+.
+e
+ = (
+uch
+)(16 + 
+j
+);
+
+439 
+r
+.
+v
+.
+t
+ = 
+q
+;
+
+440 
+j
+ = 
+i
+ >> (
+w
+ - 
+l
+);
+
+441 
+u
+[
+h
+-1][
+j
+] = 
+r
+;
+
+443 
+       `DEBG1
+("6 ");
+
+445 
+       `DEBG
+("h6c ");
+
+448 
+r
+.
+b
+ = (
+uch
+)(
+k
+ - 
+w
+);
+
+449 ià(
+p
+ >ð
+v
+ + 
+n
+)
+
+450 
+r
+.
+e
+ = 99;
+
+451 \vià(*
+p
+ < 
+s
+)
+
+453 
+r
+.
+e
+ = (
+uch
+)(*
+p
+ < 256 ? 16 : 15);
+
+454 
+r
+.
+v
+.
+n
+ = (
+ush
+)(*
+p
+);
+
+455 
+p
+++;
+
+459 
+r
+.
+e
+ = (
+uch
+ë[*
+p
+ - 
+s
+];
+
+460 
+r
+.
+v
+.
+n
+ = 
+d
+[*
+p
+++ - 
+s
+];
+
+462 
+       `DEBG
+("h6d ");
+
+465 
+f
+ = 1 << (
+k
+ - 
+w
+);
+
+466 \ f
+j
+ = 
+i
+ >> 
+w
+; j < 
+z
+; j +ð
+f
+)
+
+467 
+q
+[
+j
+] = 
+r
+;
+
+470 \ f
+j
+ = 1 << (
+k
+ - 1); 
+i
+ & j; j >>= 1)
+
+471 
+i
+ ^ð
+j
+;
+
+472 
+i
+ ^ð
+j
+;
+
+475 \1f(
+i
+ & ((1 << 
+w
+è- 1)è!ð
+x
+[
+h
+])
+
+477 
+h
+--;
+
+478 
+w
+ -ð
+l
+;
+
+480 
+       `DEBG
+("h6e ");
+
+482 
+       `DEBG
+("h6f ");
+
+485 
+       `DEBG
+("huft7 ");
+
+488 \15 
+y
+ !ð0 && 
+g
+ != 1;
+
+489 
+       }
+}
+
+493 
+FUNC_STATIC
\12
+       $huá_ä\93
+(
+t
+)
+
+494 \19
+huá
+ *
+t
+;
+
+499 \14\19
+huá
+ *
+p
+, *
+q
+;
+
+503 
+p
+ = 
+t
+;
+
+504 \1f
+p
+ !ð(\19
+huá
+ *)
+NULL
+)
+
+506 
+q
+ = (--
+p
+)->
+v
+.
+t
+;
+
+507 
+       `gz\9d\93
+((\ 5*)
+p
+);
+
+508 
+p
+ = 
+q
+;
+
+511 
+       }
+}
+
+514 
+FUNC_STATIC
\12
+       $\9aæ©e_codes
+(
+\8e
+, 
+td
+, 
+bl
+, 
+bd
+)
+
+515 \19
+huá
+ *
+\8e
+, *
+td
+;
+
+516 \12
+bl
+, 
+bd
+;
+
+520 \14\1d
+e
+;
+
+521 \1d
+n
+, 
+d
+;
+
+522 \1d
+w
+;
+
+523 \19
+huá
+ *
+t
+;
+
+524 \1d
+ml
+, 
+md
+;
+
+525 \14
+ulg
+b
+;
+
+526 \14\1d
+k
+;
+
+530 
+b
+ = 
+bb
+;
+
+531 
+k
+ = 
+bk
+;
+
+532 
+w
+ = 
+wp
+;
+
+535 
+ml
+ = 
+mask_b\99s
+[
+bl
+];
+
+536 
+md
+ = 
+mask_b\99s
+[
+bd
+];
+
+539 
+       `NEEDBITS
+((\1d)
+bl
+)
+
+540 ià((
+e
+ = (
+t
+ = 
+\8e
+ + ((\1d)
+b
+ & 
+ml
+))->e) > 16)
+
+542 ià(
+e
+ == 99)
+
+544 
+       `DUMPBITS
+(
+t
+->
+b
+)
+
+545 
+e
+ -= 16;
+
+546 
+       `NEEDBITS
+(
+e
+)
+
+547 } \1f(
+e
+ = (
+t
+ =\81->
+v
+.\88+ ((\1d)
+b
+ & 
+mask_b\99s
+[e]))->e) > 16);
+
+548 
+       `DUMPBITS
+(
+t
+->
+b
+)
+
+549 ià(
+e
+ == 16)
+
+551 
+¦ide
+[
+w
+++] = (
+uch
+)
+t
+->
+v
+.
+n
+;
+
+552 
+       `T¿ûvv
+((
+¡d\94r
+, "%c", 
+¦ide
+[
+w
+-1]));
+
+553 ià(
+w
+ =ð
+WSIZE
+)
+
+555 
+       `æush_ou\8dut
+(
+w
+);
+
+556 
+w
+ = 0;
+
+562 ià(
+e
+ == 15)
+
+566 
+       `NEEDBITS
+(
+e
+)
+
+567 
+n
+ = 
+t
+->
+v
+.À+ ((\1d)
+b
+ & 
+mask_b\99s
+[
+e
+]);
+
+568 
+       `DUMPBITS
+(
+e
+);
+
+571 
+       `NEEDBITS
+((\1d)
+bd
+)
+
+572 ià((
+e
+ = (
+t
+ = 
+td
+ + ((\1d)
+b
+ & 
+md
+))->e) > 16)
+
+574 ià(
+e
+ == 99)
+
+576 
+       `DUMPBITS
+(
+t
+->
+b
+)
+
+577 
+e
+ -= 16;
+
+578 
+       `NEEDBITS
+(
+e
+)
+
+579 } \1f(
+e
+ = (
+t
+ =\81->
+v
+.\88+ ((\1d)
+b
+ & 
+mask_b\99s
+[e]))->e) > 16);
+
+580 
+       `DUMPBITS
+(
+t
+->
+b
+)
+
+581 
+       `NEEDBITS
+(
+e
+)
+
+582 
+d
+ = 
+w
+ - 
+t
+->
+v
+.
+n
+ - ((\1d)
+b
+ & 
+mask_b\99s
+[
+e
+]);
+
+583 
+       `DUMPBITS
+(
+e
+)
+
+584 
+       `T¿ûvv
+((
+¡d\94r
+,"\\[%d,%d]", 
+w
+-
+d
+, 
+n
+));
+
+588 
+n
+ -ð(
+e
+ = (\90ð
+WSIZE
+ - ((
+d
+ &ðWSIZE-1è> 
+w
+ ? d : w)) >\82 ?\82 :\83);
+
+589 #ià!
+       `def\9aed
+(
+NOMEMCPY
+è&& !def\9aed(
+INFLATE_DEBUG
+)
+
+590 ià(
+w
+ - 
+d
+ >ð
+e
+)
+
+592 
+       `memýy
+(
+¦ide
+ + 
+w
+, slid\90
+d
+, 
+e
+);
+
+593 
+w
+ +ð
+e
+;
+
+594 
+d
+ +ð
+e
+;
+
+599 
+¦ide
+[
+w
+++] = slide[
+d
+++];
+
+600 
+       `T¿ûvv
+((
+¡d\94r
+, "%c", 
+¦ide
+[
+w
+-1]));
+
+601 } \1f--
+e
+);
+
+602 ià(
+w
+ =ð
+WSIZE
+)
+
+604 
+       `æush_ou\8dut
+(
+w
+);
+
+605 
+w
+ = 0;
+
+607 } \1f
+n
+);
+
+613 
+wp
+ = 
+w
+;
+
+614 
+bb
+ = 
+b
+;
+
+615 
+bk
+ = 
+k
+;
+
+619 
+       }
+}
+
+623 
+FUNC_STATIC
\12
+       $\9aæ©e_¡Üed
+()
+
+626 \1d
+n
+;
+
+627 \1d
+w
+;
+
+628 \14
+ulg
+b
+;
+
+629 \14\1d
+k
+;
+
+631 
+       `DEBG
+("<stor");
+
+634 
+b
+ = 
+bb
+;
+
+635 
+k
+ = 
+bk
+;
+
+636 
+w
+ = 
+wp
+;
+
+640 
+n
+ = 
+k
+ & 7;
+
+641 
+       `DUMPBITS
+(
+n
+);
+
+645 
+       `NEEDBITS
+(16)
+
+646 
+n
+ = ((\1d)
+b
+ & 0xffff);
+
+647 
+       `DUMPBITS
+(16)
+
+648 
+       `NEEDBITS
+(16)
+
+649 ià(
+n
+ !ð(\1d)((~
+b
+) & 0xffff))
+
+651 
+       `DUMPBITS
+(16)
+
+655 \1f
+n
+--)
+
+657 
+       `NEEDBITS
+(8)
+
+658 
+¦ide
+[
+w
+++] = (
+uch
+)
+b
+;
+
+659 ià(
+w
+ =ð
+WSIZE
+)
+
+661 
+       `æush_ou\8dut
+(
+w
+);
+
+662 
+w
+ = 0;
+
+664 
+       `DUMPBITS
+(8)
+
+669 
+wp
+ = 
+w
+;
+
+670 
+bb
+ = 
+b
+;
+
+671 
+bk
+ = 
+k
+;
+
+673 
+       `DEBG
+(">");
+
+675 
+       }
+}
+
+679 
+FUNC_STATIC
\12
+       $\9aæ©e_fixed
+()
+
+684 \12
+i
+;
+
+685 \19
+huá
+ *
+\8e
+;
+
+686 \19
+huá
+ *
+td
+;
+
+687 \12
+bl
+;
+
+688 \12
+bd
+;
+
+689 \1d
+l
+[288];
+
+691 
+       `DEBG
+("<fix");
+
+694 \ f
+i
+ = 0; i < 144; i++)
+
+695 
+l
+[
+i
+] = 8;
+
+696 \ f
+i
+ < 256; i++)
+
+697 
+l
+[
+i
+] = 9;
+
+698 \ f
+i
+ < 280; i++)
+
+699 
+l
+[
+i
+] = 7;
+
+700 \ f
+i
+ < 288; i++)
+
+701 
+l
+[
+i
+] = 8;
+
+702 
+bl
+ = 7;
+
+703 ià((
+i
+ = 
+       `huá_bu\9ed
+(
+l
+, 288, 257, 
+ýËns
+, 
+ýËxt
+, &
+\8e
+, &
+bl
+)) != 0)
+
+704 \15 
+i
+;
+
+708 \ f
+i
+ = 0; i < 30; i++)
+
+709 
+l
+[
+i
+] = 5;
+
+710 
+bd
+ = 5;
+
+711 ià((
+i
+ = 
+       `huá_bu\9ed
+(
+l
+, 30, 0, 
+ýdi¡
+, 
+ýdext
+, &
+td
+, &
+bd
+)) > 1)
+
+713 
+       `huá_ä\93
+(
+\8e
+);
+
+715 
+       `DEBG
+(">");
+
+716 \15 
+i
+;
+
+721 ià(
+       `\9aæ©e_codes
+(
+\8e
+, 
+td
+, 
+bl
+, 
+bd
+))
+
+726 
+       `huá_ä\93
+(
+\8e
+);
+
+727 
+       `huá_ä\93
+(
+td
+);
+
+729 
+       }
+}
+
+733 
+FUNC_STATIC
\12
+       $\9aæ©e_dyÇmic
+()
+
+736 \12
+i
+;
+
+737 \1d
+j
+;
+
+738 \1d
+l
+;
+
+739 \1d
+m
+;
+
+740 \1d
+n
+;
+
+741 \19
+huá
+ *
+\8e
+;
+
+742 \19
+huá
+ *
+td
+;
+
+743 \12
+bl
+;
+
+744 \12
+bd
+;
+
+745 \1d
+nb
+;
+
+746 \1d
+;
+
+747 \1d
+nd
+;
+
+748 #ifdeà
+PKZIP_BUG_WORKAROUND
+
+
+749 \1d
+[288+32];
+
+751 \1d
+[286+30];
+
+753 \14
+ulg
+b
+;
+
+754 \14\1d
+k
+;
+
+756 
+       `DEBG
+("<dyn");
+
+759 
+b
+ = 
+bb
+;
+
+760 
+k
+ = 
+bk
+;
+
+764 
+       `NEEDBITS
+(5)
+
+765 
+ = 257 + ((\1d)
+b
+ & 0x1f);
+
+766 
+       `DUMPBITS
+(5)
+
+767 
+       `NEEDBITS
+(5)
+
+768 
+nd
+ = 1 + ((\1d)
+b
+ & 0x1f);
+
+769 
+       `DUMPBITS
+(5)
+
+770 
+       `NEEDBITS
+(4)
+
+771 
+nb
+ = 4 + ((\1d)
+b
+ & 0xf);
+
+772 
+       `DUMPBITS
+(4)
+
+773 #ifdeà
+PKZIP_BUG_WORKAROUND
+
+
+774 ià(
+ > 288 || 
+nd
+ > 32)
+
+776 ià(
+ > 286 || 
+nd
+ > 30)
+
+780 
+       `DEBG
+("dyn1 ");
+
+783 \ f
+j
+ = 0; j < 
+nb
+; j++)
+
+785 
+       `NEEDBITS
+(3)
+
+786 
+[
+bÜd\94
+[
+j
+]] = (\1d)
+b
+ & 7;
+
+787 
+       `DUMPBITS
+(3)
+
+789 \ f
+j
+ < 19; j++)
+
+790 
+[
+bÜd\94
+[
+j
+]] = 0;
+
+792 
+       `DEBG
+("dyn2 ");
+
+795 
+bl
+ = 7;
+
+796 ià((
+i
+ = 
+       `huá_bu\9ed
+(
+, 19, 19, 
+NULL
+, NULL, &
+\8e
+, &
+bl
+)) != 0)
+
+798 ià(
+i
+ == 1)
+
+799 
+       `huá_ä\93
+(
+\8e
+);
+
+800 \15 
+i
+;
+
+803 
+       `DEBG
+("dyn3 ");
+
+806 
+n
+ = 
+ + 
+nd
+;
+
+807 
+m
+ = 
+mask_b\99s
+[
+bl
+];
+
+808 
+i
+ = 
+l
+ = 0;
+
+809 \1f(\1d)
+i
+ < 
+n
+)
+
+811 
+       `NEEDBITS
+((\1d)
+bl
+)
+
+812 
+j
+ = (
+td
+ = 
+\8e
+ + ((\1d)
+b
+ & 
+m
+))->b;
+
+813 
+       `DUMPBITS
+(
+j
+)
+
+814 
+j
+ = 
+td
+->
+v
+.
+n
+;
+
+815 ià(
+j
+ < 16)
+
+816 
+[
+i
+++] = 
+l
+ = 
+j
+;
+
+817 \vià(
+j
+ == 16)
+
+819 
+       `NEEDBITS
+(2)
+
+820 
+j
+ = 3 + ((\1d)
+b
+ & 3);
+
+821 
+       `DUMPBITS
+(2)
+
+822 ià((\1d)
+i
+ + 
+j
+ > 
+n
+)
+
+824 \1f
+j
+--)
+
+825 
+[
+i
+++] = 
+l
+;
+
+827 \vià(
+j
+ == 17)
+
+829 
+       `NEEDBITS
+(3)
+
+830 
+j
+ = 3 + ((\1d)
+b
+ & 7);
+
+831 
+       `DUMPBITS
+(3)
+
+832 ià((\1d)
+i
+ + 
+j
+ > 
+n
+)
+
+834 \1f
+j
+--)
+
+835 
+[
+i
+++] = 0;
+
+836 
+l
+ = 0;
+
+840 
+       `NEEDBITS
+(7)
+
+841 
+j
+ = 11 + ((\1d)
+b
+ & 0x7f);
+
+842 
+       `DUMPBITS
+(7)
+
+843 ià((\1d)
+i
+ + 
+j
+ > 
+n
+)
+
+845 \1f
+j
+--)
+
+846 
+[
+i
+++] = 0;
+
+847 
+l
+ = 0;
+
+851 
+       `DEBG
+("dyn4 ");
+
+854 
+       `huá_ä\93
+(
+\8e
+);
+
+856 
+       `DEBG
+("dyn5 ");
+
+859 
+bb
+ = 
+b
+;
+
+860 
+bk
+ = 
+k
+;
+
+862 
+       `DEBG
+("dyn5a ");
+
+865 
+bl
+ = 
+lb\99s
+;
+
+866 ià((
+i
+ = 
+       `huá_bu\9ed
+(
+, 
+, 257, 
+ýËns
+, 
+ýËxt
+, &
+\8e
+, &
+bl
+)) != 0)
+
+868 
+       `DEBG
+("dyn5b ");
+
+869 ià(
+i
+ == 1) {
+
+870 
+       `\94
+(" incomplete\86iteral\81ree\n");
+
+871 
+       `huá_ä\93
+(
+\8e
+);
+
+873 \15 
+i
+;
+
+875 
+       `DEBG
+("dyn5c ");
+
+876 
+bd
+ = 
+db\99s
+;
+
+877 ià((
+i
+ = 
+       `huá_bu\9ed
+(
+ + 
+, 
+nd
+, 0, 
+ýdi¡
+, 
+ýdext
+, &
+td
+, &
+bd
+)) != 0)
+
+879 
+       `DEBG
+("dyn5d ");
+
+880 ià(
+i
+ == 1) {
+
+881 
+       `\94
+(" incomplete distance\81ree\n");
+
+882 #ifdeà
+PKZIP_BUG_WORKAROUND
+
+
+883 
+i
+ = 0;
+
+886 
+       `huá_ä\93
+(
+td
+);
+
+888 
+       `huá_ä\93
+(
+\8e
+);
+
+889 \15 
+i
+;
+
+893 
+       `DEBG
+("dyn6 ");
+
+896 ià(
+       `\9aæ©e_codes
+(
+\8e
+, 
+td
+, 
+bl
+, 
+bd
+))
+
+899 
+       `DEBG
+("dyn7 ");
+
+902 
+       `huá_ä\93
+(
+\8e
+);
+
+903 
+       `huá_ä\93
+(
+td
+);
+
+905 
+       `DEBG
+(">");
+
+907 
+       }
+}
+
+911 
+FUNC_STATIC
\12
+       $\9aæ©e_block
+(
+e
+)
+
+912 \12*
+e
+;
+
+915 \1d
+t
+;
+
+916 \14
+ulg
+b
+;
+
+917 \14\1d
+k
+;
+
+919 
+       `DEBG
+("<blk");
+
+922 
+b
+ = 
+bb
+;
+
+923 
+k
+ = 
+bk
+;
+
+927 
+       `NEEDBITS
+(1)
+
+928 *
+e
+ = (\12)
+b
+ & 1;
+
+929 
+       `DUMPBITS
+(1)
+
+933 
+       `NEEDBITS
+(2)
+
+934 
+t
+ = (\1d)
+b
+ & 3;
+
+935 
+       `DUMPBITS
+(2)
+
+939 
+bb
+ = 
+b
+;
+
+940 
+bk
+ = 
+k
+;
+
+943 ià(
+t
+ == 2)
+
+944 \15 
+       `\9aæ©e_dyÇmic
+();
+
+945 ià(
+t
+ == 0)
+
+946 \15 
+       `\9aæ©e_¡Üed
+();
+
+947 ià(
+t
+ == 1)
+
+948 \15 
+       `\9aæ©e_fixed
+();
+
+950 
+       `DEBG
+(">");
+
+954 
+       }
+}
+
+958 
+FUNC_STATIC
\12
+       $\9aæ©e
+()
+
+961 \12
+e
+;
+
+962 \12
+r
+;
+
+963 \1d
+h
+;
+
+966 
+wp
+ = 0;
+
+967 
+bk
+ = 0;
+
+968 
+bb
+ = 0;
+
+972 
+h
+ = 0;
+
+974 
+huás
+ = 0;
+
+975 ià((
+r
+ = 
+       `\9aæ©e_block
+(&
+e
+)) != 0) {
+
+976 \15 
+r
+;
+
+978 ià(
+huás
+ > 
+h
+)
+
+979 
+h
+ = 
+huás
+;
+
+980 } \1f!
+e
+);
+
+985 \1f
+bk
+ >= 8) {
+
+986 
+bk
+ -= 8;
+
+987 
+\9a±r
+--;
+
+991 
+       `æush_ou\8dut
+(
+wp
+);
+
+995 #ifdeà
+INFLATE_DEBUG
+
+
+996 #ifdeà
+EFI_COMPILE
+
+
+997 
+       `Pr\9at
+(
+L
+"<%d> ", 
+h
+);
+
+999 
+       `´\9atf
+("<%d> ", 
+h
+);
+
+1003 
+       }
+}
+
+1011 \18
+ulg
+       güc_32_\8fb
+[256];
+
+1012 \18
+ulg
+       güc
+;
+
+1013 \ 1
+       #CRC_VALUE
+ (
+üc
+ ^ 0xffffffffUL)
+
+       )
+
+1021 
+       $makeüc
+(\1e)
+
+1025 \1d\13
+c
+;
+
+1026 \1d\13
+e
+;
+
+1027 \12
+i
+;
+
+1028 \12
+k
+;
+
+1031 \18cڡ \12
+p
+[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
+
+1034 
+e
+ = 0;
+
+1035 \ f
+i
+ = 0; i < \17(
+p
+)/\17(\12); i++)
+
+1036 
+e
+ |ð1L << (31 - 
+p
+[
+i
+]);
+
+1038 
+üc_32_\8fb
+[0] = 0;
+
+1040 \ f
+i
+ = 1; i < 256; i++)
+
+1042 
+c
+ = 0;
+
+1043 \ f
+k
+ = 
+i
+ | 256; k != 1; k >>= 1)
+
+1045 
+c
+ = c & 1 ? (ø>> 1è^ 
+e
+ : c >> 1;
+
+1046 ià(
+k
+ & 1)
+
+1047 
+c
+ ^ð
+e
+;
+
+1049 
+üc_32_\8fb
+[
+i
+] = 
+c
+;
+
+1053 
+üc
+ = (
+ulg
+)0xffffffffUL;
+
+1054 
+       }
+}
+
+1059 \18\12
+       $gunz\9d
+(\1e)
+
+1061 
+uch
+æags
+;
+
+1062 \1d\ 5
+magic
+[2];
+
+1063 \ 5
+m\91hod
+;
+
+1064 
+ulg
+Üig_üc
+ = 0;
+
+1065 
+ulg
+Üig_Ën
+ = 0;
+
+1066 \12
+»s
+;
+
+1068 
+magic
+[0] = (\1d\ 5)
+       `g\91_by\8b
+();
+
+1069 
+magic
+[1] = (\1d\ 5)
+       `g\91_by\8b
+();
+
+1070 
+m\91hod
+ = (\1d\ 5)
+       `g\91_by\8b
+();
+
+1072 ià(
+magic
+[0] != 037 ||
+
+1073 ((
+magic
+[1] != 0213) && (magic[1] != 0236))) {
+
+1074 
+       `\94
+("bad gzip magic\82umbers");
+
+1079 ià(
+m\91hod
+ != 8) {
+
+1080 
+       `\94
+("internal\83rror, invalid method");
+
+1084 
+æags
+ = (
+uch
+)
+       `g\91_by\8b
+();
+
+1085 ià((
+æags
+ & 
+ENCRYPTED
+) != 0) {
+
+1086 
+       `\94
+("Input is\83ncrypted\n");
+
+1089 ià((
+æags
+ & 
+CONTINUATION
+) != 0) {
+
+1090 
+       `\94
+("Multi\85art input\n");
+
+1093 ià((
+æags
+ & 
+RESERVED
+) != 0) {
+
+1094 
+       `\94
+("Input has invalid flags\n");
+
+1097 (
+ulg
+)
+       `g\91_by\8b
+();
+
+1098 ((
+ulg
+)
+       `g\91_by\8b
+()) << 8;
+
+1099 ((
+ulg
+)
+       `g\91_by\8b
+()) << 16;
+
+1100 ((
+ulg
+)
+       `g\91_by\8b
+()) << 24;
+
+1102 (\1e)
+       `g\91_by\8b
+();
+
+1103 (\1e)
+       `g\91_by\8b
+();
+
+1105 ià((
+æags
+ & 
+EXTRA_FIELD
+) != 0) {
+
+1106 \1d
+Ën
+ = (\1d)
+       `g\91_by\8b
+();
+
+1107 
+Ën
+ |ð((\1d)
+       `g\91_by\8b
+())<<8;
+
+1108 \1f
+Ën
+--è(\1e)
+       `g\91_by\8b
+();
+
+1112 ià((
+æags
+ & 
+ORIG_NAME
+) != 0) {
+
+1114 \1f
+       `g\91_by\8b
+() != 0) ;
+
+1118 ià((
+æags
+ & 
+COMMENT
+) != 0) {
+
+1119 \1f
+       `g\91_by\8b
+() != 0) ;
+
+1123 ià((
+»s
+ = 
+       `\9aæ©e
+())) {
+
+1124 \1a
+»s
+) {
+
+1128 
+       `\94
+("invalid compressed format (err=1)");
+
+1131 
+       `\94
+("invalid compressed format (err=2)");
+
+1134 
+       `\94
+("out of memory");
+
+1137 
+       `\94
+("invalid compressed format (other)");
+
+1146 
+Üig_üc
+ = (
+ulg
+       `g\91_by\8b
+();
+
+1147 
+Üig_üc
+ |ð(
+ulg
+       `g\91_by\8b
+() << 8;
+
+1148 
+Üig_üc
+ |ð(
+ulg
+       `g\91_by\8b
+() << 16;
+
+1149 
+Üig_üc
+ |ð(
+ulg
+       `g\91_by\8b
+() << 24;
+
+1151 
+Üig_Ën
+ = (
+ulg
+       `g\91_by\8b
+();
+
+1152 
+Üig_Ën
+ |ð(
+ulg
+       `g\91_by\8b
+() << 8;
+
+1153 
+Üig_Ën
+ |ð(
+ulg
+       `g\91_by\8b
+() << 16;
+
+1154 
+Üig_Ën
+ |ð(
+ulg
+       `g\91_by\8b
+() << 24;
+
+1157 ià(
+Üig_üc
+ !ð
+CRC_VALUE
+) {
+
+1158 
+       `\94
+("crc\83rror");
+
+1161 ià(
+Üig_Ën
+ !ð
+by\8bs_out
+) {
+
+1162 
+       `\94
+("length\83rror");
+
+1166 
+       }
+}
+
+       @initrd.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+40 
+INTN
+
+
+41 
+       $lßd_f\9ee
+(
+CHAR16
+ *
+f\9e\92ame
+, 
+memdesc_t
+ *
+image
+)
+
+43 
+EFI_STATUS
+¡©us
+;
+
+44 
+VOID
+ *
+¡¬t_addr
+ = 
+image
+->start_addr;
+
+45 
+UINTN
+pgút
+;
+
+46 
+UINT64
+size
+ = 0;
+
+47 
+fÝs_fd_t
+fd
+;
+
+48 
+INTN
+»t
+ = 
+ELILO_LOAD_ERROR
+;
+
+51 ià(
+f\9e\92ame
+ =ð
+NULL
+ || filename[0] == 0) \15 -1;
+
+54 
+¡©us
+ = 
+       `fÝs_Ý\92
+(
+f\9e\92ame
+, &
+fd
+);
+
+55 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+56 
+       `ERR_PRT
+((
+L
+"O³Àf\9e\90% ç\9eed: %r", 
+f\9e\92ame
+, 
+¡©us
+));
+
+60 
+       `DBG_PRT
+((
+L
+"Ý\92 % wÜked", 
+f\9e\92ame
+));
+
+63 
+¡©us
+ = 
+       `fÝs_\9afosize
+(
+fd
+, &
+size
+);
+
+64 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+65 
+       `ERR_PRT
+((
+L
+"Couldn'\88»ad f\9e\90\9afØ%r", 
+f\9e\92ame
+, 
+¡©us
+));
+
+66 \10
+\94
+;
+
+69 
+image
+->
+size
+ = size;
+
+72 
+image
+->
+pgút
+ =\85\88ð
+       `EFI_SIZE_TO_PAGES
+(image->
+size
+);
+
+74 
+¡¬t_addr
+ = 
+       `®loc_·ges
+(
+pgút
+, 
+EfiLßd\94D©a
+, s\8f¹_add¸? 
+AÎoÿ\8bAdd»ss
+ : 
+AÎoÿ\8bAnyPages
+, start_addr);
+
+75 ià(
+¡¬t_addr
+ =ð
+NULL
+) {
+
+76 
+       `ERR_PRT
+((
+L
+"Fa\9eed\81Ø®loÿ\8b %d\85age fÜ % image", 
+pgút
+,
+
+77 
+f\9e\92ame
+));
+
+78 \10
+\94
+;
+
+80 
+       `VERB_PRT
+(2, 
+       `Pr\9at
+(
+L
+"%s image:\81otal_size: %ld bytes base: 0x%lx "
+
+81 "·ge %d\n", 
+f\9e\92ame
+, 
+image
+->
+size
+,
+
+82 (
+UINTN
+)
+¡¬t_addr
+, 
+pgút
+));
+
+84 
+       `Pr\9at
+(
+L
+"Lßd\9ag f\9e\90%s...", 
+f\9e\92ame
+);
+
+86 
+»t
+ = 
+       `»ad_f\9ee
+(
+fd
+, 
+image
+->
+size
+, 
+¡¬t_addr
+);
+
+88 
+       `fÝs_þo£
+(
+fd
+);
+
+90 ià(
+»t
+ !ð
+ELILO_LOAD_SUCCESS
+) {
+
+91 
+       `ERR_PRT
+((
+L
+"»ad image(%sèç\9eed: %d", 
+f\9e\92ame
+, 
+»t
+));
+
+92 \10
+\94
+;
+
+95 
+       `Pr\9at
+(
+L
+"done\n");
+
+97 
+image
+->
+¡¬t_addr
+ = start_addr;
+
+99 \15 
+ELILO_LOAD_SUCCESS
+;
+
+101 
+\94
+:
+
+102 ià(
+¡¬t_addr
+       `ä\93
+(start_addr);
+
+108 
+image
+->
+¡¬t_addr
+ = 0;
+
+109 
+image
+->
+pgút
+ = 0;
+
+110 
+image
+->
+size
+ = 0;
+
+112 \15 
+»t
+;
+
+113 
+       }
+}
+
+       @loader.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+29 \ 2
+       ~"\96\9eo.h
+"
+
+30 \ 2
+       ~"lßd\94.h
+"
+
+32 \r
+lßd\94_Ýs_t
+¶a\9a_lßd\94
+;
+
+33 \r
+lßd\94_Ýs_t
+gz\9d_lßd\94
+;
+
+35 \18
+lßd\94_Ýs_t
+ *
+       gldÝs_li¡
+;
+
+37 
+lßd\94_Ýs_t
+ *
+
+38 
+       $lßd\94_´obe
+(
+CHAR16
+ *
+kÇme
+)
+
+40 
+lßd\94_Ýs_t
+ *
+Ýs
+;
+
+42 \ f
+Ýs
+ldÝs_li¡
+; ops; op ðÝs->
+Ãxt
+) {
+
+43 ià(
+Ýs
+->
+       `ld_´obe
+(
+kÇme
+) == 0) {
+
+44 \15 
+Ýs
+;
+
+47 \15 
+NULL
+;
+
+48 
+       }
+}
+
+50 
+INTN
+
+
+51 
+       $lßd\94_»gi¡\94
+(
+lßd\94_Ýs_t
+ *
+ldÝs
+)
+
+53 ià(
+ldÝs
+ =ð
+NULL
+) \15 -1;
+
+56 ià(
+ldÝs
+->
+Ãxt
+) {
+
+57 
+       `ERR_PRT
+((
+L
+"lßd\94 % i ®»ady\84egi¡\94ed", 
+ldÝs
+->
+ld_Çme
+));
+
+61 
+ldÝs
+->
+Ãxt
+ = 
+ldÝs_li¡
+;
+
+62 
+ldÝs_li¡
+ = 
+ldÝs
+;
+
+64 
+       `VERB_PRT
+(3, 
+       `Pr\9at
+(
+L
+"New\86ßd\94\84egi¡\94ed: %s\n", 
+ldÝs
+->
+ld_Çme
+));
+
+67 
+       }
+}
+
+       @loader.h
+
+26 #iâdeà
+__LOADER_H__
+
+
+27 \ 1
+       #__LOADER_H__
+
+
+       )
+
+29 \ 2
+       ~"f\9eeÝs.h
+"
+
+31 \e\19
+       s__lßd\94_Ýs_t
+ {
+
+32 \19
+__lßd\94_Ýs_t
+ *
+       mÃxt
+;
+
+33 
+CHAR16
+ *
+       mld_Çme
+;
+
+34 
+INTN
+ (*
+ld_´obe
+)(
+CHAR16
+ *
+       mkÇme
+);
+
+35 
+INTN
+ (*
+ld_lßd_k\94Ãl
+)(
+CHAR16
+ *
+       mkÇme
+, 
+kdesc_t
+ *
+       mkd
+);
+
+36 } 
+       tlßd\94_Ýs_t
+;
+
+38 \r
+lßd\94_Ýs_t
+ *
+lßd\94_´obe
+(
+CHAR16
+ *
+kÇme
+);
+
+39 \r
+INTN
+lßd\94_»gi¡\94
+(
+lßd\94_Ýs_t
+ *
+ldÝs
+);
+
+       @strops.c
+
+26 \ 2
+       ~<efi.h
+>
+
+27 \ 2
+       ~<ef\9eib.h
+>
+
+31 
+CHAR16
+ *
+
+32 
+       $S\8cChr
+(
+IN
+ cڡ 
+CHAR16
+ *
+s
+, IN cڡ CHAR16 
+c
+)
+
+34 \ f; *
+s
+ !ð
+c
+; ++sèià(* =ð
+CHAR_NULL
\15 
+NULL
+;
+
+36 \15 (
+CHAR16
+ *)
+s
+;
+
+37 
+       }
+}
+
+39 
+CHAR16
+ *
+
+40 
+       $S\8cnCpy
+(
+OUT
+CHAR16
+ *
+d¡
+, 
+IN
+ cڡ CHAR16 *
+¤c
+, IN 
+UINTN
+size
+)
+
+42 
+CHAR16
+ *
+»s
+ = 
+d¡
+;
+
+44 \1f
+size
+-- && (*
+d¡
+++ = *
+¤c
+++è!ð
+CHAR_NULL
+);
+
+48 \1f
+size
+-- > 0è*
+d¡
+++ = 
+CHAR_NULL
+;
+
+50 \15 
+»s
+;
+
+51 
+       }
+}
+
+53 
+CHAR8
+ *
+
+54 
+       $S\8cnXCpy
+(
+OUT
+CHAR8
+ *
+d¡
+, 
+IN
+ cڡ 
+CHAR16
+ *
+¤c
+, IN 
+UINTN
+size
+)
+
+56 
+CHAR8
+ *
+»s
+ = 
+d¡
+;
+
+58 \1f
+size
+-- && (*
+d¡
+++ = (
+CHAR8
+)*
+¤c
+++) != '\0');
+
+62 \1f
+size
+-- > 0è*
+d¡
+++ = '\0';
+
+64 \15 
+»s
+;
+
+65 
+       }
+}
+
+67 
+VOID
+
+
+68 
+       $U2ascii
+(
+CHAR16
+ *
+\9a
+, 
+CHAR8
+ *
+out
+, 
+UINTN
+maxËn
+)
+
+70 \1f
+maxËn
+-- > 1 && (*
+out
+++ = *
+\9a
+++));
+
+71 *
+out
+ = '\0';
+
+72 
+       }
+}
+
+74 
+CHAR8
+ *
+
+75 
+       $¡ºýya
+(
+OUT
+CHAR8
+ *
+d¡
+, 
+IN
+ cڡ CHAR8 *
+¤c
+, IN 
+UINTN
+size
+)
+
+77 
+CHAR8
+ *
+»s
+ = 
+d¡
+;
+
+79 \1f
+size
+-- && (*
+d¡
+++ = *
+¤c
+++) != '\0');
+
+83 \1f
+size
+-- > 0è*
+d¡
+++ = '\0';
+
+85 \15 
+»s
+;
+
+86 
+       }
+}
+
+88 
+CHAR8
+ *
+
+89 
+       $¡rýya
+(
+CHAR8
+ *
+d¡
+, cڡ CHAR8 *
+¤c
+)
+
+91 
+CHAR8
+ *
+tmp
+ = 
+d¡
+;
+
+93 \1f*
+¤c
+) {
+
+94 *(
+d¡
+++èð*(
+¤c
+++);
+
+96 *
+d¡
+ = 0;
+
+98 \15 
+tmp
+;
+
+100 
+       }
+}
+
+102 
+CHAR8
+ *
+
+103 
+       $¡rch¿
+(
+IN
+ cڡ 
+CHAR8
+ *
+s
+, IN cڡ CHAR8 
+c
+)
+
+105 \ f; *
+s
+ !ð
+c
+; ++s)
+
+106 ià(*
+s
+ =ð0è\15 
+NULL
+;
+
+107 \15 (
+CHAR8
+ *)
+s
+;
+
+108 
+       }
+}
+
+110 
+CHAR8
+ *
+
+111 
+       $¡rÿ\8f
+(
+IN
+CHAR8
+ *
+d¡
+,IN CHAR8 *
+¤c
+)
+
+113 \15 
+       `¡rýya
+(
+d¡
++
+       `¡¾\92a
+(d¡), 
+¤c
+);
+
+114 
+       }
+}
+
+116 
+CHAR8
+ *
+
+117 
+       $¡¼ch¿
+(
+IN
+ cڡ 
+CHAR8
+ *
+s
+, cڡ 
+INTN
+c
+)
+
+119 
+CHAR8
+ *
+found
+, *
+p
+, 
+ch
+ = (CHAR8)
+c
+;
+
+123 ià(
+ch
+ =ð'\0'è\15 
+       `¡rch¿
+(
+s
+, '\0');
+
+125 
+found
+ = 
+NULL
+;
+
+126 \1f(
+p
+ = 
+       `¡rch¿
+(
+s
+, 
+ch
+)è!ð
+NULL
+)
+
+128 
+found
+ = 
+p
+;
+
+129 
+s
+ = 
+p
+ + 1;
+
+132 \15 (
+CHAR8
+ *è
+found
+;
+
+133 
+       }
+}
+
+135 
+CHAR8
+ *
+
+136 
+       $¡¹ok_sim¶e
+(
+CHAR8
+ *
+\9a
+, CHAR8 
+c
+)
+
+138 \18
+CHAR8
+ *
+;
+
+139 
+CHAR8
+ *
+tmp
+;
+
+141 ià(
+\9a
+ =ð
+NULL
\9a = 
+;
+
+143 ià(
+\9a
+ =ð
+NULL
+) \15 NULL;
+
+145 ià(*
+\9a
+ =ð
+c
+) in++;
+
+147 
+tmp
+ = 
+       `¡rch¿
+(
+\9a
+, 
+c
+);
+
+148 ià(
+tmp
+) {
+
+149 *
+tmp
+ = '\0';
+
+150 
+ = 
+tmp
++1;
+
+152 
+ = 
+NULL
+;
+
+154 \15 
+\9a
+;
+
+155 
+       }
+}
+
+157 
+VOID
+
+
+158 
+       $ascii2U
+(
+CHAR8
+ *
+\9a
+, 
+CHAR16
+ *
+out
+, 
+UINTN
+maxËn
+)
+
+160 \1f
+maxËn
+-- > 1 && (*
+out
+++ = *
+\9a
+++));
+
+162 *
+out
+ = (
+CHAR16
+)0;
+
+163 
+       }
+}
+
+       @strops.h
+
+26 #iâdeà
+__STROPS_H__
+
+
+27 \ 1
+       #__STROPS_H__
+
+
+       )
+
+29 \r
+CHAR16
+ *
+S\8cChr
+(
+IN
+ cڡ CHAR16 *
+s
+, cڡ CHAR16 
+c
+);
+
+30 \r
+CHAR16
+ *
+S\8cnCpy
+(
+OUT
+ CHAR16 *
+d¡
+, 
+IN
+ cڡ CHAR16 *
+¤c
+, 
+UINTN
+couÁ
+);
+
+31 \r
+CHAR8
+ *
+S\8cnXCpy
+(
+OUT
+ CHAR8 *
+d¡
+, 
+IN
+ cڡ 
+CHAR16
+ *
+¤c
+, 
+UINTN
+couÁ
+);
+
+33 \r
+CHAR8
+ *
+¡¹ok_sim¶e
+(CHAR8 *
+\9a
+, CHAR8 
+c
+);
+
+34 \r
+CHAR8
+ *
+¡¼ch¿
+(
+IN
+ cڡ CHAR8 *
+s
+, cڡ 
+INTN
+c
+);
+
+35 \r
+CHAR8
+ *
+¡rÿ\8f
+(
+IN
+ CHAR8 *
+d¡
+,IN CHAR8 *
+¤c
+);
+
+36 \r
+CHAR8
+ *
+¡rch¿
+(
+IN
+ cڡ CHAR8 *
+s
+, IN cڡ CHAR8 
+c
+);
+
+37 \r
+CHAR8
+ *
+¡rýya
+(CHAR8 *
+d¡
+, cڡ CHAR8 *
+¤c
+);
+
+38 \r
+CHAR8
+ *
+¡ºýya
+(
+OUT
+ CHAR8 *
+d¡
+, 
+IN
+ cڡ CHAR8 *
+¤c
+, IN 
+UINTN
+size
+);
+
+39 \r
+VOID
+U2ascii
+(
+CHAR16
+ *
+\9a
+, 
+CHAR8
+ *
+out
+, 
+UINTN
+maxËn
+);
+
+       @sysdeps.h
+
+26 #iâdeà
+__ELILO_SYSDEPS_H__
+
+
+27 \ 1
+       #__ELILO_SYSDEPS_H__
+
+
+       )
+
+29 #ifdeà
+CONFIG_\9f64
+
+
+30 \ 2
+       ~"\9f64/sysd\95s.h
+"
+
+31 #\96
+def\9aed
+CONFIG_\9f32
+
+
+32 \ 2
+       ~"\9f32/sysd\95s.h
+"
+
+       @tools/eliloalt.c
+
+34 \ 2
+       ~<sys/ty³s.h
+>
+
+35 \ 2
+       ~<¡dio.h
+>
+
+36 \ 2
+       ~<¡dlib.h
+>
+
+37 \ 2
+       ~<¡d¬g.h
+>
+
+38 \ 2
+       ~<fú\8e.h
+>
+
+39 \ 2
+       ~<uni¡d.h
+>
+
+40 \ 2
+       ~<g\91Ýt.h
+>
+
+41 \ 2
+       ~<\94ºo.h
+>
+
+42 \ 2
+       ~<¡d\9at.h
+>
+
+43 \ 2
+       ~<¡r\9ag.h
+>
+
+44 \ 2
+       ~<d\9c\92t.h
+>
+
+47 \ 1
+       #ELILOALT_VERSION
+ "0.02"
+
+       )
+
+49 \ 1
+       #ELILO_ALT_NAME
+ "El\9eoAÉ"
+
+       )
+
+50 \ 1
+       #EFIVAR_DIR
+ "/´oc/efi/v¬s"
+
+       )
+
+51 \ 1
+       #ELILO_ALTVAR
+EFIVAR_DIR
+"/"
+ELILO_ALT_NAME
+"-00000000-0000-0000-0000-000000000000"
+
+       )
+
+53 \ 1
+       #EFI_VARIABLE_NON_VOLATILE
+ 0x0000000000000001
+
+       )
+
+54 \ 1
+       #EFI_VARIABLE_BOOTSERVICE_ACCESS
+ 0x0000000000000002
+
+       )
+
+55 \ 1
+       #EFI_VARIABLE_RUNTIME_ACCESS
+ 0x0000000000000004
+
+       )
+
+57 \e\1d\13
+       tefi_¡©us_t
+;
+
+58 \e
+u\9at8_t
+       tefi_boÞ_t
+;
+
+59 \e
+u\9at16_t
+       tefi_ch¬16_t
+;
+
+65 
+u\9at32_t
+       md©a1
+;
+
+66 
+u\9at16_t
+       md©a2
+;
+
+67 
+u\9at16_t
+       md©a3
+;
+
+68 
+u\9at8_t
+       md©a4
+[8];
+
+69 } 
+       tefi_guid_t
+;
+
+74 \e\19
+       s_efi_v¬\9fbË_t
+ {
+
+75 
+efi_ch¬16_t
+       mv¬\9fbËÇme
+[1024/\17(efi_char16_t)];
+
+76 
+efi_guid_t
+       mv\92dÜguid
+;
+
+77 
+u\9at64_t
+       md©asize
+;
+
+78 
+u\9at8_t
+       md©a
+[1024];
+
+79 
+efi_¡©us_t
+       m¡©us
+;
+
+80 
+u\9at32_t
+       m©\8cibu\8bs
+;
+
+81 } 
+       t__©\8cibu\8b__
+((
+       t·cked
+)è
+       tefi_v¬\9fbË_t
+;
+
+83 \18\ 5*
+       g\96\9eo_®t_Çme
+ = 
+ELILO_ALT_NAME
+;
+
+85 \18\19
+ÝtiÚ
+       gcmd_ÝtiÚs
+[]={
+
+94 \18\1e
+       $ç\8fl_\94
+(\ 5*
+fmt
+,...è
+       `__©\8cibu\8b__
+((
+nÜ\91
+));
+
+97 
+       $ç\8fl_\94
+(\ 5*
+fmt
+, ...)
+
+99 
+va_li¡
+;
+
+101 
+       `va_¡¬t
+(
+, 
+fmt
+);
+
+102 
+       `vår\9atf
+(
+¡d\94r
+, 
+fmt
+, 
+);
+
+103 
+       `va_\92d
+(
+);
+
+105 
+       `ex\99
+(1);
+
+106 
+       }
+}
+
+110 
+       $u§ge
+(\ 5**
+¬gv
+)
+
+112 
+       `´\9atf
+("U§ge: % [OPTIONS] cmdl\9ae\n", 
+¬gv
+[0]);
+
+114 
+       `´\9atf
+( "-h, --help\t\tdisplay\81his help\87nd\83xit\n"
+
+120 
+       }
+}
+
+123 
+       $check_´oc_efi
+(\12
+f\9ad_\92\8cy
+)
+
+125 
+DIR
+ *
+efi_v¬s
+;
+
+126 \19
+d\9c\92t
+ *
+\92\8cy
+;
+
+127 \18\ 5
+Çme
+[1024];
+
+129 ià(
+       `g\91uid
+() != 0) {
+
+130 
+       `ç\8fl_\94
+("This\85rogram must be\84un\87s\84oot\n");
+
+132 
+efi_v¬s
+ = 
+       `Ý\92d\9c
+(
+EFIVAR_DIR
+);
+
+133 ià(
+efi_v¬s
+ =ð
+NULL
+) {
+
+134 
+       `ç\8fl_\94
+("CªnÙ\87cûs %s\n", 
+EFIVAR_DIR
+);
+
+136 ià(!
+f\9ad_\92\8cy
+) {
+
+137 
+       `þo£d\9c
+(
+efi_v¬s
+);
+
+138 \15 
+NULL
+;
+
+141 \1f(
+\92\8cy
+ = 
+       `»add\9c
+(
+efi_v¬s
+)è!ð
+NULL
+) {
+
+142 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+d_Çme
+, ".") && strcmp(entry->d_name, ".."))
+
+145 ià(
+\92\8cy
+ =ð
+NULL
+) {
+
+146 
+       `ç\8fl_\94
+("CªnÙ f\9ad\83Áry iÀ%s\n", 
+EFIVAR_DIR
+);
+
+148 
+       `¥r\9atf
+(
+Çme
+, "%s/%s", 
+EFIVAR_DIR
+, 
+\92\8cy
+->
+d_Çme
+);
+
+149 
+       `þo£d\9c
+(
+efi_v¬s
+);
+
+150 \15 
+Çme
+;
+
+151 
+       }
+}
+
+154 
+       $d\96\91e_v¬
+(\1e)
+
+156 
+efi_v¬\9fbË_t
+v¬
+;
+
+157 \12
+fd
+, 
+r
+, 
+i
+;
+
+159 
+       `check_´oc_efi
+(0);
+
+161 
+fd
+ = 
+       `ݒ
+(
+ELILO_ALTVAR
+, 
+O_WRONLY
+);
+
+162 ià(
+fd
+ == -1) {
+
+163 
+       `ç\8fl_\94
+("variable\82ot defined\n");
+
+166 
+       `mem£t
+(&
+v¬
+, 0, \17(var));
+
+168 \ f
+i
+=0; i < \17(
+\96\9eo_®t_Çme
+); i++) {
+
+169 
+v¬
+.
+v¬\9fbËÇme
+[
+i
+] = (
+efi_ch¬16_t
+)
+\96\9eo_®t_Çme
+[i];
+
+177 
+r
+ = 
+       `wr\99e
+(
+fd
+, &
+v¬
+, \17(var));
+
+178 ià(
+r
+ !ð\17(
+v¬
+)) {
+
+179 
+       `ç\8fl_\94
+("V¬\9fbË % def\9aed bu\88\9av®id cÚ\8bÁ\n", 
+ELILO_ALTVAR
+);
+
+181 
+       `þo£
+(
+fd
+);
+
+182 
+       }
+}
+
+186 
+       $´\9at_v¬
+(\1e)
+
+188 
+efi_v¬\9fbË_t
+v¬
+;
+
+189 \12
+fd
+, 
+r
+, 
+i
+;
+
+192 
+       `check_´oc_efi
+(0);
+
+194 
+fd
+ = 
+       `ݒ
+(
+ELILO_ALTVAR
+, 
+O_RDONLY
+);
+
+195 ià(
+fd
+ == -1) {
+
+196 
+       `ç\8fl_\94
+("variable\82ot defined\n");
+
+199 
+       `mem£t
+(&
+v¬
+, 0, \17(var));
+
+201 
+r
+ = 
+       `»ad
+(
+fd
+, &
+v¬
+, \17(var));
+
+202 ià(
+r
+ !ð\17(
+v¬
+)) {
+
+203 
+       `ç\8fl_\94
+("V¬\9fbË % def\9aed bu\88\9av®id cÚ\8bÁ\n", 
+ELILO_ALTVAR
+);
+
+205 
+       `´\9atf
+("EliloAlt=\"");
+
+206 \ f
+i
+=0; i < 
+v¬
+.
+d©asize
+; i+=1){
+
+207 
+       `´\9atf
+("%c", 
+v¬
+.
+d©a
+[
+i
+]);
+
+209 
+       `´\9atf
+("\"\n");
+
+210 
+       `þo£
+(
+fd
+);
+
+211 
+       }
+}
+
+214 
+       $£t_v¬
+(\ 5*
+cmdl\9ae
+)
+
+216 
+efi_v¬\9fbË_t
+v¬
+;
+
+217 \12
+fd
+, 
+r
+, 
+i
+, 
+j
+, 
+l
+;
+
+218 \ 5*
+Çme
+;
+
+220 
+Çme
+ = 
+       `check_´oc_efi
+(1);
+
+222 ià(
+cmdl\9ae
+ =ð
+NULL
+) {
+
+223 
+       `ç\8fl_\94
+("invalid cmdline\87rgument\n");
+
+226 
+l
+ = 
+       `¡¾\92
+(
+cmdl\9ae
+);
+
+228 ià(
+l
+ >= 1024) {
+
+229 
+       `ç\8fl_\94
+("Variable content is\81oo\86ong, must be <= 512 characters\n");
+
+232 
+fd
+ = 
+       `ݒ
+(
+Çme
+, 
+O_WRONLY
+);
+
+233 ià(
+fd
+ == -1) {
+
+234 
+       `ç\8fl_\94
+("ÿn'\88Ý\92 %s: %s\n", 
+ELILO_ALTVAR
+, 
+       `¡»¼Ü
+(
+\94ºo
+));
+
+237 
+       `mem£t
+(&
+v¬
+, 0, \17(var));
+
+239 \ f
+i
+=0; i < \17(
+\96\9eo_®t_Çme
+); i++) {
+
+240 
+v¬
+.
+v¬\9fbËÇme
+[
+i
+] = (
+efi_ch¬16_t
+)
+\96\9eo_®t_Çme
+[i];
+
+243 \ f
+i
+=0, 
+j
+=0; i < 
+l
+; i++, j+=2) {
+
+244 
+v¬
+.
+d©a
+[
+j
+] = (
+efi_ch¬16_t
+)
+cmdl\9ae
+[
+i
+];
+
+247 
+v¬
+.
+d©asize
+ = 
+j
++2;
+
+249 
+v¬
+.
\8cibu\8bs
+ = 
+EFI_VARIABLE_NON_VOLATILE
+
+
+250 | 
+EFI_VARIABLE_BOOTSERVICE_ACCESS
+ | 
+EFI_VARIABLE_RUNTIME_ACCESS
+;
+
+257 
+r
+ = 
+       `wr\99e
+(
+fd
+, &
+v¬
+, \17(var));
+
+258 ià(
+r
+ !ð\17(
+v¬
+)) {
+
+259 
+       `ç\8fl_\94
+("V¬\9fbË % def\9aed bu\88\9av®id cÚ\8bÁ %d\n", 
+ELILO_ALTVAR
+, 
+r
+);
+
+261 
+       `þo£
+(
+fd
+);
+
+263 
+       }
+}
+
+266 
+       $ma\9a
+(\12
+¬gc
+, \ 5**
+¬gv
+)
+
+268 \12
+c
+;
+
+270 \1f(
+c
+=
+       `g\91Ýt_lÚg
+(
+¬gc
+, 
+¬gv
+,"hdps:", 
+cmd_ÝtiÚs
+, 0)) != -1) {
+
+271 \1a
+c
+) {
+
+274 
+       `´\9atf
+("V\94siÚ % D©e: %s\n", 
+ELILOALT_VERSION
+, 
+__DATE__
+);
+
+275 
+       `ex\99
+(0);
+
+278 
+       `u§ge
+(
+¬gv
+);
+
+279 
+       `ex\99
+(0);
+
+282 
+       `d\96\91e_v¬
+();
+
+283 
+       `ex\99
+(0);
+
+286 
+       `´\9at_v¬
+();
+
+287 
+       `ex\99
+(0);
+
+290 
+       `£t_v¬
+(
+ݏrg
+);
+
+291 
+       `ex\99
+(0);
+
+293 
+       `ç\8fl_\94
+("Unknown option\n");
+
+296 
+       `´\9at_v¬
+();
+
+298 
+       }
+}
+
+       @util.c
+
+29 \ 2
+       ~<efi.h
+>
+
+30 \ 2
+       ~<ef\9eib.h
+>
+
+32 \ 2
+       ~"\96\9eo.h
+"
+
+34 \ 1
+       #TENTH_SEC
+ 1000000
+
+       )
+
+35 \ 1
+       #READ_BLOCK_SIZE
+ (4*
+EFI_PAGE_SIZE
+
+       )
+
+37 \ 1
+       #is_ü
+(
+k
+è(((k)==
+CHAR_LINEFEED
+)||((k)==
+CHAR_CARRIAGE_RETURN
+))
+
+       )
+
+38 \ 1
+       #CHAR_SPACE
+L
+' '
+
+       )
+
+40 \18
+INTN
+
+
+41 
+       $»ad_key´ess
+(
+EFI_INPUT_KEY
+ *
+key
+)
+
+43 \15 
+sy¡ab
+->
+CÚIn
+->
+       `R\97dKeyS\8coke
+(sy¡ab->CÚIn, 
+key
+);
+
+44 
+       }
+}
+
+47 
+EFI_STATUS
+
+
+48 
+       $check_abÜt
+(
+VOID
+)
+
+50 
+EFI_INPUT_KEY
+key
+;
+
+52 \15 
+       `»ad_key´ess
+(&
+key
+);
+
+53 
+       }
+}
+
+55 
+\9al\9ae
+VOID
+
+
+56 
+       $»£t_\9aput
+(
+VOID
+)
+
+58 
+sy¡ab
+->
+CÚIn
+->
+       `Re£t
+(systab->ConIn, 1);
+
+59 
+       }
+}
+
+62 
+INTN
+
+
+63 
+       $wa\99_key´ess_abÜt
+(
+VOID
+)
+
+65 
+SIMPLE_INPUT_INTERFACE
+ *
+cښ
+ = 
+sy¡ab
+->
+CÚIn
+;
+
+66 
+EFI_INPUT_KEY
+key
+;
+
+67 
+EFI_STATUS
+¡©us
+;
+
+69 
+       `»£t_\9aput
+();
+
+71 
+       `Pr\9at
+(
+L
+"Hit ENTER\81o continue or ANY other key\81o cancel");
+
+74 \1f
+cښ
+->
+       `R\97dKeyS\8coke
+(cښ, &
+key
+è=ð
+EFI_SUCCESS
+);
+
+76 \1f(
+¡©us
+=
+cښ
+->
+       `R\97dKeyS\8coke
+(cښ, &
+key
+)è=ð
+EFI_NOT_READY
+ );
+
+78 ià(
+       `EFI_ERROR
+(
+¡©us
+)è\15 
+ELILO_LOAD_ERROR
+;
+
+80 
+       `Pr\9at
+(
+L
+"\n");
+
+82 \15 
+       `is_ü
+(
+key
+.
+UnicodeCh¬
+è? 
+ELILO_LOAD_SUCCESS
+: 
+ELILO_BOOT_ABORTED
+;
+
+83 
+       }
+}
+
+93 
+INTN
+
+
+94 
+       $wa\99_timeout
+(
+UINTN
+timeout
+)
+
+96 
+EFI_STATUS
+¡©us
+;
+
+97 
+EFI_EVENT
+tim\94
+;
+
+98 
+EFI_EVENT
+li¡
+[2];
+
+99 
+UINTN
+idx
+;
+
+102 ià(
+timeout
+ == 0) \15 0;
+
+105 
+¡©us
+ = 
+BS
+->
+       `C»©eEv\92t
+(
+EVT_TIMER
+, 0, 
+NULL
+, NULL, &
+tim\94
+);
+
+106 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+107 
+       `ERR_PRT
+((
+L
+" wa\99key C»©eEv\92\88ç\9eed %r", 
+¡©us
+));
+
+111 
+¡©us
+ = 
+BS
+->
+       `S\91Tim\94
+(
+tim\94
+, 
+Tim\94P\94iodic
+, 
+TENTH_SEC
+);
+
+112 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+113 
+       `ERR_PRT
+((
+L
+"wa\99key S\91Tim\94 fa\9eed %r", 
+¡©us
+));
+
+117 
+li¡
+[0] = 
+tim\94
+;
+
+118 
+li¡
+[1] = 
+sy¡ab
+->
+CÚIn
+->
+Wa\99FÜKey
+;
+
+121 
+¡©us
+ = 
+BS
+->
+       `Wa\99FÜEv\92t
+(2, 
+li¡
+, &
+idx
+);
+
+122 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+123 
+       `ERR_PRT
+((
+L
+"wa\99key Wa\99FÜEv\92\88ç\9eed %r", 
+¡©us
+));
+
+127 } \1f
+timeout
+-- && 
+idx
+ == 0);
+
+133 
+¡©us
+ = 
+BS
+->
+       `S\91Tim\94
+(
+tim\94
+, 
+Tim\94Cªûl
+, 0);
+
+134 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+135 
+       `ERR_PRT
+((
+L
+"wa\99key S\91Tim\94(Tim\94Cªûlèç\9eed %r", 
+¡©us
+));
+
+139 
+BS
+->
+       `Clo£Ev\92t
+(
+tim\94
+);
+
+141 \15 
+idx
+ ? 1 : 0;
+
+142 
+       }
+}
+
+144 
+INTN
+
+
+145 
+       $¬gify
+(
+CHAR16
+ *
+buf
+, 
+UINTN
+Ën
+, CHAR16 **
+¬gv
+)
+
+148 
+UINTN
+i
+=0, 
+j
+=0;
+
+149 
+CHAR16
+ *
+p
+ = 
+buf
+;
+
+151 ià(
+buf
+ == 0) {
+
+152 
+¬gv
+[0] = 
+NULL
+;
+
+156 
+Ën
+ =\86en >> 1;
+
+165 \1f
+buf
+[
+i
+] =ð
+CHAR_SPACE
+ && buf[i] !ð
+CHAR_NULL
+ && i < 
+Ën
+) i++;
+
+167 ià(
+buf
+[
+i
+] =ð
+CHAR_NULL
+ || i =ð
+Ën
\10
+\92d
+;
+
+169 
+p
+ = 
+buf
++
+i
+;
+
+170 
+i
+++;
+
+172 \1f
+buf
+[
+i
+] !ð
+CHAR_SPACE
+ && buf[i] !ð
+CHAR_NULL
+ && i < 
+Ën
+) i++;
+
+174 
+¬gv
+[
+j
+++] = 
+p
+;
+
+176 ià(
+buf
+[
+i
+] =ð
+CHAR_NULL
\10
+\92d
+;
+
+178 
+buf
+[
+i
+] = 
+CHAR_NULL
+;
+
+180 ià(
+i
+ =ð
+Ën
\10
+\92d
+;
+
+182 
+i
+++;
+
+184 ià(
+j
+ =ð
+MAX_ARGS
+-1) {
+
+185 
+       `ERR_PRT
+((
+L
+"toØmªy\87rgum\92t (%dè\8cunÿt\9ag", 
+j
+));
+
+186 \10
+\92d
+;
+
+189 
+\92d
+:
+
+191 ià(
+i
+ !ð
+Ën
+) {
+
+192 
+       `ERR_PRT
+((
+L
+"ignÜ\9ag\81¿\9e\9ag %d ch¬aù\94 Ú commªd\86\9ae", 
+Ën
+-
+i
+));
+
+195 
+¬gv
+[
+j
+] = 
+NULL
+;
+
+196 \15 
+j
+;
+
+197 
+       }
+}
+
+199 
+VOID
+
+
+200 
+       $uÇrgify
+(
+CHAR16
+ **
+¬gv
+, CHAR16 **
+¬gs
+)
+
+202 iàÐ*
+¬gv
+ == 0 ) {
+
+203 *
+¬gs
+ = 
+L
+"";
+
+206 *
+¬gs
+ = *
+¬gv
+;
+
+207 \1f 
+¬gv
+[1] ) {
+
+208 (*
+¬gv
+)[
+       `S\8cL\92
+(*¬gv)] = 
+CHAR_SPACE
+;
+
+209 
+¬gv
+++;
+
+211 
+       }
+}
+
+213 
+VOID
+
+
+214 
+       $¥l\99_¬gs
+(
+CHAR16
+ *
+bufãr
+, CHAR16 *
+kÇme
+, CHAR16 *
+¬gs
+)
+
+216 
+CHAR16
+ *
+tmp
+;
+
+219 \1f*
+bufãr
+ && *bufã¸=ð
+CHAR_SPACE
+) buffer++;
+
+221 
+tmp
+ = 
+bufãr
+;
+
+224 \1f*
+bufãr
+ && *bufã¸!ð
+CHAR_SPACE
+) buffer++;
+
+226 ià(*
+bufãr
+) {
+
+227 *
+bufãr
+++ = 
+CHAR_NULL
+;
+
+228 
+       `S\8cCpy
+(
+kÇme
+, 
+tmp
+);
+
+232 \1f*
+bufãr
+ && *bufã¸=ð
+CHAR_SPACE
+) buffer++;
+
+234 
+       `S\8cCpy
+(
+¬gs
+, 
+bufãr
+);
+
+235 
+       }
+}
+
+237 
+INTN
+
+
+238 
+       $»ad_f\9ee
+(
+UINTN
+fd
+, UINTN 
+tٮ_size
+, 
+CHAR8
+ *
+bufãr
+)
+
+240 
+INTN
+size
+, 
+j
+=0;
+
+241 
+EFI_STATUS
+¡©us
+;
+
+242 
+CHAR16
+h\96icÝ\8br
+[4] = { 
+L
+'|' , L'/' , L'-' , L'\\' };
+
+243 
+INTN
+»t
+ = 
+ELILO_LOAD_SUCCESS
+;
+
+244 
+UINTN
+sum
+ = 0;
+
+255 \1f
+tٮ_size
+ > 0) {
+
+256 
+size
+ = 
+tٮ_size
+ < 
+READ_BLOCK_SIZE
+?\81otal_size : READ_BLOCK_SIZE;
+
+258 
+¡©us
+ = 
+       `fÝs_»ad
+(
+fd
+, 
+bufãr
+, &
+size
+);
+
+259 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+260 
+       `ERR_PRT
+((
+L
+"»ad_f\9e\90ç\9eed %r", 
+¡©us
+));
+
+261 \15 
+ELILO_LOAD_ERROR
+;
+
+263 
+sum
+ +ð
+size
+;
+
+265 
+       `Pr\9at
+(
+L
+"%c\b",
+h\96icÝ\8br
+[
+j
+++%4]);
+
+267 
+bufãr
+ +ð
+size
+;
+
+268 
+tٮ_size
+ -ð
+size
+;
+
+270 ià(
+       `check_abÜt
+(è=ð
+EFI_SUCCESS
+) {
+
+271 
+»t
+ = 
+ELILO_LOAD_ABORTED
+;
+
+275 \15 
+»t
+;
+
+276 
+       }
+}
+
+278 
+INTN
+
+
+279 
+       $g\91_memm­
+(
+mm­_desc_t
+ *
+desc
+)
+
+281 \ 1
+       #ELILO_MEMMAP_SIZE_DEFAULT
+EFI_PAGE_SIZE
+
+
+       )
+
+282 \ 1
+       #ELILO_MEMMAP_INC
+ (\17(
+EFI_MEMORY_DESCRIPTOR
+)<<1)
+
+       )
+
+284 
+EFI_STATUS
+¡©us
+;
+
+286 
+desc
+->
+m­_size
+ = 
+ELILO_MEMMAP_SIZE_DEFAULT
+;
+
+289 
+desc
+->
+md
+ = (
+EFI_MEMORY_DESCRIPTOR
+ *)
+       `®loc
+(desc->
+m­_size
+, 
+EfiLßd\94D©a
+);
+
+291 ià(
+desc
+->
+md
+ =ð
+NULL
+) {
+
+292 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate memory map buffer"));
+
+295 
+¡©us
+ = (*
+BS
+->
+G\91MemÜyM­
+)(&
+desc
+->
+m­_size
+, desc->
+md
+, &desc->
+cook\9b
+, &desc->
+desc_size
+, &desc->
+desc_v\94siÚ
+);
+
+296 ià(
+¡©us
+ =ð
+EFI_SUCCESS
+) \ 3;
+
+298 
+       `ä\93
+(
+desc
+->
+md
+);
+
+300 ià(
+¡©us
+ !ð
+EFI_BUFFER_TOO_SMALL
+) {
+
+301 
+       `ERR_PRT
+((
+L
+"failed\81o obtain memory map %r"));
+
+304 
+desc
+->
+m­_size
+ +ð
+ELILO_MEMMAP_INC
+;
+
+306 
+       `DBG_PRT
+((
+L
+"f\9a® g\91_memm­ m­_size=%ld", 
+desc
+->
+m­_size
+));
+
+309 
+       }
+}
+
+312 
+INTN
+
+
+313 
+       $g\91_memm­
+(
+mm­_desc_t
+ *
+desc
+)
+
+315 
+EFI_STATUS
+¡©us
+;
+
+318 
+desc
+->
+m­_size
+ = 0;
+
+320 
+¡©us
+ = 
+BS
+->
+       `G\91MemÜyM­
+(&
+desc
+->
+m­_size
+, desc->
+md
+, &desc->
+cook\9b
+, &desc->
+desc_size
+, &desc->
+desc_v\94siÚ
+);
+
+321 ià(
+¡©us
+ !ð
+EFI_BUFFER_TOO_SMALL
+) \15 -1;
+
+323 
+desc
+->
+md
+ = (
+EFI_MEMORY_DESCRIPTOR
+ *)
+       `®loc
+(desc->
+m­_size
+, 
+EfiLßd\94D©a
+);
+
+324 ià(
+desc
+->
+md
+ =ð
+NULL
+) {
+
+325 
+       `ERR_PRT
+((
+L
+"failed\81o\87llocate memory map buffer"));
+
+330 
+¡©us
+ = 
+BS
+->
+       `G\91MemÜyM­
+(&
+desc
+->
+m­_size
+, desc->
+md
+, &desc->
+cook\9b
+, &desc->
+desc_size
+, &desc->
+desc_v\94siÚ
+);
+
+331 ià(
+       `EFI_ERROR
+(
+¡©us
+)) {
+
+332 
+       `ERR_PRT
+((
+L
+"ç\9eed\81Øob\8f\9a memÜy m­ %d: %r", 
+desc
+->
+m­_size
+, 
+¡©us
+));
+
+333 
+       `ä\93
+(
+desc
+->
+md
+);
+
+336 
+       `DBG_PRT
+((
+L
+"f\9a® g\91_memm­ m­_size=%d", 
+desc
+->
+m­_size
+));
+
+339 
+       }
+}
+
+343 
+VOID
+
+
+344 
+       $ä\93_memm­
+(
+mm­_desc_t
+ *
+desc
+)
+
+346 ià(
+desc
+->
+md
+) {
+
+347 
+       `ä\93
+(
+desc
+->
+md
+);
+
+348 
+desc
+->
+md
+ = 
+NULL
+;
+
+350 
+       }
+}
+
+352 
+VOID
+
+
+353 
+       $´\9at_memm­
+(
+mm­_desc_t
+ *
+desc
+)
+
+355 
+EFI_MEMORY_DESCRIPTOR
+ *
+md
+;
+
+356 
+UINTN
+desc_size
+;
+
+357 
+VOID
+ *
+p
+;
+
+358 
+VOID
+ *
+md_\92d
+;
+
+359 
+INT8
\9a\8bd
+;
+
+360 
+UINTN
+Áy³s
+;
+
+361 
+CHAR16
+* 
+¡r
+;
+
+363 \18
+CHAR16
+ *
+memty³s
+[]={
+
+364 
+L
+"ReservedMemoryType",
+
+365 
+L
+"LoaderCode",
+
+366 
+L
+"LoaderData",
+
+367 
+L
+"BootServicesCode",
+
+368 
+L
+"BootServicesData",
+
+369 
+L
+"RuntimeServicesCode",
+
+370 
+L
+"RuntimeServicesData",
+
+371 
+L
+"ConventionalMemory",
+
+372 
+L
+"UnusableMemory",
+
+373 
+L
+"ACPIReclaimMemory",
+
+374 
+L
+"ACPIMemoryNVS",
+
+375 
+L
+"MemoryMappedIO",
+
+376 
+L
+"MemoryMappedIOPortSpace",
+
+377 
+L
+"PalCode"
+
+381 
+md_\92d
+ = ((
+VOID
+ *)
+desc
+->
+md
+)+desc->
+m­_size
+;
+
+382 
+desc_size
+ = 
+desc
+->desc_size;
+
+384 
+Áy³s
+ = \17(
+memty³s
+)/\17(
+CHAR16
+ *);
+
+386 \ f
+p
+ = 
+desc
+->
+md
+;\85 < 
+md_\92d
+;\85 +ð
+desc_size
+) {
+
+387 
+md
+ = 
+p
+;
+
+389 
+¡r
+ = 
+md
+->
+Ty³
+ < 
+Áy³s
+ ? 
+memty³s
+[md->Ty³] : 
+L
+"Unknown";
+
+391 
+       `Pr\9at
+(
+L
+"%24 %lx-%lx %8lx", 
+¡r
+, 
+md
+->
+PhysiÿlS\8f¹
+,
+
+392 
+md
+->
+PhysiÿlS\8f¹
++(md->
+Numb\94OfPages
+<<
+EFI_PAGE_SHIFT
+),
+
+393 
+md
+->
+Numb\94OfPages
+);
+
+395 
\9a\8bd
+=0;
+
+396 \ 1
+       #P_FLG
+(
+f
+) { \
+
+397 
+       `Pr\9at
+(
+L
+" % %s", 
\9a\8bd
+ ? L"|":L"", 
+f
+); \
+
+398 
\9a\8bd
+=1; \
+
+399 }
+
+       )
+
+401 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_UC
+) {
+
+402 
+       `P_FLG
+(
+L
+"UC");
+
+404 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_WC
+) {
+
+405 
+       `P_FLG
+(
+L
+"WC");
+
+407 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_WT
+) {
+
+408 
+       `P_FLG
+(
+L
+"WT");
+
+410 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_WB
+) {
+
+411 
+       `P_FLG
+(
+L
+"WB");
+
+413 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_UCE
+) {
+
+414 
+       `P_FLG
+(
+L
+"UCE");
+
+416 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_WP
+) {
+
+417 
+       `P_FLG
+(
+L
+"WP");
+
+419 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_RP
+) {
+
+420 
+       `P_FLG
+(
+L
+"RP");
+
+422 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_XP
+) {
+
+423 
+       `P_FLG
+(
+L
+"XP");
+
+425 ià(
+md
+->
+A\89ribu\8b
+ & 
+EFI_MEMORY_RUNTIME
+) {
+
+426 
+       `P_FLG
+(
+L
+"RT");
+
+428 
+       `Pr\9at
+(
+L
+"\n");
+
+430 
+       }
+}
+
+432 
+INTN
+
+
+433 
+       $f\9ad_k\94Ãl_memÜy
+(
+VOID
+* 
+low_addr
+, VOID* 
+max_addr
+, 
+UINTN
+®ignm\92t
+, VOID** 
+¡¬t
+)
+
+435 \ 1
+       #HIGHEST_ADDR
+ (
+VOID
+*)(~0)
+
+       )
+
+436 
+mm­_desc_t
+mdesc
+;
+
+437 
+EFI_MEMORY_DESCRIPTOR
+ *
+md
+;
+
+438 
+UINT64
+size
+;
+
+439 
+VOID
+ *
+p
+, *
+addr
+;
+
+440 
+VOID
+ *
+desc_\92d
+, *
+md_\92d
+, *
+be¡_addr
+ = 
+HIGHEST_ADDR
+;
+
+449 ià(
+       `g\91_memm­
+(&
+mdesc
+) == -1) {
+
+450 
+       `ERR_PRT
+((
+L
+"find_kernel_memory :GetMemoryMap() failed"));
+
+454 
+desc_\92d
+ = ((
+VOID
+ *)
+mdesc
+.
+md
+è+ mdesc.
+m­_size
+;
+
+455 
+size
+ = 
+max_addr
+ - 
+low_addr
+;
+
+459 \ f
+p
+ = 
+mdesc
+.
+md
+;\85 < 
+desc_\92d
+;\85 +ðmdesc.
+desc_size
+) {
+
+460 
+md
+ = 
+p
+;
+
+473 ià(
+md
+->
+Ty³
+ !ð
+EfiCÚv\92tiÚ®MemÜy
+) \ 6;
+
+478 
+md_\92d
+ = (
+VOID
+*)(
+md
+->
+PhysiÿlS\8f¹
+ + md->
+Numb\94OfPages
+ * 
+EFI_PAGE_SIZE
+);
+
+479 
+addr
+ = (
+VOID
+*)
+       `ROUNDUP
+(
+md
+->
+PhysiÿlS\8f¹
+, 
+®ignm\92t
+);
+
+489 ià(
+addr
+ < 
+be¡_addr
+ &&\87dd¸< 
+md_\92d
+ &&\87ddr+
+size
+ <= md_end) best_addr =\87ddr;
+
+491 ià(
+be¡_addr
+ =ð
+HIGHEST_ADDR
+) {
+
+492 
+       `ä\93_memm­
+(&
+mdesc
+);
+
+493 
+       `ERR_PRT
+((
+L
+"Could\82ot find memory suitable for\86oading image"));
+
+497 *
+¡¬t
+ = 
+be¡_addr
+;
+
+499 
+       `ä\93_memm­
+(&
+mdesc
+);
+
+502 
+       }
+}
+
+       @vars.c
+
+28 \ 2
+       ~<efi.h
+>
+
+29 \ 2
+       ~<ef\9eib.h
+>
+
+35 \ 1
+       #MAX_VARIABLES
+ (26<<1)
+
+       )
+
+36 \ 1
+       #MAX_VARIABLE_LENGTH
+ 128
+
+       )
+
+37 \ 1
+       #VAR_IDX
+(
+a
+è((×è>ð'a' && (aè<ð'z'è? 26-'a'+×è: (a)-'A')
+
+       )
+
+38 \ 1
+       #IDX_VAR
+(
+i
+è((iè< 26 ? 'A'+(iè: 'a'+ ((i)-26))
+
+       )
+
+41 
+CHAR16
+       mv®ue
+[
+MAX_VARIABLE_LENGTH
+];
+
+42 } 
+       t\96\9eo_v¬_t
+;
+
+44 \18
+\96\9eo_v¬_t
+       gv¬s
+[
+MAX_VARIABLES
+];
+
+46 
+INTN
+
+
+47 
+       $£t_v¬
+(
+CHAR16
+v
+, CHAR16 *
+v®ue
+)
+
+50 ià(
+v
+ < 'A' || (v > 'Z' && v < 'a') || v > 'z') \15 -1;
+
+52 
+       `S\8cCpy
+(
+v¬s
+[
+       `VAR_IDX
+(
+v
+)].
+v®ue
+, value);
+
+54 
+       }
+}
+
+56 
+CHAR16
+ *
+
+57 
+       $g\91_v¬
+(
+CHAR16
+v
+)
+
+60 ià(
+v
+ < 
+L
+'A' || (v > L'Z' && v < L'a'è|| v > L'z'è\15 
+NULL
+;
+
+62 \15 
+v¬s
+[
+       `VAR_IDX
+(
+v
+)].
+v®ue
+;
+
+63 
+       }
+}
+
+66 
+VOID
+
+
+67 
+       $´\9at_v¬s
+(
+VOID
+)
+
+69 
+INTN
+i
+;
+
+70 
+UINTN
+út
+ = 0;
+
+72 \ f
+i
+=0; i < 
+MAX_VARIABLES
+; i++) {
+
+73 ià(
+v¬s
+[
+i
+].
+v®ue
+[0]) {
+
+74 
+út
+++;
+
+75 
+       `Pr\9at
+(
+L
+"%øð\"%s\"\n", 
+       `IDX_VAR
+(
+i
+), 
+v¬s
+[i].
+v®ue
+);
+
+78 ià(
+út
+ =ð0è
+       `Pr\9at
+(
+L
+"no variable defined\n");
+
+79 
+       }
+}
+
+82 
+INTN
+
+
+83 
+       $sub¡_v¬s
+(
+CHAR16
+ *
+\9a
+, CHAR16 *
+out
+, 
+INTN
+maxËn
+)
+
+89 \ 1
+       #DSPEC_CHAR
+L
+'&'
+
+       )
+
+90 
+INTN
+i
+, 
+l
+, 
+j
+, 
+út
+;
+
+91 
+INTN
+m
+ = 0, 
+d
+ = 0;
+
+92 
+CHAR16
+ *
+v®
+;
+
+94 ià(
+\9a
+ =ð
+NULL
+ || 
+out
+ =ðNULL || 
+maxËn
+ <= 1) \15 -1;
+
+96 
+l
+ = 
+       `S\8cL\92
+(
+\9a
+);
+
+98 
+maxËn
+--;
+
+100 \ f
+i
+=0, 
+j
+=0;\98
+l
+; i++) {
+
+101 
+út
+ = 1;
+
+102 
+v®
+ = 
+\9a
++
+i
+;
+
+104 ià(*
+v®
+ =ð
+DSPEC_CHAR
+ && 
+d
+ == 0) {
+
+105 
+d
+ = 1;
+
+108 if(
+m
+ == 1) {
+
+109 
+m
+ = 0;
+
+110 
+v®
+ = 
+       `g\91_v¬
+(*val);
+
+112 ià(
+v®
+ =ð
+NULL
+) \ 6;
+
+114 
+út
+ = 
+       `S\8cL\92
+(
+v®
+);
+
+116 } \vià(*
+v®
+ =ð
+L
+'%' && 
+d
+ == 0) {
+
+117 
+m
+ = 1;
+
+120 
+d
+ = 0;
+
+121 \1f
+j
+ < 
+maxËn
+ && 
+út
+) {
+
+122 
+out
+[
+j
+++] = *
+v®
+++;
+
+123 
+út
+--;
+
+125 ià(
+j
+ =ð
+maxËn
+) \ 3;
+
+127 
+out
+[
+j
+] = 
+CHAR_NULL
+;
+
+130 
+       }
+}
+
+       @vars.h
+
+29 #iâdeà
+__ELILO_VARS_H__
+
+
+30 \ 1
+       #__ELILO_VARS_H__
+
+
+       )
+
+43 \ 1
+       #VAR_NETFS_IPADDR
+L
+'I'
+
+       )
+
+44 \ 1
+       #VAR_NETFS_NETMASK
+L
+'M'
+
+       )
+
+45 \ 1
+       #VAR_NETFS_GATEWAY
+L
+'G'
+
+       )
+
+46 \ 1
+       #VAR_NETFS_HOSTNAME
+L
+'H'
+
+       )
+
+47 \ 1
+       #VAR_NETFS_DOMAINAME
+L
+'D'
+
+       )
+
+49 \r
+INTN
+£t_v¬
+(
+CHAR16
+v
+, CHAR16 *
+v®ue
+);
+
+50 \r
+CHAR16
+ * 
+g\91_v¬
+(CHAR16 
+v
+);
+
+51 \r
+VOID
\9at_v¬s
+(VOID);
+
+52 \r
+INTN
+sub¡_v¬s
+(
+CHAR16
+ *
+\9a
+, CHAR16 *
+out
+, INTN 
+maxËn
+);
+
+       @/usr/include/asm/atomic.h
+
+5 #iâdeà
+__i386STUB__ATOMIC_H__
+
+
+6 \ 1
+       #__i386STUB__ATOMIC_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/©omic.h
+>
+
+11 \ 2
+       ~<asm-i386/©omic.h
+>
+
+       @/usr/include/asm/bitops.h
+
+5 #iâdeà
+__i386STUB__BITOPS_H__
+
+
+6 \ 1
+       #__i386STUB__BITOPS_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/b\99Ýs.h
+>
+
+11 \ 2
+       ~<asm-i386/b\99Ýs.h
+>
+
+       @/usr/include/asm/byteorder.h
+
+5 #iâdeà
+__i386STUB__BYTEORDER_H__
+
+
+6 \ 1
+       #__i386STUB__BYTEORDER_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/by\8bÜd\94.h
+>
+
+11 \ 2
+       ~<asm-i386/by\8bÜd\94.h
+>
+
+       @/usr/include/asm/semaphore.h
+
+5 #iâdeà
+__i386STUB__SEMAPHORE_H__
+
+
+6 \ 1
+       #__i386STUB__SEMAPHORE_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/£m­hÜe.h
+>
+
+11 \ 2
+       ~<asm-i386/£m­hÜe.h
+>
+
+       @/usr/include/dirent.h
+
+23 #iâdef 
+_DIRENT_H
+
+
+24 \ 1
+       #_DIRENT_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+30 \ 2
+       ~<b\99s/ty³s.h
+>
+
+32 #ifdeà
+__USE_XOPEN
+
+
+33 #iâdeà
+__\9ao_t_def\9aed
+
+
+34 #iâdeà
+__USE_FILE_OFFSET64
+
+
+35 \e
+__\9ao_t
+       t\9ao_t
+;
+
+37 \e
+__\9ao64_t
+       t\9ao_t
+;
+
+39 \ 1
+       #__\9ao_t_def\9aed
+
+
+       )
+
+41 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__\9ao64_t_def\9aed
+
+
+42 \e
+__\9ao64_t
+       t\9ao64_t
+;
+
+43 \ 1
+       #__\9ao64_t_def\9aed
+
+
+       )
+
+62 \ 2
+       ~<b\99s/d\9c\92t.h
+>
+
+64 #ià(
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+è&& !def\9aed 
+d_f\9e\92o
+
+
+65 \ 1
+       #d_\9ao
+d_f\9e\92o
+
+
+       )
+
+82 #ifdeà
+_DIRENT_HAVE_D_NAMLEN
+
+
+83 \ 1
+       #_D_EXACT_NAMLEN
+(
+d
+è((d)->
+d_ÇmËn
+)
+
+       )
+
+84 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(
+       `_D_EXACT_NAMLEN
+ (dè+ 1)
+
+       )
+
+86 \ 1
+       #_D_EXACT_NAMLEN
+(
+d
+è(
+       `¡¾\92
+ ((d)->
+d_Çme
+))
+
+       )
+
+87 #ifdeà
+_DIRENT_HAVE_D_RECLEN
+
+
+88 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(((\ 5*è(dè+ (d)->
+d_»þ\92
+è- &(d)->
+d_Çme
+[0])
+
+       )
+
+90 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(\17 (d)->
+d_Çme
+ > 1 ? \17 (d)->d_name : \
+
+91 
+       `_D_EXACT_NAMLEN
+ (
+d
+è+ 1)
+
+       )
+
+96 #ifdeà
+__USE_BSD
+
+
+100 
+       mDT_UNKNOWN
+ = 0,
+
+101 \ 1
+       #DT_UNKNOWN
+DT_UNKNOWN
+
+
+       )
+
+102 
+       mDT_FIFO
+ = 1,
+
+103 \ 1
+       #DT_FIFO
+DT_FIFO
+
+
+       )
+
+104 
+       mDT_CHR
+ = 2,
+
+105 \ 1
+       #DT_CHR
+DT_CHR
+
+
+       )
+
+106 
+       mDT_DIR
+ = 4,
+
+107 \ 1
+       #DT_DIR
+DT_DIR
+
+
+       )
+
+108 
+       mDT_BLK
+ = 6,
+
+109 \ 1
+       #DT_BLK
+DT_BLK
+
+
+       )
+
+110 
+       mDT_REG
+ = 8,
+
+111 \ 1
+       #DT_REG
+DT_REG
+
+
+       )
+
+112 
+       mDT_LNK
+ = 10,
+
+113 \ 1
+       #DT_LNK
+DT_LNK
+
+
+       )
+
+114 
+       mDT_SOCK
+ = 12,
+
+115 \ 1
+       #DT_SOCK
+DT_SOCK
+
+
+       )
+
+116 
+       mDT_WHT
+ = 14
+
+117 \ 1
+       #DT_WHT
+DT_WHT
+
+
+       )
+
+121 \ 1
+       #IFTODT
+(
+mode
+è(((modeè& 0170000è>> 12)
+
+       )
+
+122 \ 1
+       #DTTOIF
+(
+d\9cty³
+è((d\9cty³è<< 12)
+
+       )
+
+128 \e\19
+__d\9c¡»am
+       tDIR
+;
+
+135 \r
+DIR
+ *
+       $Ý\92d\9c
+ (
+__cڡ
\ 5*
+__Çme
+       `__nÚnuÎ
+ ((1));
+
+142 \r\12
+       $þo£d\9c
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+154 #iâdeà
+__USE_FILE_OFFSET64
+
+
+155 \r\19
+d\9c\92t
+ *
+       $»add\9c
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+157 #ifdeà
+__REDIRECT
+
+
+158 \r\19
+d\9c\92t
+ *
+       `__REDIRECT
+ (
+»add\9c
+, (
+DIR
+ *
+__d\9cp
+), 
+»add\9c64
+)
+
+159 
+       `__nÚnuÎ
+ ((1));
+
+161 \ 1
+       #»add\9c
+»add\9c64
+
+
+       )
+
+165 #ifdeà
+__USE_LARGEFILE64
+
+
+166 \r\19
+d\9c\92t64
+ *
+       $»add\9c64
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+169 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+175 #iâdeà
+__USE_FILE_OFFSET64
+
+
+176 \r\12
+       $»add\9c_r
+ (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+177 \19
+d\9c\92t
+ *
+__»¡riù
+__\92\8cy
+,
+
+178 \19
+d\9c\92t
+ **
+__»¡riù
+__»suÉ
+)
+
+179 
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+181 #ifdeà
+__REDIRECT
+
+
+182 \r\12
+       `__REDIRECT
+ (
+»add\9c_r
+,
+
+183 (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+184 \19
+d\9c\92t
+ *
+__»¡riù
+__\92\8cy
+,
+
+185 \19
+d\9c\92t
+ **
+__»¡riù
+__»suÉ
+),
+
+186 
+»add\9c64_r
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+188 \ 1
+       #»add\9c_r
+»add\9c64_r
+
+
+       )
+
+192 #ifdeà
+__USE_LARGEFILE64
+
+
+193 \r\12
+       $»add\9c64_r
+ (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+194 \19
+d\9c\92t64
+ *
+__»¡riù
+__\92\8cy
+,
+
+195 \19
+d\9c\92t64
+ **
+__»¡riù
+__»suÉ
+)
+
+196 
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+201 \r\1e
+       $»w\9add\9c
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+203 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+204 \ 2
+       ~<b\99s/ty³s.h
+>
+
+207 \r\1e
+       $£ekd\9c
+ (
+DIR
+ *
+__d\9cp
+, \13\12
+__pos
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+210 \r\13\12
+       $\8bÎd\9c
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+213 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+
+
+216 \r\12
+       $d\9cfd
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+218 #ià
+def\9aed
+__OPTIMIZE__
+ && def\9aed 
+_DIR_d\9cfd
+
+
+219 \ 1
+       #d\9cfd
+(
+d\9cp
+       `_DIR_d\9cfd
+ (d\9cp)
+
+       )
+
+222 #iâdeà
+MAXNAMLEN
+
+
+224 \ 2
+       ~<b\99s/posix1_lim.h
+>
+
+227 #ifdeà
+NAME_MAX
+
+
+228 \ 1
+       #MAXNAMLEN
+NAME_MAX
+
+
+       )
+
+230 \ 1
+       #MAXNAMLEN
+ 255
+
+       )
+
+234 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+235 \ 2
+       ~<¡ddef.h
+>
+
+241 #iâdeà
+__USE_FILE_OFFSET64
+
+
+242 \r\12
+       `sÿnd\9c
+ (
+__cڡ
\ 5*
+__»¡riù
+__d\9c
+,
+
+243 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+244 \12(*
+__£ËùÜ
+è(
+__cڡ
\19
+d\9c\92t
+ *),
+
+245 \12(*
+__cmp
+è(
+__cڡ
\1e*, __const \1e*))
+
+246 
+       `__nÚnuÎ
+ ((1, 2));
+
+248 #ifdeà
+__REDIRECT
+
+
+249 \r\12
+       `__REDIRECT
+ (
+sÿnd\9c
+,
+
+250 (
+__cڡ
\ 5*
+__»¡riù
+__d\9c
+,
+
+251 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+252 \12(*
+__£ËùÜ
+è(
+__cڡ
\19
+d\9c\92t
+ *),
+
+253 \12(*
+__cmp
+è(
+__cڡ
\1e*, __const \1e*)),
+
+254 
+sÿnd\9c64
+       `__nÚnuÎ
+ ((1, 2));
+
+256 \ 1
+       #sÿnd\9c
+sÿnd\9c64
+
+
+       )
+
+260 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__USE_LARGEFILE64
+
+
+263 \r\12
+       `sÿnd\9c64
+ (
+__cڡ
\ 5*
+__»¡riù
+__d\9c
+,
+
+264 \19
+d\9c\92t64
+ ***
+__»¡riù
+__Çm\96
+,
+
+265 \12(*
+__£ËùÜ
+è(
+__cڡ
\19
+d\9c\92t64
+ *),
+
+266 \12(*
+__cmp
+è(
+__cڡ
\1e*, __const \1e*))
+
+267 
+       `__nÚnuÎ
+ ((1, 2));
+
+271 #iâdeà
+__USE_FILE_OFFSET64
+
+
+272 \r\12
+       $®phasÜt
+ (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+)
+
+273 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+275 #ifdeà
+__REDIRECT
+
+
+276 \r\12
+       `__REDIRECT_NTH
+ (
+®phasÜt
+,
+
+277 (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+),
+
+278 
+®phasÜt64
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+280 \ 1
+       #®phasÜt
+®phasÜt64
+
+
+       )
+
+284 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__USE_LARGEFILE64
+
+
+285 \r\12
+       $®phasÜt64
+ (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+)
+
+286 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+289 #ifdeà
+__USE_GNU
+
+
+291 #iâdeà
+__USE_FILE_OFFSET64
+
+
+292 \r\12
+       $v\94siÚsÜt
+ (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+)
+
+293 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+295 #ifdeà
+__REDIRECT
+
+
+296 \r\12
+       `__REDIRECT_NTH
+ (
+v\94siÚsÜt
+,
+
+297 (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+),
+
+298 
+v\94siÚsÜt64
+)
+
+299 
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+301 \ 1
+       #v\94siÚsÜt
+v\94siÚsÜt64
+
+
+       )
+
+305 #ifdeà
+__USE_LARGEFILE64
+
+
+306 \r\12
+       $v\94siÚsÜt64
+ (
+__cڡ
\1e*
+__e1
+, __cڡ \1e*
+__e2
+)
+
+307 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+315 #iâdeà
+__USE_FILE_OFFSET64
+
+
+316 \r
+__ssize_t
+       $g\91d\9c\92\8c\9bs
+ (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+317 
+size_t
+__nby\8bs
+,
+
+318 
+__off_t
+ *
+__»¡riù
+__ba£p
+)
+
+319 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+321 #ifdeà
+__REDIRECT
+
+
+322 \r
+__ssize_t
+       `__REDIRECT_NTH
+ (
+g\91d\9c\92\8c\9bs
+,
+
+323 (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+324 
+size_t
+__nby\8bs
+,
+
+325 
+__off64_t
+ *
+__»¡riù
+__ba£p
+),
+
+326 
+g\91d\9c\92\8c\9bs64
+       `__nÚnuÎ
+ ((2, 4));
+
+328 \ 1
+       #g\91d\9c\92\8c\9bs
+g\91d\9c\92\8c\9bs64
+
+
+       )
+
+332 #ifdeà
+__USE_LARGEFILE64
+
+
+333 \r
+__ssize_t
+       $g\91d\9c\92\8c\9bs64
+ (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+334 
+size_t
+__nby\8bs
+,
+
+335 
+__off64_t
+ *
+__»¡riù
+__ba£p
+)
+
+336 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+341 
+__END_DECLS
+
+
+       @/usr/include/errno.h
+
+23 #iâdef 
+_ERRNO_H
+
+
+27 #iâdef 
+__Ãed_Em©h
+
+
+28 \ 1
+       #_ERRNO_H
+ 1
+
+       )
+
+29 \ 2
+       ~<ã©u»s.h
+>
+
+32 
+       g__BEGIN_DECLS
+
+
+36 \ 2
+       ~<b\99s/\94ºo.h
+>
+
+37 #undeà
+__Ãed_Em©h
+
+
+39 #ifdef 
+_ERRNO_H
+
+
+46 #iâdef 
+\94ºo
+
+
+47 \r\12
+\94ºo
+;
+
+50 #ifdeà
+__USE_GNU
+
+
+55 \r\ 5*
+´og¿m_\9avoÿtiÚ_Çme
+, *
+´og¿m_\9avoÿtiÚ_shÜt_Çme
+;
+
+59 
+       g__END_DECLS
+
+
+67 #ià
+def\9aed
+__USE_GNU
+ || def\9aed 
+__Ãed_\94rÜ_t
+
+
+68 #iâdeà
+__\94rÜ_t_def\9aed
+
+
+69 \e\12
+       t\94rÜ_t
+;
+
+70 \ 1
+       #__\94rÜ_t_def\9aed
+ 1
+
+       )
+
+72 #undeà
+__Ãed_\94rÜ_t
+
+
+       @/usr/include/fcntl.h
+
+23 #iâdef 
+_FCNTL_H
+
+
+24 \ 1
+       #_FCNTL_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+33 \ 2
+       ~<b\99s/fú\8e.h
+>
+
+36 #ifdeà
+__USE_XOPEN
+
+
+37 \ 2
+       ~<sys/¡©.h
+>
+
+40 #ifdef 
+__USE_MISC
+
+
+41 #iâdeà
+R_OK
+
+
+44 \ 1
+       #R_OK
+ 4
+
+       )
+
+45 \ 1
+       #W_OK
+ 2
+
+       )
+
+46 \ 1
+       #X_OK
+ 1
+
+       )
+
+47 \ 1
+       #F_OK
+ 0
+
+       )
+
+52 #ifdeà
+__USE_XOPEN
+
+
+53 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+54 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+55 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+63 \r\12
+fú\8e
+ (\12
+__fd
+, \12
+__cmd
+, ...);
+
+71 #iâdeà
+__USE_FILE_OFFSET64
+
+
+72 \r\12
+       $ݒ
+ (
+__cڡ
\ 5*
+__f\9ee
+, \12
+__oæag
+, ...è
+       `__nÚnuÎ
+ ((1));
+
+74 #ifdeà
+__REDIRECT
+
+
+75 \r\12
+       `__REDIRECT
+ (
+, (
+__cڡ
\ 5*
+__f\9ee
+, \12
+__oæag
+, ...), 
+ݒ64
+)
+
+76 
+       `__nÚnuÎ
+ ((1));
+
+78 \ 1
+       #ݒ
+ݒ64
+
+
+       )
+
+81 #ifdeà
+__USE_LARGEFILE64
+
+
+82 \r\12
+       $ݒ64
+ (
+__cڡ
\ 5*
+__f\9ee
+, \12
+__oæag
+, ...è
+       `__nÚnuÎ
+ ((1));
+
+90 #iâdeà
+__USE_FILE_OFFSET64
+
+
+91 \r\12
+       $ü\97t
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__mode_t
+__mode
+       `__nÚnuÎ
+ ((1));
+
+93 #ifdeà
+__REDIRECT
+
+
+94 \r\12
+       `__REDIRECT
+ (
\97t
+, (
+__cڡ
\ 5*
+__f\9ee
+, 
+__mode_t
+__mode
+),
+
+95 
\97t64
+       `__nÚnuÎ
+ ((1));
+
+97 \ 1
+       #ü\97t
\97t64
+
+
+       )
+
+100 #ifdeà
+__USE_LARGEFILE64
+
+
+101 \r\12
+       $ü\97t64
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__mode_t
+__mode
+       `__nÚnuÎ
+ ((1));
+
+104 #ià!
+def\9aed
+F_LOCK
+ && (def\9aed 
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN_EXTENDED
+ \
+
+105 && !
+def\9aed
+__USE_POSIX
+))
+
+114 \ 1
+       #F_ULOCK
+ 0
+
+       )
+
+115 \ 1
+       #F_LOCK
+ 1
+
+       )
+
+116 \ 1
+       #F_TLOCK
+ 2
+
+       )
+
+117 \ 1
+       #F_TEST
+ 3
+
+       )
+
+119 #iâdeà
+__USE_FILE_OFFSET64
+
+
+120 \r\12
+       `lockf
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off_t
+__Ën
+);
+
+122 #ifdeà
+__REDIRECT
+
+
+123 \r\12
+       `__REDIRECT
+ (
+lockf
+, (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+), 
+lockf64
+);
+
+125 \ 1
+       #lockf
+lockf64
+
+
+       )
+
+128 #ifdeà
+__USE_LARGEFILE64
+
+
+129 \r\12
+       `lockf64
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+);
+
+133 #ifdeà
+__USE_XOPEN2K
+
+
+136 #iâdeà
+__USE_FILE_OFFSET64
+
+
+137 \r\12
+       $posix_çdvi£
+ (\12
+__fd
+, 
+__off_t
+__off£t
+, __off_\88
+__Ën
+,
+
+138 \12
+__advi£
+__THROW
+;
+
+140 #ifdeà
+__REDIRECT_NTH
+
+
+141 \r\12
+       `__REDIRECT_NTH
+ (
+posix_çdvi£
+, (\12
+__fd
+, 
+__off64_t
+__off£t
+,
+
+142 
+__off64_t
+__Ën
+, \12
+__advi£
+),
+
+143 
+posix_çdvi£64
+);
+
+145 \ 1
+       #posix_çdvi£
+posix_çdvi£64
+
+
+       )
+
+148 #ifdeà
+__USE_LARGEFILE64
+
+
+149 \r\12
+       $posix_çdvi£64
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, __off64_\88
+__Ën
+,
+
+150 \12
+__advi£
+__THROW
+;
+
+158 #iâdeà
+__USE_FILE_OFFSET64
+
+
+159 \r\12
+       `posix_çÎoÿ\8b
+ (\12
+__fd
+, 
+__off_t
+__off£t
+, __off_\88
+__Ën
+);
+
+161 #ifdeà
+__REDIRECT
+
+
+162 \r\12
+       `__REDIRECT
+ (
+posix_çÎoÿ\8b
+, (\12
+__fd
+, 
+__off64_t
+__off£t
+,
+
+163 
+__off64_t
+__Ën
+),
+
+164 
+posix_çÎoÿ\8b64
+);
+
+166 \ 1
+       #posix_çÎoÿ\8b
+posix_çÎoÿ\8b64
+
+
+       )
+
+169 #ifdeà
+__USE_LARGEFILE64
+
+
+170 \r\12
+       `posix_çÎoÿ\8b64
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, __off64_\88
+__Ën
+);
+
+174 
+__END_DECLS
+
+
+       @/usr/include/linux/adfs_fs_sb.h
+
+7 #iâdeà
+_ADFS_FS_SB
+
+
+8 \ 1
+       #_ADFS_FS_SB
+
+
+       )
+
+10 \ 2
+       ~<asm/ty³s.h
+>
+
+15 \19
+       gadfs_discm­
+;
+
+16 \19
+       gadfs_d\9c_Ýs
+;
+
+21 \19
+       sadfs_sb_\9afo
+ {
+
+22 \19
+adfs_discm­
+ *
+       ms_m­
+;
+
+23 \19
+adfs_d\9c_Ýs
+ *
+       ms_d\9c
+;
+
+25 
+uid_t
+       ms_uid
+;
+
+26 
+gid_t
+       ms_gid
+;
+
+27 
+umode_t
+       ms_owÃr_mask
+;
+
+28 
+umode_t
+       ms_Ùh\94_mask
+;
+
+30 
+__u32
+       ms_ids_³r_zÚe
+;
+
+31 
+__u32
+       ms_idËn
+;
+
+32 
+__u32
+       ms_m­_size
+;
+
+33 \1d\13
+       ms_size
+;
+
+34 sigÃd \12
+       ms_m­2blk
+;
+
+35 \1d\12
+       ms_log2sh¬esize
+;
+
+36 
+__Ë32
+       ms_v\94siÚ
+;
+
+37 \1d\12
+       ms_Çm\96\92
+;
+
+       @/usr/include/linux/cache.h
+
+1 #iâdeà
+__LINUX_CACHE_H
+
+
+2 \ 1
+       #__LINUX_CACHE_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/k\94Ãl.h
+>
+
+5 \ 2
+       ~<asm/ÿche.h
+>
+
+7 #iâdeà
+L1_CACHE_ALIGN
+
+
+8 \ 1
+       #L1_CACHE_ALIGN
+(
+x
+       `ALIGN
+(x, 
+L1_CACHE_BYTES
+)
+
+       )
+
+11 #iâdeà
+SMP_CACHE_BYTES
+
+
+12 \ 1
+       #SMP_CACHE_BYTES
+L1_CACHE_BYTES
+
+
+       )
+
+15 #iâdeà
+____ÿch\96\9ae_®igÃd
+
+
+16 \ 1
+       #____ÿch\96\9ae_®igÃd
+       `__©\8cibu\8b__
+((
+       `__®igÃd__
+(
+SMP_CACHE_BYTES
+)))
+
+       )
+
+19 #iâdeà
+____ÿch\96\9ae_®igÃd_\9a_smp
+
+
+20 #ifdeà
+CONFIG_SMP
+
+
+21 \ 1
+       #____ÿch\96\9ae_®igÃd_\9a_smp
+____ÿch\96\9ae_®igÃd
+
+
+       )
+
+23 \ 1
+       #____ÿch\96\9ae_®igÃd_\9a_smp
+
+
+       )
+
+27 #iâdeà
+__ÿch\96\9ae_®igÃd
+
+
+28 \ 1
+       #__ÿch\96\9ae_®igÃd
+ \
+
+29 
+       `__©\8cibu\8b__
+((
+       `__®igÃd__
+(
+SMP_CACHE_BYTES
+), \
+
+30 
+       `__£ùiÚ__
+(".d©a.ÿch\96\9ae_®igÃd")))
+
+       )
+
+33 #iâdeà
+__ÿch\96\9ae_®igÃd_\9a_smp
+
+
+34 #ifdeà
+CONFIG_SMP
+
+
+35 \ 1
+       #__ÿch\96\9ae_®igÃd_\9a_smp
+__ÿch\96\9ae_®igÃd
+
+
+       )
+
+37 \ 1
+       #__ÿch\96\9ae_®igÃd_\9a_smp
+
+
+       )
+
+41 #ià!
+def\9aed
+(
+____ÿch\96\9ae_max®igÃd_\9a_smp
+)
+
+42 #ià
+def\9aed
+(
+CONFIG_SMP
+)
+
+43 \ 1
+       #____ÿch\96\9ae_max®igÃd_\9a_smp
+ \
+
+44 
+       `__©\8cibu\8b__
+((
+       `__®igÃd__
+(1 << (
+L1_CACHE_SHIFT_MAX
+))))
+
+       )
+
+46 \ 1
+       #____ÿch\96\9ae_max®igÃd_\9a_smp
+
+
+       )
+
+       @/usr/include/linux/config.h
+
+       @/usr/include/linux/efs_fs_i.h
+
+9 #iâdef 
+__EFS_FS_I_H__
+
+
+10 \ 1
+       #__EFS_FS_I_H__
+
+
+       )
+
+12 \e
+\9at32_t
+       tefs_block_t
+;
+
+13 \e
+u\9at32_t
+       tefs_\9ao_t
+;
+
+15 \ 1
+       #EFS_DIRECTEXTENTS
+ 12
+
+       )
+
+20 \e\1c
+       uex\8bÁ_u
+ {
+
+21 \1d\ 5
+       m¿w
+[8];
+
+22 \19
+       sex\8bÁ_s
+ {
+
+23 \1d\12
+       mex_magic
+:8;
+
+24 \1d\12
+       mex_bn
+:24;
+
+25 \1d\12
+       mex_Ëngth
+:8;
+
+26 \1d\12
+       mex_off£t
+:24;
+
+27 } 
+       mcooked
+;
+
+28 } 
+       tefs_ex\8bÁ
+;
+
+30 \e\19
+       sedevs
+ {
+
+31 
+__be16
+       modev
+;
+
+32 
+__be32
+       mndev
+;
+
+33 } 
+       tefs_devs
+;
+
+39 \19
+       sefs_d\9aode
+ {
+
+40 
+__be16
+       mdi_mode
+;
+
+41 
+__be16
+       mdi_ƚk
+;
+
+42 
+__be16
+       mdi_uid
+;
+
+43 
+__be16
+       mdi_gid
+;
+
+44 
+__be32
+       mdi_size
+;
+
+45 
+__be32
+       mdi_©ime
+;
+
+46 
+__be32
+       mdi_mtime
+;
+
+47 
+__be32
+       mdi_ùime
+;
+
+48 
+__be32
+       mdi_g\92
+;
+
+49 
+__be16
+       mdi_numex\8bÁs
+;
+
+50 
+u_ch¬
+       mdi_v\94siÚ
+;
+
+51 
+u_ch¬
+       mdi_¥¬e
+;
+
+52 \1c
+       udi_addr
+ {
+
+53 
+efs_ex\8bÁ
+       mdi_ex\8bÁs
+[
+EFS_DIRECTEXTENTS
+];
+
+54 
+efs_devs
+       mdi_dev
+;
+
+55 } 
+       mdi_u
+;
+
+       @/usr/include/linux/efs_fs_sb.h
+
+9 #iâdeà
+__EFS_FS_SB_H__
+
+
+10 \ 1
+       #__EFS_FS_SB_H__
+
+
+       )
+
+12 \ 2
+       ~<asm/ty³s.h
+>
+
+15 \ 1
+       #EFS_SUPER_MAGIC
+ 0x414A53
+
+       )
+
+18 \ 1
+       #EFS_MAGIC
+ 0x072959
+
+       )
+
+19 \ 1
+       #EFS_NEWMAGIC
+ 0x07295a
+
+       )
+
+21 \ 1
+       #IS_EFS_MAGIC
+(
+x
+è((x =ð
+EFS_MAGIC
+è|| (x =ð
+EFS_NEWMAGIC
+))
+
+       )
+
+23 \ 1
+       #EFS_SUPER
+ 1
+
+       )
+
+24 \ 1
+       #EFS_ROOTINODE
+ 2
+
+       )
+
+27 \19
+       sefs_su³r
+ {
+
+28 
+__be32
+       mfs_size
+;
+
+29 
+__be32
+       mfs_f\9c¡cg
+;
+
+30 
+__be32
+       mfs_cgfsize
+;
+
+31 
+__be16
+       mfs_cgisize
+;
+
+32 
+__be16
+       mfs_£ùÜs
+;
+
+33 
+__be16
+       mfs_h\97ds
+;
+
+34 
+__be16
+       mfs_ncg
+;
+
+35 
+__be16
+       mfs_d\9cty
+;
+
+36 
+__be32
+       mfs_time
+;
+
+37 
+__be32
+       mfs_magic
+;
+
+38 \ 5
+       mfs_âame
+[6];
+
+39 \ 5
+       mfs_åack
+[6];
+
+40 
+__be32
+       mfs_bmsize
+;
+
+41 
+__be32
+       mfs_tä\93
+;
+
+42 
+__be32
+       mfs_t\9aode
+;
+
+43 
+__be32
+       mfs_bmblock
+;
+
+44 
+__be32
+       mfs_»¶sb
+;
+
+45 
+__be32
+       mfs_Ï¡\9fÎoc
+;
+
+46 \ 5
+       mfs_¥¬e
+[20];
+
+47 
+__be32
+       mfs_checksum
+;
+
+51 \19
+       sefs_sb_\9afo
+ {
+
+52 
+__u32
+       mfs_magic
+;
+
+53 
+__u32
+       mfs_¡¬t
+;
+
+54 
+__u32
+       mf\9c¡_block
+;
+
+55 
+__u32
+       mtٮ_blocks
+;
+
+56 
+__u32
+       mgroup_size
+;
+
+57 
+__u32
+       md©a_ä\93
+;
+
+58 
+__u32
+       m\9aode_ä\93
+;
+
+59 
+__u16
+       m\9aode_blocks
+;
+
+60 
+__u16
+       mtٮ_groups
+;
+
+       @/usr/include/linux/fcntl.h
+
+1 #iâdeà
+_LINUX_FCNTL_H
+
+
+2 \ 1
+       #_LINUX_FCNTL_H
+
+
+       )
+
+4 \ 2
+       ~<asm/fú\8e.h
+>
+
+6 \ 1
+       #F_SETLEASE
+ (
+F_LINUX_SPECIFIC_BASE
++0)
+
+       )
+
+7 \ 1
+       #F_GETLEASE
+ (
+F_LINUX_SPECIFIC_BASE
++1)
+
+       )
+
+13 \ 1
+       #F_NOTIFY
+ (
+F_LINUX_SPECIFIC_BASE
++2)
+
+       )
+
+18 \ 1
+       #DN_ACCESS
+ 0x00000001
+
+       )
+
+19 \ 1
+       #DN_MODIFY
+ 0x00000002
+
+       )
+
+20 \ 1
+       #DN_CREATE
+ 0x00000004
+
+       )
+
+21 \ 1
+       #DN_DELETE
+ 0x00000008
+
+       )
+
+22 \ 1
+       #DN_RENAME
+ 0x00000010
+
+       )
+
+23 \ 1
+       #DN_ATTRIB
+ 0x00000020
+
+       )
+
+24 \ 1
+       #DN_MULTISHOT
+ 0x80000000
+
+       )
+
+       @/usr/include/linux/ioctl.h
+
+1 #iâdeà
+_LINUX_IOCTL_H
+
+
+2 \ 1
+       #_LINUX_IOCTL_H
+
+
+       )
+
+4 \ 2
+       ~<asm/ioùl.h
+>
+
+       @/usr/include/linux/iso_fs_i.h
+
+1 #iâdeà
+_ISO_FS_I
+
+
+2 \ 1
+       #_ISO_FS_I
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/fs.h
+>
+
+6 \f
+       eisofs_f\9ee_fÜm©
+ {
+
+7 
+       misofs_f\9ee_nÜm®
+ = 0,
+
+8 
+       misofs_f\9ee_¥¬£
+ = 1,
+
+9 
+       misofs_f\9ee_com´es£d
+ = 2
+
+       @/usr/include/linux/iso_fs_sb.h
+
+1 #iâdeà
+_ISOFS_FS_SB
+
+
+2 \ 1
+       #_ISOFS_FS_SB
+
+
+       )
+
+7 \19
+       sisofs_sb_\9afo
+ {
+
+8 \1d\13
+       ms_n\9aodes
+;
+
+9 \1d\13
+       ms_nzÚes
+;
+
+10 \1d\13
+       ms_f\9c¡d©azÚe
+;
+
+11 \1d\13
+       ms_log_zÚe_size
+;
+
+12 \1d\13
+       ms_max_size
+;
+
+14 \1d\ 5
+       ms_high_s\9b¼a
+;
+
+15 \1d\ 5
+       ms_m­p\9ag
+;
+
+16 \12
+       ms_rock_off£t
+;
+
+17 \1d\ 5
+       ms_rock
+;
+
+18 \1d\ 5
+       ms_jÞ\9bt_Ëv\96
+;
+
+19 \1d\ 5
+       ms_utf8
+;
+
+20 \1d\ 5
+       ms_üuá
+;
+
+23 \1d\ 5
+       ms_unhide
+;
+
+24 \1d\ 5
+       ms_nosuid
+;
+
+25 \1d\ 5
+       ms_nodev
+;
+
+26 \1d\ 5
+       ms_nocom´ess
+;
+
+28 
+mode_t
+       ms_mode
+;
+
+29 
+gid_t
+       ms_gid
+;
+
+30 
+uid_t
+       ms_uid
+;
+
+31 \19
+Æs_\8f
+ *
+       ms_Æs_ioch¬£t
+;
+
+       @/usr/include/linux/kdev_t.h
+
+1 #iâdeà
+_LINUX_KDEV_T_H
+
+
+2 \ 1
+       #_LINUX_KDEV_T_H
+
+
+       )
+
+8 \ 1
+       #MAJOR
+(
+dev
+è((dev)>>8)
+
+       )
+
+9 \ 1
+       #MINOR
+(
+dev
+è((devè& 0xff)
+
+       )
+
+10 \ 1
+       #MKDEV
+(
+ma
+,
+mi
+è((ma)<<8 | (mi))
+
+       )
+
+       @/usr/include/linux/limits.h
+
+1 #iâdeà
+_LINUX_LIMITS_H
+
+
+2 \ 1
+       #_LINUX_LIMITS_H
+
+
+       )
+
+4 \ 1
+       #NR_OPEN
+ 1024
+
+       )
+
+6 \ 1
+       #NGROUPS_MAX
+ 65536
+
+       )
+
+7 \ 1
+       #ARG_MAX
+ 131072
+
+       )
+
+8 \ 1
+       #CHILD_MAX
+ 999
+
+       )
+
+9 \ 1
+       #OPEN_MAX
+ 256
+
+       )
+
+10 \ 1
+       #LINK_MAX
+ 127
+
+       )
+
+11 \ 1
+       #MAX_CANON
+ 255
+
+       )
+
+12 \ 1
+       #MAX_INPUT
+ 255
+
+       )
+
+13 \ 1
+       #NAME_MAX
+ 255
+
+       )
+
+14 \ 1
+       #PATH_MAX
+ 4096
+
+       )
+
+15 \ 1
+       #PIPE_BUF
+ 4096
+
+       )
+
+16 \ 1
+       #XATTR_NAME_MAX
+ 255
+
+       )
+
+17 \ 1
+       #XATTR_SIZE_MAX
+ 65536
+
+       )
+
+18 \ 1
+       #XATTR_LIST_MAX
+ 65536
+
+       )
+
+20 \ 1
+       #RTSIG_MAX
+ 32
+
+       )
+
+       @/usr/include/linux/linkage.h
+
+1 #iâdeà
+_LINUX_LINKAGE_H
+
+
+2 \ 1
+       #_LINUX_LINKAGE_H
+
+
+       )
+
+4 \ 2
+       ~<asm/l\9akage.h
+>
+
+6 #ifdeà
+__ýlu¥lus
+
+
+7 \ 1
+       #CPP_ASMLINKAGE
\r"C"
+
+       )
+
+9 \ 1
+       #CPP_ASMLINKAGE
+
+
+       )
+
+12 #iâdeà
+asml\9akage
+
+
+13 \ 1
+       #asml\9akage
+CPP_ASMLINKAGE
+
+
+       )
+
+16 #iâdeà
+´ev\92t_\8f\9e_ÿÎ
+
+
+17 \ 1
+       #´ev\92t_\8f\9e_ÿÎ
+(
+»t
+èdØ{ } \1f0)
+
+       )
+
+20 #iâdeà
+__ALIGN
+
+
+21 \ 1
+       #__ALIGN
+ .
+®ign
+ 4,0x90
+
+       )
+
+22 \ 1
+       #__ALIGN_STR
+ ".®igÀ4,0x90"
+
+       )
+
+25 #ifdeà
+__ASSEMBLY__
+
+
+27 \ 1
+       #ALIGN
+__ALIGN
+
+
+       )
+
+28 \ 1
+       #ALIGN_STR
+__ALIGN_STR
+
+
+       )
+
+30 \ 1
+       #ENTRY
+(
+Çme
+) \
+
+31 .
+globl
+Çme
+; \
+
+32 
+ALIGN
+; \
+
+33 
+Çme
+:
+
+       )
+
+37 \ 1
+       #NORET_TYPE
+
+
+       )
+
+38 \ 1
+       #ATTRIB_NORET
+       `__©\8cibu\8b__
+((
+nÜ\91
+))
+
+       )
+
+39 \ 1
+       #NORET_AND
+nÜ\91
+,
+
+       )
+
+41 #iâdeà
+FASTCALL
+
+
+42 \ 1
+       #FASTCALL
+(
+x
+       )
+x
+
+43 \ 1
+       #ç¡ÿÎ
+
+
+       )
+
+       @/usr/include/linux/list.h
+
+1 \ 2
+       ~<l\9aux/\94r_k\94Ãl_Úly.h
+>
+
+       @/usr/include/linux/mount.h
+
+1 \ 2
+       ~<l\9aux/\94r_k\94Ãl_Úly.h
+>
+
+       @/usr/include/linux/net.h
+
+18 #iâdeà
+_LINUX_NET_H
+
+
+19 \ 1
+       #_LINUX_NET_H
+
+
+       )
+
+21 \ 1
+       #NPROTO
+ 32
+
+       )
+
+23 \ 1
+       #SYS_SOCKET
+ 1
+
+       )
+
+24 \ 1
+       #SYS_BIND
+ 2
+
+       )
+
+25 \ 1
+       #SYS_CONNECT
+ 3
+
+       )
+
+26 \ 1
+       #SYS_LISTEN
+ 4
+
+       )
+
+27 \ 1
+       #SYS_ACCEPT
+ 5
+
+       )
+
+28 \ 1
+       #SYS_GETSOCKNAME
+ 6
+
+       )
+
+29 \ 1
+       #SYS_GETPEERNAME
+ 7
+
+       )
+
+30 \ 1
+       #SYS_SOCKETPAIR
+ 8
+
+       )
+
+31 \ 1
+       #SYS_SEND
+ 9
+
+       )
+
+32 \ 1
+       #SYS_RECV
+ 10
+
+       )
+
+33 \ 1
+       #SYS_SENDTO
+ 11
+
+       )
+
+34 \ 1
+       #SYS_RECVFROM
+ 12
+
+       )
+
+35 \ 1
+       #SYS_SHUTDOWN
+ 13
+
+       )
+
+36 \ 1
+       #SYS_SETSOCKOPT
+ 14
+
+       )
+
+37 \ 1
+       #SYS_GETSOCKOPT
+ 15
+
+       )
+
+38 \ 1
+       #SYS_SENDMSG
+ 16
+
+       )
+
+39 \ 1
+       #SYS_RECVMSG
+ 17
+
+       )
+
+42 
+       mSS_FREE
+ = 0,
+
+43 
+       mSS_UNCONNECTED
+,
+
+44 
+       mSS_CONNECTING
+,
+
+45 
+       mSS_CONNECTED
+,
+
+46 
+       mSS_DISCONNECTING
+
+
+47 } 
+       tsock\91_¡©e
+;
+
+49 \ 1
+       #__SO_ACCEPTCON
+ (1 << 16è
+
+       )
+
+       @/usr/include/linux/nfs_fs_i.h
+
+1 #iâdeà
+_NFS_FS_I
+
+
+2 \ 1
+       #_NFS_FS_I
+
+
+       )
+
+4 \ 2
+       ~<asm/ty³s.h
+>
+
+5 \ 2
+       ~<l\9aux/nfs.h
+>
+
+7 \19
+       gÆm_lockowÃr
+;
+
+12 \19
+       snfs_lock_\9afo
+ {
+
+13 
+__u32
+       m¡©e
+;
+
+14 
+__u32
+       mæags
+;
+
+15 \19
+Æm_lockowÃr
+ *
+       mowÃr
+;
+
+21 \ 1
+       #NFS_LCK_GRANTED
+ 0x0001
+
+       )
+
+22 \ 1
+       #NFS_LCK_RECLAIM
+ 0x0002
+
+       )
+
+       @/usr/include/linux/nfs_fs_sb.h
+
+1 #iâdeà
+_NFS_FS_SB
+
+
+2 \ 1
+       #_NFS_FS_SB
+
+
+       )
+
+4 \ 2
+       ~<asm/ty³s.h
+>
+
+6 \ 2
+       ~<l\9aux/back\9ag-dev.h
+>
+
+11 \19
+       snfs_£rv\94
+ {
+
+12 \19
+½c_þÁ
+ * 
+       mþ\9bÁ
+;
+
+13 \19
+½c_þÁ
+ * 
+       mþ\9bÁ_sys
+;
+
+14 \19
+nfs_½c_Ýs
+ * 
+       m½c_Ýs
+;
+
+15 \19
+back\9ag_dev_\9afo
+       mback\9ag_dev_\9afo
+;
+
+16 \12
+       mæags
+;
+
+17 \1d\12
+       mÿps
+;
+
+18 \1d\12
+       mrsize
+;
+
+19 \1d\12
+       m½ages
+;
+
+20 \1d\12
+       mwsize
+;
+
+21 \1d\12
+       mw·ges
+;
+
+22 \1d\12
+       mwtmuÉ
+;
+
+23 \1d\12
+       mdtsize
+;
+
+24 \1d\12
+       mbsize
+;
+
+25 \1d\12
+       maüegm\9a
+;
+
+26 \1d\12
+       maüegmax
+;
+
+27 \1d\12
+       macd\9cm\9a
+;
+
+28 \1d\12
+       macd\9cmax
+;
+
+29 \1d\12
+       mÇm\96\92
+;
+
+30 \ 5
+       mho¡Çme
+;
+
+31 \19
+nfs_fh
+       mfh
+;
+
+32 \19
+sockaddr_\9a
+       maddr
+;
+
+33 #ifdeà
+CONFIG_NFS_V4
+
+
+37 \ 5
+       m\9d_addr
+[16];
+
+38 \ 5
+       mmÁ_·th
+;
+
+39 \19
+nfs4_þ\9bÁ
+ * 
+       mnfs4_¡©e
+;
+
+40 \19
+li¡_h\97d
+       mnfs4_sibl\9ags
+;
+
+43 
+__u32
+       m©\8c_b\99mask
+[2];
+
+46 
+__u32
+       maþ_b\99mask
+;
+
+53 \ 1
+       #NFS_CAP_READDIRPLUS
+ (1U << 0)
+
+       )
+
+54 \ 1
+       #NFS_CAP_HARDLINKS
+ (1U << 1)
+
+       )
+
+55 \ 1
+       #NFS_CAP_SYMLINKS
+ (1U << 2)
+
+       )
+
+56 \ 1
+       #NFS_CAP_ACLS
+ (1U << 3)
+
+       )
+
+       @/usr/include/linux/pipe_fs_i.h
+
+1 #iâdeà
+_LINUX_PIPE_FS_I_H
+
+
+2 \ 1
+       #_LINUX_PIPE_FS_I_H
+
+
+       )
+
+4 \ 1
+       #PIPEFS_MAGIC
+ 0x50495045
+
+       )
+
+6 \ 1
+       #PIPE_BUFFERS
+ (16)
+
+       )
+
+8 \19
+       sp\9de_bufãr
+ {
+
+9 \19
+·ge
+ *
+       m·ge
+;
+
+10 \1d\12
+       moff£t
+, 
+       mËn
+;
+
+11 \19
+p\9de_buf_Ý\94©iÚs
+ *
+       mÝs
+;
+
+14 \19
+       sp\9de_buf_Ý\94©iÚs
+ {
+
+15 \12
+       mÿn_m\94ge
+;
+
+16 \1e* (*
+       mm­
+)(\19
+       mf\9ee
+ *, \19
+       mp\9de_\9aode_\9afo
+ *, \19
+       mp\9de_bufãr
+ *);
+
+17 \1e(*
+       munm­
+)(\19
+       mp\9de_\9aode_\9afo
+ *, \19
+       mp\9de_bufãr
+ *);
+
+18 \1e(*
+       m»Ëa£
+)(\19
+       mp\9de_\9aode_\9afo
+ *, \19
+       mp\9de_bufãr
+ *);
+
+21 \19
+       sp\9de_\9aode_\9afo
+ {
+
+22 
+wa\99_queue_h\97d_t
+       mwa\99
+;
+
+23 \1d\12
+       mÄbufs
+, 
+       mcurbuf
+;
+
+24 \19
+p\9de_bufãr
+       mbufs
+[
+PIPE_BUFFERS
+];
+
+25 \19
+·ge
+ *
+       mtmp_·ge
+;
+
+26 \1d\12
+       m¡¬t
+;
+
+27 \1d\12
+       m»ad\94s
+;
+
+28 \1d\12
+       mwr\99\94s
+;
+
+29 \1d\12
+       mwa\99\9ag_wr\99\94s
+;
+
+30 \1d\12
+       mr_couÁ\94
+;
+
+31 \1d\12
+       mw_couÁ\94
+;
+
+32 \19
+çsync_¡ruù
+ *
+       mçsync_»ad\94s
+;
+
+33 \19
+çsync_¡ruù
+ *
+       mçsync_wr\99\94s
+;
+
+38 \ 1
+       #PIPE_SIZE
+PAGE_SIZE
+
+
+       )
+
+40 \ 1
+       #PIPE_SEM
+(
+\9aode
+è(&(\9aode).
+i_£m
+)
+
+       )
+
+41 \ 1
+       #PIPE_WAIT
+(
+\9aode
+è(&(\9aode).
+i_p\9de
+->
+wa\99
+)
+
+       )
+
+42 \ 1
+       #PIPE_BASE
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+ba£
+)
+
+       )
+
+43 \ 1
+       #PIPE_START
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+¡¬t
+)
+
+       )
+
+44 \ 1
+       #PIPE_LEN
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+Ën
+)
+
+       )
+
+45 \ 1
+       #PIPE_READERS
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+»ad\94s
+)
+
+       )
+
+46 \ 1
+       #PIPE_WRITERS
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+wr\99\94s
+)
+
+       )
+
+47 \ 1
+       #PIPE_WAITING_WRITERS
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+wa\99\9ag_wr\99\94s
+)
+
+       )
+
+48 \ 1
+       #PIPE_RCOUNTER
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+r_couÁ\94
+)
+
+       )
+
+49 \ 1
+       #PIPE_WCOUNTER
+(
+\9aode
+è((\9aode).
+i_p\9de
+->
+w_couÁ\94
+)
+
+       )
+
+50 \ 1
+       #PIPE_FASYNC_READERS
+(
+\9aode
+è(&((\9aode).
+i_p\9de
+->
+çsync_»ad\94s
+))
+
+       )
+
+51 \ 1
+       #PIPE_FASYNC_WRITERS
+(
+\9aode
+è(&((\9aode).
+i_p\9de
+->
+çsync_wr\99\94s
+))
+
+       )
+
+       @/usr/include/linux/quota.h
+
+34 #iâdeà
+_LINUX_QUOTA_
+
+
+35 \ 1
+       #_LINUX_QUOTA_
+
+
+       )
+
+37 \ 2
+       ~<l\9aux/\94ºo.h
+>
+
+38 \ 2
+       ~<l\9aux/ty³s.h
+>
+
+40 \ 1
+       #__DQUOT_VERSION__
+ "dquÙ_6.5.1"
+
+       )
+
+41 \ 1
+       #__DQUOT_NUM_VERSION__
+ 6*10000+5*100+1
+
+       )
+
+43 \e
+__k\94Ãl_uid32_t
+       tqid_t
+;
+
+44 \e
+__u64
+       tqsize_t
+;
+
+47 \ 1
+       #QUOTABLOCK_BITS
+ 10
+
+       )
+
+48 \ 1
+       #QUOTABLOCK_SIZE
+ (1 << 
+QUOTABLOCK_BITS
+)
+
+       )
+
+51 \ 1
+       #qb2kb
+(
+x
+è((xè<< (
+QUOTABLOCK_BITS
+-10))
+
+       )
+
+52 \ 1
+       #kb2qb
+(
+x
+è((xè>> (
+QUOTABLOCK_BITS
+-10))
+
+       )
+
+53 \ 1
+       #toqb
+(
+x
+è(((xè+ 
+QUOTABLOCK_SIZE
+ - 1è>> 
+QUOTABLOCK_BITS
+)
+
+       )
+
+55 \ 1
+       #MAXQUOTAS
+ 2
+
+       )
+
+56 \ 1
+       #USRQUOTA
+ 0
+
+       )
+
+57 \ 1
+       #GRPQUOTA
+ 1
+
+       )
+
+62 \ 1
+       #INITQFNAMES
+ { \
+
+66 };
+
+       )
+
+74 \ 1
+       #SUBCMDMASK
+ 0x00ff
+
+       )
+
+75 \ 1
+       #SUBCMDSHIFT
+ 8
+
+       )
+
+76 \ 1
+       #QCMD
+(
+cmd
+, 
+ty³
+è(((cmdè<< 
+SUBCMDSHIFT
+è| (Ñy³è& 
+SUBCMDMASK
+))
+
+       )
+
+78 \ 1
+       #Q_SYNC
+ 0x800001
+
+       )
+
+79 \ 1
+       #Q_QUOTAON
+ 0x800002
+
+       )
+
+80 \ 1
+       #Q_QUOTAOFF
+ 0x800003
+
+       )
+
+81 \ 1
+       #Q_GETFMT
+ 0x800004
+
+       )
+
+82 \ 1
+       #Q_GETINFO
+ 0x800005
+
+       )
+
+83 \ 1
+       #Q_SETINFO
+ 0x800006
+
+       )
+
+84 \ 1
+       #Q_GETQUOTA
+ 0x800007
+
+       )
+
+85 \ 1
+       #Q_SETQUOTA
+ 0x800008
+
+       )
+
+91 \ 1
+       #QIF_BLIMITS
+ 1
+
+       )
+
+92 \ 1
+       #QIF_SPACE
+ 2
+
+       )
+
+93 \ 1
+       #QIF_ILIMITS
+ 4
+
+       )
+
+94 \ 1
+       #QIF_INODES
+ 8
+
+       )
+
+95 \ 1
+       #QIF_BTIME
+ 16
+
+       )
+
+96 \ 1
+       #QIF_ITIME
+ 32
+
+       )
+
+97 \ 1
+       #QIF_LIMITS
+ (
+QIF_BLIMITS
+ | 
+QIF_ILIMITS
+)
+
+       )
+
+98 \ 1
+       #QIF_USAGE
+ (
+QIF_SPACE
+ | 
+QIF_INODES
+)
+
+       )
+
+99 \ 1
+       #QIF_TIMES
+ (
+QIF_BTIME
+ | 
+QIF_ITIME
+)
+
+       )
+
+100 \ 1
+       #QIF_ALL
+ (
+QIF_LIMITS
+ | 
+QIF_USAGE
+ | 
+QIF_TIMES
+)
+
+       )
+
+102 \19
+       sif_dqblk
+ {
+
+103 
+__u64
+       mdqb_bh¬dlim\99
+;
+
+104 
+__u64
+       mdqb_bsoálim\99
+;
+
+105 
+__u64
+       mdqb_cur¥aû
+;
+
+106 
+__u64
+       mdqb_ih¬dlim\99
+;
+
+107 
+__u64
+       mdqb_isoálim\99
+;
+
+108 
+__u64
+       mdqb_cur\9aodes
+;
+
+109 
+__u64
+       mdqb_btime
+;
+
+110 
+__u64
+       mdqb_\99ime
+;
+
+111 
+__u32
+       mdqb_v®id
+;
+
+118 \ 1
+       #IIF_BGRACE
+ 1
+
+       )
+
+119 \ 1
+       #IIF_IGRACE
+ 2
+
+       )
+
+120 \ 1
+       #IIF_FLAGS
+ 4
+
+       )
+
+121 \ 1
+       #IIF_ALL
+ (
+IIF_BGRACE
+ | 
+IIF_IGRACE
+ | 
+IIF_FLAGS
+)
+
+       )
+
+123 \19
+       sif_dq\9afo
+ {
+
+124 
+__u64
+       mdqi_bg¿û
+;
+
+125 
+__u64
+       mdqi_ig¿û
+;
+
+126 
+__u32
+       mdqi_æags
+;
+
+127 
+__u32
+       mdqi_v®id
+;
+
+       @/usr/include/linux/stat.h
+
+1 #iâdeà
+_LINUX_STAT_H
+
+
+2 \ 1
+       #_LINUX_STAT_H
+
+
+       )
+
+4 #ià!
+def\9aed
+(
+__GLIBC__
+)
+
+6 \ 1
+       #S_IFMT
+ 00170000
+
+       )
+
+7 \ 1
+       #S_IFSOCK
+ 0140000
+
+       )
+
+8 \ 1
+       #S_IFLNK
+ 0120000
+
+       )
+
+9 \ 1
+       #S_IFREG
+ 0100000
+
+       )
+
+10 \ 1
+       #S_IFBLK
+ 0060000
+
+       )
+
+11 \ 1
+       #S_IFDIR
+ 0040000
+
+       )
+
+12 \ 1
+       #S_IFCHR
+ 0020000
+
+       )
+
+13 \ 1
+       #S_IFIFO
+ 0010000
+
+       )
+
+14 \ 1
+       #S_ISUID
+ 0004000
+
+       )
+
+15 \ 1
+       #S_ISGID
+ 0002000
+
+       )
+
+16 \ 1
+       #S_ISVTX
+ 0001000
+
+       )
+
+18 \ 1
+       #S_ISLNK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFLNK
+)
+
+       )
+
+19 \ 1
+       #S_ISREG
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFREG
+)
+
+       )
+
+20 \ 1
+       #S_ISDIR
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFDIR
+)
+
+       )
+
+21 \ 1
+       #S_ISCHR
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFCHR
+)
+
+       )
+
+22 \ 1
+       #S_ISBLK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFBLK
+)
+
+       )
+
+23 \ 1
+       #S_ISFIFO
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFIFO
+)
+
+       )
+
+24 \ 1
+       #S_ISSOCK
+(
+m
+è(((mè& 
+S_IFMT
+è=ð
+S_IFSOCK
+)
+
+       )
+
+26 \ 1
+       #S_IRWXU
+ 00700
+
+       )
+
+27 \ 1
+       #S_IRUSR
+ 00400
+
+       )
+
+28 \ 1
+       #S_IWUSR
+ 00200
+
+       )
+
+29 \ 1
+       #S_IXUSR
+ 00100
+
+       )
+
+31 \ 1
+       #S_IRWXG
+ 00070
+
+       )
+
+32 \ 1
+       #S_IRGRP
+ 00040
+
+       )
+
+33 \ 1
+       #S_IWGRP
+ 00020
+
+       )
+
+34 \ 1
+       #S_IXGRP
+ 00010
+
+       )
+
+36 \ 1
+       #S_IRWXO
+ 00007
+
+       )
+
+37 \ 1
+       #S_IROTH
+ 00004
+
+       )
+
+38 \ 1
+       #S_IWOTH
+ 00002
+
+       )
+
+39 \ 1
+       #S_IXOTH
+ 00001
+
+       )
+
+       @/usr/include/linux/stddef.h
+
+1 #iâdeà
+_LINUX_STDDEF_H
+
+
+2 \ 1
+       #_LINUX_STDDEF_H
+
+
+       )
+
+4 #undeà
+NULL
+
+
+5 #ià
+def\9aed
+(
+__ýlu¥lus
+)
+
+6 \ 1
+       #NULL
+ 0
+
+       )
+
+8 \ 1
+       #NULL
+ ((\1e*)0)
+
+       )
+
+11 #undeà
+off£tof
+
+
+12 #ifdeà
+__comp\9e\94_off£tof
+
+
+13 \ 1
+       #off£tof
+(
+TYPE
+,
+MEMBER
+       `__comp\9e\94_off£tof
+(TYPE,MEMBER)
+
+       )
+
+15 \ 1
+       #off£tof
+(
+TYPE
+, 
+MEMBER
+è((
+size_t
+è&((TYPE *)0)->MEMBER)
+
+       )
+
+       @/usr/include/linux/types.h
+
+1 #iâdeà
+_LINUX_TYPES_H
+
+
+2 \ 1
+       #_LINUX_TYPES_H
+
+
+       )
+
+4 \ 2
+       ~<sys/ty³s.h
+>
+
+5 \ 2
+       ~<l\9aux/posix_ty³s.h
+>
+
+6 \ 2
+       ~<asm/ty³s.h
+>
+
+8 #iâdeà
+__KERNEL_STRICT_NAMES
+
+
+10 \e
+__u32
+       t__k\94Ãl_dev_t
+;
+
+12 #ià
+def\9aed
+WANT_KERNEL_TYPES
+ || !def\9aed(
+__GLIBC__
+)
+
+13 \e
+__k\94Ãl_fd_£t
+       tfd_£t
+;
+
+14 \e
+__k\94Ãl_dev_t
+       tdev_t
+;
+
+15 \e
+__k\94Ãl_\9ao_t
+       t\9ao_t
+;
+
+16 \e
+__k\94Ãl_mode_t
+       tmode_t
+;
+
+17 \e
+__k\94Ãl_Æ\9ak_t
+       tƚk_t
+;
+
+18 \e
+__k\94Ãl_off_t
+       toff_t
+;
+
+19 \e
+__k\94Ãl_pid_t
+       tpid_t
+;
+
+20 \e
+__k\94Ãl_daddr_t
+       tdaddr_t
+;
+
+21 \e
+__k\94Ãl_key_t
+       tkey_t
+;
+
+22 \e
+__k\94Ãl_su£cÚds_t
+       tsu£cÚds_t
+;
+
+23 \e
+__k\94Ãl_tim\94_t
+       ttim\94_t
+;
+
+24 \e
+__k\94Ãl_þockid_t
+       tþockid_t
+;
+
+25 \e
+__k\94Ãl_mqd_t
+       tmqd_t
+;
+
+27 \e
+__k\94Ãl_uid_t
+       tuid_t
+;
+
+28 \e
+__k\94Ãl_gid_t
+       tgid_t
+;
+
+30 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+31 \e
+__k\94Ãl_loff_t
+       tloff_t
+;
+
+38 #iâdeà
+_SIZE_T
+
+
+39 \ 1
+       #_SIZE_T
+
+
+       )
+
+40 \e
+__k\94Ãl_size_t
+       tsize_t
+;
+
+43 #iâdeà
+_SSIZE_T
+
+
+44 \ 1
+       #_SSIZE_T
+
+
+       )
+
+45 \e
+__k\94Ãl_ssize_t
+       tssize_t
+;
+
+48 #iâdeà
+_PTRDIFF_T
+
+
+49 \ 1
+       #_PTRDIFF_T
+
+
+       )
+
+50 \e
+__k\94Ãl_±rdiff_t
+       t±rdiff_t
+;
+
+53 #iâdeà
+_TIME_T
+
+
+54 \ 1
+       #_TIME_T
+
+
+       )
+
+55 \e
+__k\94Ãl_time_t
+       ttime_t
+;
+
+58 #iâdeà
+_CLOCK_T
+
+
+59 \ 1
+       #_CLOCK_T
+
+
+       )
+
+60 \e
+__k\94Ãl_þock_t
+       tþock_t
+;
+
+63 #iâdeà
+_CADDR_T
+
+
+64 \ 1
+       #_CADDR_T
+
+
+       )
+
+65 \e
+__k\94Ãl_ÿddr_t
+       tÿddr_t
+;
+
+69 \e\1d\ 5
+       tu_ch¬
+;
+
+70 \e\1d\16
+       tu_shÜt
+;
+
+71 \e\1d\12
+       tu_\9at
+;
+
+72 \e\1d\13
+       tu_lÚg
+;
+
+75 \e\1d\ 5
+       tunch¬
+;
+
+76 \e\1d\16
+       tushÜt
+;
+
+77 \e\1d\12
+       tu\9at
+;
+
+78 \e\1d\13
+       tulÚg
+;
+
+80 #iâdeà
+__BIT_TYPES_DEFINED__
+
+
+81 \ 1
+       #__BIT_TYPES_DEFINED__
+
+
+       )
+
+83 \e
+__u8
+       tu_\9at8_t
+;
+
+84 \e
+__s8
+       t\9at8_t
+;
+
+85 \e
+__u16
+       tu_\9at16_t
+;
+
+86 \e
+__s16
+       t\9at16_t
+;
+
+87 \e
+__u32
+       tu_\9at32_t
+;
+
+88 \e
+__s32
+       t\9at32_t
+;
+
+92 \e
+__u8
+       tu\9at8_t
+;
+
+93 \e
+__u16
+       tu\9at16_t
+;
+
+94 \e
+__u32
+       tu\9at32_t
+;
+
+96 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+97 \e
+__u64
+       tu\9at64_t
+;
+
+98 \e
+__u64
+       tu_\9at64_t
+;
+
+99 \e
+__s64
+       t\9at64_t
+;
+
+107 #iâdeà
+HAVE_SECTOR_T
+
+
+108 \e\1d\13
+       t£ùÜ_t
+;
+
+115 #iâdeà
+pgoff_t
+
+
+116 \ 1
+       #pgoff_t
\1d\13
+
+       )
+
+121 \e\1d\ 5
+       tunch¬
+;
+
+122 #iâdeà
+HAVE_SECTOR_T
+
+
+123 \e\1d\13
+       t£ùÜ_t
+;
+
+125 #iâdeà
+pgoff_t
+
+
+126 \ 1
+       #pgoff_t
\1d\13
+
+       )
+
+133 \e
+__u16
+       t__Ë16
+;
+
+134 \e
+__u16
+       t__be16
+;
+
+135 \e
+__u32
+       t__Ë32
+;
+
+136 \e
+__u32
+       t__be32
+;
+
+138 #ià
+def\9aed
+(
+__GNUC__
+)
+
+139 #ià!
+def\9aed
+(
+__STRICT_ANSI__
+è|| (
+__STDC_VERSION__
+ >ð199901Lè|| def\9aed(
+__LLH_TYPE_LONG_IS_64BIT__
+)
+
+140 \e
+__u64
+       t__Ë64
+;
+
+141 \e
+__u64
+       t__be64
+;
+
+153 \19
+       su¡©
+ {
+
+154 
+__k\94Ãl_daddr_t
+       mf_tä\93
+;
+
+155 
+__k\94Ãl_\9ao_t
+       mf_t\9aode
+;
+
+156 \ 5
+       mf_âame
+[6];
+
+157 \ 5
+       mf_åack
+[6];
+
+       @/usr/include/linux/udf_fs_i.h
+
+18 #iâdeà
+_UDF_FS_I_H
+
+
+19 \ 1
+       #_UDF_FS_I_H
+ 1
+
+       )
+
+24 \ 1
+       #UDF_GETEASIZE
+       `_IOR
+('l', 0x40, \12)
+
+       )
+
+25 \ 1
+       #UDF_GETEABLOCK
+       `_IOR
+('l', 0x41, \1e*)
+
+       )
+
+26 \ 1
+       #UDF_GETVOLIDENT
+       `_IOR
+('l', 0x42, \1e*)
+
+       )
+
+27 \ 1
+       #UDF_RELOCATE_BLOCKS
+       `_IOWR
+('l', 0x43, \13)
+
+       )
+
+       @/usr/include/linux/udf_fs_sb.h
+
+18 #iâdeà
+_UDF_FS_SB_H
+
+
+19 \ 1
+       #_UDF_FS_SB_H
+ 1
+
+       )
+
+21 \ 2
+       ~<asm/ty³s.h
+>
+
+23 \ 2
+       ~<asm/£m­hÜe.h
+>
+
+25 #´agm¨
+·ck
+(1)
+
+27 \ 1
+       #UDF_MAX_BLOCK_LOADED
+ 8
+
+       )
+
+29 \ 1
+       #UDF_TYPE1_MAP15
+ 0x1511U
+
+       )
+
+30 \ 1
+       #UDF_VIRTUAL_MAP15
+ 0x1512U
+
+       )
+
+31 \ 1
+       #UDF_VIRTUAL_MAP20
+ 0x2012U
+
+       )
+
+32 \ 1
+       #UDF_SPARABLE_MAP15
+ 0x1522U
+
+       )
+
+35 \19
+       sudf_v\9ctu®_d©a
+
+
+37 
+__u32
+       ms_num_\92\8c\9bs
+;
+
+38 
+__u16
+       ms_¡¬t_off£t
+;
+
+43 #´agm¨
+·ck
+()
+
+       @/usr/include/linux/wait.h
+
+1 #iâdeà
+_LINUX_WAIT_H
+
+
+2 \ 1
+       #_LINUX_WAIT_H
+
+
+       )
+
+4 #ià
+def\9aed
+(
+__GLIBC__
+)
+
+6 #ià
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)
+
+9 \ 2
+       ~<sys/wa\99.h
+>
+
+13 \ 1
+       #WNOHANG
+ 0x00000001
+
+       )
+
+14 \ 1
+       #WUNTRACED
+ 0x00000002
+
+       )
+
+15 \ 1
+       #WSTOPPED
+WUNTRACED
+
+
+       )
+
+16 \ 1
+       #WEXITED
+ 0x00000004
+
+       )
+
+17 \ 1
+       #WCONTINUED
+ 0x00000008
+
+       )
+
+18 \ 1
+       #WNOWAIT
+ 0x01000000
+
+       )
+
+20 \ 1
+       #__WNOTHREAD
+ 0x20000000
+
+       )
+
+21 \ 1
+       #__WALL
+ 0x40000000
+
+       )
+
+22 \ 1
+       #__WCLONE
+ 0x80000000
+
+       )
+
+25 \ 1
+       #P_ALL
+ 0
+
+       )
+
+26 \ 1
+       #P_PID
+ 1
+
+       )
+
+27 \ 1
+       #P_PGID
+ 2
+
+       )
+
+       @/usr/include/setjmp.h
+
+23 #iâdef 
+_SETJMP_H
+
+
+24 \ 1
+       #_SETJMP_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+30 \ 2
+       ~<b\99s/£tjmp.h
+>
+
+31 \ 2
+       ~<b\99s/sig£t.h
+>
+
+33 
+__BEGIN_NAMESPACE_STD
+
+
+36 \e\19
+       s__jmp_buf_\8fg
+
+
+42 
+__jmp_buf
+       m__jmpbuf
+;
+
+43 \12
+       m__mask_was_§ved
+;
+
+44 
+__sig£t_t
+       m__§ved_mask
+;
+
+45 } 
+       tjmp_buf
+[1];
+
+50 \r\12
+       $£tjmp
+ (
+jmp_buf
+__\92v
+__THROW
+;
+
+52 
+__END_NAMESPACE_STD
+
+
+53 
+       $__USING_NAMESPACE_STD
+(
+__jmp_buf_\8fg
+)
+
+58 \r\12
+       `__sig£tjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__§vemask
+__THROW
+;
+
+60 #iâdef 
+__FAVOR_BSD
+
+
+63 \r\12
+       `_£tjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1]è
+__THROW
+;
+
+67 \ 1
+       #£tjmp
+(
+\92v
+       `_£tjmp
+ (\92v)
+
+       )
+
+72 \ 1
+       #£tjmp
+(
+\92v
+       `£tjmp
+ (\92v)
+
+       )
+
+76 
+__BEGIN_NAMESPACE_STD
+
+
+80 \r\1e
+       `lÚgjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+)
+
+81 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+83 
+__END_NAMESPACE_STD
+
+
+85 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+89 \r\1e
+       `_lÚgjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+)
+
+90 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+94 #ifdef 
+__USE_POSIX
+
+
+98 \e\19
+__jmp_buf_\8fg
+       tsigjmp_buf
+[1];
+
+102 \ 1
+       #sig£tjmp
+(
+\92v
+, 
+§vemask
+       `__sig£tjmp
+ (\92v, savemask)
+
+       )
+
+108 \r\1e
+       $siglÚgjmp
+ (
+sigjmp_buf
+__\92v
+, \12
+__v®
+)
+
+109 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+112 
+__END_DECLS
+
+
+       @/usr/include/stdint.h
+
+23 #iâdeà
+_STDINT_H
+
+
+24 \ 1
+       #_STDINT_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<b\99s/wch¬.h
+>
+
+28 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+35 #iâdeà
+__\9at8_t_def\9aed
+
+
+36 \ 1
+       #__\9at8_t_def\9aed
+
+
+       )
+
+37 \esigÃd \ 5
+       t\9at8_t
+;
+
+38 \e\16\12
+       t\9at16_t
+;
+
+39 \e\12
+       t\9at32_t
+;
+
+40 #ià
+__WORDSIZE
+ == 64
+
+41 \e\13\12
+       t\9at64_t
+;
+
+43 
+__ex\8bnsiÚ__
+
+
+44 \e\13\13\12
+       t\9at64_t
+;
+
+49 \e\1d\ 5
+       tu\9at8_t
+;
+
+50 \e\1d\16\12
+       tu\9at16_t
+;
+
+51 #iâdeà
+__u\9at32_t_def\9aed
+
+
+52 \e\1d\12
+       tu\9at32_t
+;
+
+53 \ 1
+       #__u\9at32_t_def\9aed
+
+
+       )
+
+55 #ià
+__WORDSIZE
+ == 64
+
+56 \e\1d\13\12
+       tu\9at64_t
+;
+
+58 
+__ex\8bnsiÚ__
+
+
+59 \e\1d\13\13\12
+       tu\9at64_t
+;
+
+66 \esigÃd \ 5
+       t\9at_Ëa¡8_t
+;
+
+67 \e\16\12
+       t\9at_Ëa¡16_t
+;
+
+68 \e\12
+       t\9at_Ëa¡32_t
+;
+
+69 #ià
+__WORDSIZE
+ == 64
+
+70 \e\13\12
+       t\9at_Ëa¡64_t
+;
+
+72 
+__ex\8bnsiÚ__
+
+
+73 \e\13\13\12
+       t\9at_Ëa¡64_t
+;
+
+77 \e\1d\ 5
+       tu\9at_Ëa¡8_t
+;
+
+78 \e\1d\16\12
+       tu\9at_Ëa¡16_t
+;
+
+79 \e\1d\12
+       tu\9at_Ëa¡32_t
+;
+
+80 #ià
+__WORDSIZE
+ == 64
+
+81 \e\1d\13\12
+       tu\9at_Ëa¡64_t
+;
+
+83 
+__ex\8bnsiÚ__
+
+
+84 \e\1d\13\13\12
+       tu\9at_Ëa¡64_t
+;
+
+91 \esigÃd \ 5
+       t\9at_ç¡8_t
+;
+
+92 #ià
+__WORDSIZE
+ == 64
+
+93 \e\13\12
+       t\9at_ç¡16_t
+;
+
+94 \e\13\12
+       t\9at_ç¡32_t
+;
+
+95 \e\13\12
+       t\9at_ç¡64_t
+;
+
+97 \e\12
+       t\9at_ç¡16_t
+;
+
+98 \e\12
+       t\9at_ç¡32_t
+;
+
+99 
+__ex\8bnsiÚ__
+
+
+100 \e\13\13\12
+       t\9at_ç¡64_t
+;
+
+104 \e\1d\ 5
+       tu\9at_ç¡8_t
+;
+
+105 #ià
+__WORDSIZE
+ == 64
+
+106 \e\1d\13\12
+       tu\9at_ç¡16_t
+;
+
+107 \e\1d\13\12
+       tu\9at_ç¡32_t
+;
+
+108 \e\1d\13\12
+       tu\9at_ç¡64_t
+;
+
+110 \e\1d\12
+       tu\9at_ç¡16_t
+;
+
+111 \e\1d\12
+       tu\9at_ç¡32_t
+;
+
+112 
+__ex\8bnsiÚ__
+
+
+113 \e\1d\13\13\12
+       tu\9at_ç¡64_t
+;
+
+118 #ià
+__WORDSIZE
+ == 64
+
+119 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+120 \e\13\12
+       t\9a\8d\8c_t
+;
+
+121 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+123 \e\1d\13\12
+       tu\9a\8d\8c_t
+;
+
+125 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+126 \e\12
+       t\9a\8d\8c_t
+;
+
+127 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+129 \e\1d\12
+       tu\9a\8d\8c_t
+;
+
+134 #ià
+__WORDSIZE
+ == 64
+
+135 \e\13\12
+       t\9atmax_t
+;
+
+136 \e\1d\13\12
+       tu\9atmax_t
+;
+
+138 
+__ex\8bnsiÚ__
+
+
+139 \e\13\13\12
+       t\9atmax_t
+;
+
+140 
+__ex\8bnsiÚ__
+
+
+141 \e\1d\13\13\12
+       tu\9atmax_t
+;
+
+147 #ià!
+def\9aed
+__ýlu¥lus
+ || def\9aed 
+__STDC_LIMIT_MACROS
+
+
+149 #ià
+__WORDSIZE
+ == 64
+
+150 \ 1
+       #__INT64_C
+(
+c
+èø## 
+L
+
+
+       )
+
+151 \ 1
+       #__UINT64_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+153 \ 1
+       #__INT64_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+154 \ 1
+       #__UINT64_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+160 \ 1
+       #INT8_MIN
+ (-128)
+
+       )
+
+161 \ 1
+       #INT16_MIN
+ (-32767-1)
+
+       )
+
+162 \ 1
+       #INT32_MIN
+ (-2147483647-1)
+
+       )
+
+163 \ 1
+       #INT64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+165 \ 1
+       #INT8_MAX
+ (127)
+
+       )
+
+166 \ 1
+       #INT16_MAX
+ (32767)
+
+       )
+
+167 \ 1
+       #INT32_MAX
+ (2147483647)
+
+       )
+
+168 \ 1
+       #INT64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+171 \ 1
+       #UINT8_MAX
+ (255)
+
+       )
+
+172 \ 1
+       #UINT16_MAX
+ (65535)
+
+       )
+
+173 \ 1
+       #UINT32_MAX
+ (4294967295U)
+
+       )
+
+174 \ 1
+       #UINT64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+178 \ 1
+       #INT_LEAST8_MIN
+ (-128)
+
+       )
+
+179 \ 1
+       #INT_LEAST16_MIN
+ (-32767-1)
+
+       )
+
+180 \ 1
+       #INT_LEAST32_MIN
+ (-2147483647-1)
+
+       )
+
+181 \ 1
+       #INT_LEAST64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+183 \ 1
+       #INT_LEAST8_MAX
+ (127)
+
+       )
+
+184 \ 1
+       #INT_LEAST16_MAX
+ (32767)
+
+       )
+
+185 \ 1
+       #INT_LEAST32_MAX
+ (2147483647)
+
+       )
+
+186 \ 1
+       #INT_LEAST64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+189 \ 1
+       #UINT_LEAST8_MAX
+ (255)
+
+       )
+
+190 \ 1
+       #UINT_LEAST16_MAX
+ (65535)
+
+       )
+
+191 \ 1
+       #UINT_LEAST32_MAX
+ (4294967295U)
+
+       )
+
+192 \ 1
+       #UINT_LEAST64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+196 \ 1
+       #INT_FAST8_MIN
+ (-128)
+
+       )
+
+197 #ià
+__WORDSIZE
+ == 64
+
+198 \ 1
+       #INT_FAST16_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+199 \ 1
+       #INT_FAST32_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+201 \ 1
+       #INT_FAST16_MIN
+ (-2147483647-1)
+
+       )
+
+202 \ 1
+       #INT_FAST32_MIN
+ (-2147483647-1)
+
+       )
+
+204 \ 1
+       #INT_FAST64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+206 \ 1
+       #INT_FAST8_MAX
+ (127)
+
+       )
+
+207 #ià
+__WORDSIZE
+ == 64
+
+208 \ 1
+       #INT_FAST16_MAX
+ (9223372036854775807L)
+
+       )
+
+209 \ 1
+       #INT_FAST32_MAX
+ (9223372036854775807L)
+
+       )
+
+211 \ 1
+       #INT_FAST16_MAX
+ (2147483647)
+
+       )
+
+212 \ 1
+       #INT_FAST32_MAX
+ (2147483647)
+
+       )
+
+214 \ 1
+       #INT_FAST64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+217 \ 1
+       #UINT_FAST8_MAX
+ (255)
+
+       )
+
+218 #ià
+__WORDSIZE
+ == 64
+
+219 \ 1
+       #UINT_FAST16_MAX
+ (18446744073709551615UL)
+
+       )
+
+220 \ 1
+       #UINT_FAST32_MAX
+ (18446744073709551615UL)
+
+       )
+
+222 \ 1
+       #UINT_FAST16_MAX
+ (4294967295U)
+
+       )
+
+223 \ 1
+       #UINT_FAST32_MAX
+ (4294967295U)
+
+       )
+
+225 \ 1
+       #UINT_FAST64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+229 #ià
+__WORDSIZE
+ == 64
+
+230 \ 1
+       #INTPTR_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+231 \ 1
+       #INTPTR_MAX
+ (9223372036854775807L)
+
+       )
+
+232 \ 1
+       #UINTPTR_MAX
+ (18446744073709551615UL)
+
+       )
+
+234 \ 1
+       #INTPTR_MIN
+ (-2147483647-1)
+
+       )
+
+235 \ 1
+       #INTPTR_MAX
+ (2147483647)
+
+       )
+
+236 \ 1
+       #UINTPTR_MAX
+ (4294967295U)
+
+       )
+
+241 \ 1
+       #INTMAX_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+243 \ 1
+       #INTMAX_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+246 \ 1
+       #UINTMAX_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+252 #ià
+__WORDSIZE
+ == 64
+
+253 \ 1
+       #PTRDIFF_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+254 \ 1
+       #PTRDIFF_MAX
+ (9223372036854775807L)
+
+       )
+
+256 \ 1
+       #PTRDIFF_MIN
+ (-2147483647-1)
+
+       )
+
+257 \ 1
+       #PTRDIFF_MAX
+ (2147483647)
+
+       )
+
+261 \ 1
+       #SIG_ATOMIC_MIN
+ (-2147483647-1)
+
+       )
+
+262 \ 1
+       #SIG_ATOMIC_MAX
+ (2147483647)
+
+       )
+
+265 #ià
+__WORDSIZE
+ == 64
+
+266 \ 1
+       #SIZE_MAX
+ (18446744073709551615UL)
+
+       )
+
+268 \ 1
+       #SIZE_MAX
+ (4294967295U)
+
+       )
+
+272 #iâdeà
+WCHAR_MIN
+
+
+274 \ 1
+       #WCHAR_MIN
+__WCHAR_MIN
+
+
+       )
+
+275 \ 1
+       #WCHAR_MAX
+__WCHAR_MAX
+
+
+       )
+
+279 \ 1
+       #WINT_MIN
+ (0u)
+
+       )
+
+280 \ 1
+       #WINT_MAX
+ (4294967295u)
+
+       )
+
+287 #ià!
+def\9aed
+__ýlu¥lus
+ || def\9aed 
+__STDC_CONSTANT_MACROS
+
+
+290 \ 1
+       #INT8_C
+(
+c
+       )
+c
+
+291 \ 1
+       #INT16_C
+(
+c
+       )
+c
+
+292 \ 1
+       #INT32_C
+(
+c
+       )
+c
+
+293 #ià
+__WORDSIZE
+ == 64
+
+294 \ 1
+       #INT64_C
+(
+c
+èø## 
+L
+
+
+       )
+
+296 \ 1
+       #INT64_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+300 \ 1
+       #UINT8_C
+(
+c
+èø## 
+U
+
+
+       )
+
+301 \ 1
+       #UINT16_C
+(
+c
+èø## 
+U
+
+
+       )
+
+302 \ 1
+       #UINT32_C
+(
+c
+èø## 
+U
+
+
+       )
+
+303 #ià
+__WORDSIZE
+ == 64
+
+304 \ 1
+       #UINT64_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+306 \ 1
+       #UINT64_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+310 #ià
+__WORDSIZE
+ == 64
+
+311 \ 1
+       #INTMAX_C
+(
+c
+èø## 
+L
+
+
+       )
+
+312 \ 1
+       #UINTMAX_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+314 \ 1
+       #INTMAX_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+315 \ 1
+       #UINTMAX_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+       @/usr/include/stdio.h
+
+24 #iâdeà
+_STDIO_H
+
+
+26 #ià!
+def\9aed
+__Ãed_FILE
+ && !def\9aed 
+__Ãed___FILE
+
+
+27 \ 1
+       #_STDIO_H
+ 1
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+30 
+       g__BEGIN_DECLS
+
+
+32 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+33 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+34 \ 2
+       ~<¡ddef.h
+>
+
+36 \ 2
+       ~<b\99s/ty³s.h
+>
+
+37 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+38 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+42 #ià!
+def\9aed
+__FILE_def\9aed
+ && def\9aed 
+__Ãed_FILE
+
+
+44 
+__BEGIN_NAMESPACE_STD
+
+
+46 \e\19
+_IO_FILE
+       tFILE
+;
+
+47 
+       g__END_NAMESPACE_STD
+
+
+48 #ià
+def\9aed
+__USE_LARGEFILE64
+ || def\9aed 
+__USE_SVID
+ || def\9aed 
+__USE_POSIX
+ \
+
+49 || 
+def\9aed
+       g__USE_BSD
+ || def\9aed 
+       g__USE_ISOC99
+ || def\9aed 
+       g__USE_XOPEN
+ \
+
+50 || 
+def\9aed
+__USE_POSIX2
+
+
+51 
+       $__USING_NAMESPACE_STD
+(
+FILE
+)
+
+54 \ 1
+       #__FILE_def\9aed
+ 1
+
+       )
+
+56 #undeà
+__Ãed_FILE
+
+
+59 #ià!
+def\9aed
+____FILE_def\9aed
+ && def\9aed 
+__Ãed___FILE
+
+
+62 \e\19
+_IO_FILE
+       t__FILE
+;
+
+64 \ 1
+       #____FILE_def\9aed
+ 1
+
+       )
+
+66 #undeà
+__Ãed___FILE
+
+
+69 #ifdef 
+_STDIO_H
+
+
+70 \ 1
+       #_STDIO_USES_IOSTREAM
+
+
+       )
+
+72 \ 2
+       ~<libio.h
+>
+
+74 #ifdeà
+__USE_XOPEN
+
+
+75 #ifdeà
+__GNUC__
+
+
+76 #iâdeà
+_VA_LIST_DEFINED
+
+
+77 \e
+_G_va_li¡
+       tva_li¡
+;
+
+78 \ 1
+       #_VA_LIST_DEFINED
+
+
+       )
+
+81 \ 2
+       ~<¡d¬g.h
+>
+
+86 
+__BEGIN_NAMESPACE_STD
+
+
+87 #iâdeà
+__USE_FILE_OFFSET64
+
+
+88 \e
+_G_åos_t
+       tåos_t
+;
+
+90 \e
+_G_åos64_t
+       tåos_t
+;
+
+92 
+__END_NAMESPACE_STD
+
+
+93 #ifdeà
+__USE_LARGEFILE64
+
+
+94 \e
+_G_åos64_t
+       tåos64_t
+;
+
+98 \ 1
+       #_IOFBF
+ 0
+
+       )
+
+99 \ 1
+       #_IOLBF
+ 1
+
+       )
+
+100 \ 1
+       #_IONBF
+ 2
+
+       )
+
+104 #iâdeà
+BUFSIZ
+
+
+105 \ 1
+       #BUFSIZ
+_IO_BUFSIZ
+
+
+       )
+
+111 #iâdeà
+EOF
+
+
+112 \ 1
+       #EOF
+ (-1)
+
+       )
+
+118 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+119 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+120 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+123 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+125 \ 1
+       #P_tmpd\9c
+ "/tmp"
+
+       )
+
+138 \ 2
+       ~<b\99s/¡dio_lim.h
+>
+
+142 \r\19
+_IO_FILE
+ *
+¡d\9a
+;
+
+143 \r\19
+_IO_FILE
+ *
+¡dout
+;
+
+144 \r\19
+_IO_FILE
+ *
+¡d\94r
+;
+
+146 \ 1
+       #¡d\9a
+¡d\9a
+
+
+       )
+
+147 \ 1
+       #¡dout
+¡dout
+
+
+       )
+
+148 \ 1
+       #¡d\94r
+¡d\94r
+
+
+       )
+
+150 
+__BEGIN_NAMESPACE_STD
+
+
+152 \r\12
+       $»move
+ (
+__cڡ
\ 5*
+__f\9e\92ame
+__THROW
+;
+
+154 \r\12
+       $»Çme
+ (
+__cڡ
\ 5*
+__Þd
+, __cڡ \ 5*
+__Ãw
+__THROW
+;
+
+155 
+__END_NAMESPACE_STD
+
+
+158 
+__BEGIN_NAMESPACE_STD
+
+
+163 #iâdeà
+__USE_FILE_OFFSET64
+
+
+164 \r
+FILE
+ *
+       `tmpf\9ee
+ (\1e);
+
+166 #ifdeà
+__REDIRECT
+
+
+167 \r
+FILE
+ *
+       `__REDIRECT
+ (
+tmpf\9ee
+, (\1e), 
+tmpf\9ee64
+);
+
+169 \ 1
+       #tmpf\9ee
+tmpf\9ee64
+
+
+       )
+
+173 #ifdeà
+__USE_LARGEFILE64
+
+
+174 \r
+FILE
+ *
+       `tmpf\9ee64
+ (\1e);
+
+178 \r\ 5*
+       $tm²am
+ (\ 5*
+__s
+__THROW
+;
+
+179 
+__END_NAMESPACE_STD
+
+
+181 #ifdeà
+__USE_MISC
+
+
+184 \r\ 5*
+       $tm²am_r
+ (\ 5*
+__s
+__THROW
+;
+
+188 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+196 \r\ 5*
+       $\8bm²am
+ (
+__cڡ
\ 5*
+__d\9c
+, __cڡ \ 5*
+__pfx
+)
+
+197 
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+201 
+__BEGIN_NAMESPACE_STD
+
+
+206 \r\12
+       `fþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+211 \r\12
+       `fæush
+ (
+FILE
+ *
+__¡»am
+);
+
+212 
+__END_NAMESPACE_STD
+
+
+214 #ifdeà
+__USE_MISC
+
+
+221 \r\12
+       `fæush_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+224 #ifdeà
+__USE_GNU
+
+
+231 \r\12
+       `fþo£®l
+ (\1e);
+
+235 
+__BEGIN_NAMESPACE_STD
+
+
+236 #iâdeà
+__USE_FILE_OFFSET64
+
+
+241 \r
+FILE
+ *
+       `fݒ
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+242 
+__cڡ
\ 5*
+__»¡riù
+__modes
+);
+
+247 \r
+FILE
+ *
+       `äeÝ\92
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+248 
+__cڡ
\ 5*
+__»¡riù
+__modes
+,
+
+249 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+251 #ifdeà
+__REDIRECT
+
+
+252 \r
+FILE
+ *
+       `__REDIRECT
+ (
+fݒ
+, (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+253 
+__cڡ
\ 5*
+__»¡riù
+__modes
+), 
+fݒ64
+);
+
+254 \r
+FILE
+ *
+       `__REDIRECT
+ (
+äeÝ\92
+, (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+255 
+__cڡ
\ 5*
+__»¡riù
+__modes
+,
+
+256 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+äeÝ\9264
+);
+
+258 \ 1
+       #fݒ
+fݒ64
+
+
+       )
+
+259 \ 1
+       #äeÝ\92
+äeÝ\9264
+
+
+       )
+
+262 
+__END_NAMESPACE_STD
+
+
+263 #ifdeà
+__USE_LARGEFILE64
+
+
+264 \r
+FILE
+ *
+       `fݒ64
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+265 
+__cڡ
\ 5*
+__»¡riù
+__modes
+);
+
+266 \r
+FILE
+ *
+       `äeÝ\9264
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+267 
+__cڡ
\ 5*
+__»¡riù
+__modes
+,
+
+268 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+271 #ifdef 
+__USE_POSIX
+
+
+273 \r
+FILE
+ *
+       $fdݒ
+ (\12
+__fd
+, 
+__cڡ
\ 5*
+__modes
+__THROW
+;
+
+276 #ifdef 
+__USE_GNU
+
+
+279 \r
+FILE
+ *
+       $fÝ\92cook\9b
+ (\1e*
+__»¡riù
+__magic_cook\9b
+,
+
+280 
+__cڡ
\ 5*
+__»¡riù
+__modes
+,
+
+281 
+_IO_cook\9b_io_funùiÚs_t
+__io_funcs
+__THROW
+;
+
+284 \r
+FILE
+ *
+       $fmemݒ
+ (\1e*
+__s
+, 
+size_t
+__Ën
+, 
+__cڡ
\ 5*
+__modes
+__THROW
+;
+
+289 \r
+FILE
+ *
+       $Ý\92_mem¡»am
+ (\ 5**
+__»¡riù
+__buæoc
+,
+
+290 
+size_t
+ *
+__»¡riù
+__siz\96oc
+__THROW
+;
+
+294 
+__BEGIN_NAMESPACE_STD
+
+
+297 \r\1e
+       $£tbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+__THROW
+;
+
+301 \r\12
+       $£tvbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+302 \12
+__modes
+, 
+size_t
+__n
+__THROW
+;
+
+303 
+__END_NAMESPACE_STD
+
+
+305 #ifdef 
+__USE_BSD
+
+
+308 \r\1e
+       $£tbufãr
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+309 
+size_t
+__size
+__THROW
+;
+
+312 \r\1e
+       $£\8e\9aebuf
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+316 
+__BEGIN_NAMESPACE_STD
+
+
+321 \r\12
+       `år\9atf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+322 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+327 \r\12
+       `´\9atf
+ (
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+329 \r\12
+       $¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+,
+
+330 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+336 \r\12
+       `vår\9atf
+ (
+FILE
+ *
+__»¡riù
+__s
+, 
+__cڡ
\ 5*__»¡riù 
+__fÜm©
+,
+
+337 
+_G_va_li¡
+__¬g
+);
+
+342 \r\12
+       `v´\9atf
+ (
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+);
+
+344 \r\12
+       $v¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+__cڡ
\ 5*__»¡riù 
+__fÜm©
+,
+
+345 
+_G_va_li¡
+__¬g
+__THROW
+;
+
+346 
+__END_NAMESPACE_STD
+
+
+348 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+349 
+__BEGIN_NAMESPACE_C99
+
+
+351 \r\12
+       $¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+352 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+353 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+355 \r\12
+       $v¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+356 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+357 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+358 
+__END_NAMESPACE_C99
+
+
+361 #ifdeà
+__USE_GNU
+
+
+364 \r\12
+       $va¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, 
+__cڡ
\ 5*__»¡riù 
+__f
+,
+
+365 
+_G_va_li¡
+__¬g
+)
+
+366 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+367 \r\12
+       $__a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+368 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, ...)
+
+369 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+370 \r\12
+       $a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+371 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, ...)
+
+372 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+380 \r\12
+       $vd´\9atf
+ (\12
+__fd
+, 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+,
+
+381 
+_G_va_li¡
+__¬g
+)
+
+382 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+383 \r\12
+       $d´\9atf
+ (\12
+__fd
+, 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, ...)
+
+384 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+388 
+__BEGIN_NAMESPACE_STD
+
+
+393 \r\12
+       `fsÿnf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+394 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+399 \r\12
+       `sÿnf
+ (
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+401 \r\12
+       $ssÿnf
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+,
+
+402 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+403 
+__END_NAMESPACE_STD
+
+
+405 #ifdef 
+__USE_ISOC99
+
+
+406 
+__BEGIN_NAMESPACE_C99
+
+
+411 \r\12
+       $vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+__s
+, 
+__cڡ
\ 5*__»¡riù 
+__fÜm©
+,
+
+412 
+_G_va_li¡
+__¬g
+)
+
+413 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+419 \r\12
+       $vsÿnf
+ (
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+420 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 1, 0)));
+
+423 \r\12
+       $vssÿnf
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+,
+
+424 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+425 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+426 
+__END_NAMESPACE_C99
+
+
+430 
+__BEGIN_NAMESPACE_STD
+
+
+435 \r\12
+       `fg\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+436 \r\12
+       `g\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+442 \r\12
+       `g\91ch¬
+ (\1e);
+
+443 
+__END_NAMESPACE_STD
+
+
+447 \ 1
+       #g\91c
+(
+_å
+       `_IO_g\91c
+ (_å)
+
+       )
+
+449 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+454 \r\12
+       `g\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+455 \r\12
+       `g\91ch¬_uÆocked
+ (\1e);
+
+458 #ifdeà
+__USE_MISC
+
+
+465 \r\12
+       `fg\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+469 
+__BEGIN_NAMESPACE_STD
+
+
+477 \r\12
+       `åutc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+478 \r\12
+       `putc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+484 \r\12
+       `putch¬
+ (\12
+__c
+);
+
+485 
+__END_NAMESPACE_STD
+
+
+489 \ 1
+       #putc
+(
+_ch
+, 
+_å
+       `_IO_putc
+ (_ch, _å)
+
+       )
+
+491 #ifdeà
+__USE_MISC
+
+
+498 \r\12
+       `åutc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+501 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+506 \r\12
+       `putc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+507 \r\12
+       `putch¬_uÆocked
+ (\12
+__c
+);
+
+511 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+ \
+
+512 || (
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+514 \r\12
+       `g\91w
+ (
+FILE
+ *
+__¡»am
+);
+
+517 \r\12
+       `putw
+ (\12
+__w
+, 
+FILE
+ *
+__¡»am
+);
+
+521 
+__BEGIN_NAMESPACE_STD
+
+
+526 \r\ 5*
+       `fg\91s
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+, 
+FILE
+ *__»¡riù 
+__¡»am
+);
+
+533 \r\ 5*
+       `g\91s
+ (\ 5*
+__s
+);
+
+534 
+__END_NAMESPACE_STD
+
+
+536 #ifdeà
+__USE_GNU
+
+
+543 \r\ 5*
+       `fg\91s_uÆocked
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+,
+
+544 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+548 #ifdef 
+__USE_GNU
+
+
+559 \r
+_IO_ssize_t
+       `__g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+560 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+561 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+562 \r
+_IO_ssize_t
+       `g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+563 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+564 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+572 \r
+_IO_ssize_t
+       `g\91l\9ae
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+573 
+size_t
+ *
+__»¡riù
+__n
+,
+
+574 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+578 
+__BEGIN_NAMESPACE_STD
+
+
+583 \r\12
+       `åuts
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+FILE
+ *__»¡riù 
+__¡»am
+);
+
+589 \r\12
+       `puts
+ (
+__cڡ
\ 5*
+__s
+);
+
+596 \r\12
+       `ung\91c
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+603 \r
+size_t
+       `ä\97d
+ (\1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+604 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+609 \r
+size_t
+       `fwr\99e
+ (
+__cڡ
\1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+610 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__s
+);
+
+611 
+__END_NAMESPACE_STD
+
+
+613 #ifdeà
+__USE_GNU
+
+
+620 \r\12
+       `åuts_uÆocked
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+,
+
+621 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+624 #ifdeà
+__USE_MISC
+
+
+631 \r
+size_t
+       `ä\97d_uÆocked
+ (\1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+632 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+633 \r
+size_t
+       `fwr\99e_uÆocked
+ (
+__cڡ
\1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+634 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+638 
+__BEGIN_NAMESPACE_STD
+
+
+643 \r\12
+       `f£ek
+ (
+FILE
+ *
+__¡»am
+, \13\12
+__off
+, \12
+__wh\92û
+);
+
+648 \r\13\12
+       `á\96l
+ (
+FILE
+ *
+__¡»am
+);
+
+653 \r\1e
+       `»w\9ad
+ (
+FILE
+ *
+__¡»am
+);
+
+654 
+__END_NAMESPACE_STD
+
+
+661 #ià
+def\9aed
+__USE_LARGEFILE
+ || def\9aed 
+__USE_XOPEN2K
+
+
+662 #iâdeà
+__USE_FILE_OFFSET64
+
+
+667 \r\12
+       `f£eko
+ (
+FILE
+ *
+__¡»am
+, 
+__off_t
+__off
+, \12
+__wh\92û
+);
+
+672 \r
+__off_t
+       `á\96lo
+ (
+FILE
+ *
+__¡»am
+);
+
+674 #ifdeà
+__REDIRECT
+
+
+675 \r\12
+       `__REDIRECT
+ (
+f£eko
+,
+
+676 (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+),
+
+677 
+f£eko64
+);
+
+678 \r
+__off64_t
+       `__REDIRECT
+ (
\96lo
+, (
+FILE
+ *
+__¡»am
+), 
\96lo64
+);
+
+680 \ 1
+       #f£eko
+f£eko64
+
+
+       )
+
+681 \ 1
+       #á\96lo
\96lo64
+
+
+       )
+
+686 
+__BEGIN_NAMESPACE_STD
+
+
+687 #iâdeà
+__USE_FILE_OFFSET64
+
+
+692 \r\12
+       `fg\91pos
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos_t
+ *__»¡riù 
+__pos
+);
+
+697 \r\12
+       `f£\8dos
+ (
+FILE
+ *
+__¡»am
+, 
+__cڡ
+åos_t
+ *
+__pos
+);
+
+699 #ifdeà
+__REDIRECT
+
+
+700 \r\12
+       `__REDIRECT
+ (
+fg\91pos
+, (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+701 
+åos_t
+ *
+__»¡riù
+__pos
+), 
+fg\91pos64
+);
+
+702 \r\12
+       `__REDIRECT
+ (
+f£\8dos
+,
+
+703 (
+FILE
+ *
+__¡»am
+, 
+__cڡ
+åos_t
+ *
+__pos
+), 
+f£\8dos64
+);
+
+705 \ 1
+       #fg\91pos
+fg\91pos64
+
+
+       )
+
+706 \ 1
+       #f£\8dos
+f£\8dos64
+
+
+       )
+
+709 
+__END_NAMESPACE_STD
+
+
+711 #ifdeà
+__USE_LARGEFILE64
+
+
+712 \r\12
+       `f£eko64
+ (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+);
+
+713 \r
+__off64_t
+       `á\96lo64
+ (
+FILE
+ *
+__¡»am
+);
+
+714 \r\12
+       `fg\91pos64
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos64_t
+ *__»¡riù 
+__pos
+);
+
+715 \r\12
+       `f£\8dos64
+ (
+FILE
+ *
+__¡»am
+, 
+__cڡ
+åos64_t
+ *
+__pos
+);
+
+718 
+__BEGIN_NAMESPACE_STD
+
+
+720 \r\1e
+       $þ\97»¼
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+722 \r\12
+       $ãof
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+724 \r\12
+       $ã¼Ü
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+725 
+__END_NAMESPACE_STD
+
+
+727 #ifdeà
+__USE_MISC
+
+
+729 \r\1e
+       $þ\97»¼_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+730 \r\12
+       $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+731 \r\12
+       $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+735 
+__BEGIN_NAMESPACE_STD
+
+
+740 \r\1e
+       `³¼Ü
+ (
+__cڡ
\ 5*
+__s
+);
+
+741 
+__END_NAMESPACE_STD
+
+
+747 \ 2
+       ~<b\99s/sys_\94¾i¡.h
+>
+
+750 #ifdef 
+__USE_POSIX
+
+
+752 \r\12
+       $f\9e\92o
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+755 #ifdeà
+__USE_MISC
+
+
+757 \r\12
+       $f\9e\92o_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+761 #ià(
+def\9aed
+__USE_POSIX2
+ || def\9aed 
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || \
+
+762 
+def\9aed
+__USE_MISC
+)
+
+767 \r
+FILE
+ *
+       `pݒ
+ (
+__cڡ
\ 5*
+__commªd
+, __cڡ \ 5*
+__modes
+);
+
+773 \r\12
+       `pþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+777 #ifdef 
+__USE_POSIX
+
+
+779 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+;
+
+783 #ifdeà
+__USE_XOPEN
+
+
+785 \r\ 5*
+       `cu£rid
+ (\ 5*
+__s
+);
+
+789 #ifdef 
+__USE_GNU
+
+
+790 \19
+ob¡ack
+;
+
+793 \r\12
+       $ob¡ack_´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+794 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+795 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+796 \r\12
+       $ob¡ack_v´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+797 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+798 
+_G_va_li¡
+__¬gs
+)
+
+799 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+803 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+807 \r\1e
+       $æockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+811 \r\12
+       $árylockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+814 \r\1e
+       $fuÆockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+817 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+821 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+822 \ 2
+       ~<g\91Ýt.h
+>
+
+827 #ifdeà
+__USE_EXTERN_INLINES
+
+
+828 \ 2
+       ~<b\99s/¡dio.h
+>
+
+830 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && !
+def\9aed
+__ýlu¥lus
+
+
+831 \ 2
+       ~<b\99s/¡dio2.h
+>
+
+834 
+__END_DECLS
+
+
+       @/usr/include/stdlib.h
+
+23 #iâdef 
+_STDLIB_H
+
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+28 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+29 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+30 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+31 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+33 \ 2
+       ~<¡ddef.h
+>
+
+35 
+       g__BEGIN_DECLS
+
+
+37 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+38 \ 1
+       #_STDLIB_H
+ 1
+
+       )
+
+40 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+_SYS_WAIT_H
+
+
+42 \ 2
+       ~<b\99s/wa\99æags.h
+>
+
+43 \ 2
+       ~<b\99s/wa\99¡©us.h
+>
+
+45 #ifdeà
+__USE_BSD
+
+
+50 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__ýlu¥lus
+
+
+51 \ 1
+       #__WAIT_INT
+(
+¡©us
+) \
+
+52 (
+       `__ex\8bnsiÚ__
+ ({ uniÚ { 
+       `__ty³of
+(
+¡©us
+__\9a
+; \12
+__i
+; } 
+__u
+; \
+
+53 
+__u
+.
+__\9a
+ = (
+¡©us
+); __u.
+__i
+; }))
+
+       )
+
+55 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(*(\12*è&(¡©us))
+
+       )
+
+63 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2 || def\9aed 
+__ýlu¥lus
+
+
+64 \ 1
+       #__WAIT_STATUS
\1e*
+
+       )
+
+65 \ 1
+       #__WAIT_STATUS_DEFN
\1e*
+
+       )
+
+70 \1c
+wa\99
+ *
+       m__u±r
+;
+
+71 \12*
+       m__\9d\8c
+;
+
+72 } 
+       t__WAIT_STATUS
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+73 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+78 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(¡©us)
+
+       )
+
+79 \ 1
+       #__WAIT_STATUS
\12*
+
+       )
+
+80 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+85 \ 1
+       #WEXITSTATUS
+(
+¡©us
+       `__WEXITSTATUS
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+86 \ 1
+       #WTERMSIG
+(
+¡©us
+       `__WTERMSIG
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+87 \ 1
+       #WSTOPSIG
+(
+¡©us
+       `__WSTOPSIG
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+88 \ 1
+       #WIFEXITED
+(
+¡©us
+       `__WIFEXITED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+89 \ 1
+       #WIFSIGNALED
+(
+¡©us
+       `__WIFSIGNALED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+90 \ 1
+       #WIFSTOPPED
+(
+¡©us
+       `__WIFSTOPPED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+91 #ifdeà
+__WIFCONTINUED
+
+
+92 \ 1
+       #WIFCONTINUED
+(
+¡©us
+       `__WIFCONTINUED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+96 
+__BEGIN_NAMESPACE_STD
+
+
+100 \12
+       mquÙ
+;
+
+101 \12
+       m»m
+;
+
+102 } 
+       tdiv_t
+;
+
+105 #iâdeà
+__ldiv_t_def\9aed
+
+
+108 \13\12
+       mquÙ
+;
+
+109 \13\12
+       m»m
+;
+
+110 } 
+       tldiv_t
+;
+
+111 \ 1
+       #__ldiv_t_def\9aed
+ 1
+
+       )
+
+113 
+       g__END_NAMESPACE_STD
+
+
+115 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__Îdiv_t_def\9aed
+
+
+116 
+__BEGIN_NAMESPACE_C99
+
+
+118 
+__ex\8bnsiÚ__
\estruct
+
+120 \13\13\12
+       mquÙ
+;
+
+121 \13\13\12
+       m»m
+;
+
+122 } 
+       tÎdiv_t
+;
+
+123 \ 1
+       #__Îdiv_t_def\9aed
+ 1
+
+       )
+
+124 
+       g__END_NAMESPACE_C99
+
+
+129 \ 1
+       #RAND_MAX
+ 2147483647
+
+       )
+
+134 \ 1
+       #EXIT_FAILURE
+ 1
+
+       )
+
+135 \ 1
+       #EXIT_SUCCESS
+ 0
+
+       )
+
+139 \ 1
+       #MB_CUR_MAX
+ (
+       `__ùy³_g\91_mb_cur_max
+ ())
+
+       )
+
+140 \r
+size_t
+       $__ùy³_g\91_mb_cur_max
+ (\1eè
+__THROW
+;
+
+143 
+__BEGIN_NAMESPACE_STD
+
+
+145 \r\b
+       $©of
+ (
+__cڡ
\ 5*
+__Ō
+)
+
+146 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+148 \r\12
+       $©oi
+ (
+__cڡ
\ 5*
+__Ō
+)
+
+149 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+151 \r\13\12
+       $©Þ
+ (
+__cڡ
\ 5*
+__Ō
+)
+
+152 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+153 
+__END_NAMESPACE_STD
+
+
+155 #ià
+def\9aed
+__USE_ISOC99
+ || (def\9aed 
+__GLIBC_HAVE_LONG_LONG
+ && def\9aed 
+__USE_MISC
+)
+
+156 
+__BEGIN_NAMESPACE_C99
+
+
+158 
+__ex\8bnsiÚ__
\r\13\13\12
+       $©Þl
+ (
+__cڡ
\ 5*
+__Ō
+)
+
+159 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+160 
+__END_NAMESPACE_C99
+
+
+163 
+__BEGIN_NAMESPACE_STD
+
+
+165 \r\b
+       $¡¹od
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+166 \ 5**
+__»¡riù
+__\92d±r
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+167 
+__END_NAMESPACE_STD
+
+
+169 #ifdef 
+__USE_ISOC99
+
+
+170 
+__BEGIN_NAMESPACE_C99
+
+
+172 \r\ e
+       $¡¹of
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+173 \ 5**
+__»¡riù
+__\92d±r
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+175 \r\13\b
+       $¡¹Þd
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+176 \ 5**
+__»¡riù
+__\92d±r
+)
+
+177 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+178 
+__END_NAMESPACE_C99
+
+
+181 
+__BEGIN_NAMESPACE_STD
+
+
+183 \r\13\12
+       $¡¹Þ
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+184 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+185 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+187 \r\1d\13\12
+       $¡¹oul
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+188 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+189 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+190 
+__END_NAMESPACE_C99
+
+
+192 #ià
+def\9aed
+__GLIBC_HAVE_LONG_LONG
+ && def\9aed 
+__USE_BSD
+
+
+194 
+__ex\8bnsiÚ__
+
+
+195 \r\13\13\12
+       $¡¹oq
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+196 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+197 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+199 
+__ex\8bnsiÚ__
+
+
+200 \r\1d\13\13\12
+       $¡¹ouq
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+201 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+202 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+205 #ià
+def\9aed
+__USE_ISOC99
+ || (def\9aed 
+__GLIBC_HAVE_LONG_LONG
+ && def\9aed 
+__USE_MISC
+)
+
+206 
+__BEGIN_NAMESPACE_C99
+
+
+208 
+__ex\8bnsiÚ__
+
+
+209 \r\13\13\12
+       $¡¹Þl
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+210 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+211 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+213 
+__ex\8bnsiÚ__
+
+
+214 \r\1d\13\13\12
+       $¡¹ouÎ
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+215 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+216 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+217 
+__END_NAMESPACE_C99
+
+
+221 #ifdeà
+__USE_GNU
+
+
+235 \ 2
+       ~<xloÿË.h
+>
+
+239 \r\13\12
+       $¡¹Þ_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+240 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+241 
+__loÿË_t
+__loc
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+243 \r\1d\13\12
+       $¡¹oul_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+244 \ 5**
+__»¡riù
+__\92d±r
+,
+
+245 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+246 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+248 
+__ex\8bnsiÚ__
+
+
+249 \r\13\13\12
+       $¡¹Þl_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+250 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+251 
+__loÿË_t
+__loc
+)
+
+252 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+254 
+__ex\8bnsiÚ__
+
+
+255 \r\1d\13\13\12
+       $¡¹ouÎ_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+256 \ 5**
+__»¡riù
+__\92d±r
+,
+
+257 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+258 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+260 \r\b
+       $¡¹od_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+261 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+262 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+264 \r\ e
+       $¡¹of_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+265 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+266 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+268 \r\13\b
+       $¡¹Þd_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+269 \ 5**
+__»¡riù
+__\92d±r
+,
+
+270 
+__loÿË_t
+__loc
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+277 \r\b
+       $__¡¹od_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+278 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__group
+)
+
+279 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+280 \r\ e
+       $__¡¹of_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+281 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__group
+)
+
+282 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+283 \r\13\b
+       $__¡¹Þd_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+284 \ 5**
+__»¡riù
+__\92d±r
+,
+
+285 \12
+__group
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+286 #iâdeà
+__¡¹Þ_\9a\8bº®_def\9aed
+
+
+287 \r\13\12
+       $__¡¹Þ_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+288 \ 5**
+__»¡riù
+__\92d±r
+,
+
+289 \12
+__ba£
+, \12
+__group
+)
+
+290 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+291 \ 1
+       #__¡¹Þ_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+293 #iâdeà
+__¡¹oul_\9a\8bº®_def\9aed
+
+
+294 \r\1d\13\12
+       $__¡¹oul_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+295 \ 5**
+__»¡riù
+__\92d±r
+,
+
+296 \12
+__ba£
+, \12
+__group
+)
+
+297 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+298 \ 1
+       #__¡¹oul_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+300 #ià
+def\9aed
+__GNUC__
+ || def\9aed 
+__USE_ISOC99
+
+
+301 #iâdeà
+__¡¹Þl_\9a\8bº®_def\9aed
+
+
+302 
+__ex\8bnsiÚ__
+
+
+303 \r\13\13\12
+       $__¡¹Þl_\9a\8bº®
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+,
+
+304 \ 5**
+__»¡riù
+__\92d±r
+,
+
+305 \12
+__ba£
+, \12
+__group
+)
+
+306 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+307 \ 1
+       #__¡¹Þl_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+309 #iâdeà
+__¡¹ouÎ_\9a\8bº®_def\9aed
+
+
+310 
+__ex\8bnsiÚ__
+
+
+311 \r\1d\13\13\12
+       $__¡¹ouÎ_\9a\8bº®
+ (
+__cڡ
\ 5*
+
+312 
+__»¡riù
+__Ō
+,
+
+313 \ 5**
+__»¡riù
+__\92d±r
+,
+
+314 \12
+__ba£
+, \12
+__group
+)
+
+315 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+316 \ 1
+       #__¡¹ouÎ_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+320 #ifdeà
+__USE_EXTERN_INLINES
+
+
+323 
+__BEGIN_NAMESPACE_STD
+
+
+324 \r
+__\9al\9ae
\b
+
+325 
+       `__NTH
+ (
+       $¡¹od
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+))
+
+327 \15 
+       `__¡¹od_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0);
+
+328 
+       }
+}
+
+329 \r
+__\9al\9ae
\13\12
+
+330 
+__NTH
+ (
+       $¡¹Þ
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+331 \12
+__ba£
+))
+
+333 \15 
+       `__¡¹Þ_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+334 
+       }
+}
+
+335 \r
+__\9al\9ae
\1d\13\12
+
+336 
+__NTH
+ (
+       $¡¹oul
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+337 \12
+__ba£
+))
+
+339 \15 
+       `__¡¹oul_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+340 
+       }
+}
+
+341 
+__END_NAMESPACE_STD
+
+
+343 #ifdeà
+__USE_ISOC99
+
+
+344 
+__BEGIN_NAMESPACE_C99
+
+
+345 \r
+__\9al\9ae
\ e
+
+346 
+__NTH
+ (
+       $¡¹of
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+))
+
+348 \15 
+       `__¡¹of_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0);
+
+349 
+       }
+}
+
+350 \r
+__\9al\9ae
\13\b
+
+351 
+__NTH
+ (
+       $¡¹Þd
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+))
+
+353 \15 
+       `__¡¹Þd_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0);
+
+354 
+       }
+}
+
+355 
+__END_NAMESPACE_C99
+
+
+358 #ifdeà
+__USE_BSD
+
+
+359 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\13\13\12
+
+360 
+__NTH
+ (
+       $¡¹oq
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+361 \12
+__ba£
+))
+
+363 \15 
+       `__¡¹Þl_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+364 
+       }
+}
+
+365 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\1d\13\13\12
+
+366 
+__NTH
+ (
+       $¡¹ouq
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+367 \12
+__ba£
+))
+
+369 \15 
+       `__¡¹ouÎ_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+370 
+       }
+}
+
+373 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_ISOC99
+
+
+374 
+__BEGIN_NAMESPACE_C99
+
+
+375 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\13\13\12
+
+376 
+__NTH
+ (
+       $¡¹Þl
+ (
+__cڡ
\ 5*
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+377 \12
+__ba£
+))
+
+379 \15 
+       `__¡¹Þl_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+380 
+       }
+}
+
+381 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\1d\13\13\12
+
+382 
+__NTH
+ (
+       $¡¹ouÎ
+ (
+__cڡ
\ 5
+__»¡riù
+__Ō
+, \ 5**__»¡riù 
+__\92d±r
+,
+
+383 \12
+__ba£
+))
+
+385 \15 
+       `__¡¹ouÎ_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0);
+
+386 
+       }
+}
+
+387 
+__END_NAMESPACE_C99
+
+
+390 
+__BEGIN_NAMESPACE_STD
+
+
+391 \r
+__\9al\9ae
\b
+
+392 
+__NTH
+ (
+       $©of
+ (
+__cڡ
\ 5*
+__Ō
+))
+
+394 \15 
+       `¡¹od
+ (
+__Ō
+, (\ 5**è
+NULL
+);
+
+395 
+       }
+}
+
+396 \r
+__\9al\9ae
\12
+
+397 
+__NTH
+ (
+       $©oi
+ (
+__cڡ
\ 5*
+__Ō
+))
+
+399 \15 (\12è
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+400 
+       }
+}
+
+401 \r
+__\9al\9ae
\13\12
+
+402 
+__NTH
+ (
+       $©Þ
+ (
+__cڡ
\ 5*
+__Ō
+))
+
+404 \15 
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+405 
+       }
+}
+
+406 
+__END_NAMESPACE_STD
+
+
+408 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_ISOC99
+
+
+409 
+__BEGIN_NAMESPACE_C99
+
+
+410 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\13\13\12
+
+411 
+__NTH
+ (
+       $©Þl
+ (
+__cڡ
\ 5*
+__Ō
+))
+
+413 \15 
+       `¡¹Þl
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+414 
+       }
+}
+
+415 
+__END_NAMESPACE_C99
+
+
+420 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+424 \r\ 5*
+       $l64a
+ (\13\12
+__n
+__THROW
+;
+
+427 \r\13\12
+       $a64l
+ (
+__cڡ
\ 5*
+__s
+)
+
+428 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+432 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_BSD
+
+
+433 \ 2
+       ~<sys/ty³s.h
+>
+
+440 \r\13\12
+       $¿ndom
+ (\1eè
+__THROW
+;
+
+443 \r\1e
+       $¤ªdom
+ (\1d\12
+__£ed
+__THROW
+;
+
+449 \r\ 5*
+       $\9a\99¡©e
+ (\1d\12
+__£ed
+, \ 5*
+__¡©ebuf
+,
+
+450 
+size_t
+__¡©\96\92
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+454 \r\ 5*
+       $£t¡©e
+ (\ 5*
+__¡©ebuf
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+457 #ifdeà
+__USE_MISC
+
+
+462 \19
+       s¿ndom_d©a
+
+
+464 
+\9at32_t
+ *
\8c
+;
+
+465 
+\9at32_t
+ *
\8c
+;
+
+466 
+\9at32_t
+ *
+¡©e
+;
+
+467 \12
+¿nd_ty³
+;
+
+468 \12
+¿nd_deg
+;
+
+469 \12
+¿nd_£p
+;
+
+470 
+\9at32_t
+ *
+\92d_±r
+;
+
+473 \r\12
+       $¿ndom_r
+ (\19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+,
+
+474 
+\9at32_t
+ *
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+476 \r\12
+       $¤ªdom_r
+ (\1d\12
+__£ed
+, \19
+¿ndom_d©a
+ *
+__buf
+)
+
+477 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+479 \r\12
+       $\9a\99¡©e_r
+ (\1d\12
+__£ed
+, \ 5*
+__»¡riù
+__¡©ebuf
+,
+
+480 
+size_t
+__¡©\96\92
+,
+
+481 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+482 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+484 \r\12
+       $£t¡©e_r
+ (\ 5*
+__»¡riù
+__¡©ebuf
+,
+
+485 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+486 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+491 
+__BEGIN_NAMESPACE_STD
+
+
+493 \r\12
+       $¿nd
+ (\1eè
+__THROW
+;
+
+495 \r\1e
+       $¤ªd
+ (\1d\12
+__£ed
+__THROW
+;
+
+496 
+__END_NAMESPACE_STD
+
+
+498 #ifdeà
+__USE_POSIX
+
+
+500 \r\12
+       $¿nd_r
+ (\1d\12*
+__£ed
+__THROW
+;
+
+504 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+508 \r\b
+       $d¿nd48
+ (\1eè
+__THROW
+;
+
+509 \r\b
+       `\94ªd48
+ (\1d\16\12
+__xsubi
+[3]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+512 \r\13\12
+       $̪d48
+ (\1eè
+__THROW
+;
+
+513 \r\13\12
+       `Īd48
+ (\1d\16\12
+__xsubi
+[3])
+
+514 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+517 \r\13\12
+       $m¿nd48
+ (\1eè
+__THROW
+;
+
+518 \r\13\12
+       `j¿nd48
+ (\1d\16\12
+__xsubi
+[3])
+
+519 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+522 \r\1e
+       $¤ªd48
+ (\13\12
+__£edv®
+__THROW
+;
+
+523 \r\1d\16\12*
+       `£ed48
+ (\1d\16\12
+__£ed16v
+[3])
+
+524 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+525 \r\1e
+       `lcÚg48
+ (\1d\16\12
+__·¿m
+[7]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+527 #ifdeà
+__USE_MISC
+
+
+531 \19
+       sd¿nd48_d©a
+
+
+533 \1d\16\12
+__x
+[3];
+
+534 \1d\16\12
+__Þd_x
+[3];
+
+535 \1d\16\12
+__c
+;
+
+536 \1d\16\12
+__\9a\99
+;
+
+537 \1d\13\13\12
+__a
+;
+
+541 \r\12
+       $d¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+542 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+543 \r\12
+       `\94ªd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+544 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+545 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+548 \r\12
+       $̪d48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+549 \13\12*
+__»¡riù
+__»suÉ
+)
+
+550 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+551 \r\12
+       `Īd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+552 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+553 \13\12*
+__»¡riù
+__»suÉ
+)
+
+554 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+557 \r\12
+       $m¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+558 \13\12*
+__»¡riù
+__»suÉ
+)
+
+559 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+560 \r\12
+       `j¿nd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+561 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+562 \13\12*
+__»¡riù
+__»suÉ
+)
+
+563 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+566 \r\12
+       $¤ªd48_r
+ (\13\12
+__£edv®
+, \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+567 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+569 \r\12
+       `£ed48_r
+ (\1d\16\12
+__£ed16v
+[3],
+
+570 \19
+d¿nd48_d©a
+ *
+__bufãr
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+572 \r\12
+       `lcÚg48_r
+ (\1d\16\12
+__·¿m
+[7],
+
+573 \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+574 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+580 #iâdeà
+__m®loc_ªd_ÿÎoc_def\9aed
+
+
+581 \ 1
+       #__m®loc_ªd_ÿÎoc_def\9aed
+
+
+       )
+
+582 
+__BEGIN_NAMESPACE_STD
+
+
+584 \r\1e*
+       $m®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+586 \r\1e*
+       $ÿÎoc
+ (
+size_t
+__nmemb
+, size_\88
+__size
+)
+
+587 
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+588 
+__END_NAMESPACE_STD
+
+
+591 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+592 
+__BEGIN_NAMESPACE_STD
+
+
+595 \r\1e*
+       $»®loc
+ (\1e*
+__±r
+, 
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+597 \r\1e
+       $ä\93
+ (\1e*
+__±r
+__THROW
+;
+
+598 
+__END_NAMESPACE_STD
+
+
+600 #ifdef 
+__USE_MISC
+
+
+602 \r\1e
+       $cä\93
+ (\1e*
+__±r
+__THROW
+;
+
+605 #ià
+def\9aed
+__USE_GNU
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+
+
+606 \ 2
+       ~<®loÿ.h
+>
+
+609 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+611 \r\1e*
+       $v®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+614 #ifdeà
+__USE_XOPEN2K
+
+
+616 \r\12
+       $posix_mem®ign
+ (\1e**
+__mem±r
+, 
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+617 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+620 
+__BEGIN_NAMESPACE_STD
+
+
+622 \r\1e
+       $abÜt
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+626 \r\12
+       `©ex\99
+ (\1e(*
+__func
+è(\1e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+627 
+__END_NAMESPACE_STD
+
+
+629 #ifdef 
+__USE_MISC
+
+
+632 \r\12
+       `Ú_ex\99
+ (\1e(*
+__func
+è(\12
+__¡©us
+, \1e*
+__¬g
+), \1e*__arg)
+
+633 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+636 
+__BEGIN_NAMESPACE_STD
+
+
+640 \r\1e
+       $ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+641 
+__END_NAMESPACE_STD
+
+
+643 #ifdeà
+__USE_ISOC99
+
+
+644 
+__BEGIN_NAMESPACE_C99
+
+
+647 \r\1e
+       $_Ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+648 
+__END_NAMESPACE_C99
+
+
+652 
+__BEGIN_NAMESPACE_STD
+
+
+654 \r\ 5*
+       $g\91\92v
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+655 
+__END_NAMESPACE_STD
+
+
+659 \r\ 5*
+       $__£cu»_g\91\92v
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+661 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+665 \r\12
+       $pu\8bnv
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+668 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+671 \r\12
+       $£\8bnv
+ (
+__cڡ
\ 5*
+__Çme
+, __cڡ \ 5*
+__v®ue
+, \12
+__»¶aû
+)
+
+672 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+675 \r\12
+       $un£\8bnv
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+;
+
+678 #ifdef 
+__USE_MISC
+
+
+682 \r\12
+       $þ\97»nv
+ (\1eè
+__THROW
+;
+
+686 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+691 \r\ 5*
+       $mk\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+701 #iâdeà
+__USE_FILE_OFFSET64
+
+
+702 \r\12
+       $mk¡emp
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1));
+
+704 #ifdeà
+__REDIRECT
+
+
+705 \r\12
+       `__REDIRECT
+ (
+mk¡emp
+, (\ 5*
+__\8bm¶©e
+), 
+mk¡emp64
+       `__nÚnuÎ
+ ((1));
+
+707 \ 1
+       #mk¡emp
+mk¡emp64
+
+
+       )
+
+710 #ifdeà
+__USE_LARGEFILE64
+
+
+711 \r\12
+       $mk¡emp64
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1));
+
+715 #ifdeà
+__USE_BSD
+
+
+721 \r\ 5*
+       $mkd\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+725 
+__BEGIN_NAMESPACE_STD
+
+
+730 \r\12
+       `sy¡em
+ (
+__cڡ
\ 5*
+__commªd
+);
+
+731 
+__END_NAMESPACE_STD
+
+
+734 #ifdef 
+__USE_GNU
+
+
+738 \r\ 5*
+       $ÿnÚiÿlize_f\9ee_Çme
+ (
+__cڡ
\ 5*
+__Çme
+)
+
+739 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+742 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+749 \r\ 5*
+       $»®·th
+ (
+__cڡ
\ 5*
+__»¡riù
+__Çme
+,
+
+750 \ 5*
+__»¡riù
+__»sÞved
+__THROW
+;
+
+755 #iâdeà
+__COMPAR_FN_T
+
+
+756 \ 1
+       #__COMPAR_FN_T
+
+
+       )
+
+757 \e\12(*
+       t__com·r_â_t
+è(
+       t__cڡ
\1e*, __const \1e*);
+
+759 #ifdef 
+__USE_GNU
+
+
+760 \e
+__com·r_â_t
+       tcom·risÚ_â_t
+;
+
+764 
+__BEGIN_NAMESPACE_STD
+
+
+767 \r\1e*
+       $b£¬ch
+ (
+__cڡ
\1e*
+__key
+, __cڡ \1e*
+__ba£
+,
+
+768 
+size_t
+__nmemb
+, size_\88
+__size
+, 
+__com·r_â_t
+__com·r
+)
+
+769 
+       `__nÚnuÎ
+ ((1, 2, 5));
+
+773 \r\1e
+       $qsÜt
+ (\1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+774 
+__com·r_â_t
+__com·r
+       `__nÚnuÎ
+ ((1, 4));
+
+778 \r\12
+       $abs
+ (\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+779 \r\13\12
+       $Ïbs
+ (\13\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+780 
+__END_NAMESPACE_STD
+
+
+782 #ifdeà
+__USE_ISOC99
+
+
+783 
+__ex\8bnsiÚ__
\r\13\13\12
+       $Îabs
+ (\13\13\12
+__x
+)
+
+784 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+788 
+__BEGIN_NAMESPACE_STD
+
+
+792 \r
+div_t
+       $div
+ (\12
+__num\94
+, \12
+__d\92om
+)
+
+793 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+794 \r
+ldiv_t
+       $ldiv
+ (\13\12
+__num\94
+, \13\12
+__d\92om
+)
+
+795 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+796 
+__END_NAMESPACE_STD
+
+
+798 #ifdeà
+__USE_ISOC99
+
+
+799 
+__BEGIN_NAMESPACE_C99
+
+
+800 
+__ex\8bnsiÚ__
\r
+Îdiv_t
+       $Îdiv
+ (\13\13\12
+__num\94
+,
+
+801 \13\13\12
+__d\92om
+)
+
+802 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+803 
+__END_NAMESPACE_C99
+
+
+807 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+814 \r\ 5*
+       $ecvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+815 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4));
+
+820 \r\ 5*
+       $fcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+821 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4));
+
+826 \r\ 5*
+       $gcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+827 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+830 #ifdeà
+__USE_MISC
+
+
+832 \r\ 5*
+       $qecvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+833 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+834 
+__THROW
+       `__nÚnuÎ
+ ((3, 4));
+
+835 \r\ 5*
+       $qfcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+836 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+837 
+__THROW
+       `__nÚnuÎ
+ ((3, 4));
+
+838 \r\ 5*
+       $qgcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+839 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+844 \r\12
+       $ecvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+845 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+846 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+847 \r\12
+       $fcvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+848 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+849 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+851 \r\12
+       $qecvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+852 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+853 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+854 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+855 \r\12
+       $qfcvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+856 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+857 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+858 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+863 
+__BEGIN_NAMESPACE_STD
+
+
+866 \r\12
+       $mbËn
+ (
+__cڡ
\ 5*
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+869 \r\12
+       $mbtowc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+870 
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+873 \r\12
+       $wùomb
+ (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+__THROW
+;
+
+877 \r
+size_t
+       $mb¡owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__pwcs
+,
+
+878 
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+880 \r
+size_t
+       $wc¡ombs
+ (\ 5*
+__»¡riù
+__s
+,
+
+881 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__pwcs
+, 
+size_t
+__n
+)
+
+882 
+__THROW
+;
+
+883 
+__END_NAMESPACE_STD
+
+
+886 #ifdeà
+__USE_SVID
+
+
+891 \r\12
+       $½m©ch
+ (
+__cڡ
\ 5*
+__»¥Ú£
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+895 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+902 \r\12
+       $g\91subÝt
+ (\ 5**
+__»¡riù
+__ÝtiÚp
+,
+
+903 \ 5*
+__cڡ
+ *
+__»¡riù
+__tok\92s
+,
+
+904 \ 5**
+__»¡riù
+__v®u\95
+)
+
+905 
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+909 #ifdeà
+__USE_XOPEN
+
+
+911 \r\1e
+       $£tkey
+ (
+__cڡ
\ 5*
+__key
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+917 #ifdeà
+__USE_XOPEN2K
+
+
+919 \r\12
+       `posix_Ý\92±
+ (\12
+__oæag
+);
+
+922 #ifdeà
+__USE_XOPEN
+
+
+927 \r\12
+       $g¿Á±
+ (\12
+__fd
+__THROW
+;
+
+931 \r\12
+       $uÆock±
+ (\12
+__fd
+__THROW
+;
+
+936 \r\ 5*
+       $±¢ame
+ (\12
+__fd
+__THROW
+;
+
+939 #ifdeà
+__USE_GNU
+
+
+943 \r\12
+       $±¢ame_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+944 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+947 \r\12
+       `g\91±
+ (\1e);
+
+950 #ifdeà
+__USE_BSD
+
+
+954 \r\12
+       $g\91lßdavg
+ (\b
+__lßdavg
+[], \12
+__ÃËm
+)
+
+955 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+959 #undeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+961 
+__END_DECLS
+
+
+       @/usr/include/string.h
+
+23 #iâdef 
+_STRING_H
+
+
+24 \ 1
+       #_STRING_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+31 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+32 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+33 \ 2
+       ~<¡ddef.h
+>
+
+36 
+__BEGIN_NAMESPACE_STD
+
+
+38 \r\1e*
+       $memýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+39 
+__cڡ
\1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+40 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+43 \r\1e*
+       $memmove
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+, 
+size_t
+__n
+)
+
+44 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+45 
+__END_NAMESPACE_STD
+
+
+50 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+51 \r\1e*
+       $memcýy
+ (\1e*
+__»¡riù
+__de¡
+, 
+__cڡ
\1e*__»¡riù 
+__¤c
+,
+
+52 \12
+__c
+, 
+size_t
+__n
+)
+
+53 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+57 
+__BEGIN_NAMESPACE_STD
+
+
+59 \r\1e*
+       $mem£t
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+62 \r\12
+       $memcmp
+ (
+__cڡ
\1e*
+__s1
+, __cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+63 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+66 \r\1e*
+       $memchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+67 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+68 
+__END_NAMESPACE_STD
+
+
+70 #ifdeà
+__USE_GNU
+
+
+73 \r\1e*
+       $¿wmemchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+)
+
+74 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+77 \r\1e*
+       $memrchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+78 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+82 
+__BEGIN_NAMESPACE_STD
+
+
+84 \r\ 5*
+       $¡rýy
+ (\ 5*
+__»¡riù
+__de¡
+, 
+__cڡ
\ 5*__»¡riù 
+__¤c
+)
+
+85 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+87 \r\ 5*
+       $¡ºýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+88 
+__cڡ
\ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+89 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+92 \r\ 5*
+       $¡rÿt
+ (\ 5*
+__»¡riù
+__de¡
+, 
+__cڡ
\ 5*__»¡riù 
+__¤c
+)
+
+93 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+95 \r\ 5*
+       $¡ºÿt
+ (\ 5*
+__»¡riù
+__de¡
+, 
+__cڡ
\ 5*__»¡riù 
+__¤c
+,
+
+96 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+99 \r\12
+       $¡rcmp
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+)
+
+100 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+102 \r\12
+       $¡ºcmp
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+103 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+106 \r\12
+       $¡rcÞl
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+)
+
+107 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+109 \r
+size_t
+       $¡rxäm
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+110 
+__cڡ
\ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+111 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+112 
+__END_NAMESPACE_STD
+
+
+114 #ifdeà
+__USE_GNU
+
+
+118 \ 2
+       ~<xloÿË.h
+>
+
+121 \r\12
+       $¡rcÞl_l
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+, 
+__loÿË_t
+__l
+)
+
+122 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+124 \r
+size_t
+       $¡rxäm_l
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+, 
+size_t
+__n
+,
+
+125 
+__loÿË_t
+__l
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+128 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+130 \r\ 5*
+       $¡rdup
+ (
+__cڡ
\ 5*
+__s
+)
+
+131 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+137 #ià
+def\9aed
+__USE_GNU
+
+
+138 \r\ 5*
+       $¡ºdup
+ (
+__cڡ
\ 5*
+__¡r\9ag
+, 
+size_t
+__n
+)
+
+139 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+142 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__GNUC__
+
+
+144 \ 1
+       #¡rdu·
+(
+s
+) \
+
+145 (
+__ex\8bnsiÚ__
+ \
+
+147 
+__cڡ
\ 5*
+__Þd
+ = (
+s
+); \
+
+148 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+__Þd
+) + 1; \
+
+149 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+); \
+
+150 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+151 
+       }
+}))
+
+       )
+
+154 \ 1
+       #¡ºdu·
+(
+s
+, 
+n
+) \
+
+155 (
+__ex\8bnsiÚ__
+ \
+
+157 
+__cڡ
\ 5*
+__Þd
+ = (
+s
+); \
+
+158 
+size_t
+__Ën
+ = 
+       `¡ºËn
+ (
+__Þd
+, (
+n
+)); \
+
+159 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+ + 1); \
+
+160 
+__Ãw
+[
+__Ën
+] = '\0'; \
+
+161 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+162 }))
+
+       )
+
+165 
+__BEGIN_NAMESPACE_STD
+
+
+167 \r\ 5*
+       $¡rchr
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+168 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+170 \r\ 5*
+       $¡¼chr
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+171 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+172 
+__END_NAMESPACE_STD
+
+
+174 #ifdeà
+__USE_GNU
+
+
+177 \r\ 5*
+       $¡rchºul
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+178 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+181 
+__BEGIN_NAMESPACE_STD
+
+
+184 \r
+size_t
+       $¡rc¥n
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__»jeù
+)
+
+185 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+188 \r
+size_t
+       $¡r¥n
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+189 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+191 \r\ 5*
+       $¡½brk
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+192 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+194 \r\ 5*
+       $¡r¡r
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5*
+__ÃedË
+)
+
+195 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+199 \r\ 5*
+       $¡¹ok
+ (\ 5*
+__»¡riù
+__s
+, 
+__cڡ
\ 5*__»¡riù 
+__d\96im
+)
+
+200 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+201 
+__END_NAMESPACE_STD
+
+
+205 \r\ 5*
+       $__¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+,
+
+206 
+__cڡ
\ 5*
+__»¡riù
+__d\96im
+,
+
+207 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+208 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+209 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+210 \r\ 5*
+       $¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+, 
+__cڡ
\ 5*__»¡riù 
+__d\96im
+,
+
+211 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+212 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+215 #ifdeà
+__USE_GNU
+
+
+217 \r\ 5*
+       $¡rÿ£¡r
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5*
+__ÃedË
+)
+
+218 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+221 #ifdeà
+__USE_GNU
+
+
+225 \r\1e*
+       $memmem
+ (
+__cڡ
\1e*
+__hay¡ack
+, 
+size_t
+__hay¡ackËn
+,
+
+226 
+__cڡ
\1e*
+__ÃedË
+, 
+size_t
+__ÃedËËn
+)
+
+227 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 3));
+
+231 \r\1e*
+       $__mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+232 
+__cڡ
\1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+233 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+234 \r\1e*
+       $mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+235 
+__cڡ
\1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+236 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+240 
+__BEGIN_NAMESPACE_STD
+
+
+242 \r
+size_t
+       $¡¾\92
+ (
+__cڡ
\ 5*
+__s
+)
+
+243 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+244 
+__END_NAMESPACE_STD
+
+
+246 #ifdef 
+__USE_GNU
+
+
+249 \r
+size_t
+       $¡ºËn
+ (
+__cڡ
\ 5*
+__¡r\9ag
+, 
+size_t
+__maxËn
+)
+
+250 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+254 
+__BEGIN_NAMESPACE_STD
+
+
+256 \r\ 5*
+       $¡»¼Ü
+ (\12
+__\94ºum
+__THROW
+;
+
+257 
+__END_NAMESPACE_STD
+
+
+258 #ià
+def\9aed
+__USE_XOPEN2K
+ || def\9aed 
+__USE_MISC
+
+
+266 #ià
+def\9aed
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+269 #ifdeà
+__REDIRECT_NTH
+
+
+270 \r\12
+       `__REDIRECT_NTH
+ (
+¡»¼Ü_r
+,
+
+271 (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+),
+
+272 
+__xpg_¡»¼Ü_r
+       `__nÚnuÎ
+ ((2));
+
+274 \r\12
+       $__xpg_¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+275 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+276 \ 1
+       #¡»¼Ü_r
+__xpg_¡»¼Ü_r
+
+
+       )
+
+281 \r\ 5*
+       $¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+282 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+288 \r\1e
+       $__bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+290 #ifdeà
+__USE_BSD
+
+
+292 \r\1e
+       $bcÝy
+ (
+__cڡ
\1e*
+__¤c
+, \1e*
+__de¡
+, 
+size_t
+__n
+)
+
+293 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+296 \r\1e
+       $bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+299 \r\12
+       $bcmp
+ (
+__cڡ
\1e*
+__s1
+, __cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+300 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+303 \r\ 5*
+       $\9adex
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+304 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+307 \r\ 5*
+       $r\9adex
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+308 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+312 \r\12
+       $ffs
+ (\12
+__i
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+316 #ifdef 
+__USE_GNU
+
+
+317 \r\12
+       $ff¦
+ (\13\12
+__l
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+318 #ifdeà
+__GNUC__
+
+
+319 
+__ex\8bnsiÚ__
\r\12
+       $ff¦l
+ (\13\13\12
+__Î
+)
+
+320 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+325 \r\12
+       $¡rÿ£cmp
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+)
+
+326 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+329 \r\12
+       $¡ºÿ£cmp
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+330 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+333 #ifdef 
+__USE_GNU
+
+
+336 \r\12
+       $¡rÿ£cmp_l
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+,
+
+337 
+__loÿË_t
+__loc
+)
+
+338 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+340 \r\12
+       $¡ºÿ£cmp_l
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+,
+
+341 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+)
+
+342 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 4));
+
+345 #ifdef 
+__USE_BSD
+
+
+348 \r\ 5*
+       $¡r£p
+ (\ 5**
+__»¡riù
+__¡r\9agp
+,
+
+349 
+__cڡ
\ 5*
+__»¡riù
+__d\96im
+)
+
+350 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+353 #ifdef 
+__USE_GNU
+
+
+355 \r\12
+       $¡rv\94scmp
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+)
+
+356 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+359 \r\ 5*
+       $¡rsigÇl
+ (\12
+__sig
+__THROW
+;
+
+362 \r\ 5*
+       $__¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, 
+__cڡ
\ 5*__»¡riù 
+__¤c
+)
+
+363 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+364 \r\ 5*
+       $¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, 
+__cڡ
\ 5*__»¡riù 
+__¤c
+)
+
+365 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+369 \r\ 5*
+       $__¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+370 
+__cڡ
\ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+371 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+372 \r\ 5*
+       $¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+373 
+__cڡ
\ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+374 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+377 \r\ 5*
+       $¡räy
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+380 \r\1e*
+       $memäob
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+382 #iâdeà
+ba£Çme
+
+
+387 \r\ 5*
+       $ba£Çme
+ (
+__cڡ
\ 5*
+__f\9e\92ame
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+392 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+393 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__OPTIMIZE_SIZE__
+ \
+
+394 && !
+def\9aed
+__NO_INLINE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+414 \ 2
+       ~<b\99s/¡r\9ag.h
+>
+
+417 \ 2
+       ~<b\99s/¡r\9ag2.h
+>
+
+420 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && !
+def\9aed
+__ýlu¥lus
+
+
+422 \ 2
+       ~<b\99s/¡r\9ag3.h
+>
+
+426 
+__END_DECLS
+
+
+       @/usr/include/sys/types.h
+
+24 #iâdef 
+_SYS_TYPES_H
+
+
+25 \ 1
+       #_SYS_TYPES_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+31 \ 2
+       ~<b\99s/ty³s.h
+>
+
+33 #ifdef 
+__USE_BSD
+
+
+34 #iâdeà
+__u_ch¬_def\9aed
+
+
+35 \e
+__u_ch¬
+       tu_ch¬
+;
+
+36 \e
+__u_shÜt
+       tu_shÜt
+;
+
+37 \e
+__u_\9at
+       tu_\9at
+;
+
+38 \e
+__u_lÚg
+       tu_lÚg
+;
+
+39 \e
+__quad_t
+       tquad_t
+;
+
+40 \e
+__u_quad_t
+       tu_quad_t
+;
+
+41 \e
+__fsid_t
+       tfsid_t
+;
+
+42 \ 1
+       #__u_ch¬_def\9aed
+
+
+       )
+
+46 \e
+__loff_t
+       tloff_t
+;
+
+48 #iâdeà
+__\9ao_t_def\9aed
+
+
+49 #iâdeà
+__USE_FILE_OFFSET64
+
+
+50 \e
+__\9ao_t
+       t\9ao_t
+;
+
+52 \e
+__\9ao64_t
+       t\9ao_t
+;
+
+54 \ 1
+       #__\9ao_t_def\9aed
+
+
+       )
+
+56 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__\9ao64_t_def\9aed
+
+
+57 \e
+__\9ao64_t
+       t\9ao64_t
+;
+
+58 \ 1
+       #__\9ao64_t_def\9aed
+
+
+       )
+
+61 #iâdeà
+__dev_t_def\9aed
+
+
+62 \e
+__dev_t
+       tdev_t
+;
+
+63 \ 1
+       #__dev_t_def\9aed
+
+
+       )
+
+66 #iâdeà
+__gid_t_def\9aed
+
+
+67 \e
+__gid_t
+       tgid_t
+;
+
+68 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+71 #iâdeà
+__mode_t_def\9aed
+
+
+72 \e
+__mode_t
+       tmode_t
+;
+
+73 \ 1
+       #__mode_t_def\9aed
+
+
+       )
+
+76 #iâdeà
+__Æ\9ak_t_def\9aed
+
+
+77 \e
+__ƚk_t
+       tƚk_t
+;
+
+78 \ 1
+       #__Æ\9ak_t_def\9aed
+
+
+       )
+
+81 #iâdeà
+__uid_t_def\9aed
+
+
+82 \e
+__uid_t
+       tuid_t
+;
+
+83 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+86 #iâdeà
+__off_t_def\9aed
+
+
+87 #iâdeà
+__USE_FILE_OFFSET64
+
+
+88 \e
+__off_t
+       toff_t
+;
+
+90 \e
+__off64_t
+       toff_t
+;
+
+92 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+94 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+95 \e
+__off64_t
+       toff64_t
+;
+
+96 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+99 #iâdeà
+__pid_t_def\9aed
+
+
+100 \e
+__pid_t
+       tpid_t
+;
+
+101 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+104 #ià(
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+è&& !def\9aed 
+__id_t_def\9aed
+
+
+105 \e
+__id_t
+       tid_t
+;
+
+106 \ 1
+       #__id_t_def\9aed
+
+
+       )
+
+109 #iâdeà
+__ssize_t_def\9aed
+
+
+110 \e
+__ssize_t
+       tssize_t
+;
+
+111 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+114 #ifdef 
+__USE_BSD
+
+
+115 #iâdeà
+__daddr_t_def\9aed
+
+
+116 \e
+__daddr_t
+       tdaddr_t
+;
+
+117 \e
+__ÿddr_t
+       tÿddr_t
+;
+
+118 \ 1
+       #__daddr_t_def\9aed
+
+
+       )
+
+122 #ià(
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+è&& !def\9aed 
+__key_t_def\9aed
+
+
+123 \e
+__key_t
+       tkey_t
+;
+
+124 \ 1
+       #__key_t_def\9aed
+
+
+       )
+
+127 #ifdeà
+__USE_XOPEN
+
+
+128 \ 1
+       #__Ãed_þock_t
+
+
+       )
+
+130 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+131 \ 1
+       #__Ãed_tim\94_t
+
+
+       )
+
+132 \ 1
+       #__Ãed_þockid_t
+
+
+       )
+
+133 \ 2
+       ~<time.h
+>
+
+135 #ifdeà
+__USE_XOPEN
+
+
+136 #iâdeà
+__u£cÚds_t_def\9aed
+
+
+137 \e
+__u£cÚds_t
+       tu£cÚds_t
+;
+
+138 \ 1
+       #__u£cÚds_t_def\9aed
+
+
+       )
+
+140 #iâdeà
+__su£cÚds_t_def\9aed
+
+
+141 \e
+__su£cÚds_t
+       tsu£cÚds_t
+;
+
+142 \ 1
+       #__su£cÚds_t_def\9aed
+
+
+       )
+
+146 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+147 \ 2
+       ~<¡ddef.h
+>
+
+149 #ifdeà
+__USE_MISC
+
+
+151 \e\1d\13\12
+       tulÚg
+;
+
+152 \e\1d\16\12
+       tushÜt
+;
+
+153 \e\1d\12
+       tu\9at
+;
+
+158 #ià!
+__GNUC_PREREQ
+ (2, 7)
+
+161 #iâdeà
+__\9at8_t_def\9aed
+
+
+162 \ 1
+       #__\9at8_t_def\9aed
+
+
+       )
+
+163 \e\ 5
+       t\9at8_t
+;
+
+164 \e\16\12
+       t\9at16_t
+;
+
+165 \e\12
+       t\9at32_t
+;
+
+166 #ià
+__GLIBC_HAVE_LONG_LONG
+
+
+167 
+__ex\8bnsiÚ__
\e\13\13\12
+       t\9at64_t
+;
+
+172 \e\1d\ 5
+       tu_\9at8_t
+;
+
+173 \e\1d\16\12
+       tu_\9at16_t
+;
+
+174 \e\1d\12
+       tu_\9at32_t
+;
+
+175 #ià
+__GLIBC_HAVE_LONG_LONG
+
+
+176 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       tu_\9at64_t
+;
+
+179 \e\12
+       t»gi¡\94_t
+;
+
+184 \ 1
+       #__\9atN_t
+(
+N
+, 
+MODE
+) \
+
+185 \e\12\12##
+       tN
+##
+       t_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       tMODE
+)))
+
+       )
+
+186 \ 1
+       t__u_\9atN_t
+(
+       tN
+, 
+       tMODE
+) \
+
+187 \e\1d\12
+       tu_\9at
+##
+       tN
+##
+       t_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       tMODE
+)))
+
+       )
+
+189 #iâdeà
+       t__\9at8_t_def\9aed
+
+
+190 \ 1
+       t__\9at8_t_def\9aed
+
+
+       )
+
+191 
+       t__\9atN_t
+ (8, 
+       t__QI__
+);
+
+192 
+__\9atN_t
+ (16, 
+__HI__
+);
+
+193 
+__\9atN_t
+ (32, 
+__SI__
+);
+
+194 
+__\9atN_t
+ (64, 
+__DI__
+);
+
+197 
+__u_\9atN_t
+ (8, 
+__QI__
+);
+
+198 
+__u_\9atN_t
+ (16, 
+__HI__
+);
+
+199 
+__u_\9atN_t
+ (32, 
+__SI__
+);
+
+200 
+__u_\9atN_t
+ (64, 
+__DI__
+);
+
+202 \e\12
+       t»gi¡\94_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__wÜd__
+)));
+
+208 \ 1
+       #__BIT_TYPES_DEFINED__
+ 1
+
+       )
+
+211 #ifdef 
+__USE_BSD
+
+
+213 \ 2
+       ~<\92d\9fn.h
+>
+
+216 \ 2
+       ~<sys/£Ëù.h
+>
+
+219 \ 2
+       ~<sys/sysmaüos.h
+>
+
+223 #ià
+def\9aed
+__USE_UNIX98
+ && !def\9aed 
+__blksize_t_def\9aed
+
+
+224 \e
+__blksize_t
+       tblksize_t
+;
+
+225 \ 1
+       #__blksize_t_def\9aed
+
+
+       )
+
+229 #iâdeà
+__USE_FILE_OFFSET64
+
+
+230 #iâdeà
+__blkút_t_def\9aed
+
+
+231 \e
+__blkút_t
+       tblkút_t
+;
+
+232 \ 1
+       #__blkút_t_def\9aed
+
+
+       )
+
+234 #iâdeà
+__fsblkút_t_def\9aed
+
+
+235 \e
+__fsblkút_t
+       tfsblkút_t
+;
+
+236 \ 1
+       #__fsblkút_t_def\9aed
+
+
+       )
+
+238 #iâdeà
+__fsf\9eút_t_def\9aed
+
+
+239 \e
+__fsf\9eút_t
+       tfsf\9eút_t
+;
+
+240 \ 1
+       #__fsf\9eút_t_def\9aed
+
+
+       )
+
+243 #iâdeà
+__blkút_t_def\9aed
+
+
+244 \e
+__blkút64_t
+       tblkút_t
+;
+
+245 \ 1
+       #__blkút_t_def\9aed
+
+
+       )
+
+247 #iâdeà
+__fsblkút_t_def\9aed
+
+
+248 \e
+__fsblkút64_t
+       tfsblkút_t
+;
+
+249 \ 1
+       #__fsblkút_t_def\9aed
+
+
+       )
+
+251 #iâdeà
+__fsf\9eút_t_def\9aed
+
+
+252 \e
+__fsf\9eút64_t
+       tfsf\9eút_t
+;
+
+253 \ 1
+       #__fsf\9eút_t_def\9aed
+
+
+       )
+
+257 #ifdeà
+__USE_LARGEFILE64
+
+
+258 \e
+__blkút64_t
+       tblkút64_t
+;
+
+259 \e
+__fsblkút64_t
+       tfsblkút64_t
+;
+
+260 \e
+__fsf\9eút64_t
+       tfsf\9eút64_t
+;
+
+265 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+266 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+269 
+       g__END_DECLS
+
+
+       @/usr/include/unistd.h
+
+23 #iâdef 
+_UNISTD_H
+
+
+24 \ 1
+       #_UNISTD_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+34 \ 1
+       #_POSIX_VERSION
+ 200112L
+
+       )
+
+40 \ 1
+       #_POSIX2_VERSION
+ 200112L
+
+       )
+
+44 \ 1
+       #_POSIX2_C_BIND
+ 200112L
+
+       )
+
+48 \ 1
+       #_POSIX2_C_DEV
+ 200112L
+
+       )
+
+52 \ 1
+       #_POSIX2_SW_DEV
+ 200112L
+
+       )
+
+56 \ 1
+       #_POSIX2_LOCALEDEF
+ 200112L
+
+       )
+
+59 #ifdeà
+__USE_UNIX98
+
+
+60 \ 1
+       #_XOPEN_VERSION
+ 500
+
+       )
+
+62 \ 1
+       #_XOPEN_VERSION
+ 4
+
+       )
+
+66 \ 1
+       #_XOPEN_XCU_VERSION
+ 4
+
+       )
+
+69 \ 1
+       #_XOPEN_XPG2
+ 1
+
+       )
+
+70 \ 1
+       #_XOPEN_XPG3
+ 1
+
+       )
+
+71 \ 1
+       #_XOPEN_XPG4
+ 1
+
+       )
+
+74 \ 1
+       #_XOPEN_UNIX
+ 1
+
+       )
+
+77 \ 1
+       #_XOPEN_CRYPT
+ 1
+
+       )
+
+81 \ 1
+       #_XOPEN_ENH_I18N
+ 1
+
+       )
+
+84 \ 1
+       #_XOPEN_LEGACY
+ 1
+
+       )
+
+171 \ 2
+       ~<b\99s/posix_Ýt.h
+>
+
+174 #ifdeà
+__USE_UNIX98
+
+
+175 \ 2
+       ~<b\99s/\92v\9cÚm\92ts.h
+>
+
+179 \ 1
+       #STDIN_FILENO
+ 0
+
+       )
+
+180 \ 1
+       #STDOUT_FILENO
+ 1
+
+       )
+
+181 \ 1
+       #STDERR_FILENO
+ 2
+
+       )
+
+186 \ 2
+       ~<b\99s/ty³s.h
+>
+
+188 #iâdef 
+__ssize_t_def\9aed
+
+
+189 \e
+__ssize_t
+       tssize_t
+;
+
+190 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+193 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+194 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+195 \ 2
+       ~<¡ddef.h
+>
+
+197 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+200 #iâdeà
+__gid_t_def\9aed
+
+
+201 \e
+__gid_t
+       tgid_t
+;
+
+202 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+205 #iâdeà
+__uid_t_def\9aed
+
+
+206 \e
+__uid_t
+       tuid_t
+;
+
+207 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+210 #iâdeà
+__off_t_def\9aed
+
+
+211 #iâdeà
+__USE_FILE_OFFSET64
+
+
+212 \e
+__off_t
+       toff_t
+;
+
+214 \e
+__off64_t
+       toff_t
+;
+
+216 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+218 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+219 \e
+__off64_t
+       toff64_t
+;
+
+220 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+223 #iâdeà
+__u£cÚds_t_def\9aed
+
+
+224 \e
+__u£cÚds_t
+       tu£cÚds_t
+;
+
+225 \ 1
+       #__u£cÚds_t_def\9aed
+
+
+       )
+
+228 #iâdeà
+__pid_t_def\9aed
+
+
+229 \e
+__pid_t
+       tpid_t
+;
+
+230 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+234 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+235 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+236 \e
+__\9a\8d\8c_t
+       t\9a\8d\8c_t
+;
+
+237 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+241 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+242 #iâdeà
+__sockËn_t_def\9aed
+
+
+243 \e
+__sockËn_t
+       tsockËn_t
+;
+
+244 \ 1
+       #__sockËn_t_def\9aed
+
+
+       )
+
+250 \ 1
+       #R_OK
+ 4
+
+       )
+
+251 \ 1
+       #W_OK
+ 2
+
+       )
+
+252 \ 1
+       #X_OK
+ 1
+
+       )
+
+253 \ 1
+       #F_OK
+ 0
+
+       )
+
+256 \r\12
+       $acûss
+ (
+__cڡ
\ 5*
+__Çme
+, \12
+__ty³
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+258 #ifdeà
+__USE_GNU
+
+
+261 \r\12
+       $euidacûss
+ (
+__cڡ
\ 5*
+__Çme
+, \12
+__ty³
+)
+
+262 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+267 #iâdef 
+_STDIO_H
+
+
+268 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+269 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+270 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+273 #ià
+def\9aed
+__USE_BSD
+ && !def\9aed 
+L_SET
+
+
+275 \ 1
+       #L_SET
+SEEK_SET
+
+
+       )
+
+276 \ 1
+       #L_INCR
+SEEK_CUR
+
+
+       )
+
+277 \ 1
+       #L_XTND
+SEEK_END
+
+
+       )
+
+286 #iâdeà
+__USE_FILE_OFFSET64
+
+
+287 \r
+__off_t
+       $l£ek
+ (\12
+__fd
+, 
+__off_t
+__off£t
+, \12
+__wh\92û
+__THROW
+;
+
+289 #ifdeà
+__REDIRECT_NTH
+
+
+290 \r
+__off64_t
+       `__REDIRECT_NTH
+ (
+l£ek
+,
+
+291 (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+),
+
+292 
+l£ek64
+);
+
+294 \ 1
+       #l£ek
+l£ek64
+
+
+       )
+
+297 #ifdeà
+__USE_LARGEFILE64
+
+
+298 \r
+__off64_t
+       $l£ek64
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+__THROW
+;
+
+305 \r\12
+       `þo£
+ (\12
+__fd
+);
+
+312 \r
+ssize_t
+       `»ad
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+);
+
+318 \r
+ssize_t
+       `wr\99e
+ (\12
+__fd
+, 
+__cڡ
\1e*
+__buf
+, 
+size_t
+__n
+);
+
+320 #ifdeà
+__USE_UNIX98
+
+
+321 #iâdeà
+__USE_FILE_OFFSET64
+
+
+328 \r
+ssize_t
+       `´\97d
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+329 
+__off_t
+__off£t
+);
+
+336 \r
+ssize_t
+       `pwr\99e
+ (\12
+__fd
+, 
+__cڡ
\1e*
+__buf
+, 
+size_t
+__n
+,
+
+337 
+__off_t
+__off£t
+);
+
+339 #ifdeà
+__REDIRECT
+
+
+340 \r
+ssize_t
+       `__REDIRECT
+ (
\97d
+, (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+341 
+__off64_t
+__off£t
+),
+
+342 
\97d64
+);
+
+343 \r
+ssize_t
+       `__REDIRECT
+ (
+pwr\99e
+, (\12
+__fd
+, 
+__cڡ
\1e*
+__buf
+,
+
+344 
+size_t
+__nby\8bs
+, 
+__off64_t
+__off£t
+),
+
+345 
+pwr\99e64
+);
+
+347 \ 1
+       #´\97d
\97d64
+
+
+       )
+
+348 \ 1
+       #pwr\99e
+pwr\99e64
+
+
+       )
+
+352 #ifdeà
+__USE_LARGEFILE64
+
+
+356 \r
+ssize_t
+       `´\97d64
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+357 
+__off64_t
+__off£t
+);
+
+360 \r
+ssize_t
+       `pwr\99e64
+ (\12
+__fd
+, 
+__cڡ
\1e*
+__buf
+, 
+size_t
+__n
+,
+
+361 
+__off64_t
+__off£t
+);
+
+369 \r\12
+       `p\9de
+ (\12
+__p\9dedes
+[2]è
+__THROW
+;
+
+378 \r\1d\12
+       $®¬m
+ (\1d\12
+__£cÚds
+__THROW
+;
+
+390 \r\1d\12
+       `¦\93p
+ (\1d\12
+__£cÚds
+);
+
+392 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+397 \r
+__u£cÚds_t
+       $u®¬m
+ (
+__u£cÚds_t
+__v®ue
+, __u£cÚds_\88
+__\9a\8brv®
+)
+
+398 
+__THROW
+;
+
+405 \r\12
+       `u¦\93p
+ (
+__u£cÚds_t
+__u£cÚds
+);
+
+414 \r\12
+       `·u£
+ (\1e);
+
+418 \r\12
+       $chown
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+419 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+421 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+423 \r\12
+       $fchown
+ (\12
+__fd
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+__THROW
+;
+
+428 \r\12
+       $lchown
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+429 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+434 \r\12
+       $chd\9c
+ (
+__cڡ
\ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+436 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+438 \r\12
+       $fchd\9c
+ (\12
+__fd
+__THROW
+;
+
+448 \r\ 5*
+       $g\91cwd
+ (\ 5*
+__buf
+, 
+size_t
+__size
+__THROW
+;
+
+450 #ifdef 
+__USE_GNU
+
+
+454 \r\ 5*
+       $g\91_cu¼\92t_d\9c_Çme
+ (\1eè
+__THROW
+;
+
+457 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+461 \r\ 5*
+       $g\91wd
+ (\ 5*
+__buf
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+466 \r\12
+       $dup
+ (\12
+__fd
+__THROW
+;
+
+469 \r\12
+       $dup2
+ (\12
+__fd
+, \12
+__fd2
+__THROW
+;
+
+472 \r\ 5**
+__\92v\9cÚ
+;
+
+473 #ifdeà
+__USE_GNU
+
+
+474 \r\ 5**
+\92v\9cÚ
+;
+
+480 \r\12
+       $execve
+ (
+__cڡ
\ 5*
+__·th
+, \ 5*__cڡ 
+__¬gv
+[],
+
+481 \ 5*
+__cڡ
+__\92vp
+[]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+483 #ifdeà
+__USE_GNU
+
+
+486 \r\12
+       $ãxecve
+ (\12
+__fd
+, \ 5*
+__cڡ
+__¬gv
+[], \ 5*__cڡ 
+__\92vp
+[])
+
+487 
+__THROW
+;
+
+492 \r\12
+       $execv
+ (
+__cڡ
\ 5*
+__·th
+, \ 5*__cڡ 
+__¬gv
+[])
+
+493 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+497 \r\12
+       $exeþe
+ (
+__cڡ
\ 5*
+__·th
+, __cڡ \ 5*
+__¬g
+, ...)
+
+498 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+502 \r\12
+       $exeþ
+ (
+__cڡ
\ 5*
+__·th
+, __cڡ \ 5*
+__¬g
+, ...)
+
+503 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+507 \r\12
+       $execvp
+ (
+__cڡ
\ 5*
+__f\9ee
+, \ 5*__cڡ 
+__¬gv
+[])
+
+508 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+513 \r\12
+       $exeþp
+ (
+__cڡ
\ 5*
+__f\9ee
+, __cڡ \ 5*
+__¬g
+, ...)
+
+514 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+517 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+519 \r\12
+       $niû
+ (\12
+__\9ac
+__THROW
+;
+
+524 \r\1e
+       $_ex\99
+ (\12
+__¡©us
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+530 \ 2
+       ~<b\99s/cÚâame.h
+>
+
+533 \r\13\12
+       $·thcÚf
+ (
+__cڡ
\ 5*
+__·th
+, \12
+__Çme
+)
+
+534 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+537 \r\13\12
+       $å©hcÚf
+ (\12
+__fd
+, \12
+__Çme
+__THROW
+;
+
+540 \r\13\12
+       $syscÚf
+ (\12
+__Çme
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+542 #ifdef 
+__USE_POSIX2
+
+
+544 \r
+size_t
+       $cÚf¡r
+ (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+549 \r
+__pid_t
+       $g\91pid
+ (\1eè
+__THROW
+;
+
+552 \r
+__pid_t
+       $g\91µid
+ (\1eè
+__THROW
+;
+
+556 #iâdeà
+__FAVOR_BSD
+
+
+557 \r
+__pid_t
+       $g\91pg½
+ (\1eè
+__THROW
+;
+
+559 #ifdeà
+__REDIRECT_NTH
+
+
+560 \r
+__pid_t
+       `__REDIRECT_NTH
+ (
+g\91pg½
+, (__pid_\88
+__pid
+), 
+__g\91pgid
+);
+
+562 \ 1
+       #g\91pg½
+__g\91pgid
+
+
+       )
+
+567 \r
+__pid_t
+       $__g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+568 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+569 \r
+__pid_t
+       $g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+576 \r\12
+       $£\8dgid
+ (
+__pid_t
+__pid
+, __pid_\88
+__pgid
+__THROW
+;
+
+578 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+589 #iâdeà
+__FAVOR_BSD
+
+
+593 \r\12
+       $£\8d
+ (\1eè
+__THROW
+;
+
+598 #ifdeà
+__REDIRECT_NTH
+
+
+599 \r\12
+       `__REDIRECT_NTH
+ (
\8d
+, (
+__pid_t
+__pid
+, __pid_\88
+__pg½
+), 
\8dgid
+);
+
+601 \ 1
+       #£\8d
\8dgid
+
+
+       )
+
+610 \r
+__pid_t
+       $£tsid
+ (\1eè
+__THROW
+;
+
+612 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+614 \r
+__pid_t
+       $g\91sid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+618 \r
+__uid_t
+       $g\91uid
+ (\1eè
+__THROW
+;
+
+621 \r
+__uid_t
+       $g\91euid
+ (\1eè
+__THROW
+;
+
+624 \r
+__gid_t
+       $g\91gid
+ (\1eè
+__THROW
+;
+
+627 \r
+__gid_t
+       $g\91egid
+ (\1eè
+__THROW
+;
+
+632 \r\12
+       $g\91groups
+ (\12
+__size
+, 
+__gid_t
+__li¡
+[]è
+__THROW
+;
+
+634 #ifdef 
+__USE_GNU
+
+
+636 \r\12
+       $group_memb\94
+ (
+__gid_t
+__gid
+__THROW
+;
+
+643 \r\12
+       $£tuid
+ (
+__uid_t
+__uid
+__THROW
+;
+
+645 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+648 \r\12
+       $£\8ceuid
+ (
+__uid_t
+__ruid
+, __uid_\88
+__euid
+__THROW
+;
+
+651 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+653 \r\12
+       $£\8buid
+ (
+__uid_t
+__uid
+__THROW
+;
+
+660 \r\12
+       $£tgid
+ (
+__gid_t
+__gid
+__THROW
+;
+
+662 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+665 \r\12
+       $£\8cegid
+ (
+__gid_t
+__rgid
+, __gid_\88
+__egid
+__THROW
+;
+
+668 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+670 \r\12
+       $£\8bgid
+ (
+__gid_t
+__gid
+__THROW
+;
+
+673 #ifdeà
+__USE_GNU
+
+
+676 \r\12
+       `g\91»suid
+ (
+__uid_t
+ *
+__euid
+, __uid_\88*
+__ruid
+, __uid_\88*
+__suid
+);
+
+680 \r\12
+       `g\91»sgid
+ (
+__gid_t
+ *
+__egid
+, __gid_\88*
+__rgid
+, __gid_\88*
+__sgid
+);
+
+684 \r\12
+       `£\8cesuid
+ (
+__uid_t
+__euid
+, __uid_\88
+__ruid
+, __uid_\88
+__suid
+);
+
+688 \r\12
+       `£\8cesgid
+ (
+__gid_t
+__egid
+, __gid_\88
+__rgid
+, __gid_\88
+__sgid
+);
+
+695 \r
+__pid_t
+       $fÜk
+ (\1eè
+__THROW
+;
+
+697 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+702 \r
+__pid_t
+       $vfÜk
+ (\1eè
+__THROW
+;
+
+708 \r\ 5*
+       $\89yÇme
+ (\12
+__fd
+__THROW
+;
+
+712 \r\12
+       $\89yÇme_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+713 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+717 \r\12
+       $i§\89y
+ (\12
+__fd
+__THROW
+;
+
+719 #ià
+def\9aed
+__USE_BSD
+ \
+
+720 || (
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_UNIX98
+)
+
+723 \r\12
+       $\89y¦Ù
+ (\1eè
+__THROW
+;
+
+728 \r\12
+       $l\9ak
+ (
+__cڡ
\ 5*
+__äom
+, __cڡ \ 5*
+__to
+)
+
+729 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+731 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+733 \r\12
+       $syml\9ak
+ (
+__cڡ
\ 5*
+__äom
+, __cڡ \ 5*
+__to
+)
+
+734 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+739 \r\12
+       $»adl\9ak
+ (
+__cڡ
\ 5*
+__»¡riù
+__·th
+, \ 5*__»¡riù 
+__buf
+,
+
+740 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+744 \r\12
+       $uƚk
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+747 \r\12
+       $rmd\9c
+ (
+__cڡ
\ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+751 \r
+__pid_t
+       $tcg\91pg½
+ (\12
+__fd
+__THROW
+;
+
+754 \r\12
+       $tc£\8d
+ (\12
+__fd
+, 
+__pid_t
+__pg½_id
+__THROW
+;
+
+761 \r\ 5*
+       `g\91log\9a
+ (\1e);
+
+762 #ià
+def\9aed
+__USE_REENTRANT
+ || def\9aed 
+__USE_UNIX98
+
+
+769 \r\12
+       $g\91log\9a_r
+ (\ 5*
+__Çme
+, 
+size_t
+__Çme_Ën
+       `__nÚnuÎ
+ ((1));
+
+772 #ifdef 
+__USE_BSD
+
+
+774 \r\12
+       $£\8eog\9a
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+778 #ifdef 
+__USE_POSIX2
+
+
+782 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+783 \ 2
+       ~<g\91Ýt.h
+>
+
+787 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_UNIX98
+
+
+791 \r\12
+       $g\91ho¡Çme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+795 #ià
+def\9aed
+__USE_BSD
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+)
+
+798 \r\12
+       $£tho¡Çme
+ (
+__cڡ
\ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+799 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+803 \r\12
+       $£tho¡id
+ (\13\12
+__id
+__THROW
+;
+
+809 \r\12
+       $g\91doma\9aÇme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+810 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+811 \r\12
+       $£tdoma\9aÇme
+ (
+__cڡ
\ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+812 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+818 \r\12
+       $vhªgup
+ (\1eè
+__THROW
+;
+
+821 \r\12
+       $»voke
+ (
+__cڡ
\ 5*
+__f\9ee
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+829 \r\12
+       $´of\9e
+ (\1d\16\12*
+__§m¶e_bufãr
+, 
+size_t
+__size
+,
+
+830 
+size_t
+__off£t
+, \1d\12
+__sÿË
+)
+
+831 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+837 \r\12
+       $acù
+ (
+__cڡ
\ 5*
+__Çme
+__THROW
+;
+
+841 \r\ 5*
+       $g\91u£rsh\96l
+ (\1eè
+__THROW
+;
+
+842 \r\1e
+       $\92du£rsh\96l
+ (\1eè
+__THROW
+;
+
+843 \r\1e
+       $£tu£rsh\96l
+ (\1eè
+__THROW
+;
+
+849 \r\12
+       $d«mÚ
+ (\12
+__nochd\9c
+, \12
+__noþo£
+__THROW
+;
+
+853 #ià
+def\9aed
+__USE_BSD
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+856 \r\12
+       $chroÙ
+ (
+__cڡ
\ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+860 \r\ 5*
+       $g\91·ss
+ (
+__cڡ
\ 5*
+__´om±
+       `__nÚnuÎ
+ ((1));
+
+864 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+869 \r\12
+       `fsync
+ (\12
+__fd
+);
+
+873 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+876 \r\13\12
+       `g\91ho¡id
+ (\1e);
+
+879 \r\1e
+       $sync
+ (\1eè
+__THROW
+;
+
+884 \r\12
+       $g\91·gesize
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+889 \r\12
+       $g\91d\8fbËsize
+ (\1eè
+__THROW
+;
+
+893 #iâdeà
+__USE_FILE_OFFSET64
+
+
+894 \r\12
+       $\8cunÿ\8b
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__off_t
+__Ëngth
+)
+
+895 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+897 #ifdeà
+__REDIRECT_NTH
+
+
+898 \r\12
+       `__REDIRECT_NTH
+ (
+\8cunÿ\8b
+,
+
+899 (
+__cڡ
\ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+),
+
+900 
+\8cunÿ\8b64
+       `__nÚnuÎ
+ ((1));
+
+902 \ 1
+       #\8cunÿ\8b
+\8cunÿ\8b64
+
+
+       )
+
+905 #ifdeà
+__USE_LARGEFILE64
+
+
+906 \r\12
+       $\8cunÿ\8b64
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+)
+
+907 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+912 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+915 #iâdeà
+__USE_FILE_OFFSET64
+
+
+916 \r\12
+       $árunÿ\8b
+ (\12
+__fd
+, 
+__off_t
+__Ëngth
+__THROW
+;
+
+918 #ifdeà
+__REDIRECT_NTH
+
+
+919 \r\12
+       `__REDIRECT_NTH
+ (
+árunÿ\8b
+, (\12
+__fd
+, 
+__off64_t
+__Ëngth
+),
+
+920 
+árunÿ\8b64
+);
+
+922 \ 1
+       #árunÿ\8b
+árunÿ\8b64
+
+
+       )
+
+925 #ifdeà
+__USE_LARGEFILE64
+
+
+926 \r\12
+       $árunÿ\8b64
+ (\12
+__fd
+, 
+__off64_t
+__Ëngth
+__THROW
+;
+
+932 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+936 \r\12
+       $brk
+ (\1e*
+__addr
+__THROW
+;
+
+942 \r\1e*
+       $sbrk
+ (
+\9a\8d\8c_t
+__d\96\8f
+__THROW
+;
+
+946 #ifdeà
+__USE_MISC
+
+
+957 \r\13\12
+       $sysÿÎ
+ (\13\12
+__sy¢o
+, ...è
+__THROW
+;
+
+962 #ià(
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+è&& !def\9aed 
+F_LOCK
+
+
+974 \ 1
+       #F_ULOCK
+ 0
+
+       )
+
+975 \ 1
+       #F_LOCK
+ 1
+
+       )
+
+976 \ 1
+       #F_TLOCK
+ 2
+
+       )
+
+977 \ 1
+       #F_TEST
+ 3
+
+       )
+
+979 #iâdeà
+__USE_FILE_OFFSET64
+
+
+980 \r\12
+       `lockf
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off_t
+__Ën
+);
+
+982 #ifdeà
+__REDIRECT
+
+
+983 \r\12
+       `__REDIRECT
+ (
+lockf
+, (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+),
+
+984 
+lockf64
+);
+
+986 \ 1
+       #lockf
+lockf64
+
+
+       )
+
+989 #ifdeà
+__USE_LARGEFILE64
+
+
+990 \r\12
+       `lockf64
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+);
+
+995 #ifdeà
+__USE_GNU
+
+
+1000 \ 1
+       #TEMP_FAILURE_RETRY
+(
+ex´essiÚ
+) \
+
+1001 (
+__ex\8bnsiÚ__
+ \
+
+1002 ({ \13\12
+__»suÉ
+; \
+
+1003 dØ
+__»suÉ
+ = (\13\12è(
+ex´essiÚ
+); \
+
+1004 \1f
+__»suÉ
+ =ð-1L && 
+\94ºo
+ =ð
+EINTR
+); \
+
+1005 
+__»suÉ
+; 
+       }
+}))
+
+       )
+
+1008 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_UNIX98
+
+
+1011 \r\12
+       $fd©async
+ (\12
+__f\9edes
+__THROW
+;
+
+1017 #ifdef 
+__USE_XOPEN
+
+
+1019 \r\ 5*
+       $üy±
+ (
+__cڡ
\ 5*
+__key
+, __cڡ \ 5*
+__§É
+)
+
+1020 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1024 \r\1e
+       $\92üy±
+ (\ 5*
+__block
+, \12
+__edæag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1031 \r\1e
+       $swab
+ (
+__cڡ
\1e*
+__»¡riù
+__äom
+, \1e*__»¡riù 
+__to
+,
+
+1032 
+ssize_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1038 #ifdeà
+__USE_XOPEN
+
+
+1040 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1043 
+__END_DECLS
+
+
+       @/usr/include/alloca.h
+
+19 #iâdef 
+_ALLOCA_H
+
+
+20 \ 1
+       #_ALLOCA_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+24 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+25 \ 2
+       ~<¡ddef.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+30 #undeà
+®loÿ
+
+
+33 \r\1e*
+       $®loÿ
+ (
+size_t
+__size
+__THROW
+;
+
+35 #ifdef 
+__GNUC__
+
+
+36 \ 1
+       #®loÿ
+(
+size
+       `__bu\9et\9a_®loÿ
+ (size)
+
+       )
+
+39 
+__END_DECLS
+
+
+       @/usr/include/asm-i386/atomic.h
+
+1 #iâdeà
+__ARCH_I386_ATOMIC__
+
+
+2 \ 1
+       #__ARCH_I386_ATOMIC__
+
+
+       )
+
+10 #ifdeà
+CONFIG_SMP
+
+
+11 \ 1
+       #LOCK
+ "lock ; "
+
+       )
+
+13 \ 1
+       #LOCK
+ ""
+
+       )
+
+21 \e¡ruù { vÞ©\9e\90\12
+       mcouÁ\94
+; } 
+       t©omic_t
+;
+
+23 \ 1
+       #ATOMIC_INIT
+(
+i
+è{ (iè}
+
+       )
+
+31 \ 1
+       #©omic_»ad
+(
+v
+è((v)->
+couÁ\94
+)
+
+       )
+
+40 \ 1
+       #©omic_£t
+(
+v
+,
+i
+è(((v)->
+couÁ\94
+èð(i))
+
+       )
+
+49 \18
+__\9al\9ae__
\1e
+       $©omic_add
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+51 
+__asm__
+       `__vÞ©\9ee__
+(
+
+52 
+LOCK
+ "addl %1,%0"
+
+53 :"=m" (
+v
+->
+couÁ\94
+)
+
+54 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+55 
+       }
+}
+
+64 \18
+__\9al\9ae__
\1e
+       $©omic_sub
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+66 
+__asm__
+       `__vÞ©\9ee__
+(
+
+67 
+LOCK
+ "subl %1,%0"
+
+68 :"=m" (
+v
+->
+couÁ\94
+)
+
+69 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+70 
+       }
+}
+
+81 \18
+__\9al\9ae__
\12
+       $©omic_sub_ªd_\8b¡
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+83 \1d\ 5
+c
+;
+
+85 
+__asm__
+       `__vÞ©\9ee__
+(
+
+86 
+LOCK
+ "subl %2,%0; sete %1"
+
+87 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+88 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+89 \15 
+c
+;
+
+90 
+       }
+}
+
+98 \18
+__\9al\9ae__
\1e
+       $©omic_\9ac
+(
+©omic_t
+ *
+v
+)
+
+100 
+__asm__
+       `__vÞ©\9ee__
+(
+
+101 
+LOCK
+ "incl %0"
+
+102 :"=m" (
+v
+->
+couÁ\94
+)
+
+103 :"m" (
+v
+->
+couÁ\94
+));
+
+104 
+       }
+}
+
+112 \18
+__\9al\9ae__
\1e
+       $©omic_dec
+(
+©omic_t
+ *
+v
+)
+
+114 
+__asm__
+       `__vÞ©\9ee__
+(
+
+115 
+LOCK
+ "decl %0"
+
+116 :"=m" (
+v
+->
+couÁ\94
+)
+
+117 :"m" (
+v
+->
+couÁ\94
+));
+
+118 
+       }
+}
+
+128 \18
+__\9al\9ae__
\12
+       $©omic_dec_ªd_\8b¡
+(
+©omic_t
+ *
+v
+)
+
+130 \1d\ 5
+c
+;
+
+132 
+__asm__
+       `__vÞ©\9ee__
+(
+
+133 
+LOCK
+ "decl %0; sete %1"
+
+134 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+135 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+136 \15 
+c
+ != 0;
+
+137 
+       }
+}
+
+147 \18
+__\9al\9ae__
\12
+       $©omic_\9ac_ªd_\8b¡
+(
+©omic_t
+ *
+v
+)
+
+149 \1d\ 5
+c
+;
+
+151 
+__asm__
+       `__vÞ©\9ee__
+(
+
+152 
+LOCK
+ "incl %0; sete %1"
+
+153 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+154 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+155 \15 
+c
+ != 0;
+
+156 
+       }
+}
+
+167 \18
+__\9al\9ae__
\12
+       $©omic_add_Ãg©ive
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+169 \1d\ 5
+c
+;
+
+171 
+__asm__
+       `__vÞ©\9ee__
+(
+
+172 
+LOCK
+ "addl %2,%0; sets %1"
+
+173 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+174 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+175 \15 
+c
+;
+
+176 
+       }
+}
+
+185 \18
+__\9al\9ae__
\12
+       $©omic_add_»tuº
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+187 \12
+__i
+;
+
+188 #ifdeà
+CONFIG_M386
+
+
+189 if(
+       `uÆik\96y
+(
+boÙ_ýu_d©a
+.
+x86
+==3))
+
+190 \10
+no_xadd
+;
+
+193 
+__i
+ = 
+i
+;
+
+194 
+__asm__
+       `__vÞ©\9ee__
+(
+
+195 
+LOCK
+ "xaddl %0, %1;"
+
+196 :"ô"(
+i
+)
+
+197 :"m"(
+v
+->
+couÁ\94
+), "0"(
+i
+));
+
+198 \15 
+i
+ + 
+__i
+;
+
+200 #ifdeà
+CONFIG_M386
+
+
+201 
+no_xadd
+:
+
+202 
+       `loÿl_\9cq_di§bË
+();
+
+203 
+__i
+ = 
+       `©omic_»ad
+(
+v
+);
+
+204 
+       `©omic_£t
+(
+v
+, 
+i
+ + 
+__i
+);
+
+205 
+       `loÿl_\9cq_\92abË
+();
+
+206 \15 
+i
+ + 
+__i
+;
+
+208 
+       }
+}
+
+210 \18
+__\9al\9ae__
\12
+       $©omic_sub_»tuº
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+212 \15 
+       `©omic_add_»tuº
+(-
+i
+,
+v
+);
+
+213 
+       }
+}
+
+215 \ 1
+       #©omic_\9ac_»tuº
+(
+v
+è(
+       `©omic_add_»tuº
+(1,v))
+
+       )
+
+216 \ 1
+       #©omic_dec_»tuº
+(
+v
+è(
+       `©omic_sub_»tuº
+(1,v))
+
+       )
+
+219 \ 1
+       #©omic_þ\97r_mask
+(
+mask
+, 
+addr
+) \
+
+220 
+__asm__
+       `__vÞ©\9ee__
+(
+LOCK
+ "andl %0,%1" \
+
+221 : : "r" (~(
+mask
+)),"m" (*
+addr
+è: "memÜy")
+
+       )
+
+223 \ 1
+       #©omic_£t_mask
+(
+mask
+, 
+addr
+) \
+
+224 
+__asm__
+       `__vÞ©\9ee__
+(
+LOCK
+ "orl %0,%1" \
+
+225 : : "r" (
+mask
+),"m" (*(
+addr
+)è: "memÜy")
+
+       )
+
+228 \ 1
+       #smp_mb__befÜe_©omic_dec
+(è
+       `b¬r\9br
+()
+
+       )
+
+229 \ 1
+       #smp_mb__aá\94_©omic_dec
+(è
+       `b¬r\9br
+()
+
+       )
+
+230 \ 1
+       #smp_mb__befÜe_©omic_\9ac
+(è
+       `b¬r\9br
+()
+
+       )
+
+231 \ 1
+       #smp_mb__aá\94_©omic_\9ac
+(è
+       `b¬r\9br
+()
+
+       )
+
+       @/usr/include/asm-i386/bitops.h
+
+1 #iâdeà
+_I386_BITOPS_H
+
+
+2 \ 1
+       #_I386_BITOPS_H
+
+
+       )
+
+18 #ià0 && 
+def\9aed
+(
+CONFIG_SMP
+)
+
+19 \ 1
+       #LOCK_PREFIX
+ "lock ; "
+
+       )
+
+21 \ 1
+       #LOCK_PREFIX
+ ""
+
+       )
+
+24 \ 1
+       #ADDR
+ (*(vÞ©\9e\90\13
+addr
+)
+
+       )
+
+41 \18
+\9al\9ae
\1e
+       $£t_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+43 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+45 :"=m" (
+ADDR
+)
+
+46 :"Ir" (
+));
+
+47 
+       }
+}
+
+58 \18
+\9al\9ae
\1e
+       $__£t_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+60 
+       `__asm__
+(
+
+62 :"=m" (
+ADDR
+)
+
+63 :"Ir" (
+));
+
+64 
+       }
+}
+
+76 \18
+\9al\9ae
\1e
+       $þ\97r_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+78 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+80 :"=m" (
+ADDR
+)
+
+81 :"Ir" (
+));
+
+82 
+       }
+}
+
+84 \18
+\9al\9ae
\1e
+       $__þ\97r_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+86 
+__asm__
+       `__vÞ©\9ee__
+(
+
+88 :"=m" (
+ADDR
+)
+
+89 :"Ir" (
+));
+
+90 
+       }
+}
+
+101 \18
+\9al\9ae
\1e
+       $__chªge_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+103 
+__asm__
+       `__vÞ©\9ee__
+(
+
+105 :"=m" (
+ADDR
+)
+
+106 :"Ir" (
+));
+
+107 
+       }
+}
+
+119 \18
+\9al\9ae
\1e
+       $chªge_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+121 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+123 :"=m" (
+ADDR
+)
+
+124 :"Ir" (
+));
+
+125 
+       }
+}
+
+136 \18
+\9al\9ae
\12
+       $\8b¡_ªd_£t_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+138 \12
+Þdb\99
+;
+
+140 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+142 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+143 :"Ir" (
+) : "memory");
+
+144 \15 
+Þdb\99
+;
+
+145 
+       }
+}
+
+156 \18
+\9al\9ae
\12
+       $__\8b¡_ªd_£t_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+158 \12
+Þdb\99
+;
+
+160 
+       `__asm__
+(
+
+162 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+163 :"Ir" (
+));
+
+164 \15 
+Þdb\99
+;
+
+165 
+       }
+}
+
+176 \18
+\9al\9ae
\12
+       $\8b¡_ªd_þ\97r_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+178 \12
+Þdb\99
+;
+
+180 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+182 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+183 :"Ir" (
+) : "memory");
+
+184 \15 
+Þdb\99
+;
+
+185 
+       }
+}
+
+196 \18
+\9al\9ae
\12
+       $__\8b¡_ªd_þ\97r_b\99
+(\12
+, vÞ©\9e\90\1d\13*
+addr
+)
+
+198 \12
+Þdb\99
+;
+
+200 
+       `__asm__
+(
+
+202 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+203 :"Ir" (
+));
+
+204 \15 
+Þdb\99
+;
+
+205 
+       }
+}
+
+208 \18
+\9al\9ae
\12
+       $__\8b¡_ªd_chªge_b\99
+(\12
+, vÞ©\9e\90\1d\13*
+addr
+)
+
+210 \12
+Þdb\99
+;
+
+212 
+__asm__
+       `__vÞ©\9ee__
+(
+
+214 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+215 :"Ir" (
+) : "memory");
+
+216 \15 
+Þdb\99
+;
+
+217 
+       }
+}
+
+227 \18
+\9al\9ae
\12
+       $\8b¡_ªd_chªge_b\99
+(\12
+, vÞ©\9e\90\1d\13
+addr
+)
+
+229 \12
+Þdb\99
+;
+
+231 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+233 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+234 :"Ir" (
+) : "memory");
+
+235 \15 
+Þdb\99
+;
+
+236 
+       }
+}
+
+244 \18\12
+\8b¡_b\99
+(\12
+, cÚ¡ vÞ©\9e\90\1e
+addr
+);
+
+247 \18
+\9al\9ae
\12
+       $cÚ¡ªt_\8b¡_b\99
+(\12
+, cÚ¡ vÞ©\9e\90\1d\13*
+addr
+)
+
+249 \15 ((1UL << (
+ & 31)è& (
+addr
+[nr >> 5])) != 0;
+
+250 
+       }
+}
+
+252 \18
+\9al\9ae
\12
+       $v¬\9fbË_\8b¡_b\99
+(\12
+, cÚ¡ vÞ©\9e\90\1d\13
+addr
+)
+
+254 \12
+Þdb\99
+;
+
+256 
+__asm__
+       `__vÞ©\9ee__
+(
+
+258 :"ô" (
+Þdb\99
+)
+
+259 :"m" (
+ADDR
+),"Ir" (
+));
+
+260 \15 
+Þdb\99
+;
+
+261 
+       }
+}
+
+263 \ 1
+       #\8b¡_b\99
+(
+,
+addr
+) \
+
+264 (
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+) ? \
+
+265 
+       `cÚ¡ªt_\8b¡_b\99
+((
+),(
+addr
+)) : \
+
+266 
+       `v¬\9fbË_\8b¡_b\99
+((
+),(
+addr
+)))
+
+       )
+
+268 #undeà
+ADDR
+
+
+278 \18
+\9al\9ae
\12
+       $f\9ad_f\9c¡_z\94o_b\99
+(cڡ \1d\13*
+addr
+, \1d
+size
+)
+
+280 \12
+d0
+, 
+d1
+, 
+d2
+;
+
+281 \12
+»s
+;
+
+283 ià(!
+size
+)
+
+286 
+__asm__
+       `__vÞ©\9ee__
+(
+
+297 :"=d" (
+»s
+), "=&c" (
+d0
+), "=&D" (
+d1
+), "=&a" (
+d2
+)
+
+298 :"1" ((
+size
+ + 31è>> 5), "2" (
+addr
+), "b" (addr) : "memory");
+
+299 \15 
+»s
+;
+
+300 
+       }
+}
+
+308 \12
+f\9ad_Ãxt_z\94o_b\99
+(cڡ \1d\13*
+addr
+, \12
+size
+, \12
+off£t
+);
+
+318 \18
+\9al\9ae
\12
+       $f\9ad_f\9c¡_b\99
+(cڡ \1d\13*
+addr
+, \1d
+size
+)
+
+320 \12
+d0
+, 
+d1
+;
+
+321 \12
+»s
+;
+
+324 
+__asm__
+       `__vÞ©\9ee__
+(
+
+333 :"÷" (
+»s
+), "=&c" (
+d0
+), "=&D" (
+d1
+)
+
+334 :"1" ((
+size
+ + 31è>> 5), "2" (
+addr
+), "b" (addr) : "memory");
+
+335 \15 
+»s
+;
+
+336 
+       }
+}
+
+344 \12
+f\9ad_Ãxt_b\99
+(cڡ \1d\13*
+addr
+, \12
+size
+, \12
+off£t
+);
+
+352 \18
+\9al\9ae
\1d\13
+       $ffz
+(\1d\13
+wÜd
+)
+
+354 
+       `__asm__
+("bsfl %1,%0"
+
+355 :"ô" (
+wÜd
+)
+
+356 :"r" (~
+wÜd
+));
+
+357 \15 
+wÜd
+;
+
+358 
+       }
+}
+
+366 \18
+\9al\9ae
\1d\13
+       $__ffs
+(\1d\13
+wÜd
+)
+
+368 
+       `__asm__
+("bsfl %1,%0"
+
+369 :"ô" (
+wÜd
+)
+
+370 :"rm" (
+wÜd
+));
+
+371 \15 
+wÜd
+;
+
+372 
+       }
+}
+
+378 \ 1
+       #æs
+(
+x
+       `g\92\94ic_æs
+(x)
+
+       )
+
+       @/usr/include/asm-i386/byteorder.h
+
+1 #iâdeà
+_I386_BYTEORDER_H
+
+
+2 \ 1
+       #_I386_BYTEORDER_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/by\8bÜd\94/l\99\8ee_\92d\9fn.h
+>
+
+       @/usr/include/asm-i386/semaphore.h
+
+1 #iâdeà
+_I386_SEMAPHORE_H
+
+
+2 \ 1
+       #_I386_SEMAPHORE_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/l\9akage.h
+>
+
+       @/usr/include/asm-x86_64/atomic.h
+
+1 #iâdeà
+__ARCH_X86_64_ATOMIC__
+
+
+2 \ 1
+       #__ARCH_X86_64_ATOMIC__
+
+
+       )
+
+12 #ifdeà
+CONFIG_SMP
+
+
+13 \ 1
+       #LOCK
+ "lock ; "
+
+       )
+
+15 \ 1
+       #LOCK
+ ""
+
+       )
+
+23 \e¡ruù { vÞ©\9e\90\12
+       mcouÁ\94
+; } 
+       t©omic_t
+;
+
+25 \ 1
+       #ATOMIC_INIT
+(
+i
+è{ (iè}
+
+       )
+
+33 \ 1
+       #©omic_»ad
+(
+v
+è((v)->
+couÁ\94
+)
+
+       )
+
+42 \ 1
+       #©omic_£t
+(
+v
+,
+i
+è(((v)->
+couÁ\94
+èð(i))
+
+       )
+
+51 \18
+__\9al\9ae__
\1e
+       $©omic_add
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+53 
+__asm__
+       `__vÞ©\9ee__
+(
+
+54 
+LOCK
+ "addl %1,%0"
+
+55 :"=m" (
+v
+->
+couÁ\94
+)
+
+56 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+57 
+       }
+}
+
+66 \18
+__\9al\9ae__
\1e
+       $©omic_sub
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+68 
+__asm__
+       `__vÞ©\9ee__
+(
+
+69 
+LOCK
+ "subl %1,%0"
+
+70 :"=m" (
+v
+->
+couÁ\94
+)
+
+71 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+72 
+       }
+}
+
+83 \18
+__\9al\9ae__
\12
+       $©omic_sub_ªd_\8b¡
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+85 \1d\ 5
+c
+;
+
+87 
+__asm__
+       `__vÞ©\9ee__
+(
+
+88 
+LOCK
+ "subl %2,%0; sete %1"
+
+89 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+90 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+91 \15 
+c
+;
+
+92 
+       }
+}
+
+100 \18
+__\9al\9ae__
\1e
+       $©omic_\9ac
+(
+©omic_t
+ *
+v
+)
+
+102 
+__asm__
+       `__vÞ©\9ee__
+(
+
+103 
+LOCK
+ "incl %0"
+
+104 :"=m" (
+v
+->
+couÁ\94
+)
+
+105 :"m" (
+v
+->
+couÁ\94
+));
+
+106 
+       }
+}
+
+114 \18
+__\9al\9ae__
\1e
+       $©omic_dec
+(
+©omic_t
+ *
+v
+)
+
+116 
+__asm__
+       `__vÞ©\9ee__
+(
+
+117 
+LOCK
+ "decl %0"
+
+118 :"=m" (
+v
+->
+couÁ\94
+)
+
+119 :"m" (
+v
+->
+couÁ\94
+));
+
+120 
+       }
+}
+
+130 \18
+__\9al\9ae__
\12
+       $©omic_dec_ªd_\8b¡
+(
+©omic_t
+ *
+v
+)
+
+132 \1d\ 5
+c
+;
+
+134 
+__asm__
+       `__vÞ©\9ee__
+(
+
+135 
+LOCK
+ "decl %0; sete %1"
+
+136 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+137 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+138 \15 
+c
+ != 0;
+
+139 
+       }
+}
+
+149 \18
+__\9al\9ae__
\12
+       $©omic_\9ac_ªd_\8b¡
+(
+©omic_t
+ *
+v
+)
+
+151 \1d\ 5
+c
+;
+
+153 
+__asm__
+       `__vÞ©\9ee__
+(
+
+154 
+LOCK
+ "incl %0; sete %1"
+
+155 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+156 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+157 \15 
+c
+ != 0;
+
+158 
+       }
+}
+
+169 \18
+__\9al\9ae__
\12
+       $©omic_add_Ãg©ive
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+171 \1d\ 5
+c
+;
+
+173 
+__asm__
+       `__vÞ©\9ee__
+(
+
+174 
+LOCK
+ "addl %2,%0; sets %1"
+
+175 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+176 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+177 \15 
+c
+;
+
+178 
+       }
+}
+
+182 \e¡ruù { vÞ©\9e\90\13
+       mcouÁ\94
+; } 
+       t©omic64_t
+;
+
+184 \ 1
+       #ATOMIC64_INIT
+(
+i
+è{ (iè}
+
+       )
+
+193 \ 1
+       #©omic64_»ad
+(
+v
+è((v)->
+couÁ\94
+)
+
+       )
+
+202 \ 1
+       #©omic64_£t
+(
+v
+,
+i
+è(((v)->
+couÁ\94
+èð(i))
+
+       )
+
+211 \18
+__\9al\9ae__
\1e
+       $©omic64_add
+(\13
+i
+, 
+©omic64_t
+ *
+v
+)
+
+213 
+__asm__
+       `__vÞ©\9ee__
+(
+
+214 
+LOCK
+ "addq %1,%0"
+
+215 :"=m" (
+v
+->
+couÁ\94
+)
+
+216 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+217 
+       }
+}
+
+226 \18
+__\9al\9ae__
\1e
+       $©omic64_sub
+(\13
+i
+, 
+©omic64_t
+ *
+v
+)
+
+228 
+__asm__
+       `__vÞ©\9ee__
+(
+
+229 
+LOCK
+ "subq %1,%0"
+
+230 :"=m" (
+v
+->
+couÁ\94
+)
+
+231 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+));
+
+232 
+       }
+}
+
+243 \18
+__\9al\9ae__
\12
+       $©omic64_sub_ªd_\8b¡
+(\13
+i
+, 
+©omic64_t
+ *
+v
+)
+
+245 \1d\ 5
+c
+;
+
+247 
+__asm__
+       `__vÞ©\9ee__
+(
+
+248 
+LOCK
+ "subq %2,%0; sete %1"
+
+249 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+250 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+251 \15 
+c
+;
+
+252 
+       }
+}
+
+260 \18
+__\9al\9ae__
\1e
+       $©omic64_\9ac
+(
+©omic64_t
+ *
+v
+)
+
+262 
+__asm__
+       `__vÞ©\9ee__
+(
+
+263 
+LOCK
+ "incq %0"
+
+264 :"=m" (
+v
+->
+couÁ\94
+)
+
+265 :"m" (
+v
+->
+couÁ\94
+));
+
+266 
+       }
+}
+
+274 \18
+__\9al\9ae__
\1e
+       $©omic64_dec
+(
+©omic64_t
+ *
+v
+)
+
+276 
+__asm__
+       `__vÞ©\9ee__
+(
+
+277 
+LOCK
+ "decq %0"
+
+278 :"=m" (
+v
+->
+couÁ\94
+)
+
+279 :"m" (
+v
+->
+couÁ\94
+));
+
+280 
+       }
+}
+
+290 \18
+__\9al\9ae__
\12
+       $©omic64_dec_ªd_\8b¡
+(
+©omic64_t
+ *
+v
+)
+
+292 \1d\ 5
+c
+;
+
+294 
+__asm__
+       `__vÞ©\9ee__
+(
+
+295 
+LOCK
+ "decq %0; sete %1"
+
+296 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+297 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+298 \15 
+c
+ != 0;
+
+299 
+       }
+}
+
+309 \18
+__\9al\9ae__
\12
+       $©omic64_\9ac_ªd_\8b¡
+(
+©omic64_t
+ *
+v
+)
+
+311 \1d\ 5
+c
+;
+
+313 
+__asm__
+       `__vÞ©\9ee__
+(
+
+314 
+LOCK
+ "incq %0; sete %1"
+
+315 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+316 :"m" (
+v
+->
+couÁ\94
+) : "memory");
+
+317 \15 
+c
+ != 0;
+
+318 
+       }
+}
+
+329 \18
+__\9al\9ae__
\13
+       $©omic64_add_Ãg©ive
+(\13
+i
+, 
+©omic64_t
+ *
+v
+)
+
+331 \1d\ 5
+c
+;
+
+333 
+__asm__
+       `__vÞ©\9ee__
+(
+
+334 
+LOCK
+ "addq %2,%0; sets %1"
+
+335 :"=m" (
+v
+->
+couÁ\94
+), "=qm" (
+c
+)
+
+336 :"\9c" (
+i
+), "m" (
+v
+->
+couÁ\94
+) : "memory");
+
+337 \15 
+c
+;
+
+338 
+       }
+}
+
+347 \18
+__\9al\9ae__
\12
+       $©omic_add_»tuº
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+349 \12
+__i
+ = 
+i
+;
+
+350 
+__asm__
+       `__vÞ©\9ee__
+(
+
+351 
+LOCK
+ "xaddl %0, %1;"
+
+352 :"ô"(
+i
+)
+
+353 :"m"(
+v
+->
+couÁ\94
+), "0"(
+i
+));
+
+354 \15 
+i
+ + 
+__i
+;
+
+355 
+       }
+}
+
+357 \18
+__\9al\9ae__
\12
+       $©omic_sub_»tuº
+(\12
+i
+, 
+©omic_t
+ *
+v
+)
+
+359 \15 
+       `©omic_add_»tuº
+(-
+i
+,
+v
+);
+
+360 
+       }
+}
+
+362 \ 1
+       #©omic_\9ac_»tuº
+(
+v
+è(
+       `©omic_add_»tuº
+(1,v))
+
+       )
+
+363 \ 1
+       #©omic_dec_»tuº
+(
+v
+è(
+       `©omic_sub_»tuº
+(1,v))
+
+       )
+
+366 \ 1
+       #©omic_þ\97r_mask
+(
+mask
+, 
+addr
+) \
+
+367 
+__asm__
+       `__vÞ©\9ee__
+(
+LOCK
+ "andl %0,%1" \
+
+368 : : "r" (~(
+mask
+)),"m" (*
+addr
+è: "memÜy")
+
+       )
+
+370 \ 1
+       #©omic_£t_mask
+(
+mask
+, 
+addr
+) \
+
+371 
+__asm__
+       `__vÞ©\9ee__
+(
+LOCK
+ "orl %0,%1" \
+
+372 : : "r" ((\1d)
+mask
+),"m" (*(
+addr
+)è: "memÜy")
+
+       )
+
+375 \ 1
+       #smp_mb__befÜe_©omic_dec
+(è
+       `b¬r\9br
+()
+
+       )
+
+376 \ 1
+       #smp_mb__aá\94_©omic_dec
+(è
+       `b¬r\9br
+()
+
+       )
+
+377 \ 1
+       #smp_mb__befÜe_©omic_\9ac
+(è
+       `b¬r\9br
+()
+
+       )
+
+378 \ 1
+       #smp_mb__aá\94_©omic_\9ac
+(è
+       `b¬r\9br
+()
+
+       )
+
+       @/usr/include/asm-x86_64/bitops.h
+
+1 #iâdeà
+_X86_64_BITOPS_H
+
+
+2 \ 1
+       #_X86_64_BITOPS_H
+
+
+       )
+
+11 #ià0 && 
+def\9aed
+(
+CONFIG_SMP
+)
+
+12 \ 1
+       #LOCK_PREFIX
+ "lock ; "
+
+       )
+
+14 \ 1
+       #LOCK_PREFIX
+ ""
+
+       )
+
+17 \ 1
+       #ADDR
+ (*(vÞ©\9e\90\13
+addr
+)
+
+       )
+
+29 \18
+__\9al\9ae__
\1e
+       $£t_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+31 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+33 :"=m" (
+ADDR
+)
+
+34 :"dIr" (
+) : "memory");
+
+35 
+       }
+}
+
+46 \18
+__\9al\9ae__
\1e
+       $__£t_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+48 
+__asm__
+ volatile(
+
+50 :"=m" (
+ADDR
+)
+
+51 :"dIr" (
+) : "memory");
+
+52 
+       }
+}
+
+64 \18
+__\9al\9ae__
\1e
+       $þ\97r_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+66 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+68 :"=m" (
+ADDR
+)
+
+69 :"dIr" (
+));
+
+70 
+       }
+}
+
+72 \18
+__\9al\9ae__
\1e
+       $__þ\97r_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+74 
+__asm__
+       `__vÞ©\9ee__
+(
+
+76 :"=m" (
+ADDR
+)
+
+77 :"dIr" (
+));
+
+78 
+       }
+}
+
+89 \18
+__\9al\9ae__
\1e
+       $__chªge_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+91 
+__asm__
+       `__vÞ©\9ee__
+(
+
+93 :"=m" (
+ADDR
+)
+
+94 :"dIr" (
+));
+
+95 
+       }
+}
+
+106 \18
+__\9al\9ae__
\1e
+       $chªge_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+108 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+110 :"=m" (
+ADDR
+)
+
+111 :"dIr" (
+));
+
+112 
+       }
+}
+
+122 \18
+__\9al\9ae__
\12
+       $\8b¡_ªd_£t_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+124 \12
+Þdb\99
+;
+
+126 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+128 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+129 :"dIr" (
+) : "memory");
+
+130 \15 
+Þdb\99
+;
+
+131 
+       }
+}
+
+142 \18
+__\9al\9ae__
\12
+       $__\8b¡_ªd_£t_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+144 \12
+Þdb\99
+;
+
+146 
+       `__asm__
+(
+
+148 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+149 :"dIr" (
+));
+
+150 \15 
+Þdb\99
+;
+
+151 
+       }
+}
+
+161 \18
+__\9al\9ae__
\12
+       $\8b¡_ªd_þ\97r_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+163 \12
+Þdb\99
+;
+
+165 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+167 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+168 :"dIr" (
+) : "memory");
+
+169 \15 
+Þdb\99
+;
+
+170 
+       }
+}
+
+181 \18
+__\9al\9ae__
\12
+       $__\8b¡_ªd_þ\97r_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+183 \12
+Þdb\99
+;
+
+185 
+       `__asm__
+(
+
+187 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+188 :"dIr" (
+));
+
+189 \15 
+Þdb\99
+;
+
+190 
+       }
+}
+
+193 \18
+__\9al\9ae__
\12
+       $__\8b¡_ªd_chªge_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+195 \12
+Þdb\99
+;
+
+197 
+__asm__
+       `__vÞ©\9ee__
+(
+
+199 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+200 :"dIr" (
+) : "memory");
+
+201 \15 
+Þdb\99
+;
+
+202 
+       }
+}
+
+212 \18
+__\9al\9ae__
\12
+       $\8b¡_ªd_chªge_b\99
+(\12
+, vÞ©\9e\90\1e
+addr
+)
+
+214 \12
+Þdb\99
+;
+
+216 
+__asm__
+       `__vÞ©\9ee__
+LOCK_PREFIX
+
+
+218 :"ô" (
+Þdb\99
+),"=m" (
+ADDR
+)
+
+219 :"dIr" (
+) : "memory");
+
+220 \15 
+Þdb\99
+;
+
+221 
+       }
+}
+
+229 \18\12
+\8b¡_b\99
+(\12
+, cÚ¡ vÞ©\9e\90\1e
+addr
+);
+
+232 \18
+__\9al\9ae__
\12
+       $cÚ¡ªt_\8b¡_b\99
+(\12
+, cÚ¡ vÞ©\9e\90\1e
+addr
+)
+
+234 \15 ((1UL << (
+ & 31)è& (((cÚ¡ vÞ©\9e\90\1d\12
+addr
+)[nr >> 5])) != 0;
+
+235 
+       }
+}
+
+237 \18
+__\9al\9ae__
\12
+       $v¬\9fbË_\8b¡_b\99
+(\12
+, vÞ©\9e\90cÚ¡ \1e
+addr
+)
+
+239 \12
+Þdb\99
+;
+
+241 
+__asm__
+       `__vÞ©\9ee__
+(
+
+243 :"ô" (
+Þdb\99
+)
+
+244 :"m" (
+ADDR
+),"dIr" (
+));
+
+245 \15 
+Þdb\99
+;
+
+246 
+       }
+}
+
+248 \ 1
+       #\8b¡_b\99
+(
+,
+addr
+) \
+
+249 (
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+) ? \
+
+250 
+       `cÚ¡ªt_\8b¡_b\99
+((
+),(
+addr
+)) : \
+
+251 
+       `v¬\9fbË_\8b¡_b\99
+((
+),(
+addr
+)))
+
+       )
+
+253 #undeà
+ADDR
+
+
+255 \r\13
+f\9ad_f\9c¡_z\94o_b\99
+(cڡ \1d\13
+addr
+, \1d\13
+size
+);
+
+256 \r\13
+f\9ad_Ãxt_z\94o_b\99
+ (cڡ \1d\13
+addr
+, \13
+size
+, \13
+off£t
+);
+
+257 \r\13
+f\9ad_f\9c¡_b\99
+(cڡ \1d\13
+addr
+, \1d\13
+size
+);
+
+258 \r\13
+f\9ad_Ãxt_b\99
+(cڡ \1d\13
+addr
+, \13
+size
+, \13
+off£t
+);
+
+261 \18
+\9al\9ae
\1d\13
+       $__sÿnb\99
+(\1d\13
+v®
+, \1d\13
+max
+)
+
+263 
+       `asm
+("bsfq %1,%0 ; cmovz %2,%0" : "=&r" (
+v®
+è: "r" (v®), "r" (
+max
+));
+
+264 \15 
+v®
+;
+
+265 
+       }
+}
+
+267 \ 1
+       #f\9ad_f\9c¡_b\99
+(
+addr
+,
+size
+) \
+
+268 ((
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+size
+è&& (sizeè<ð
+BITS_PER_LONG
+ ? \
+
+269 (
+       `__sÿnb\99
+(*(\1d\13*)
+addr
+,(
+size
+))) : \
+
+270 
+       `f\9ad_f\9c¡_b\99
+(
+addr
+,
+size
+)))
+
+       )
+
+272 \ 1
+       #f\9ad_Ãxt_b\99
+(
+addr
+,
+size
+,
+off
+) \
+
+273 ((
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+size
+è&& (sizeè<ð
+BITS_PER_LONG
+ ? \
+
+274 ((
+off
+è+ (
+       `__sÿnb\99
+((*(\1d\13*)
+addr
+è>> (off),(
+size
+)-(off)))) : \
+
+275 
+       `f\9ad_Ãxt_b\99
+(
+addr
+,
+size
+,
+off
+)))
+
+       )
+
+277 \ 1
+       #f\9ad_f\9c¡_z\94o_b\99
+(
+addr
+,
+size
+) \
+
+278 ((
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+size
+è&& (sizeè<ð
+BITS_PER_LONG
+ ? \
+
+279 (
+       `__sÿnb\99
+(~*(\1d\13*)
+addr
+,(
+size
+))) : \
+
+280 
+       `f\9ad_f\9c¡_z\94o_b\99
+(
+addr
+,
+size
+)))
+
+       )
+
+282 \ 1
+       #f\9ad_Ãxt_z\94o_b\99
+(
+addr
+,
+size
+,
+off
+) \
+
+283 ((
+       `__bu\9et\9a_cÚ¡ªt_p
+(
+size
+è&& (sizeè<ð
+BITS_PER_LONG
+ ? \
+
+284 ((
+off
+)+(
+       `__sÿnb\99
+(~(((*(\1d\13*)
+addr
+)è>> (off)),(
+size
+)-(off)))) : \
+
+285 
+       `f\9ad_Ãxt_z\94o_b\99
+(
+addr
+,
+size
+,
+off
+)))
+
+       )
+
+287 \18
+\9al\9ae
\1e
+       $£t_b\99_¡r\9ag
+(\1d\13*
+b\99
+, \1d\13
+i
+,
+
+288 \12
+Ën
+)
+
+290 \1d\13
+\92d
+ = 
+i
+ + 
+Ën
+;
+
+291 \1f
+i
+ < 
+\92d
+) {
+
+292 
+       `__£t_b\99
+(
+i
+, 
+b\99
+);
+
+293 
+i
+++;
+
+295 
+       }
+}
+
+297 \18
+\9al\9ae
\1e
+       $__þ\97r_b\99_¡r\9ag
+(\1d\13*
+b\99
+, \1d\13
+i
+,
+
+298 \12
+Ën
+)
+
+300 \1d\13
+\92d
+ = 
+i
+ + 
+Ën
+;
+
+301 \1f
+i
+ < 
+\92d
+) {
+
+302 
+       `__þ\97r_b\99
+(
+i
+, 
+b\99
+);
+
+303 
+i
+++;
+
+305 
+       }
+}
+
+313 \18
+__\9al\9ae__
\1d\13
+       $ffz
+(\1d\13
+wÜd
+)
+
+315 
+       `__asm__
+("bsfq %1,%0"
+
+316 :"ô" (
+wÜd
+)
+
+317 :"r" (~
+wÜd
+));
+
+318 \15 
+wÜd
+;
+
+319 
+       }
+}
+
+327 \18
+__\9al\9ae__
\1d\13
+       $__ffs
+(\1d\13
+wÜd
+)
+
+329 
+       `__asm__
+("bsfq %1,%0"
+
+330 :"ô" (
+wÜd
+)
+
+331 :"rm" (
+wÜd
+));
+
+332 \15 
+wÜd
+;
+
+333 
+       }
+}
+
+       @/usr/include/asm-x86_64/byteorder.h
+
+1 #iâdeà
+_X86_64_BYTEORDER_H
+
+
+2 \ 1
+       #_X86_64_BYTEORDER_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/by\8bÜd\94/l\99\8ee_\92d\9fn.h
+>
+
+       @/usr/include/asm-x86_64/semaphore.h
+
+1 #iâdeà
+_X86_64_SEMAPHORE_H
+
+
+2 \ 1
+       #_X86_64_SEMAPHORE_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/l\9akage.h
+>
+
+       @/usr/include/asm/cache.h
+
+5 #iâdeà
+__i386STUB__CACHE_H__
+
+
+6 \ 1
+       #__i386STUB__CACHE_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/ÿche.h
+>
+
+11 \ 2
+       ~<asm-i386/ÿche.h
+>
+
+       @/usr/include/asm/fcntl.h
+
+5 #iâdeà
+__i386STUB__FCNTL_H__
+
+
+6 \ 1
+       #__i386STUB__FCNTL_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/fú\8e.h
+>
+
+11 \ 2
+       ~<asm-i386/fú\8e.h
+>
+
+       @/usr/include/asm/ioctl.h
+
+5 #iâdeà
+__i386STUB__IOCTL_H__
+
+
+6 \ 1
+       #__i386STUB__IOCTL_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/ioùl.h
+>
+
+11 \ 2
+       ~<asm-i386/ioùl.h
+>
+
+       @/usr/include/asm/linkage.h
+
+5 #iâdeà
+__i386STUB__LINKAGE_H__
+
+
+6 \ 1
+       #__i386STUB__LINKAGE_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/l\9akage.h
+>
+
+11 \ 2
+       ~<asm-i386/l\9akage.h
+>
+
+       @/usr/include/asm/types.h
+
+5 #iâdeà
+__i386STUB__TYPES_H__
+
+
+6 \ 1
+       #__i386STUB__TYPES_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/ty³s.h
+>
+
+11 \ 2
+       ~<asm-i386/ty³s.h
+>
+
+       @/usr/include/bits/confname.h
+
+21 #iâdeà
+_UNISTD_H
+
+
+28 
+       m_PC_LINK_MAX
+,
+
+29 \ 1
+       #_PC_LINK_MAX
+_PC_LINK_MAX
+
+
+       )
+
+30 
+       m_PC_MAX_CANON
+,
+
+31 \ 1
+       #_PC_MAX_CANON
+_PC_MAX_CANON
+
+
+       )
+
+32 
+       m_PC_MAX_INPUT
+,
+
+33 \ 1
+       #_PC_MAX_INPUT
+_PC_MAX_INPUT
+
+
+       )
+
+34 
+       m_PC_NAME_MAX
+,
+
+35 \ 1
+       #_PC_NAME_MAX
+_PC_NAME_MAX
+
+
+       )
+
+36 
+       m_PC_PATH_MAX
+,
+
+37 \ 1
+       #_PC_PATH_MAX
+_PC_PATH_MAX
+
+
+       )
+
+38 
+       m_PC_PIPE_BUF
+,
+
+39 \ 1
+       #_PC_PIPE_BUF
+_PC_PIPE_BUF
+
+
+       )
+
+40 
+       m_PC_CHOWN_RESTRICTED
+,
+
+41 \ 1
+       #_PC_CHOWN_RESTRICTED
+_PC_CHOWN_RESTRICTED
+
+
+       )
+
+42 
+       m_PC_NO_TRUNC
+,
+
+43 \ 1
+       #_PC_NO_TRUNC
+_PC_NO_TRUNC
+
+
+       )
+
+44 
+       m_PC_VDISABLE
+,
+
+45 \ 1
+       #_PC_VDISABLE
+_PC_VDISABLE
+
+
+       )
+
+46 
+       m_PC_SYNC_IO
+,
+
+47 \ 1
+       #_PC_SYNC_IO
+_PC_SYNC_IO
+
+
+       )
+
+48 
+       m_PC_ASYNC_IO
+,
+
+49 \ 1
+       #_PC_ASYNC_IO
+_PC_ASYNC_IO
+
+
+       )
+
+50 
+       m_PC_PRIO_IO
+,
+
+51 \ 1
+       #_PC_PRIO_IO
+_PC_PRIO_IO
+
+
+       )
+
+52 
+       m_PC_SOCK_MAXBUF
+,
+
+53 \ 1
+       #_PC_SOCK_MAXBUF
+_PC_SOCK_MAXBUF
+
+
+       )
+
+54 
+       m_PC_FILESIZEBITS
+,
+
+55 \ 1
+       #_PC_FILESIZEBITS
+_PC_FILESIZEBITS
+
+
+       )
+
+56 
+       m_PC_REC_INCR_XFER_SIZE
+,
+
+57 \ 1
+       #_PC_REC_INCR_XFER_SIZE
+_PC_REC_INCR_XFER_SIZE
+
+
+       )
+
+58 
+       m_PC_REC_MAX_XFER_SIZE
+,
+
+59 \ 1
+       #_PC_REC_MAX_XFER_SIZE
+_PC_REC_MAX_XFER_SIZE
+
+
+       )
+
+60 
+       m_PC_REC_MIN_XFER_SIZE
+,
+
+61 \ 1
+       #_PC_REC_MIN_XFER_SIZE
+_PC_REC_MIN_XFER_SIZE
+
+
+       )
+
+62 
+       m_PC_REC_XFER_ALIGN
+,
+
+63 \ 1
+       #_PC_REC_XFER_ALIGN
+_PC_REC_XFER_ALIGN
+
+
+       )
+
+64 
+       m_PC_ALLOC_SIZE_MIN
+,
+
+65 \ 1
+       #_PC_ALLOC_SIZE_MIN
+_PC_ALLOC_SIZE_MIN
+
+
+       )
+
+66 
+       m_PC_SYMLINK_MAX
+,
+
+67 \ 1
+       #_PC_SYMLINK_MAX
+_PC_SYMLINK_MAX
+
+
+       )
+
+68 
+       m_PC_2_SYMLINKS
+
+
+69 \ 1
+       #_PC_2_SYMLINKS
+_PC_2_SYMLINKS
+
+
+       )
+
+75 
+       m_SC_ARG_MAX
+,
+
+76 \ 1
+       #_SC_ARG_MAX
+_SC_ARG_MAX
+
+
+       )
+
+77 
+       m_SC_CHILD_MAX
+,
+
+78 \ 1
+       #_SC_CHILD_MAX
+_SC_CHILD_MAX
+
+
+       )
+
+79 
+       m_SC_CLK_TCK
+,
+
+80 \ 1
+       #_SC_CLK_TCK
+_SC_CLK_TCK
+
+
+       )
+
+81 
+       m_SC_NGROUPS_MAX
+,
+
+82 \ 1
+       #_SC_NGROUPS_MAX
+_SC_NGROUPS_MAX
+
+
+       )
+
+83 
+       m_SC_OPEN_MAX
+,
+
+84 \ 1
+       #_SC_OPEN_MAX
+_SC_OPEN_MAX
+
+
+       )
+
+85 
+       m_SC_STREAM_MAX
+,
+
+86 \ 1
+       #_SC_STREAM_MAX
+_SC_STREAM_MAX
+
+
+       )
+
+87 
+       m_SC_TZNAME_MAX
+,
+
+88 \ 1
+       #_SC_TZNAME_MAX
+_SC_TZNAME_MAX
+
+
+       )
+
+89 
+       m_SC_JOB_CONTROL
+,
+
+90 \ 1
+       #_SC_JOB_CONTROL
+_SC_JOB_CONTROL
+
+
+       )
+
+91 
+       m_SC_SAVED_IDS
+,
+
+92 \ 1
+       #_SC_SAVED_IDS
+_SC_SAVED_IDS
+
+
+       )
+
+93 
+       m_SC_REALTIME_SIGNALS
+,
+
+94 \ 1
+       #_SC_REALTIME_SIGNALS
+_SC_REALTIME_SIGNALS
+
+
+       )
+
+95 
+       m_SC_PRIORITY_SCHEDULING
+,
+
+96 \ 1
+       #_SC_PRIORITY_SCHEDULING
+_SC_PRIORITY_SCHEDULING
+
+
+       )
+
+97 
+       m_SC_TIMERS
+,
+
+98 \ 1
+       #_SC_TIMERS
+_SC_TIMERS
+
+
+       )
+
+99 
+       m_SC_ASYNCHRONOUS_IO
+,
+
+100 \ 1
+       #_SC_ASYNCHRONOUS_IO
+_SC_ASYNCHRONOUS_IO
+
+
+       )
+
+101 
+       m_SC_PRIORITIZED_IO
+,
+
+102 \ 1
+       #_SC_PRIORITIZED_IO
+_SC_PRIORITIZED_IO
+
+
+       )
+
+103 
+       m_SC_SYNCHRONIZED_IO
+,
+
+104 \ 1
+       #_SC_SYNCHRONIZED_IO
+_SC_SYNCHRONIZED_IO
+
+
+       )
+
+105 
+       m_SC_FSYNC
+,
+
+106 \ 1
+       #_SC_FSYNC
+_SC_FSYNC
+
+
+       )
+
+107 
+       m_SC_MAPPED_FILES
+,
+
+108 \ 1
+       #_SC_MAPPED_FILES
+_SC_MAPPED_FILES
+
+
+       )
+
+109 
+       m_SC_MEMLOCK
+,
+
+110 \ 1
+       #_SC_MEMLOCK
+_SC_MEMLOCK
+
+
+       )
+
+111 
+       m_SC_MEMLOCK_RANGE
+,
+
+112 \ 1
+       #_SC_MEMLOCK_RANGE
+_SC_MEMLOCK_RANGE
+
+
+       )
+
+113 
+       m_SC_MEMORY_PROTECTION
+,
+
+114 \ 1
+       #_SC_MEMORY_PROTECTION
+_SC_MEMORY_PROTECTION
+
+
+       )
+
+115 
+       m_SC_MESSAGE_PASSING
+,
+
+116 \ 1
+       #_SC_MESSAGE_PASSING
+_SC_MESSAGE_PASSING
+
+
+       )
+
+117 
+       m_SC_SEMAPHORES
+,
+
+118 \ 1
+       #_SC_SEMAPHORES
+_SC_SEMAPHORES
+
+
+       )
+
+119 
+       m_SC_SHARED_MEMORY_OBJECTS
+,
+
+120 \ 1
+       #_SC_SHARED_MEMORY_OBJECTS
+_SC_SHARED_MEMORY_OBJECTS
+
+
+       )
+
+121 
+       m_SC_AIO_LISTIO_MAX
+,
+
+122 \ 1
+       #_SC_AIO_LISTIO_MAX
+_SC_AIO_LISTIO_MAX
+
+
+       )
+
+123 
+       m_SC_AIO_MAX
+,
+
+124 \ 1
+       #_SC_AIO_MAX
+_SC_AIO_MAX
+
+
+       )
+
+125 
+       m_SC_AIO_PRIO_DELTA_MAX
+,
+
+126 \ 1
+       #_SC_AIO_PRIO_DELTA_MAX
+_SC_AIO_PRIO_DELTA_MAX
+
+
+       )
+
+127 
+       m_SC_DELAYTIMER_MAX
+,
+
+128 \ 1
+       #_SC_DELAYTIMER_MAX
+_SC_DELAYTIMER_MAX
+
+
+       )
+
+129 
+       m_SC_MQ_OPEN_MAX
+,
+
+130 \ 1
+       #_SC_MQ_OPEN_MAX
+_SC_MQ_OPEN_MAX
+
+
+       )
+
+131 
+       m_SC_MQ_PRIO_MAX
+,
+
+132 \ 1
+       #_SC_MQ_PRIO_MAX
+_SC_MQ_PRIO_MAX
+
+
+       )
+
+133 
+       m_SC_VERSION
+,
+
+134 \ 1
+       #_SC_VERSION
+_SC_VERSION
+
+
+       )
+
+135 
+       m_SC_PAGESIZE
+,
+
+136 \ 1
+       #_SC_PAGESIZE
+_SC_PAGESIZE
+
+
+       )
+
+137 \ 1
+       #_SC_PAGE_SIZE
+_SC_PAGESIZE
+
+
+       )
+
+138 
+       m_SC_RTSIG_MAX
+,
+
+139 \ 1
+       #_SC_RTSIG_MAX
+_SC_RTSIG_MAX
+
+
+       )
+
+140 
+       m_SC_SEM_NSEMS_MAX
+,
+
+141 \ 1
+       #_SC_SEM_NSEMS_MAX
+_SC_SEM_NSEMS_MAX
+
+
+       )
+
+142 
+       m_SC_SEM_VALUE_MAX
+,
+
+143 \ 1
+       #_SC_SEM_VALUE_MAX
+_SC_SEM_VALUE_MAX
+
+
+       )
+
+144 
+       m_SC_SIGQUEUE_MAX
+,
+
+145 \ 1
+       #_SC_SIGQUEUE_MAX
+_SC_SIGQUEUE_MAX
+
+
+       )
+
+146 
+       m_SC_TIMER_MAX
+,
+
+147 \ 1
+       #_SC_TIMER_MAX
+_SC_TIMER_MAX
+
+
+       )
+
+151 
+       m_SC_BC_BASE_MAX
+,
+
+152 \ 1
+       #_SC_BC_BASE_MAX
+_SC_BC_BASE_MAX
+
+
+       )
+
+153 
+       m_SC_BC_DIM_MAX
+,
+
+154 \ 1
+       #_SC_BC_DIM_MAX
+_SC_BC_DIM_MAX
+
+
+       )
+
+155 
+       m_SC_BC_SCALE_MAX
+,
+
+156 \ 1
+       #_SC_BC_SCALE_MAX
+_SC_BC_SCALE_MAX
+
+
+       )
+
+157 
+       m_SC_BC_STRING_MAX
+,
+
+158 \ 1
+       #_SC_BC_STRING_MAX
+_SC_BC_STRING_MAX
+
+
+       )
+
+159 
+       m_SC_COLL_WEIGHTS_MAX
+,
+
+160 \ 1
+       #_SC_COLL_WEIGHTS_MAX
+_SC_COLL_WEIGHTS_MAX
+
+
+       )
+
+161 
+       m_SC_EQUIV_CLASS_MAX
+,
+
+162 \ 1
+       #_SC_EQUIV_CLASS_MAX
+_SC_EQUIV_CLASS_MAX
+
+
+       )
+
+163 
+       m_SC_EXPR_NEST_MAX
+,
+
+164 \ 1
+       #_SC_EXPR_NEST_MAX
+_SC_EXPR_NEST_MAX
+
+
+       )
+
+165 
+       m_SC_LINE_MAX
+,
+
+166 \ 1
+       #_SC_LINE_MAX
+_SC_LINE_MAX
+
+
+       )
+
+167 
+       m_SC_RE_DUP_MAX
+,
+
+168 \ 1
+       #_SC_RE_DUP_MAX
+_SC_RE_DUP_MAX
+
+
+       )
+
+169 
+       m_SC_CHARCLASS_NAME_MAX
+,
+
+170 \ 1
+       #_SC_CHARCLASS_NAME_MAX
+_SC_CHARCLASS_NAME_MAX
+
+
+       )
+
+172 
+       m_SC_2_VERSION
+,
+
+173 \ 1
+       #_SC_2_VERSION
+_SC_2_VERSION
+
+
+       )
+
+174 
+       m_SC_2_C_BIND
+,
+
+175 \ 1
+       #_SC_2_C_BIND
+_SC_2_C_BIND
+
+
+       )
+
+176 
+       m_SC_2_C_DEV
+,
+
+177 \ 1
+       #_SC_2_C_DEV
+_SC_2_C_DEV
+
+
+       )
+
+178 
+       m_SC_2_FORT_DEV
+,
+
+179 \ 1
+       #_SC_2_FORT_DEV
+_SC_2_FORT_DEV
+
+
+       )
+
+180 
+       m_SC_2_FORT_RUN
+,
+
+181 \ 1
+       #_SC_2_FORT_RUN
+_SC_2_FORT_RUN
+
+
+       )
+
+182 
+       m_SC_2_SW_DEV
+,
+
+183 \ 1
+       #_SC_2_SW_DEV
+_SC_2_SW_DEV
+
+
+       )
+
+184 
+       m_SC_2_LOCALEDEF
+,
+
+185 \ 1
+       #_SC_2_LOCALEDEF
+_SC_2_LOCALEDEF
+
+
+       )
+
+187 
+       m_SC_PII
+,
+
+188 \ 1
+       #_SC_PII
+_SC_PII
+
+
+       )
+
+189 
+       m_SC_PII_XTI
+,
+
+190 \ 1
+       #_SC_PII_XTI
+_SC_PII_XTI
+
+
+       )
+
+191 
+       m_SC_PII_SOCKET
+,
+
+192 \ 1
+       #_SC_PII_SOCKET
+_SC_PII_SOCKET
+
+
+       )
+
+193 
+       m_SC_PII_INTERNET
+,
+
+194 \ 1
+       #_SC_PII_INTERNET
+_SC_PII_INTERNET
+
+
+       )
+
+195 
+       m_SC_PII_OSI
+,
+
+196 \ 1
+       #_SC_PII_OSI
+_SC_PII_OSI
+
+
+       )
+
+197 
+       m_SC_POLL
+,
+
+198 \ 1
+       #_SC_POLL
+_SC_POLL
+
+
+       )
+
+199 
+       m_SC_SELECT
+,
+
+200 \ 1
+       #_SC_SELECT
+_SC_SELECT
+
+
+       )
+
+201 
+       m_SC_UIO_MAXIOV
+,
+
+202 \ 1
+       #_SC_UIO_MAXIOV
+_SC_UIO_MAXIOV
+
+
+       )
+
+203 
+       m_SC_IOV_MAX
+ = 
+_SC_UIO_MAXIOV
+,
+
+204 \ 1
+       #_SC_IOV_MAX
+_SC_IOV_MAX
+
+
+       )
+
+205 
+       m_SC_PII_INTERNET_STREAM
+,
+
+206 \ 1
+       #_SC_PII_INTERNET_STREAM
+_SC_PII_INTERNET_STREAM
+
+
+       )
+
+207 
+       m_SC_PII_INTERNET_DGRAM
+,
+
+208 \ 1
+       #_SC_PII_INTERNET_DGRAM
+_SC_PII_INTERNET_DGRAM
+
+
+       )
+
+209 
+       m_SC_PII_OSI_COTS
+,
+
+210 \ 1
+       #_SC_PII_OSI_COTS
+_SC_PII_OSI_COTS
+
+
+       )
+
+211 
+       m_SC_PII_OSI_CLTS
+,
+
+212 \ 1
+       #_SC_PII_OSI_CLTS
+_SC_PII_OSI_CLTS
+
+
+       )
+
+213 
+       m_SC_PII_OSI_M
+,
+
+214 \ 1
+       #_SC_PII_OSI_M
+_SC_PII_OSI_M
+
+
+       )
+
+215 
+       m_SC_T_IOV_MAX
+,
+
+216 \ 1
+       #_SC_T_IOV_MAX
+_SC_T_IOV_MAX
+
+
+       )
+
+219 
+       m_SC_THREADS
+,
+
+220 \ 1
+       #_SC_THREADS
+_SC_THREADS
+
+
+       )
+
+221 
+       m_SC_THREAD_SAFE_FUNCTIONS
+,
+
+222 \ 1
+       #_SC_THREAD_SAFE_FUNCTIONS
+_SC_THREAD_SAFE_FUNCTIONS
+
+
+       )
+
+223 
+       m_SC_GETGR_R_SIZE_MAX
+,
+
+224 \ 1
+       #_SC_GETGR_R_SIZE_MAX
+_SC_GETGR_R_SIZE_MAX
+
+
+       )
+
+225 
+       m_SC_GETPW_R_SIZE_MAX
+,
+
+226 \ 1
+       #_SC_GETPW_R_SIZE_MAX
+_SC_GETPW_R_SIZE_MAX
+
+
+       )
+
+227 
+       m_SC_LOGIN_NAME_MAX
+,
+
+228 \ 1
+       #_SC_LOGIN_NAME_MAX
+_SC_LOGIN_NAME_MAX
+
+
+       )
+
+229 
+       m_SC_TTY_NAME_MAX
+,
+
+230 \ 1
+       #_SC_TTY_NAME_MAX
+_SC_TTY_NAME_MAX
+
+
+       )
+
+231 
+       m_SC_THREAD_DESTRUCTOR_ITERATIONS
+,
+
+232 \ 1
+       #_SC_THREAD_DESTRUCTOR_ITERATIONS
+_SC_THREAD_DESTRUCTOR_ITERATIONS
+
+
+       )
+
+233 
+       m_SC_THREAD_KEYS_MAX
+,
+
+234 \ 1
+       #_SC_THREAD_KEYS_MAX
+_SC_THREAD_KEYS_MAX
+
+
+       )
+
+235 
+       m_SC_THREAD_STACK_MIN
+,
+
+236 \ 1
+       #_SC_THREAD_STACK_MIN
+_SC_THREAD_STACK_MIN
+
+
+       )
+
+237 
+       m_SC_THREAD_THREADS_MAX
+,
+
+238 \ 1
+       #_SC_THREAD_THREADS_MAX
+_SC_THREAD_THREADS_MAX
+
+
+       )
+
+239 
+       m_SC_THREAD_ATTR_STACKADDR
+,
+
+240 \ 1
+       #_SC_THREAD_ATTR_STACKADDR
+_SC_THREAD_ATTR_STACKADDR
+
+
+       )
+
+241 
+       m_SC_THREAD_ATTR_STACKSIZE
+,
+
+242 \ 1
+       #_SC_THREAD_ATTR_STACKSIZE
+_SC_THREAD_ATTR_STACKSIZE
+
+
+       )
+
+243 
+       m_SC_THREAD_PRIORITY_SCHEDULING
+,
+
+244 \ 1
+       #_SC_THREAD_PRIORITY_SCHEDULING
+_SC_THREAD_PRIORITY_SCHEDULING
+
+
+       )
+
+245 
+       m_SC_THREAD_PRIO_INHERIT
+,
+
+246 \ 1
+       #_SC_THREAD_PRIO_INHERIT
+_SC_THREAD_PRIO_INHERIT
+
+
+       )
+
+247 
+       m_SC_THREAD_PRIO_PROTECT
+,
+
+248 \ 1
+       #_SC_THREAD_PRIO_PROTECT
+_SC_THREAD_PRIO_PROTECT
+
+
+       )
+
+249 
+       m_SC_THREAD_PROCESS_SHARED
+,
+
+250 \ 1
+       #_SC_THREAD_PROCESS_SHARED
+_SC_THREAD_PROCESS_SHARED
+
+
+       )
+
+252 
+       m_SC_NPROCESSORS_CONF
+,
+
+253 \ 1
+       #_SC_NPROCESSORS_CONF
+_SC_NPROCESSORS_CONF
+
+
+       )
+
+254 
+       m_SC_NPROCESSORS_ONLN
+,
+
+255 \ 1
+       #_SC_NPROCESSORS_ONLN
+_SC_NPROCESSORS_ONLN
+
+
+       )
+
+256 
+       m_SC_PHYS_PAGES
+,
+
+257 \ 1
+       #_SC_PHYS_PAGES
+_SC_PHYS_PAGES
+
+
+       )
+
+258 
+       m_SC_AVPHYS_PAGES
+,
+
+259 \ 1
+       #_SC_AVPHYS_PAGES
+_SC_AVPHYS_PAGES
+
+
+       )
+
+260 
+       m_SC_ATEXIT_MAX
+,
+
+261 \ 1
+       #_SC_ATEXIT_MAX
+_SC_ATEXIT_MAX
+
+
+       )
+
+262 
+       m_SC_PASS_MAX
+,
+
+263 \ 1
+       #_SC_PASS_MAX
+_SC_PASS_MAX
+
+
+       )
+
+265 
+       m_SC_XOPEN_VERSION
+,
+
+266 \ 1
+       #_SC_XOPEN_VERSION
+_SC_XOPEN_VERSION
+
+
+       )
+
+267 
+       m_SC_XOPEN_XCU_VERSION
+,
+
+268 \ 1
+       #_SC_XOPEN_XCU_VERSION
+_SC_XOPEN_XCU_VERSION
+
+
+       )
+
+269 
+       m_SC_XOPEN_UNIX
+,
+
+270 \ 1
+       #_SC_XOPEN_UNIX
+_SC_XOPEN_UNIX
+
+
+       )
+
+271 
+       m_SC_XOPEN_CRYPT
+,
+
+272 \ 1
+       #_SC_XOPEN_CRYPT
+_SC_XOPEN_CRYPT
+
+
+       )
+
+273 
+       m_SC_XOPEN_ENH_I18N
+,
+
+274 \ 1
+       #_SC_XOPEN_ENH_I18N
+_SC_XOPEN_ENH_I18N
+
+
+       )
+
+275 
+       m_SC_XOPEN_SHM
+,
+
+276 \ 1
+       #_SC_XOPEN_SHM
+_SC_XOPEN_SHM
+
+
+       )
+
+278 
+       m_SC_2_CHAR_TERM
+,
+
+279 \ 1
+       #_SC_2_CHAR_TERM
+_SC_2_CHAR_TERM
+
+
+       )
+
+280 
+       m_SC_2_C_VERSION
+,
+
+281 \ 1
+       #_SC_2_C_VERSION
+_SC_2_C_VERSION
+
+
+       )
+
+282 
+       m_SC_2_UPE
+,
+
+283 \ 1
+       #_SC_2_UPE
+_SC_2_UPE
+
+
+       )
+
+285 
+       m_SC_XOPEN_XPG2
+,
+
+286 \ 1
+       #_SC_XOPEN_XPG2
+_SC_XOPEN_XPG2
+
+
+       )
+
+287 
+       m_SC_XOPEN_XPG3
+,
+
+288 \ 1
+       #_SC_XOPEN_XPG3
+_SC_XOPEN_XPG3
+
+
+       )
+
+289 
+       m_SC_XOPEN_XPG4
+,
+
+290 \ 1
+       #_SC_XOPEN_XPG4
+_SC_XOPEN_XPG4
+
+
+       )
+
+292 
+       m_SC_CHAR_BIT
+,
+
+293 \ 1
+       #_SC_CHAR_BIT
+_SC_CHAR_BIT
+
+
+       )
+
+294 
+       m_SC_CHAR_MAX
+,
+
+295 \ 1
+       #_SC_CHAR_MAX
+_SC_CHAR_MAX
+
+
+       )
+
+296 
+       m_SC_CHAR_MIN
+,
+
+297 \ 1
+       #_SC_CHAR_MIN
+_SC_CHAR_MIN
+
+
+       )
+
+298 
+       m_SC_INT_MAX
+,
+
+299 \ 1
+       #_SC_INT_MAX
+_SC_INT_MAX
+
+
+       )
+
+300 
+       m_SC_INT_MIN
+,
+
+301 \ 1
+       #_SC_INT_MIN
+_SC_INT_MIN
+
+
+       )
+
+302 
+       m_SC_LONG_BIT
+,
+
+303 \ 1
+       #_SC_LONG_BIT
+_SC_LONG_BIT
+
+
+       )
+
+304 
+       m_SC_WORD_BIT
+,
+
+305 \ 1
+       #_SC_WORD_BIT
+_SC_WORD_BIT
+
+
+       )
+
+306 
+       m_SC_MB_LEN_MAX
+,
+
+307 \ 1
+       #_SC_MB_LEN_MAX
+_SC_MB_LEN_MAX
+
+
+       )
+
+308 
+       m_SC_NZERO
+,
+
+309 \ 1
+       #_SC_NZERO
+_SC_NZERO
+
+
+       )
+
+310 
+       m_SC_SSIZE_MAX
+,
+
+311 \ 1
+       #_SC_SSIZE_MAX
+_SC_SSIZE_MAX
+
+
+       )
+
+312 
+       m_SC_SCHAR_MAX
+,
+
+313 \ 1
+       #_SC_SCHAR_MAX
+_SC_SCHAR_MAX
+
+
+       )
+
+314 
+       m_SC_SCHAR_MIN
+,
+
+315 \ 1
+       #_SC_SCHAR_MIN
+_SC_SCHAR_MIN
+
+
+       )
+
+316 
+       m_SC_SHRT_MAX
+,
+
+317 \ 1
+       #_SC_SHRT_MAX
+_SC_SHRT_MAX
+
+
+       )
+
+318 
+       m_SC_SHRT_MIN
+,
+
+319 \ 1
+       #_SC_SHRT_MIN
+_SC_SHRT_MIN
+
+
+       )
+
+320 
+       m_SC_UCHAR_MAX
+,
+
+321 \ 1
+       #_SC_UCHAR_MAX
+_SC_UCHAR_MAX
+
+
+       )
+
+322 
+       m_SC_UINT_MAX
+,
+
+323 \ 1
+       #_SC_UINT_MAX
+_SC_UINT_MAX
+
+
+       )
+
+324 
+       m_SC_ULONG_MAX
+,
+
+325 \ 1
+       #_SC_ULONG_MAX
+_SC_ULONG_MAX
+
+
+       )
+
+326 
+       m_SC_USHRT_MAX
+,
+
+327 \ 1
+       #_SC_USHRT_MAX
+_SC_USHRT_MAX
+
+
+       )
+
+329 
+       m_SC_NL_ARGMAX
+,
+
+330 \ 1
+       #_SC_NL_ARGMAX
+_SC_NL_ARGMAX
+
+
+       )
+
+331 
+       m_SC_NL_LANGMAX
+,
+
+332 \ 1
+       #_SC_NL_LANGMAX
+_SC_NL_LANGMAX
+
+
+       )
+
+333 
+       m_SC_NL_MSGMAX
+,
+
+334 \ 1
+       #_SC_NL_MSGMAX
+_SC_NL_MSGMAX
+
+
+       )
+
+335 
+       m_SC_NL_NMAX
+,
+
+336 \ 1
+       #_SC_NL_NMAX
+_SC_NL_NMAX
+
+
+       )
+
+337 
+       m_SC_NL_SETMAX
+,
+
+338 \ 1
+       #_SC_NL_SETMAX
+_SC_NL_SETMAX
+
+
+       )
+
+339 
+       m_SC_NL_TEXTMAX
+,
+
+340 \ 1
+       #_SC_NL_TEXTMAX
+_SC_NL_TEXTMAX
+
+
+       )
+
+342 
+       m_SC_XBS5_ILP32_OFF32
+,
+
+343 \ 1
+       #_SC_XBS5_ILP32_OFF32
+_SC_XBS5_ILP32_OFF32
+
+
+       )
+
+344 
+       m_SC_XBS5_ILP32_OFFBIG
+,
+
+345 \ 1
+       #_SC_XBS5_ILP32_OFFBIG
+_SC_XBS5_ILP32_OFFBIG
+
+
+       )
+
+346 
+       m_SC_XBS5_LP64_OFF64
+,
+
+347 \ 1
+       #_SC_XBS5_LP64_OFF64
+_SC_XBS5_LP64_OFF64
+
+
+       )
+
+348 
+       m_SC_XBS5_LPBIG_OFFBIG
+,
+
+349 \ 1
+       #_SC_XBS5_LPBIG_OFFBIG
+_SC_XBS5_LPBIG_OFFBIG
+
+
+       )
+
+351 
+       m_SC_XOPEN_LEGACY
+,
+
+352 \ 1
+       #_SC_XOPEN_LEGACY
+_SC_XOPEN_LEGACY
+
+
+       )
+
+353 
+       m_SC_XOPEN_REALTIME
+,
+
+354 \ 1
+       #_SC_XOPEN_REALTIME
+_SC_XOPEN_REALTIME
+
+
+       )
+
+355 
+       m_SC_XOPEN_REALTIME_THREADS
+,
+
+356 \ 1
+       #_SC_XOPEN_REALTIME_THREADS
+_SC_XOPEN_REALTIME_THREADS
+
+
+       )
+
+358 
+       m_SC_ADVISORY_INFO
+,
+
+359 \ 1
+       #_SC_ADVISORY_INFO
+_SC_ADVISORY_INFO
+
+
+       )
+
+360 
+       m_SC_BARRIERS
+,
+
+361 \ 1
+       #_SC_BARRIERS
+_SC_BARRIERS
+
+
+       )
+
+362 
+       m_SC_BASE
+,
+
+363 \ 1
+       #_SC_BASE
+_SC_BASE
+
+
+       )
+
+364 
+       m_SC_C_LANG_SUPPORT
+,
+
+365 \ 1
+       #_SC_C_LANG_SUPPORT
+_SC_C_LANG_SUPPORT
+
+
+       )
+
+366 
+       m_SC_C_LANG_SUPPORT_R
+,
+
+367 \ 1
+       #_SC_C_LANG_SUPPORT_R
+_SC_C_LANG_SUPPORT_R
+
+
+       )
+
+368 
+       m_SC_CLOCK_SELECTION
+,
+
+369 \ 1
+       #_SC_CLOCK_SELECTION
+_SC_CLOCK_SELECTION
+
+
+       )
+
+370 
+       m_SC_CPUTIME
+,
+
+371 \ 1
+       #_SC_CPUTIME
+_SC_CPUTIME
+
+
+       )
+
+372 
+       m_SC_THREAD_CPUTIME
+,
+
+373 \ 1
+       #_SC_THREAD_CPUTIME
+_SC_THREAD_CPUTIME
+
+
+       )
+
+374 
+       m_SC_DEVICE_IO
+,
+
+375 \ 1
+       #_SC_DEVICE_IO
+_SC_DEVICE_IO
+
+
+       )
+
+376 
+       m_SC_DEVICE_SPECIFIC
+,
+
+377 \ 1
+       #_SC_DEVICE_SPECIFIC
+_SC_DEVICE_SPECIFIC
+
+
+       )
+
+378 
+       m_SC_DEVICE_SPECIFIC_R
+,
+
+379 \ 1
+       #_SC_DEVICE_SPECIFIC_R
+_SC_DEVICE_SPECIFIC_R
+
+
+       )
+
+380 
+       m_SC_FD_MGMT
+,
+
+381 \ 1
+       #_SC_FD_MGMT
+_SC_FD_MGMT
+
+
+       )
+
+382 
+       m_SC_FIFO
+,
+
+383 \ 1
+       #_SC_FIFO
+_SC_FIFO
+
+
+       )
+
+384 
+       m_SC_PIPE
+,
+
+385 \ 1
+       #_SC_PIPE
+_SC_PIPE
+
+
+       )
+
+386 
+       m_SC_FILE_ATTRIBUTES
+,
+
+387 \ 1
+       #_SC_FILE_ATTRIBUTES
+_SC_FILE_ATTRIBUTES
+
+
+       )
+
+388 
+       m_SC_FILE_LOCKING
+,
+
+389 \ 1
+       #_SC_FILE_LOCKING
+_SC_FILE_LOCKING
+
+
+       )
+
+390 
+       m_SC_FILE_SYSTEM
+,
+
+391 \ 1
+       #_SC_FILE_SYSTEM
+_SC_FILE_SYSTEM
+
+
+       )
+
+392 
+       m_SC_MONOTONIC_CLOCK
+,
+
+393 \ 1
+       #_SC_MONOTONIC_CLOCK
+_SC_MONOTONIC_CLOCK
+
+
+       )
+
+394 
+       m_SC_MULTI_PROCESS
+,
+
+395 \ 1
+       #_SC_MULTI_PROCESS
+_SC_MULTI_PROCESS
+
+
+       )
+
+396 
+       m_SC_SINGLE_PROCESS
+,
+
+397 \ 1
+       #_SC_SINGLE_PROCESS
+_SC_SINGLE_PROCESS
+
+
+       )
+
+398 
+       m_SC_NETWORKING
+,
+
+399 \ 1
+       #_SC_NETWORKING
+_SC_NETWORKING
+
+
+       )
+
+400 
+       m_SC_READER_WRITER_LOCKS
+,
+
+401 \ 1
+       #_SC_READER_WRITER_LOCKS
+_SC_READER_WRITER_LOCKS
+
+
+       )
+
+402 
+       m_SC_SPIN_LOCKS
+,
+
+403 \ 1
+       #_SC_SPIN_LOCKS
+_SC_SPIN_LOCKS
+
+
+       )
+
+404 
+       m_SC_REGEXP
+,
+
+405 \ 1
+       #_SC_REGEXP
+_SC_REGEXP
+
+
+       )
+
+406 
+       m_SC_REGEX_VERSION
+,
+
+407 \ 1
+       #_SC_REGEX_VERSION
+_SC_REGEX_VERSION
+
+
+       )
+
+408 
+       m_SC_SHELL
+,
+
+409 \ 1
+       #_SC_SHELL
+_SC_SHELL
+
+
+       )
+
+410 
+       m_SC_SIGNALS
+,
+
+411 \ 1
+       #_SC_SIGNALS
+_SC_SIGNALS
+
+
+       )
+
+412 
+       m_SC_SPAWN
+,
+
+413 \ 1
+       #_SC_SPAWN
+_SC_SPAWN
+
+
+       )
+
+414 
+       m_SC_SPORADIC_SERVER
+,
+
+415 \ 1
+       #_SC_SPORADIC_SERVER
+_SC_SPORADIC_SERVER
+
+
+       )
+
+416 
+       m_SC_THREAD_SPORADIC_SERVER
+,
+
+417 \ 1
+       #_SC_THREAD_SPORADIC_SERVER
+_SC_THREAD_SPORADIC_SERVER
+
+
+       )
+
+418 
+       m_SC_SYSTEM_DATABASE
+,
+
+419 \ 1
+       #_SC_SYSTEM_DATABASE
+_SC_SYSTEM_DATABASE
+
+
+       )
+
+420 
+       m_SC_SYSTEM_DATABASE_R
+,
+
+421 \ 1
+       #_SC_SYSTEM_DATABASE_R
+_SC_SYSTEM_DATABASE_R
+
+
+       )
+
+422 
+       m_SC_TIMEOUTS
+,
+
+423 \ 1
+       #_SC_TIMEOUTS
+_SC_TIMEOUTS
+
+
+       )
+
+424 
+       m_SC_TYPED_MEMORY_OBJECTS
+,
+
+425 \ 1
+       #_SC_TYPED_MEMORY_OBJECTS
+_SC_TYPED_MEMORY_OBJECTS
+
+
+       )
+
+426 
+       m_SC_USER_GROUPS
+,
+
+427 \ 1
+       #_SC_USER_GROUPS
+_SC_USER_GROUPS
+
+
+       )
+
+428 
+       m_SC_USER_GROUPS_R
+,
+
+429 \ 1
+       #_SC_USER_GROUPS_R
+_SC_USER_GROUPS_R
+
+
+       )
+
+430 
+       m_SC_2_PBS
+,
+
+431 \ 1
+       #_SC_2_PBS
+_SC_2_PBS
+
+
+       )
+
+432 
+       m_SC_2_PBS_ACCOUNTING
+,
+
+433 \ 1
+       #_SC_2_PBS_ACCOUNTING
+_SC_2_PBS_ACCOUNTING
+
+
+       )
+
+434 
+       m_SC_2_PBS_LOCATE
+,
+
+435 \ 1
+       #_SC_2_PBS_LOCATE
+_SC_2_PBS_LOCATE
+
+
+       )
+
+436 
+       m_SC_2_PBS_MESSAGE
+,
+
+437 \ 1
+       #_SC_2_PBS_MESSAGE
+_SC_2_PBS_MESSAGE
+
+
+       )
+
+438 
+       m_SC_2_PBS_TRACK
+,
+
+439 \ 1
+       #_SC_2_PBS_TRACK
+_SC_2_PBS_TRACK
+
+
+       )
+
+440 
+       m_SC_SYMLOOP_MAX
+,
+
+441 \ 1
+       #_SC_SYMLOOP_MAX
+_SC_SYMLOOP_MAX
+
+
+       )
+
+442 
+       m_SC_STREAMS
+,
+
+443 \ 1
+       #_SC_STREAMS
+_SC_STREAMS
+
+
+       )
+
+444 
+       m_SC_2_PBS_CHECKPOINT
+,
+
+445 \ 1
+       #_SC_2_PBS_CHECKPOINT
+_SC_2_PBS_CHECKPOINT
+
+
+       )
+
+447 
+       m_SC_V6_ILP32_OFF32
+,
+
+448 \ 1
+       #_SC_V6_ILP32_OFF32
+_SC_V6_ILP32_OFF32
+
+
+       )
+
+449 
+       m_SC_V6_ILP32_OFFBIG
+,
+
+450 \ 1
+       #_SC_V6_ILP32_OFFBIG
+_SC_V6_ILP32_OFFBIG
+
+
+       )
+
+451 
+       m_SC_V6_LP64_OFF64
+,
+
+452 \ 1
+       #_SC_V6_LP64_OFF64
+_SC_V6_LP64_OFF64
+
+
+       )
+
+453 
+       m_SC_V6_LPBIG_OFFBIG
+,
+
+454 \ 1
+       #_SC_V6_LPBIG_OFFBIG
+_SC_V6_LPBIG_OFFBIG
+
+
+       )
+
+456 
+       m_SC_HOST_NAME_MAX
+,
+
+457 \ 1
+       #_SC_HOST_NAME_MAX
+_SC_HOST_NAME_MAX
+
+
+       )
+
+458 
+       m_SC_TRACE
+,
+
+459 \ 1
+       #_SC_TRACE
+_SC_TRACE
+
+
+       )
+
+460 
+       m_SC_TRACE_EVENT_FILTER
+,
+
+461 \ 1
+       #_SC_TRACE_EVENT_FILTER
+_SC_TRACE_EVENT_FILTER
+
+
+       )
+
+462 
+       m_SC_TRACE_INHERIT
+,
+
+463 \ 1
+       #_SC_TRACE_INHERIT
+_SC_TRACE_INHERIT
+
+
+       )
+
+464 
+       m_SC_TRACE_LOG
+,
+
+465 \ 1
+       #_SC_TRACE_LOG
+_SC_TRACE_LOG
+
+
+       )
+
+467 
+       m_SC_LEVEL1_ICACHE_SIZE
+,
+
+468 \ 1
+       #_SC_LEVEL1_ICACHE_SIZE
+_SC_LEVEL1_ICACHE_SIZE
+
+
+       )
+
+469 
+       m_SC_LEVEL1_ICACHE_ASSOC
+,
+
+470 \ 1
+       #_SC_LEVEL1_ICACHE_ASSOC
+_SC_LEVEL1_ICACHE_ASSOC
+
+
+       )
+
+471 
+       m_SC_LEVEL1_ICACHE_LINESIZE
+,
+
+472 \ 1
+       #_SC_LEVEL1_ICACHE_LINESIZE
+_SC_LEVEL1_ICACHE_LINESIZE
+
+
+       )
+
+473 
+       m_SC_LEVEL1_DCACHE_SIZE
+,
+
+474 \ 1
+       #_SC_LEVEL1_DCACHE_SIZE
+_SC_LEVEL1_DCACHE_SIZE
+
+
+       )
+
+475 
+       m_SC_LEVEL1_DCACHE_ASSOC
+,
+
+476 \ 1
+       #_SC_LEVEL1_DCACHE_ASSOC
+_SC_LEVEL1_DCACHE_ASSOC
+
+
+       )
+
+477 
+       m_SC_LEVEL1_DCACHE_LINESIZE
+,
+
+478 \ 1
+       #_SC_LEVEL1_DCACHE_LINESIZE
+_SC_LEVEL1_DCACHE_LINESIZE
+
+
+       )
+
+479 
+       m_SC_LEVEL2_CACHE_SIZE
+,
+
+480 \ 1
+       #_SC_LEVEL2_CACHE_SIZE
+_SC_LEVEL2_CACHE_SIZE
+
+
+       )
+
+481 
+       m_SC_LEVEL2_CACHE_ASSOC
+,
+
+482 \ 1
+       #_SC_LEVEL2_CACHE_ASSOC
+_SC_LEVEL2_CACHE_ASSOC
+
+
+       )
+
+483 
+       m_SC_LEVEL2_CACHE_LINESIZE
+,
+
+484 \ 1
+       #_SC_LEVEL2_CACHE_LINESIZE
+_SC_LEVEL2_CACHE_LINESIZE
+
+
+       )
+
+485 
+       m_SC_LEVEL3_CACHE_SIZE
+,
+
+486 \ 1
+       #_SC_LEVEL3_CACHE_SIZE
+_SC_LEVEL3_CACHE_SIZE
+
+
+       )
+
+487 
+       m_SC_LEVEL3_CACHE_ASSOC
+,
+
+488 \ 1
+       #_SC_LEVEL3_CACHE_ASSOC
+_SC_LEVEL3_CACHE_ASSOC
+
+
+       )
+
+489 
+       m_SC_LEVEL3_CACHE_LINESIZE
+,
+
+490 \ 1
+       #_SC_LEVEL3_CACHE_LINESIZE
+_SC_LEVEL3_CACHE_LINESIZE
+
+
+       )
+
+491 
+       m_SC_LEVEL4_CACHE_SIZE
+,
+
+492 \ 1
+       #_SC_LEVEL4_CACHE_SIZE
+_SC_LEVEL4_CACHE_SIZE
+
+
+       )
+
+493 
+       m_SC_LEVEL4_CACHE_ASSOC
+,
+
+494 \ 1
+       #_SC_LEVEL4_CACHE_ASSOC
+_SC_LEVEL4_CACHE_ASSOC
+
+
+       )
+
+495 
+       m_SC_LEVEL4_CACHE_LINESIZE
+,
+
+496 \ 1
+       #_SC_LEVEL4_CACHE_LINESIZE
+_SC_LEVEL4_CACHE_LINESIZE
+
+
+       )
+
+499 
+       m_SC_IPV6
+ = 
+_SC_LEVEL1_ICACHE_SIZE
+ + 50,
+
+500 \ 1
+       #_SC_IPV6
+_SC_IPV6
+
+
+       )
+
+501 
+       m_SC_RAW_SOCKETS
+
+
+502 \ 1
+       #_SC_RAW_SOCKETS
+_SC_RAW_SOCKETS
+
+
+       )
+
+508 
+       m_CS_PATH
+,
+
+509 \ 1
+       #_CS_PATH
+_CS_PATH
+
+
+       )
+
+511 
+       m_CS_V6_WIDTH_RESTRICTED_ENVS
+,
+
+512 \ 1
+       #_CS_V6_WIDTH_RESTRICTED_ENVS
+_CS_V6_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+514 
+       m_CS_GNU_LIBC_VERSION
+,
+
+515 \ 1
+       #_CS_GNU_LIBC_VERSION
+_CS_GNU_LIBC_VERSION
+
+
+       )
+
+516 
+       m_CS_GNU_LIBPTHREAD_VERSION
+,
+
+517 \ 1
+       #_CS_GNU_LIBPTHREAD_VERSION
+_CS_GNU_LIBPTHREAD_VERSION
+
+
+       )
+
+519 
+       m_CS_LFS_CFLAGS
+ = 1000,
+
+520 \ 1
+       #_CS_LFS_CFLAGS
+_CS_LFS_CFLAGS
+
+
+       )
+
+521 
+       m_CS_LFS_LDFLAGS
+,
+
+522 \ 1
+       #_CS_LFS_LDFLAGS
+_CS_LFS_LDFLAGS
+
+
+       )
+
+523 
+       m_CS_LFS_LIBS
+,
+
+524 \ 1
+       #_CS_LFS_LIBS
+_CS_LFS_LIBS
+
+
+       )
+
+525 
+       m_CS_LFS_LINTFLAGS
+,
+
+526 \ 1
+       #_CS_LFS_LINTFLAGS
+_CS_LFS_LINTFLAGS
+
+
+       )
+
+527 
+       m_CS_LFS64_CFLAGS
+,
+
+528 \ 1
+       #_CS_LFS64_CFLAGS
+_CS_LFS64_CFLAGS
+
+
+       )
+
+529 
+       m_CS_LFS64_LDFLAGS
+,
+
+530 \ 1
+       #_CS_LFS64_LDFLAGS
+_CS_LFS64_LDFLAGS
+
+
+       )
+
+531 
+       m_CS_LFS64_LIBS
+,
+
+532 \ 1
+       #_CS_LFS64_LIBS
+_CS_LFS64_LIBS
+
+
+       )
+
+533 
+       m_CS_LFS64_LINTFLAGS
+,
+
+534 \ 1
+       #_CS_LFS64_LINTFLAGS
+_CS_LFS64_LINTFLAGS
+
+
+       )
+
+536 
+       m_CS_XBS5_ILP32_OFF32_CFLAGS
+ = 1100,
+
+537 \ 1
+       #_CS_XBS5_ILP32_OFF32_CFLAGS
+_CS_XBS5_ILP32_OFF32_CFLAGS
+
+
+       )
+
+538 
+       m_CS_XBS5_ILP32_OFF32_LDFLAGS
+,
+
+539 \ 1
+       #_CS_XBS5_ILP32_OFF32_LDFLAGS
+_CS_XBS5_ILP32_OFF32_LDFLAGS
+
+
+       )
+
+540 
+       m_CS_XBS5_ILP32_OFF32_LIBS
+,
+
+541 \ 1
+       #_CS_XBS5_ILP32_OFF32_LIBS
+_CS_XBS5_ILP32_OFF32_LIBS
+
+
+       )
+
+542 
+       m_CS_XBS5_ILP32_OFF32_LINTFLAGS
+,
+
+543 \ 1
+       #_CS_XBS5_ILP32_OFF32_LINTFLAGS
+_CS_XBS5_ILP32_OFF32_LINTFLAGS
+
+
+       )
+
+544 
+       m_CS_XBS5_ILP32_OFFBIG_CFLAGS
+,
+
+545 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_CFLAGS
+_CS_XBS5_ILP32_OFFBIG_CFLAGS
+
+
+       )
+
+546 
+       m_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+,
+
+547 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+
+
+       )
+
+548 
+       m_CS_XBS5_ILP32_OFFBIG_LIBS
+,
+
+549 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LIBS
+_CS_XBS5_ILP32_OFFBIG_LIBS
+
+
+       )
+
+550 
+       m_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+,
+
+551 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+
+
+       )
+
+552 
+       m_CS_XBS5_LP64_OFF64_CFLAGS
+,
+
+553 \ 1
+       #_CS_XBS5_LP64_OFF64_CFLAGS
+_CS_XBS5_LP64_OFF64_CFLAGS
+
+
+       )
+
+554 
+       m_CS_XBS5_LP64_OFF64_LDFLAGS
+,
+
+555 \ 1
+       #_CS_XBS5_LP64_OFF64_LDFLAGS
+_CS_XBS5_LP64_OFF64_LDFLAGS
+
+
+       )
+
+556 
+       m_CS_XBS5_LP64_OFF64_LIBS
+,
+
+557 \ 1
+       #_CS_XBS5_LP64_OFF64_LIBS
+_CS_XBS5_LP64_OFF64_LIBS
+
+
+       )
+
+558 
+       m_CS_XBS5_LP64_OFF64_LINTFLAGS
+,
+
+559 \ 1
+       #_CS_XBS5_LP64_OFF64_LINTFLAGS
+_CS_XBS5_LP64_OFF64_LINTFLAGS
+
+
+       )
+
+560 
+       m_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+,
+
+561 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+
+
+       )
+
+562 
+       m_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+,
+
+563 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+
+
+       )
+
+564 
+       m_CS_XBS5_LPBIG_OFFBIG_LIBS
+,
+
+565 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LIBS
+_CS_XBS5_LPBIG_OFFBIG_LIBS
+
+
+       )
+
+566 
+       m_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+,
+
+567 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+
+
+       )
+
+569 
+       m_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+,
+
+570 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+
+
+       )
+
+571 
+       m_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+,
+
+572 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+
+
+       )
+
+573 
+       m_CS_POSIX_V6_ILP32_OFF32_LIBS
+,
+
+574 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LIBS
+_CS_POSIX_V6_ILP32_OFF32_LIBS
+
+
+       )
+
+575 
+       m_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+,
+
+576 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+
+
+       )
+
+577 
+       m_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+,
+
+578 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+
+
+       )
+
+579 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+,
+
+580 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+
+
+       )
+
+581 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+,
+
+582 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+
+
+       )
+
+583 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+,
+
+584 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+
+
+       )
+
+585 
+       m_CS_POSIX_V6_LP64_OFF64_CFLAGS
+,
+
+586 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_CFLAGS
+_CS_POSIX_V6_LP64_OFF64_CFLAGS
+
+
+       )
+
+587 
+       m_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+,
+
+588 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+
+
+       )
+
+589 
+       m_CS_POSIX_V6_LP64_OFF64_LIBS
+,
+
+590 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LIBS
+_CS_POSIX_V6_LP64_OFF64_LIBS
+
+
+       )
+
+591 
+       m_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+,
+
+592 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+
+
+       )
+
+593 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+,
+
+594 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+
+
+       )
+
+595 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+,
+
+596 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+
+
+       )
+
+597 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+,
+
+598 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+
+
+       )
+
+599 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+
+600 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+
+       )
+
+       @/usr/include/bits/dirent.h
+
+19 #iâdeà
+_DIRENT_H
+
+
+23 \19
+       sd\9c\92t
+
+
+25 #iâdeà
+__USE_FILE_OFFSET64
+
+
+26 
+__\9ao_t
+       md_\9ao
+;
+
+27 
+__off_t
+       md_off
+;
+
+29 
+__\9ao64_t
+       md_\9ao
+;
+
+30 
+__off64_t
+       md_off
+;
+
+32 \1d\16\12
+       md_»þ\92
+;
+
+33 \1d\ 5
+       md_ty³
+;
+
+34 \ 5
+       md_Çme
+[256];
+
+37 #ifdeà
+__USE_LARGEFILE64
+
+
+38 \19
+       sd\9c\92t64
+
+
+40 
+__\9ao64_t
+       md_\9ao
+;
+
+41 
+__off64_t
+       md_off
+;
+
+42 \1d\16\12
+       md_»þ\92
+;
+
+43 \1d\ 5
+       md_ty³
+;
+
+44 \ 5
+       md_Çme
+[256];
+
+48 \ 1
+       #d_f\9e\92o
+d_\9ao
+
+
+       )
+
+50 #undeà
+_DIRENT_HAVE_D_NAMLEN
+
+
+51 \ 1
+       #_DIRENT_HAVE_D_RECLEN
+
+
+       )
+
+52 \ 1
+       #_DIRENT_HAVE_D_OFF
+
+
+       )
+
+53 \ 1
+       #_DIRENT_HAVE_D_TYPE
+
+
+       )
+
+       @/usr/include/bits/environments.h
+
+19 #iâdeà
+_UNISTD_H
+
+
+41 \ 1
+       #_POSIX_V6_ILP32_OFF32
+ 1
+
+       )
+
+42 \ 1
+       #_POSIX_V6_ILP32_OFFBIG
+ 1
+
+       )
+
+43 \ 1
+       #_XBS5_ILP32_OFF32
+ 1
+
+       )
+
+44 \ 1
+       #_XBS5_ILP32_OFFBIG
+ 1
+
+       )
+
+57 \ 1
+       #__ILP32_OFF32_CFLAGS
+ "-m32"
+
+       )
+
+58 \ 1
+       #__ILP32_OFFBIG_CFLAGS
+ "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
+       )
+
+59 \ 1
+       #__ILP32_OFF32_LDFLAGS
+ "-m32"
+
+       )
+
+60 \ 1
+       #__ILP32_OFFBIG_LDFLAGS
+ "-m32"
+
+       )
+
+61 \ 1
+       #__LP64_OFF64_CFLAGS
+ "-m64"
+
+       )
+
+62 \ 1
+       #__LP64_OFF64_LDFLAGS
+ "-m64"
+
+       )
+
+       @/usr/include/bits/errno.h
+
+20 #ifdeà
+_ERRNO_H
+
+
+22 #undeà
+EDOM
+
+
+23 #undeà
+EILSEQ
+
+
+24 #undeà
+ERANGE
+
+
+25 \ 2
+       ~<l\9aux/\94ºo.h
+>
+
+28 \ 1
+       #ENOTSUP
+EOPNOTSUPP
+
+
+       )
+
+32 #iâdeà
+ECANCELED
+
+
+33 \ 1
+       #ECANCELED
+ 125
+
+       )
+
+36 #iâdeà
+__ASSEMBLER__
+
+
+38 \r\12*
+       $__\94ºo_loÿtiÚ
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+40 #ià!
+def\9aed
+_LIBC
+ || def\9aed 
+_LIBC_REENTRANT
+
+
+42 \ 1
+       #\94ºo
+ (*
+       `__\94ºo_loÿtiÚ
+ ())
+
+       )
+
+47 #ià!
+def\9aed
+_ERRNO_H
+ && def\9aed 
+__Ãed_Em©h
+
+
+51 \ 1
+       #EDOM
+ 33
+
+       )
+
+52 \ 1
+       #EILSEQ
+ 84
+
+       )
+
+53 \ 1
+       #ERANGE
+ 34
+
+       )
+
+       @/usr/include/bits/fcntl.h
+
+21 #iâdef 
+_FCNTL_H
+
+
+26 \ 2
+       ~<sys/ty³s.h
+>
+
+30 \ 1
+       #O_ACCMODE
+ 0003
+
+       )
+
+31 \ 1
+       #O_RDONLY
+ 00
+
+       )
+
+32 \ 1
+       #O_WRONLY
+ 01
+
+       )
+
+33 \ 1
+       #O_RDWR
+ 02
+
+       )
+
+34 \ 1
+       #O_CREAT
+ 0100
+
+       )
+
+35 \ 1
+       #O_EXCL
+ 0200
+
+       )
+
+36 \ 1
+       #O_NOCTTY
+ 0400
+
+       )
+
+37 \ 1
+       #O_TRUNC
+ 01000
+
+       )
+
+38 \ 1
+       #O_APPEND
+ 02000
+
+       )
+
+39 \ 1
+       #O_NONBLOCK
+ 04000
+
+       )
+
+40 \ 1
+       #O_NDELAY
+O_NONBLOCK
+
+
+       )
+
+41 \ 1
+       #O_SYNC
+ 010000
+
+       )
+
+42 \ 1
+       #O_FSYNC
+O_SYNC
+
+
+       )
+
+43 \ 1
+       #O_ASYNC
+ 020000
+
+       )
+
+45 #ifdeà
+__USE_GNU
+
+
+46 \ 1
+       #O_DIRECT
+ 040000
+
+       )
+
+47 \ 1
+       #O_DIRECTORY
+ 0200000
+
+       )
+
+48 \ 1
+       #O_NOFOLLOW
+ 0400000
+
+       )
+
+49 \ 1
+       #O_NOATIME
+ 01000000
+
+       )
+
+55 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_UNIX98
+
+
+56 \ 1
+       #O_DSYNC
+O_SYNC
+
+
+       )
+
+57 \ 1
+       #O_RSYNC
+O_SYNC
+
+
+       )
+
+60 #ifdeà
+__USE_LARGEFILE64
+
+
+61 \ 1
+       #O_LARGEFILE
+ 0100000
+
+       )
+
+65 \ 1
+       #F_DUPFD
+ 0
+
+       )
+
+66 \ 1
+       #F_GETFD
+ 1
+
+       )
+
+67 \ 1
+       #F_SETFD
+ 2
+
+       )
+
+68 \ 1
+       #F_GETFL
+ 3
+
+       )
+
+69 \ 1
+       #F_SETFL
+ 4
+
+       )
+
+70 #iâdeà
+__USE_FILE_OFFSET64
+
+
+71 \ 1
+       #F_GETLK
+ 5
+
+       )
+
+72 \ 1
+       #F_SETLK
+ 6
+
+       )
+
+73 \ 1
+       #F_SETLKW
+ 7
+
+       )
+
+75 \ 1
+       #F_GETLK
+F_GETLK64
+
+
+       )
+
+76 \ 1
+       #F_SETLK
+F_SETLK64
+
+
+       )
+
+77 \ 1
+       #F_SETLKW
+F_SETLKW64
+
+
+       )
+
+79 \ 1
+       #F_GETLK64
+ 12
+
+       )
+
+80 \ 1
+       #F_SETLK64
+ 13
+
+       )
+
+81 \ 1
+       #F_SETLKW64
+ 14
+
+       )
+
+83 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_UNIX98
+
+
+84 \ 1
+       #F_SETOWN
+ 8
+
+       )
+
+85 \ 1
+       #F_GETOWN
+ 9
+
+       )
+
+88 #ifdeà
+__USE_GNU
+
+
+89 \ 1
+       #F_SETSIG
+ 10
+
+       )
+
+90 \ 1
+       #F_GETSIG
+ 11
+
+       )
+
+93 #ifdeà
+__USE_GNU
+
+
+94 \ 1
+       #F_SETLEASE
+ 1024
+
+       )
+
+95 \ 1
+       #F_GETLEASE
+ 1025
+
+       )
+
+96 \ 1
+       #F_NOTIFY
+ 1026
+
+       )
+
+100 \ 1
+       #FD_CLOEXEC
+ 1
+
+       )
+
+103 \ 1
+       #F_RDLCK
+ 0
+
+       )
+
+104 \ 1
+       #F_WRLCK
+ 1
+
+       )
+
+105 \ 1
+       #F_UNLCK
+ 2
+
+       )
+
+108 \ 1
+       #F_EXLCK
+ 4
+
+       )
+
+109 \ 1
+       #F_SHLCK
+ 8
+
+       )
+
+111 #ifdeà
+__USE_BSD
+
+
+113 \ 1
+       #LOCK_SH
+ 1
+
+       )
+
+114 \ 1
+       #LOCK_EX
+ 2
+
+       )
+
+115 \ 1
+       #LOCK_NB
+ 4
+
+       )
+
+117 \ 1
+       #LOCK_UN
+ 8
+
+       )
+
+120 #ifdeà
+__USE_GNU
+
+
+121 \ 1
+       #LOCK_MAND
+ 32
+
+       )
+
+122 \ 1
+       #LOCK_READ
+ 64
+
+       )
+
+123 \ 1
+       #LOCK_WRITE
+ 128
+
+       )
+
+124 \ 1
+       #LOCK_RW
+ 192
+
+       )
+
+127 #ifdeà
+__USE_GNU
+
+
+129 \ 1
+       #DN_ACCESS
+ 0x00000001
+
+       )
+
+130 \ 1
+       #DN_MODIFY
+ 0x00000002
+
+       )
+
+131 \ 1
+       #DN_CREATE
+ 0x00000004
+
+       )
+
+132 \ 1
+       #DN_DELETE
+ 0x00000008
+
+       )
+
+133 \ 1
+       #DN_RENAME
+ 0x00000010
+
+       )
+
+134 \ 1
+       #DN_ATTRIB
+ 0x00000020
+
+       )
+
+135 \ 1
+       #DN_MULTISHOT
+ 0x80000000
+
+       )
+
+138 \19
+       sæock
+
+
+140 \16\12
+       ml_ty³
+;
+
+141 \16\12
+       ml_wh\92û
+;
+
+142 #iâdeà
+__USE_FILE_OFFSET64
+
+
+143 
+__off_t
+       ml_¡¬t
+;
+
+144 
+__off_t
+       ml_Ën
+;
+
+146 
+__off64_t
+       ml_¡¬t
+;
+
+147 
+__off64_t
+       ml_Ën
+;
+
+149 
+__pid_t
+       ml_pid
+;
+
+152 #ifdeà
+__USE_LARGEFILE64
+
+
+153 \19
+       sæock64
+
+
+155 \16\12
+       ml_ty³
+;
+
+156 \16\12
+       ml_wh\92û
+;
+
+157 
+__off64_t
+       ml_¡¬t
+;
+
+158 
+__off64_t
+       ml_Ën
+;
+
+159 
+__pid_t
+       ml_pid
+;
+
+165 #ifdef 
+__USE_BSD
+
+
+166 \ 1
+       #FAPPEND
+O_APPEND
+
+
+       )
+
+167 \ 1
+       #FFSYNC
+O_FSYNC
+
+
+       )
+
+168 \ 1
+       #FASYNC
+O_ASYNC
+
+
+       )
+
+169 \ 1
+       #FNONBLOCK
+O_NONBLOCK
+
+
+       )
+
+170 \ 1
+       #FNDELAY
+O_NDELAY
+
+
+       )
+
+174 #ifdeà
+__USE_XOPEN2K
+
+
+175 \ 1
+       #POSIX_FADV_NORMAL
+ 0
+
+       )
+
+176 \ 1
+       #POSIX_FADV_RANDOM
+ 1
+
+       )
+
+177 \ 1
+       #POSIX_FADV_SEQUENTIAL
+ 2
+
+       )
+
+178 \ 1
+       #POSIX_FADV_WILLNEED
+ 3
+
+       )
+
+179 \ 1
+       #POSIX_FADV_DONTNEED
+ 4
+
+       )
+
+180 \ 1
+       #POSIX_FADV_NOREUSE
+ 5
+
+       )
+
+183 
+__BEGIN_DECLS
+
+
+186 \r
+ssize_t
+       $»adah\97d
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, 
+size_t
+__couÁ
+)
+
+187 
+__THROW
+;
+
+189 
+__END_DECLS
+
+
+       @/usr/include/bits/posix1_lim.h
+
+25 #iâdef 
+_BITS_POSIX1_LIM_H
+
+
+26 \ 1
+       #_BITS_POSIX1_LIM_H
+ 1
+
+       )
+
+32 \ 1
+       #_POSIX_AIO_LISTIO_MAX
+ 2
+
+       )
+
+35 \ 1
+       #_POSIX_AIO_MAX
+ 1
+
+       )
+
+38 \ 1
+       #_POSIX_ARG_MAX
+ 4096
+
+       )
+
+41 #ifdeà
+__USE_XOPEN2K
+
+
+42 \ 1
+       #_POSIX_CHILD_MAX
+ 25
+
+       )
+
+44 \ 1
+       #_POSIX_CHILD_MAX
+ 6
+
+       )
+
+48 \ 1
+       #_POSIX_DELAYTIMER_MAX
+ 32
+
+       )
+
+52 \ 1
+       #_POSIX_HOST_NAME_MAX
+ 255
+
+       )
+
+55 \ 1
+       #_POSIX_LINK_MAX
+ 8
+
+       )
+
+58 \ 1
+       #_POSIX_LOGIN_NAME_MAX
+ 9
+
+       )
+
+61 \ 1
+       #_POSIX_MAX_CANON
+ 255
+
+       )
+
+65 \ 1
+       #_POSIX_MAX_INPUT
+ 255
+
+       )
+
+68 \ 1
+       #_POSIX_MQ_OPEN_MAX
+ 8
+
+       )
+
+71 \ 1
+       #_POSIX_MQ_PRIO_MAX
+ 32
+
+       )
+
+74 \ 1
+       #_POSIX_NAME_MAX
+ 14
+
+       )
+
+77 #ifdeà
+__USE_XOPEN2K
+
+
+78 \ 1
+       #_POSIX_NGROUPS_MAX
+ 8
+
+       )
+
+80 \ 1
+       #_POSIX_NGROUPS_MAX
+ 0
+
+       )
+
+84 #ifdeà
+__USE_XOPEN2K
+
+
+85 \ 1
+       #_POSIX_OPEN_MAX
+ 20
+
+       )
+
+87 \ 1
+       #_POSIX_OPEN_MAX
+ 16
+
+       )
+
+92 \ 1
+       #_POSIX_FD_SETSIZE
+_POSIX_OPEN_MAX
+
+
+       )
+
+95 \ 1
+       #_POSIX_PATH_MAX
+ 256
+
+       )
+
+98 \ 1
+       #_POSIX_PIPE_BUF
+ 512
+
+       )
+
+102 \ 1
+       #_POSIX_RE_DUP_MAX
+ 255
+
+       )
+
+105 \ 1
+       #_POSIX_RTSIG_MAX
+ 8
+
+       )
+
+108 \ 1
+       #_POSIX_SEM_NSEMS_MAX
+ 256
+
+       )
+
+111 \ 1
+       #_POSIX_SEM_VALUE_MAX
+ 32767
+
+       )
+
+114 \ 1
+       #_POSIX_SIGQUEUE_MAX
+ 32
+
+       )
+
+117 \ 1
+       #_POSIX_SSIZE_MAX
+ 32767
+
+       )
+
+120 \ 1
+       #_POSIX_STREAM_MAX
+ 8
+
+       )
+
+123 \ 1
+       #_POSIX_SYMLINK_MAX
+ 255
+
+       )
+
+127 \ 1
+       #_POSIX_SYMLOOP_MAX
+ 8
+
+       )
+
+130 \ 1
+       #_POSIX_TIMER_MAX
+ 32
+
+       )
+
+133 \ 1
+       #_POSIX_TTY_NAME_MAX
+ 9
+
+       )
+
+136 \ 1
+       #_POSIX_TZNAME_MAX
+ 6
+
+       )
+
+139 \ 1
+       #_POSIX_QLIMIT
+ 1
+
+       )
+
+143 \ 1
+       #_POSIX_HIWAT
+_POSIX_PIPE_BUF
+
+
+       )
+
+146 \ 1
+       #_POSIX_UIO_MAXIOV
+ 16
+
+       )
+
+149 \ 1
+       #_POSIX_CLOCKRES_MIN
+ 20000000
+
+       )
+
+153 \ 2
+       ~<b\99s/loÿl_lim.h
+>
+
+156 #iâdef 
+SSIZE_MAX
+
+
+157 \ 1
+       #SSIZE_MAX
+LONG_MAX
+
+
+       )
+
+164 #iâdef 
+NGROUPS_MAX
+
+
+165 \ 1
+       #NGROUPS_MAX
+ 8
+
+       )
+
+       @/usr/include/bits/posix_opt.h
+
+20 #iâdef 
+_POSIX_OPT_H
+
+
+21 \ 1
+       #_POSIX_OPT_H
+ 1
+
+       )
+
+24 \ 1
+       #_POSIX_JOB_CONTROL
+ 1
+
+       )
+
+27 \ 1
+       #_POSIX_SAVED_IDS
+ 1
+
+       )
+
+30 \ 1
+       #_POSIX_PRIORITY_SCHEDULING
+ 200112L
+
+       )
+
+33 \ 1
+       #_POSIX_SYNCHRONIZED_IO
+ 200112L
+
+       )
+
+36 \ 1
+       #_POSIX_FSYNC
+ 200112L
+
+       )
+
+39 \ 1
+       #_POSIX_MAPPED_FILES
+ 200112L
+
+       )
+
+42 \ 1
+       #_POSIX_MEMLOCK
+ 200112L
+
+       )
+
+45 \ 1
+       #_POSIX_MEMLOCK_RANGE
+ 200112L
+
+       )
+
+48 \ 1
+       #_POSIX_MEMORY_PROTECTION
+ 200112L
+
+       )
+
+51 \ 1
+       #_POSIX_CHOWN_RESTRICTED
+ 1
+
+       )
+
+55 \ 1
+       #_POSIX_VDISABLE
+ '\0'
+
+       )
+
+58 \ 1
+       #_POSIX_NO_TRUNC
+ 1
+
+       )
+
+61 \ 1
+       #_XOPEN_REALTIME
+ 1
+
+       )
+
+64 \ 1
+       #_XOPEN_REALTIME_THREADS
+ 1
+
+       )
+
+67 \ 1
+       #_XOPEN_SHM
+ 1
+
+       )
+
+70 \ 1
+       #_POSIX_THREADS
+ 200112L
+
+       )
+
+73 \ 1
+       #_POSIX_REENTRANT_FUNCTIONS
+ 1
+
+       )
+
+74 \ 1
+       #_POSIX_THREAD_SAFE_FUNCTIONS
+ 200112L
+
+       )
+
+77 \ 1
+       #_POSIX_THREAD_PRIORITY_SCHEDULING
+ 200112L
+
+       )
+
+80 \ 1
+       #_POSIX_THREAD_ATTR_STACKSIZE
+ 200112L
+
+       )
+
+83 \ 1
+       #_POSIX_THREAD_ATTR_STACKADDR
+ 200112L
+
+       )
+
+86 \ 1
+       #_POSIX_SEMAPHORES
+ 200112L
+
+       )
+
+89 \ 1
+       #_POSIX_REALTIME_SIGNALS
+ 200112L
+
+       )
+
+92 \ 1
+       #_POSIX_ASYNCHRONOUS_IO
+ 200112L
+
+       )
+
+93 \ 1
+       #_POSIX_ASYNC_IO
+ 1
+
+       )
+
+95 \ 1
+       #_LFS_ASYNCHRONOUS_IO
+ 1
+
+       )
+
+97 \ 1
+       #_POSIX_PRIORITIZED_IO
+ 200112L
+
+       )
+
+100 \ 1
+       #_LFS64_ASYNCHRONOUS_IO
+ 1
+
+       )
+
+103 \ 1
+       #_LFS_LARGEFILE
+ 1
+
+       )
+
+104 \ 1
+       #_LFS64_LARGEFILE
+ 1
+
+       )
+
+105 \ 1
+       #_LFS64_STDIO
+ 1
+
+       )
+
+108 \ 1
+       #_POSIX_SHARED_MEMORY_OBJECTS
+ 200112L
+
+       )
+
+111 \ 1
+       #_POSIX_CPUTIME
+ 0
+
+       )
+
+114 \ 1
+       #_POSIX_THREAD_CPUTIME
+ 0
+
+       )
+
+117 \ 1
+       #_POSIX_REGEXP
+ 1
+
+       )
+
+120 \ 1
+       #_POSIX_READER_WRITER_LOCKS
+ 200112L
+
+       )
+
+123 \ 1
+       #_POSIX_SHELL
+ 1
+
+       )
+
+126 \ 1
+       #_POSIX_TIMEOUTS
+ 200112L
+
+       )
+
+129 \ 1
+       #_POSIX_SPIN_LOCKS
+ 200112L
+
+       )
+
+132 \ 1
+       #_POSIX_SPAWN
+ 200112L
+
+       )
+
+135 \ 1
+       #_POSIX_TIMERS
+ 200112L
+
+       )
+
+138 \ 1
+       #_POSIX_BARRIERS
+ 200112L
+
+       )
+
+141 \ 1
+       #_POSIX_MESSAGE_PASSING
+ 200112L
+
+       )
+
+144 \ 1
+       #_POSIX_THREAD_PROCESS_SHARED
+ -1
+
+       )
+
+147 \ 1
+       #_POSIX_MONOTONIC_CLOCK
+ 0
+
+       )
+
+150 \ 1
+       #_POSIX_CLOCK_SELECTION
+ -1
+
+       )
+
+153 \ 1
+       #_POSIX_ADVISORY_INFO
+ 200112L
+
+       )
+
+156 \ 1
+       #_POSIX_IPV6
+ 200112L
+
+       )
+
+159 \ 1
+       #_POSIX_RAW_SOCKETS
+ 200112L
+
+       )
+
+162 \ 1
+       #_POSIX2_CHAR_TERM
+ 200112L
+
+       )
+
+165 \ 1
+       #_POSIX_SPORADIC_SERVER
+ -1
+
+       )
+
+166 \ 1
+       #_POSIX_THREAD_SPORADIC_SERVER
+ -1
+
+       )
+
+169 \ 1
+       #_POSIX_TRACE
+ -1
+
+       )
+
+170 \ 1
+       #_POSIX_TRACE_EVENT_FILTER
+ -1
+
+       )
+
+171 \ 1
+       #_POSIX_TRACE_INHERIT
+ -1
+
+       )
+
+172 \ 1
+       #_POSIX_TRACE_LOG
+ -1
+
+       )
+
+175 \ 1
+       #_POSIX_TYPED_MEMORY_OBJECTS
+ -1
+
+       )
+
+178 \ 1
+       #_POSIX_THREAD_PRIO_INHERIT
+ -1
+
+       )
+
+179 \ 1
+       #_POSIX_THREAD_PRIO_PROTECT
+ -1
+
+       )
+
+       @/usr/include/bits/pthreadtypes.h
+
+15 #ià!
+def\9aed
+_BITS_TYPES_H
+ && !def\9aed 
+_PTHREAD_H
+
+
+19 #iâdeà
+_BITS_PTHREADTYPES_H
+
+
+20 \ 1
+       #_BITS_PTHREADTYPES_H
+ 1
+
+       )
+
+22 \ 1
+       #__Ãed_sched·¿m
+
+
+       )
+
+23 \ 2
+       ~<b\99s/sched.h
+>
+
+25 \e\12
+       t__©omic_lock_t
+;
+
+28 \19
+       s_±h»ad_ç¡lock
+
+
+30 \13\12
+       m__¡©us
+;
+
+31 
+__©omic_lock_t
+       m__¥\9alock
+;
+
+35 #iâdeà
+_PTHREAD_DESCR_DEFINED
+
+
+37 \e\19
+_±h»ad_desü_¡ruù
+ *
+       t_±h»ad_desü
+;
+
+38 \ 1
+       #_PTHREAD_DESCR_DEFINED
+
+
+       )
+
+43 \e\19
+       s__±h»ad_©\8c_s
+
+
+45 \12
+       m__d\91ach¡©e
+;
+
+46 \12
+       m__schedpÞicy
+;
+
+47 \19
+__sched_·¿m
+       m__sched·¿m
+;
+
+48 \12
+       m__\9ah\94\99sched
+;
+
+49 \12
+       m__scÝe
+;
+
+50 
+size_t
+       m__gu¬dsize
+;
+
+51 \12
+       m__¡ackaddr_£t
+;
+
+52 \1e*
+       m__¡ackaddr
+;
+
+53 
+size_t
+       m__¡acksize
+;
+
+54 } 
+       t±h»ad_©\8c_t
+;
+
+59 #ifdeà
+__GLIBC_HAVE_LONG_LONG
+
+
+60 
+__ex\8bnsiÚ__
\e\13\13
+       t__±h»ad_cÚd_®ign_t
+;
+
+62 \e\13
+       t__±h»ad_cÚd_®ign_t
+;
+
+67 \19
+_±h»ad_ç¡lock
+       m__c_lock
+;
+
+68 
+_±h»ad_desü
+       m__c_wa\99\9ag
+;
+
+69 \ 5
+       m__·dd\9ag
+[48 - \17 (\19
+_±h»ad_ç¡lock
+)
+
+70 - \17 (
+_±h»ad_desü
+è- \17 (
+__±h»ad_cÚd_®ign_t
+)];
+
+71 
+__±h»ad_cÚd_®ign_t
+       m__®ign
+;
+
+72 } 
+       t±h»ad_cÚd_t
+;
+
+78 \12
+       m__dummy
+;
+
+79 } 
+       t±h»ad_cÚd©\8c_t
+;
+
+82 \e\1d\12
+       t±h»ad_key_t
+;
+
+90 \12
+       m__m_»£rved
+;
+
+91 \12
+       m__m_couÁ
+;
+
+92 
+_±h»ad_desü
+       m__m_owÃr
+;
+
+93 \12
+       m__m_k\9ad
+;
+
+94 \19
+_±h»ad_ç¡lock
+       m__m_lock
+;
+
+95 } 
+       t±h»ad_mu\8bx_t
+;
+
+101 \12
+       m__mu\8bxk\9ad
+;
+
+102 } 
+       t±h»ad_mu\8b\8c_t
+;
+
+106 \e\12
+       t±h»ad_Úû_t
+;
+
+109 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+111 \e\19
+       s_±h»ad_rwlock_t
+
+
+113 \19
+_±h»ad_ç¡lock
+       m__rw_lock
+;
+
+114 \12
+       m__rw_»ad\94s
+;
+
+115 
+_±h»ad_desü
+       m__rw_wr\99\94
+;
+
+116 
+_±h»ad_desü
+       m__rw_»ad_wa\99\9ag
+;
+
+117 
+_±h»ad_desü
+       m__rw_wr\99e_wa\99\9ag
+;
+
+118 \12
+       m__rw_k\9ad
+;
+
+119 \12
+       m__rw_psh¬ed
+;
+
+120 } 
+       t±h»ad_rwlock_t
+;
+
+126 \12
+       m__lockk\9ad
+;
+
+127 \12
+       m__psh¬ed
+;
+
+128 } 
+       t±h»ad_rwlock©\8c_t
+;
+
+131 #ifdeà
+__USE_XOPEN2K
+
+
+133 \evÞ©\9e\90\12
+       t±h»ad_¥\9alock_t
+;
+
+137 \19
+_±h»ad_ç¡lock
+       m__ba_lock
+;
+
+138 \12
+       m__ba_»qu\9ced
+;
+
+139 \12
+       m__ba_´e£Á
+;
+
+140 
+_±h»ad_desü
+       m__ba_wa\99\9ag
+;
+
+141 } 
+       t±h»ad_b¬r\9br_t
+;
+
+145 \12
+       m__psh¬ed
+;
+
+146 } 
+       t±h»ad_b¬r\9b¿\89r_t
+;
+
+152 \e\1d\13\12
+       t±h»ad_t
+;
+
+       @/usr/include/bits/setjmp.h
+
+20 #iâdeà
+_BITS_SETJMP_H
+
+
+21 \ 1
+       #_BITS_SETJMP_H
+ 1
+
+       )
+
+23 #ià!
+def\9aed
+_SETJMP_H
+ && !def\9aed 
+_PTHREAD_H
+
+
+27 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+_ASM
+
+
+28 \ 1
+       #JB_BX
+ 0
+
+       )
+
+29 \ 1
+       #JB_SI
+ 1
+
+       )
+
+30 \ 1
+       #JB_DI
+ 2
+
+       )
+
+31 \ 1
+       #JB_BP
+ 3
+
+       )
+
+32 \ 1
+       #JB_SP
+ 4
+
+       )
+
+33 \ 1
+       #JB_PC
+ 5
+
+       )
+
+34 \ 1
+       #JB_SIZE
+ 24
+
+       )
+
+37 #iâdef 
+_ASM
+
+
+38 \e\12
+       t__jmp_buf
+[6];
+
+43 \ 1
+       #_JMPBUF_UNWINDS
+(
+jmpbuf
+, 
+add»ss
+) \
+
+44 ((\1e*è(
+add»ss
+è< (\1e*è(
+jmpbuf
+)[
+JB_SP
+])
+
+       )
+
+       @/usr/include/bits/sigset.h
+
+20 #iâdef 
+_SIGSET_H_ty³s
+
+
+21 \ 1
+       #_SIGSET_H_ty³s
+ 1
+
+       )
+
+23 \e\12
+       t__sig_©omic_t
+;
+
+27 \ 1
+       #_SIGSET_NWORDS
+ (1024 / (8 * \17 (\1d\13\12)))
+
+       )
+
+30 \1d\13\12
+       m__v®
+[
+_SIGSET_NWORDS
+];
+
+31 } 
+       t__sig£t_t
+;
+
+42 #ià!
+def\9aed
+_SIGSET_H_âs
+ && def\9aed 
+_SIGNAL_H
+
+
+43 \ 1
+       #_SIGSET_H_âs
+ 1
+
+       )
+
+45 #iâdeà
+_EXTERN_INLINE
+
+
+46 \ 1
+       #_EXTERN_INLINE
\r
+__\9al\9ae
+
+
+       )
+
+50 \ 1
+       #__sigmask
+(
+sig
+) \
+
+51 (((\1d\13\12è1è<< (((
+sig
+è- 1è% (8 * \17 (\1d\13\12))))
+
+       )
+
+54 \ 1
+       #__sigwÜd
+(
+sig
+è(((sigè- 1è/ (8 * \17 (\1d\13\12)))
+
+       )
+
+56 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+57 \ 1
+       #__sigem±y£t
+(
+£t
+) \
+
+58 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+59 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+60 \1f--
+__út
+ >ð0è
+__£t
+->
+__v®
+[__cnt] = 0; \
+
+61 0; }))
+
+       )
+
+62 \ 1
+       #__sigf\9el£t
+(
+£t
+) \
+
+63 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+64 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+65 \1f--
+__út
+ >ð0è
+__£t
+->
+__v®
+[__cnt] = ~0UL; \
+
+66 0; }))
+
+       )
+
+68 #ifdeà
+__USE_GNU
+
+
+72 \ 1
+       #__sigi£m±y£t
+(
+£t
+) \
+
+73 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+74 cڡ 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+75 \12
+__»t
+ = 
+__£t
+->
+__v®
+[--
+__út
+]; \
+
+76 \1f!
+__»t
+ && --
+__út
+ >= 0) \
+
+77 
+__»t
+ = 
+__£t
+->
+__v®
+[
+__út
+]; \
+
+78 
+__»t
+ =ð0; }))
+
+       )
+
+79 \ 1
+       #__sigªd£t
+(
+de¡
+, 
+Ëá
+, 
+right
+) \
+
+80 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+81 
+sig£t_t
+ *
+__de¡
+ = (
+de¡
+); \
+
+82 cڡ 
+sig£t_t
+ *
+__Ëá
+ = (
+Ëá
+); \
+
+83 cڡ 
+sig£t_t
+ *
+__right
+ = (
+right
+); \
+
+84 \1f--
+__út
+ >= 0) \
+
+85 
+__de¡
+->
+__v®
+[
+__út
+] = (
+__Ëá
+->__val[__cnt] \
+
+86 & 
+__right
+->
+__v®
+[
+__út
+]); \
+
+87 0; }))
+
+       )
+
+88 \ 1
+       #__sigܣt
+(
+de¡
+, 
+Ëá
+, 
+right
+) \
+
+89 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+90 
+sig£t_t
+ *
+__de¡
+ = (
+de¡
+); \
+
+91 cڡ 
+sig£t_t
+ *
+__Ëá
+ = (
+Ëá
+); \
+
+92 cڡ 
+sig£t_t
+ *
+__right
+ = (
+right
+); \
+
+93 \1f--
+__út
+ >= 0) \
+
+94 
+__de¡
+->
+__v®
+[
+__út
+] = (
+__Ëá
+->__val[__cnt] \
+
+95 | 
+__right
+->
+__v®
+[
+__út
+]); \
+
+96 0; }))
+
+       )
+
+103 \r\12
+__sigismemb\94
+ (
+__cڡ
+__sig£t_t
+ *, \12);
+
+104 \r\12
+__sigadd£t
+ (
+__sig£t_t
+ *, \12);
+
+105 \r\12
+__sigd\96£t
+ (
+__sig£t_t
+ *, \12);
+
+107 #ifdeà
+__USE_EXTERN_INLINES
+
+
+108 \ 1
+       #__SIGSETFN
+(
+NAME
+, 
+BODY
+, 
+CONST
+) \
+
+109 
+_EXTERN_INLINE
\12\
+
+110 
+       `NAME
+ (
+CONST
+__sig£t_t
+ *
+__£t
+, \12
+__sig
+) \
+
+112 \1d\13\12
+__mask
+ = 
+       `__sigmask
+ (
+__sig
+); \
+
+113 \1d\13\12
+__wÜd
+ = 
+       `__sigwÜd
+ (
+__sig
+); \
+
+114 \15 
+BODY
+; \
+
+115 }
+
+       )
+
+117 
+__SIGSETFN
+ (
+__sigismemb\94
+, (
+__£t
+->
+__v®
+[
+__wÜd
+] & 
+__mask
+è? 1 : 0, 
+__cڡ
+)
+
+118 
+__SIGSETFN
+ (
+__sigadd£t
+, ((
+__£t
+->
+__v®
+[
+__wÜd
+] |ð
+__mask
+), 0), )
+
+119 
+__SIGSETFN
+ (
+__sigd\96£t
+, ((
+__£t
+->
+__v®
+[
+__wÜd
+] &ð~
+__mask
+), 0), )
+
+121 #undeà
+__SIGSETFN
+
+
+       @/usr/include/bits/stdio.h
+
+20 #iâdeà
+_STDIO_H
+
+
+24 #ifdeà
+__ýlu¥lus
+
+
+25 \ 1
+       #__STDIO_INLINE
+\9al\9ae
+
+
+       )
+
+27 \ 1
+       #__STDIO_INLINE
\r
+__\9al\9ae
+
+
+       )
+
+31 #ifdeà
+__USE_EXTERN_INLINES
+
+
+33 
+__STDIO_INLINE
\12
+
+34 
+       $v´\9atf
+ (
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__¬g
+)
+
+36 \15 
+       `vår\9atf
+ (
+¡dout
+, 
+__fmt
+, 
+__¬g
+);
+
+37 
+       }
+}
+
+40 
+__STDIO_INLINE
\12
+
+41 
+       $g\91ch¬
+ (\1e)
+
+43 \15 
+       `_IO_g\91c
+ (
+¡d\9a
+);
+
+44 
+       }
+}
+
+47 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+49 
+__STDIO_INLINE
\12
+
+50 
+       $g\91c_uÆocked
+ (
+FILE
+ *
+__å
+)
+
+52 \15 
+       `_IO_g\91c_uÆocked
+ (
+__å
+);
+
+53 
+       }
+}
+
+56 
+__STDIO_INLINE
\12
+
+57 
+       $g\91ch¬_uÆocked
+ (\1e)
+
+59 \15 
+       `_IO_g\91c_uÆocked
+ (
+¡d\9a
+);
+
+60 
+       }
+}
+
+65 
+__STDIO_INLINE
\12
+
+66 
+       $putch¬
+ (\12
+__c
+)
+
+68 \15 
+       `_IO_putc
+ (
+__c
+, 
+¡dout
+);
+
+69 
+       }
+}
+
+72 #ifdeà
+__USE_MISC
+
+
+74 
+__STDIO_INLINE
\12
+
+75 
+       $åutc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+)
+
+77 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+__¡»am
+);
+
+78 
+       }
+}
+
+82 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+84 
+__STDIO_INLINE
\12
+
+85 
+       $putc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+)
+
+87 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+__¡»am
+);
+
+88 
+       }
+}
+
+91 
+__STDIO_INLINE
\12
+
+92 
+       $putch¬_uÆocked
+ (\12
+__c
+)
+
+94 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+¡dout
+);
+
+95 
+       }
+}
+
+99 #ifdef 
+__USE_GNU
+
+
+101 
+__STDIO_INLINE
+_IO_ssize_t
+
+
+102 
+       $g\91l\9ae
+ (\ 5**
+__l\9a\95\8c
+, 
+size_t
+ *
+__n
+, 
+FILE
+ *
+__¡»am
+)
+
+104 \15 
+       `__g\91d\96im
+ (
+__l\9a\95\8c
+, 
+__n
+, '\n', 
+__¡»am
+);
+
+105 
+       }
+}
+
+109 #ifdeà
+__USE_MISC
+
+
+111 
+__STDIO_INLINE
\12
+
+112 
+__NTH
+ (
+       $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+))
+
+114 \15 
+       `_IO_ãof_uÆocked
+ (
+__¡»am
+);
+
+115 
+       }
+}
+
+118 
+__STDIO_INLINE
\12
+
+119 
+__NTH
+ (
+       $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+))
+
+121 \15 
+       `_IO_ã¼Ü_uÆocked
+ (
+__¡»am
+);
+
+122 
+       }
+}
+
+128 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__GNUC__
+ && def\9aed 
+__OPTIMIZE__
+
+
+130 \ 1
+       #ä\97d_uÆocked
+(
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+) \
+
+131 (
+       `__ex\8bnsiÚ__
+ ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+132 && (
+size_t
+è(
+size
+è* (size_tè(
+n
+) <= 8 \
+
+133 && (
+size_t
+è(
+size
+) != 0) \
+
+134 ? ({ \ 5*
+__±r
+ = (\ 5*è(
+±r
+); \
+
+135 
+FILE
+ *
+__¡»am
+ = (
+¡»am
+); \
+
+136 
+size_t
+__út
+; \
+
+137 \ f
+__út
+ = (
+size_t
+è(
+size
+è* (size_tè(
+n
+); \
+
+138 
+__út
+ > 0; --__cnt) \
+
+140 \12
+__c
+ = 
+       `_IO_g\91c_uÆocked
+ (
+__¡»am
+); \
+
+141 ià(
+__c
+ =ð
+EOF
+) \
+
+143 *
+__±r
+++ = 
+__c
+; \
+
+145 ((
+size_t
+è(
+size
+è* (size_tè(
+n
+è- 
+__út
+) \
+
+146 / (
+size_t
+è(
+size
+); }) \
+
+147 : (((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& (
+size_t
+) (size) == 0) \
+
+148 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+è&& (
+size_t
+) (n) == 0)) \
+
+150 ? ((\1eè(
+±r
+), (\1eè(
+¡»am
+), (\1eè(
+size
+), \
+
+151 (\1eè(
+n
+), (
+size_t
+) 0) \
+
+152 : 
+       `ä\97d_uÆocked
+ (
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+))))
+
+       )
+
+154 \ 1
+       #fwr\99e_uÆocked
+(
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+) \
+
+155 (
+       `__ex\8bnsiÚ__
+ ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+156 && (
+size_t
+è(
+size
+è* (size_tè(
+n
+) <= 8 \
+
+157 && (
+size_t
+è(
+size
+) != 0) \
+
+158 ? ({ cڡ \ 5*
+__±r
+ = (cÚ¡ \ 5*è(
+±r
+); \
+
+159 
+FILE
+ *
+__¡»am
+ = (
+¡»am
+); \
+
+160 
+size_t
+__út
+; \
+
+161 \ f
+__út
+ = (
+size_t
+è(
+size
+è* (size_tè(
+n
+); \
+
+162 
+__út
+ > 0; --__cnt) \
+
+163 ià(
+       `_IO_putc_uÆocked
+ (*
+__±r
+++, 
+__¡»am
+è=ð
+EOF
+) \
+
+165 ((
+size_t
+è(
+size
+è* (size_tè(
+n
+è- 
+__út
+) \
+
+166 / (
+size_t
+è(
+size
+); }) \
+
+167 : (((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& (
+size_t
+) (size) == 0) \
+
+168 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+è&& (
+size_t
+) (n) == 0)) \
+
+170 ? ((\1eè(
+±r
+), (\1eè(
+¡»am
+), (\1eè(
+size
+), \
+
+171 (\1eè(
+n
+), (
+size_t
+) 0) \
+
+172 : 
+       `fwr\99e_uÆocked
+ (
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+))))
+
+       )
+
+176 #undeà
+__STDIO_INLINE
+
+
+       @/usr/include/bits/stdio2.h
+
+20 #iâdeà
+_STDIO_H
+
+
+24 \r\12
+       $__¥r\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, \12
+__æag
+, 
+size_t
+__¦\92
+,
+
+25 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+26 \r\12
+       $__v¥r\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, \12
+__æag
+, 
+size_t
+__¦\92
+,
+
+27 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+28 
+_G_va_li¡
+__­
+__THROW
+;
+
+30 \ 1
+       #¥r\9atf
+(
+¡r
+, ...) \
+
+31 
+       `__bu\9et\9a___¥r\9atf_chk
+ (
+¡r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (str), \
+
+32 
+__VA_ARGS__
+)
+
+       )
+
+33 \ 1
+       #v¥r\9atf
+(
+¡r
+, 
+fmt
+, 
+) \
+
+34 
+       `__bu\9et\9a___v¥r\9atf_chk
+ (
+¡r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (¡r), 
+fmt
+, 
+)
+
+       )
+
+36 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+38 \r\12
+       $__¢´\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+, \12
+__æag
+,
+
+39 
+size_t
+__¦\92
+, 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+40 ...è
+__THROW
+;
+
+41 \r\12
+       $__v¢´\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+, \12
+__æag
+,
+
+42 
+size_t
+__¦\92
+, 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+43 
+_G_va_li¡
+__­
+__THROW
+;
+
+45 \ 1
+       #¢´\9atf
+(
+¡r
+, 
+Ën
+, ...) \
+
+46 
+       `__bu\9et\9a___¢´\9atf_chk
+ (
+¡r
+, 
+Ën
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (str), \
+
+47 
+__VA_ARGS__
+)
+
+       )
+
+48 \ 1
+       #v¢´\9atf
+(
+¡r
+, 
+Ën
+, 
+fmt
+, 
+) \
+
+49 
+       `__bu\9et\9a___v¢´\9atf_chk
+ (
+¡r
+, 
+Ën
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (str), \
+
+50 
+fmt
+, 
+)
+
+       )
+
+54 #ià
+__USE_FORTIFY_LEVEL
+ > 1
+
+56 \r\12
+       `__år\9atf_chk
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+57 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+58 \r\12
+       `__´\9atf_chk
+ (\12
+__æag
+, 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+59 \r\12
+       `__vår\9atf_chk
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+60 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__­
+);
+
+61 \r\12
+       `__v´\9atf_chk
+ (\12
+__æag
+, 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+62 
+_G_va_li¡
+__­
+);
+
+64 \ 1
+       #´\9atf
+(...) \
+
+65 
+       `__´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+66 \ 1
+       #år\9atf
+(
+¡»am
+, ...) \
+
+67 
+       `__år\9atf_chk
+ (
+¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+68 \ 1
+       #v´\9atf
+(
+fÜm©
+, 
+) \
+
+69 
+       `__v´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+fÜm©
+, 
+)
+
+       )
+
+70 \ 1
+       #vår\9atf
+(
+¡»am
+, 
+fÜm©
+, 
+) \
+
+71 
+       `__vår\9atf_chk
+ (
+¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+fÜm©
+, 
+)
+
+       )
+
+75 \r\ 5*
+       `__g\91s_chk
+ (\ 5*
+__¡r
+, 
+size_t
+);
+
+76 \ 1
+       #g\91s
+(
+__¡r
+) \
+
+77 ((
+       `__bos
+ (
+__¡r
+è=ð(
+size_t
+) -1) \
+
+78 ? (
+g\91s
+è(
+__¡r
+è: 
+       `__g\91s_chk
+ (__¡r, 
+       `__bos
+ (__¡r)))
+
+       )
+
+       @/usr/include/bits/stdio_lim.h
+
+19 #ià!
+def\9aed
+_STDIO_H
+ && !def\9aed 
+__Ãed_FOPEN_MAX
+ && !def\9aed 
+__Ãed_IOV_MAX
+
+
+23 #ifdeà
+_STDIO_H
+
+
+24 \ 1
+       #L_tm²am
+ 20
+
+       )
+
+25 \ 1
+       #TMP_MAX
+ 238328
+
+       )
+
+26 \ 1
+       #FILENAME_MAX
+ 4096
+
+       )
+
+28 #ifdeà
+__USE_POSIX
+
+
+29 \ 1
+       #L_ù\94mid
+ 9
+
+       )
+
+30 \ 1
+       #L_cu£rid
+ 9
+
+       )
+
+34 #ià
+def\9aed
+__Ãed_FOPEN_MAX
+ || def\9aed 
+_STDIO_H
+
+
+35 #undeà
+FOPEN_MAX
+
+
+36 \ 1
+       #FOPEN_MAX
+ 16
+
+       )
+
+39 #ià
+def\9aed
+__Ãed_IOV_MAX
+ && !def\9aed 
+IOV_MAX
+
+
+40 \ 1
+       #IOV_MAX
+ 1024
+
+       )
+
+       @/usr/include/bits/string.h
+
+21 #iâdeà
+_STRING_H
+
+
+26 \ 1
+       #_STRING_ARCH_uÇligÃd
+ 1
+
+       )
+
+31 #ià!
+def\9aed
+__NO_STRING_INLINES
+ && def\9aed 
+__USE_STRING_INLINES
+ \
+
+32 && 
+def\9aed
+       g__GNUC__
+ && __GNUC__ >ð2 && !
+__BOUNDED_POINTERS__
+
+
+34 #iâdeà
+__STRING_INLINE
+
+
+35 #ifdeà
+__ýlu¥lus
+
+
+36 \ 1
+       #__STRING_INLINE
+\9al\9ae
+
+
+       )
+
+38 \ 1
+       #__STRING_INLINE
\r
+__\9al\9ae
+
+
+       )
+
+43 \ 1
+       #__STRING_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+44 ((((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+ + 1] << 8) \
+
+45 | ((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+46 \ 1
+       #__STRING_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+47 (((((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+ + 3] << 8 \
+
+48 | ((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+49 | ((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+50 | ((
+__cڡ
\1d\ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+54 \ 1
+       #_HAVE_STRING_ARCH_memýy
+ 1
+
+       )
+
+55 \ 1
+       #memýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+56 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+57 ? 
+       `__memýy_c
+ ((
+de¡
+), (
+¤c
+), (
+n
+)) \
+
+58 : 
+       `__memýy_g
+ ((
+de¡
+), (
+¤c
+), (
+n
+))))
+
+       )
+
+59 \ 1
+       #__memýy_c
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+60 ((
+n
+) == 0 \
+
+61 ? (
+de¡
+) \
+
+62 : (((
+n
+) % 4 == 0) \
+
+63 ? 
+       `__memýy_by4
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+64 : (((
+n
+) % 2 == 0) \
+
+65 ? 
+       `__memýy_by2
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+66 : 
+       `__memýy_g
+ (
+de¡
+, 
+¤c
+, 
+n
+))))
+
+       )
+
+68 
+__STRING_INLINE
\1e*
+__memýy_by4
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+,
+
+69 
+size_t
+__n
+);
+
+71 
+__STRING_INLINE
\1e*
+
+72 
+       $__memýy_by4
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+, 
+size_t
+__n
+)
+
+74 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+75 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+76 
+__asm__
+__vÞ©\9ee__
+
+
+84 : "=&r" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+85 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+ / 4)
+
+87 \15 
+__de¡
+;
+
+88 
+       }
+}
+
+90 
+__STRING_INLINE
\1e*
+__memýy_by2
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+,
+
+91 
+size_t
+__n
+);
+
+93 
+__STRING_INLINE
\1e*
+
+94 
+       $__memýy_by2
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+, 
+size_t
+__n
+)
+
+96 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+97 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+98 
+__asm__
+__vÞ©\9ee__
+
+
+111 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+112 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+ / 2)
+
+114 \15 
+__de¡
+;
+
+115 
+       }
+}
+
+117 
+__STRING_INLINE
\1e*
+__memýy_g
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+,
+
+118 
+size_t
+__n
+);
+
+120 
+__STRING_INLINE
\1e*
+
+121 
+       $__memýy_g
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+, 
+size_t
+__n
+)
+
+123 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+124 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+125 
+__asm__
+__vÞ©\9ee__
+
+
+136 : "=&c" (
+__d0
+), "=&D" (
+__d1
+), "=&S" (
+__d2
+),
+
+137 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+138 : "0" (
+__n
+), "1" (
+__tmp
+), "2" (
+__¤c
+),
+
+139 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+)
+
+141 \15 
+__de¡
+;
+
+142 
+       }
+}
+
+144 \ 1
+       #_HAVE_STRING_ARCH_memmove
+ 1
+
+       )
+
+145 #iâdeà
+_FORCE_INLINES
+
+
+148 
+__STRING_INLINE
\1e*
+
+149 
+       $memmove
+ (\1e*
+__de¡
+, 
+__cڡ
\1e*
+__¤c
+, 
+size_t
+__n
+)
+
+151 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+152 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+153 ià(
+__de¡
+ < 
+__¤c
+)
+
+154 
+__asm__
+__vÞ©\9ee__
+
+
+157 : "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+),
+
+158 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+159 : "0" (
+__n
+), "1" (
+__¤c
+), "2" (
+__tmp
+),
+
+160 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+));
+
+162 
+__asm__
+__vÞ©\9ee__
+
+
+166 : "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+),
+
+167 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+168 : "0" (
+__n
+), "1" (__À- 1 + (
+__cڡ
\ 5
+__¤c
+),
+
+169 "2" (
+__n
+ - 1 + (\ 5
+__tmp
+),
+
+170 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+));
+
+171 \15 
+__de¡
+;
+
+172 
+       }
+}
+
+176 \ 1
+       #_HAVE_STRING_ARCH_memcmp
+ 1
+
+       )
+
+177 #iâdeà
+_FORCE_INLINES
+
+
+178 #iâdeà
+__PIC__
+
+
+180 
+__STRING_INLINE
\12
+
+181 
+       $memcmp
+ (
+__cڡ
\1e*
+__s1
+, __cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+183 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+184 \14\12
+__»s
+;
+
+185 
+__asm__
+__vÞ©\9ee__
+
+
+193 : "=&a" (
+__»s
+), "=&S" (
+__d0
+), "=&D" (
+__d1
+), "=&c" (
+__d2
+)
+
+194 : "0" (0), "1" (
+__s1
+), "2" (
+__s2
+), "3" (
+__n
+),
+
+195 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s1
+),
+
+196 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s2
+)
+
+198 \15 
+__»s
+;
+
+199 
+       }
+}
+
+204 \ 1
+       #_HAVE_STRING_ARCH_mem£t
+ 1
+
+       )
+
+205 \ 1
+       #_USE_STRING_ARCH_mem£t
+ 1
+
+       )
+
+206 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+207 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) && (n) <= 16 \
+
+208 ? ((
+n
+) == 1 \
+
+209 ? 
+       `__mem£t_c1
+ ((
+s
+), (
+c
+)) \
+
+210 : 
+       `__mem£t_gc
+ ((
+s
+), (
+c
+), (
+n
+))) \
+
+211 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+212 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+213 ? 
+       `__mem£t_cú
+ ((
+s
+), (
+c
+), (
+n
+)) \
+
+214 : 
+       `mem£t
+ ((
+s
+), (
+c
+), (
+n
+))) \
+
+215 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+216 ? 
+       `__mem£t_gú
+ ((
+s
+), (
+c
+), (
+n
+)) \
+
+217 : 
+       `mem£t
+ ((
+s
+), (
+c
+), (
+n
+))))))
+
+       )
+
+219 \ 1
+       #__mem£t_c1
+(
+s
+, 
+c
+è({ \1e*
+__s
+ = (s); \
+
+220 *((\1d\ 5
+__s
+èð(\1d\ 5è(
+c
+); \
+
+221 
+__s
+; })
+
+       )
+
+223 \ 1
+       #__mem£t_gc
+(
+s
+, 
+c
+, 
+n
+) \
+
+224 ({ \1e*
+__s
+ = (
+s
+); \
+
+226 \1d\12
+__ui
+; \
+
+227 \1d\16\12
+__usi
+; \
+
+228 \1d\ 5
+__uc
+; \
+
+229 } *
+__u
+ = 
+__s
+; \
+
+230 \1d\12
+__c
+ = ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101; \
+
+236 ià((
+n
+) == 3 || (n) >= 5) \
+
+237 
+__asm__
+       `__vÞ©\9ee__
+ ("" : "ô" (
+__c
+) : "0" (__c)); \
+
+240 \1a
+n
+) \
+
+243 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+244 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+246 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+247 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+249 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+250 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+252 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+; \
+
+253 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+254 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+258 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+259 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+261 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+262 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+264 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+265 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+267 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+; \
+
+271 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+272 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+274 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+275 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+277 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+278 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+280 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+284 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+285 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+287 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+288 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+290 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+291 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+293 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+298 
+__s
+; })
+
+       )
+
+300 \ 1
+       #__mem£t_cú
+(
+s
+, 
+c
+, 
+n
+) \
+
+301 (((
+n
+) % 4 == 0) \
+
+302 ? 
+       `__mem£t_cú_by4
+ (
+s
+, ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101,\
+
+303 
+n
+) \
+
+304 : (((
+n
+) % 2 == 0) \
+
+305 ? 
+       `__mem£t_cú_by2
+ (
+s
+, \
+
+306 ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101,\
+
+307 
+n
+) \
+
+308 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+310 
+__STRING_INLINE
\1e*
+__mem£t_cú_by4
+ (\1e*
+__s
+, \1d\12
+__c
+,
+
+311 
+size_t
+__n
+);
+
+313 
+__STRING_INLINE
\1e*
+
+314 
+       $__mem£t_cú_by4
+ (\1e*
+__s
+, \1d\12
+__c
+, 
+size_t
+__n
+)
+
+316 \14\1e*
+__tmp
+ = 
+__s
+;
+
+317 \14\1d\13\12
+__d0
+;
+
+318 #ifdeà
+__i686__
+
+
+319 
+__asm__
+__vÞ©\9ee__
+
+
+322 : "=&a" (
+__c
+), "=&D" (
+__tmp
+), "=&c" (
+__d0
+),
+
+323 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+324 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+327 
+__asm__
+__vÞ©\9ee__
+
+
+333 : "=&r" (
+__c
+), "=&r" (
+__tmp
+), "=&r" (
+__d0
+),
+
+334 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+335 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+338 \15 
+__s
+;
+
+339 
+       }
+}
+
+341 
+__STRING_INLINE
\1e*
+__mem£t_cú_by2
+ (\1e*
+__s
+, \1d\12
+__c
+,
+
+342 
+size_t
+__n
+);
+
+344 
+__STRING_INLINE
\1e*
+
+345 
+       $__mem£t_cú_by2
+ (\1e*
+__s
+, \1d\12
+__c
+, 
+size_t
+__n
+)
+
+347 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+348 \14\1e*
+__tmp
+ = 
+__s
+;
+
+349 #ifdeà
+__i686__
+
+
+350 
+__asm__
+__vÞ©\9ee__
+
+
+354 : "=&a" (
+__d0
+), "=&D" (
+__tmp
+), "=&c" (
+__d1
+),
+
+355 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+356 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+359 
+__asm__
+__vÞ©\9ee__
+
+
+365 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__d1
+),
+
+366 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+367 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+370 \15 
+__s
+;
+
+371 
+       }
+}
+
+373 \ 1
+       #__mem£t_gú
+(
+s
+, 
+c
+, 
+n
+) \
+
+374 (((
+n
+) % 4 == 0) \
+
+375 ? 
+       `__mem£t_gú_by4
+ (
+s
+, 
+c
+, 
+n
+) \
+
+376 : (((
+n
+) % 2 == 0) \
+
+377 ? 
+       `__mem£t_gú_by2
+ (
+s
+, 
+c
+, 
+n
+) \
+
+378 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+380 
+__STRING_INLINE
\1e*
+__mem£t_gú_by4
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+382 
+__STRING_INLINE
\1e*
+
+383 
+       $__mem£t_gú_by4
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+385 \14\1e*
+__tmp
+ = 
+__s
+;
+
+386 \14\1d\13\12
+__d0
+;
+
+387 
+__asm__
+__vÞ©\9ee__
+
+
+397 : "=&q" (
+__c
+), "=&r" (
+__tmp
+), "=&r" (
+__d0
+),
+
+398 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+399 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+401 \15 
+__s
+;
+
+402 
+       }
+}
+
+404 
+__STRING_INLINE
\1e*
+__mem£t_gú_by2
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+406 
+__STRING_INLINE
\1e*
+
+407 
+       $__mem£t_gú_by2
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+409 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+410 \14\1e*
+__tmp
+ = 
+__s
+;
+
+411 
+__asm__
+__vÞ©\9ee__
+
+
+422 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__d1
+),
+
+423 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+424 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+426 \15 
+__s
+;
+
+427 
+       }
+}
+
+431 \ 1
+       #_HAVE_STRING_ARCH_memchr
+ 1
+
+       )
+
+432 #iâdeà
+_FORCE_INLINES
+
+
+433 
+__STRING_INLINE
\1e*
+
+434 
+       $memchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+436 \14\1d\13\12
+__d0
+;
+
+437 #ifdeà
+__i686__
+
+
+438 \14\1d\13\12
+__d1
+;
+
+440 \14\1d\ 5*
+__»s
+;
+
+441 ià(
+__n
+ == 0)
+
+442 \15 
+NULL
+;
+
+443 #ifdeà
+__i686__
+
+
+444 
+__asm__
+__vÞ©\9ee__
+
+
+448 : "=D" (
+__»s
+), "=&c" (
+__d0
+), "=&r" (
+__d1
+)
+
+449 : "a" (
+__c
+), "0" (
+__s
+), "1" (
+__n
+), "2" (1),
+
+450 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+453 
+__asm__
+__vÞ©\9ee__
+
+
+459 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+460 : "a" (
+__c
+), "0" (
+__s
+), "1" (
+__n
+),
+
+461 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+464 \15 
+__»s
+ - 1;
+
+465 
+       }
+}
+
+468 \ 1
+       #_HAVE_STRING_ARCH_memrchr
+ 1
+
+       )
+
+469 #iâdeà
+_FORCE_INLINES
+
+
+470 
+__STRING_INLINE
\1e*
+__memrchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+472 
+__STRING_INLINE
\1e*
+
+473 
+       $__memrchr
+ (
+__cڡ
\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+475 \14\1d\13\12
+__d0
+;
+
+476 #ifdeà
+__i686__
+
+
+477 \14\1d\13\12
+__d1
+;
+
+479 \14\1e*
+__»s
+;
+
+480 ià(
+__n
+ == 0)
+
+481 \15 
+NULL
+;
+
+482 #ifdeà
+__i686__
+
+
+483 
+__asm__
+__vÞ©\9ee__
+
+
+489 : "=D" (
+__»s
+), "=&c" (
+__d0
+), "=&r" (
+__d1
+)
+
+490 : "a" (
+__c
+), "0" (
+__s
+ + 
+__n
+ - 1), "1" (__n), "2" (-1),
+
+491 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+494 
+__asm__
+__vÞ©\9ee__
+
+
+501 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+502 : "a" (
+__c
+), "0" (
+__s
+ + 
+__n
+ - 1), "1" (__n),
+
+503 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+506 \15 
+__»s
+;
+
+507 
+       }
+}
+
+508 #ifdeà
+__USE_GNU
+
+
+509 \ 1
+       #memrchr
+(
+s
+, 
+c
+, 
+n
+       `__memrchr
+ ((s), (c), (n))
+
+       )
+
+514 \ 1
+       #_HAVE_STRING_ARCH_¿wmemchr
+ 1
+
+       )
+
+515 
+__STRING_INLINE
\1e*
+__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+);
+
+517 #iâdeà
+_FORCE_INLINES
+
+
+518 
+__STRING_INLINE
\1e*
+
+519 
+       $__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+521 \14\1d\13\12
+__d0
+;
+
+522 \14\1d\ 5*
+__»s
+;
+
+523 
+__asm__
+__vÞ©\9ee__
+
+
+526 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+527 : "a" (
+__c
+), "0" (
+__s
+), "1" (0xffffffff),
+
+528 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+530 \15 
+__»s
+ - 1;
+
+531 
+       }
+}
+
+532 #ifdeà
+__USE_GNU
+
+
+533 
+__STRING_INLINE
\1e*
+
+534 
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+536 \15 
+       `__¿wmemchr
+ (
+__s
+, 
+__c
+);
+
+537 
+       }
+}
+
+543 \ 1
+       #_HAVE_STRING_ARCH_¡¾\92
+ 1
+
+       )
+
+544 \ 1
+       #¡¾\92
+(
+¡r
+) \
+
+545 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¡r
+) \
+
+546 ? 
+       `__bu\9et\9a_¡¾\92
+ (
+¡r
+) \
+
+547 : 
+       `__¡¾\92_g
+ (
+¡r
+)))
+
+       )
+
+548 
+__STRING_INLINE
+size_t
+__¡¾\92_g
+ (
+__cڡ
\ 5*
+__¡r
+);
+
+550 
+__STRING_INLINE
+size_t
+
+
+551 
+       $__¡¾\92_g
+ (
+__cڡ
\ 5*
+__¡r
+)
+
+553 \14\ 5
+__dummy
+;
+
+554 \14
+__cڡ
\ 5*
+__tmp
+ = 
+__¡r
+;
+
+555 
+__asm__
+__vÞ©\9ee__
+
+
+561 : "ô" (
+__tmp
+), "=&q" (
+__dummy
+)
+
+562 : "0" (
+__¡r
+),
+
+563 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¡r
+)
+
+565 \15 
+__tmp
+ - 
+__¡r
+ - 1;
+
+566 
+       }
+}
+
+570 \ 1
+       #_HAVE_STRING_ARCH_¡rýy
+ 1
+
+       )
+
+571 \ 1
+       #¡rýy
+(
+de¡
+, 
+¤c
+) \
+
+572 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+573 ? (\17 ((
+¤c
+)[0]è=ð1 && 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+574 ? 
+       `__¡rýy_a_sm®l
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+575 : (\ 5
+       `memýy
+ ((\ 5*è(
+de¡
+), \
+
+576 (
+__cڡ
\ 5*è(
+¤c
+), \
+
+577 
+       `¡¾\92
+ (
+¤c
+) + 1)) \
+
+578 : 
+       `__¡rýy_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+580 \ 1
+       #__¡rýy_a_sm®l
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+581 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+583 \1d\12
+__ui
+; \
+
+584 \1d\16\12
+__usi
+; \
+
+585 \1d\ 5
+__uc
+; \
+
+586 \ 5
+__c
+; \
+
+587 } *
+__u
+ = (\1e
+__de¡
+; \
+
+588 \1a
+¤þ\92
+) \
+
+591 
+__u
+->
+__uc
+ = '\0'; \
+
+594 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+597 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+598 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+599 
+__u
+->
+__uc
+ = '\0'; \
+
+602 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+605 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+606 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+607 
+__u
+->
+__uc
+ = '\0'; \
+
+610 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+611 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+612 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+615 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+616 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+617 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+618 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+619 
+__u
+->
+__uc
+ = '\0'; \
+
+622 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+623 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+624 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 4); \
+
+627 (\ 5
+__de¡
+; }))
+
+       )
+
+629 
+__STRING_INLINE
\ 5*
+__¡rýy_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+);
+
+631 
+__STRING_INLINE
\ 5*
+
+632 
+       $__¡rýy_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+)
+
+634 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+635 \14\ 5
+__dummy
+;
+
+636 
+__asm__
+__vÞ©\9ee__
+
+
+645 : "=&r" (
+__¤c
+), "=&r" (
+__tmp
+), "=&q" (
+__dummy
+),
+
+646 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+647 : "0" (
+__¤c
+), "1" (
+__tmp
+),
+
+648 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+650 \15 
+__de¡
+;
+
+651 
+       }
+}
+
+654 #ifdeà
+__USE_GNU
+
+
+655 \ 1
+       #_HAVE_STRING_ARCH_¡pýy
+ 1
+
+       )
+
+657 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+658 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+659 ? (
+       `¡¾\92
+ (
+¤c
+) + 1 <= 8 \
+
+660 ? 
+       `__¡pýy_a_sm®l
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+661 : 
+       `__¡pýy_c
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1)) \
+
+662 : 
+       `__¡pýy_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+663 \ 1
+       #__¡pýy_c
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+664 ((
+¤þ\92
+) % 4 == 0 \
+
+665 ? 
+       `__mempýy_by4
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+) - 1 \
+
+666 : ((
+¤þ\92
+) % 2 == 0 \
+
+667 ? 
+       `__mempýy_by2
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+) - 1 \
+
+668 : 
+       `__mempýy_byn
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+è- 1))
+
+       )
+
+671 \ 1
+       #¡pýy
+(
+de¡
+, 
+¤c
+       `__¡pýy
+ ((de¡), (¤c))
+
+       )
+
+673 \ 1
+       #__¡pýy_a_sm®l
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+674 (
+       `__ex\8bnsiÚ__
+ ({ union { \
+
+675 \1d\12
+__ui
+; \
+
+676 \1d\16\12
+__usi
+; \
+
+677 \1d\ 5
+__uc
+; \
+
+678 \ 5
+__c
+; \
+
+679 } *
+__u
+ = (\1e*è(
+de¡
+); \
+
+680 \1a
+¤þ\92
+) \
+
+683 
+__u
+->
+__uc
+ = '\0'; \
+
+686 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+687 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1); \
+
+690 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+691 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+692 
+__u
+->
+__uc
+ = '\0'; \
+
+695 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+696 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3); \
+
+699 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+700 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+701 
+__u
+->
+__uc
+ = '\0'; \
+
+704 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+705 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+706 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+707 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1); \
+
+710 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+711 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+712 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+713 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+714 
+__u
+->
+__uc
+ = '\0'; \
+
+717 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+718 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+719 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 4); \
+
+720 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3); \
+
+723 (\ 5
+__u
+; }))
+
+       )
+
+725 
+__STRING_INLINE
\ 5*
+__mempýy_by4
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+,
+
+726 
+size_t
+__¤þ\92
+);
+
+728 
+__STRING_INLINE
\ 5*
+
+729 
+       $__mempýy_by4
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+731 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+732 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+733 
+__asm__
+__vÞ©\9ee__
+
+
+741 : "=&r" (
+__d0
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+742 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 4)
+
+744 \15 
+__tmp
+;
+
+745 
+       }
+}
+
+747 
+__STRING_INLINE
\ 5*
+__mempýy_by2
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+,
+
+748 
+size_t
+__¤þ\92
+);
+
+750 
+__STRING_INLINE
\ 5*
+
+751 
+       $__mempýy_by2
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+753 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+754 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+755 
+__asm__
+__vÞ©\9ee__
+
+
+768 : "=&q" (
+__d0
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+),
+
+769 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+770 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 2),
+
+771 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+773 \15 
+__tmp
+ + 2;
+
+774 
+       }
+}
+
+776 
+__STRING_INLINE
\ 5*
+__mempýy_byn
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+,
+
+777 
+size_t
+__¤þ\92
+);
+
+779 
+__STRING_INLINE
\ 5*
+
+780 
+       $__mempýy_byn
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+782 \14\1d\13
+__d0
+, 
+__d1
+;
+
+783 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+784 
+__asm__
+__vÞ©\9ee__
+
+
+795 : "=D" (
+__tmp
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+),
+
+796 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+797 : "0" (
+__tmp
+), "1" (
+__¤þ\92
+), "2" (
+__¤c
+),
+
+798 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+800 \15 
+__tmp
+;
+
+801 
+       }
+}
+
+803 
+__STRING_INLINE
\ 5*
+__¡pýy_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+);
+
+805 
+__STRING_INLINE
\ 5*
+
+806 
+       $__¡pýy_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+)
+
+808 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+809 \14\ 5
+__dummy
+;
+
+810 
+__asm__
+__vÞ©\9ee__
+
+
+819 : "=&r" (
+__¤c
+), "ô" (
+__tmp
+), "=&q" (
+__dummy
+),
+
+820 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+821 : "0" (
+__¤c
+), "1" (
+__tmp
+),
+
+822 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+824 \15 
+__tmp
+ - 1;
+
+825 
+       }
+}
+
+830 \ 1
+       #_HAVE_STRING_ARCH_¡ºýy
+ 1
+
+       )
+
+831 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+832 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+833 ? ((
+       `¡¾\92
+ (
+¤c
+è+ 1 >ð((
+size_t
+è(
+n
+)) \
+
+834 ? (\ 5
+       `memýy
+ ((\ 5*è(
+de¡
+), \
+
+835 (
+__cڡ
\ 5*è(
+¤c
+), 
+n
+) \
+
+836 : 
+       `__¡ºýy_cg
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (¤cè+ 1, 
+n
+))) \
+
+837 : 
+       `__¡ºýy_gg
+ ((
+de¡
+), (
+¤c
+), 
+n
+)))
+
+       )
+
+838 \ 1
+       #__¡ºýy_cg
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+839 (((
+¤þ\92
+) % 4 == 0) \
+
+840 ? 
+       `__¡ºýy_by4
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+841 : (((
+¤þ\92
+) % 2 == 0) \
+
+842 ? 
+       `__¡ºýy_by2
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+843 : 
+       `__¡ºýy_byn
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+)))
+
+       )
+
+845 
+__STRING_INLINE
\ 5*
+__¡ºýy_by4
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[],
+
+846 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+848 
+__STRING_INLINE
\ 5*
+
+849 
+       $__¡ºýy_by4
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+851 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+852 \14\12
+__dummy1
+, 
+__dummy2
+;
+
+853 
+__asm__
+__vÞ©\9ee__
+
+
+861 : "=&r" (
+__dummy1
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__dummy2
+),
+
+862 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+863 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 4),
+
+864 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+866 (\1eè
+       `mem£t
+ (
+__tmp
+, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+867 \15 
+__de¡
+;
+
+868 
+       }
+}
+
+870 
+__STRING_INLINE
\ 5*
+__¡ºýy_by2
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[],
+
+871 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+873 
+__STRING_INLINE
\ 5*
+
+874 
+       $__¡ºýy_by2
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+876 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+877 \14\12
+__dummy1
+, 
+__dummy2
+;
+
+878 
+__asm__
+__vÞ©\9ee__
+
+
+891 : "=&q" (
+__dummy1
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__dummy2
+),
+
+892 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+893 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 2),
+
+894 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+896 (\1eè
+       `mem£t
+ (
+__tmp
+ + 2, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+897 \15 
+__de¡
+;
+
+898 
+       }
+}
+
+900 
+__STRING_INLINE
\ 5*
+__¡ºýy_byn
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[],
+
+901 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+903 
+__STRING_INLINE
\ 5*
+
+904 
+       $__¡ºýy_byn
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+906 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+907 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+908 
+__asm__
+__vÞ©\9ee__
+
+
+919 : "=D" (
+__tmp
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+),
+
+920 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+921 : "1" (
+__¤þ\92
+), "0" (
+__tmp
+),"2" (
+__¤c
+),
+
+922 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+924 (\1eè
+       `mem£t
+ (
+__tmp
+, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+925 \15 
+__de¡
+;
+
+926 
+       }
+}
+
+928 
+__STRING_INLINE
\ 5*
+__¡ºýy_gg
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+,
+
+929 
+size_t
+__n
+);
+
+931 
+__STRING_INLINE
\ 5*
+
+932 
+       $__¡ºýy_gg
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+, 
+size_t
+__n
+)
+
+934 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+935 \14\ 5
+__dummy
+;
+
+936 ià(
+__n
+ > 0)
+
+937 
+__asm__
+__vÞ©\9ee__
+
+
+953 : "=&r" (
+__¤c
+), "=&r" (
+__tmp
+), "=&q" (
+__dummy
+), "=&r" (
+__n
+)
+
+954 : "0" (
+__¤c
+), "1" (
+__tmp
+), "3" (
+__n
+)
+
+957 \15 
+__de¡
+;
+
+958 
+       }
+}
+
+962 \ 1
+       #_HAVE_STRING_ARCH_¡rÿt
+ 1
+
+       )
+
+963 \ 1
+       #¡rÿt
+(
+de¡
+, 
+¤c
+) \
+
+964 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+965 ? 
+       `__¡rÿt_c
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+966 : 
+       `__¡rÿt_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+968 
+__STRING_INLINE
\ 5*
+__¡rÿt_c
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[],
+
+969 
+size_t
+__¤þ\92
+);
+
+971 
+__STRING_INLINE
\ 5*
+
+972 
+       $__¡rÿt_c
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+)
+
+974 #ifdeà
+__i686__
+
+
+975 \14\1d\13\12
+__d0
+;
+
+976 \14\ 5*
+__tmp
+;
+
+977 
+__asm__
+__vÞ©\9ee__
+
+
+979 : "=D" (
+__tmp
+), "=&c" (
+__d0
+),
+
+980 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+981 : "0" (
+__de¡
+), "1" (0xffffffff), "a" (0),
+
+982 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+984 --
+__tmp
+;
+
+986 \14\ 5*
+__tmp
+ = 
+__de¡
+ - 1;
+
+987 
+__asm__
+__vÞ©\9ee__
+
+
+992 : "ô" (
+__tmp
+),
+
+993 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+994 : "0" (
+__tmp
+),
+
+995 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+998 (\1eè
+       `memýy
+ (
+__tmp
+, 
+__¤c
+, 
+__¤þ\92
+);
+
+999 \15 
+__de¡
+;
+
+1000 
+       }
+}
+
+1002 
+__STRING_INLINE
\ 5*
+__¡rÿt_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+);
+
+1004 
+__STRING_INLINE
\ 5*
+
+1005 
+       $__¡rÿt_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5*
+__¤c
+)
+
+1007 \14\ 5*
+__tmp
+ = 
+__de¡
+ - 1;
+
+1008 \14\ 5
+__dummy
+;
+
+1009 
+__asm__
+__vÞ©\9ee__
+
+
+1021 : "=&q" (
+__dummy
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+),
+
+1022 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+1023 : "1" (
+__tmp
+), "2" (
+__¤c
+),
+
+1024 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+1026 \15 
+__de¡
+;
+
+1027 
+       }
+}
+
+1031 \ 1
+       #_HAVE_STRING_ARCH_¡ºÿt
+ 1
+
+       )
+
+1032 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+1033 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+1034 
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+1035 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+1036 ? 
+       `¡rÿt
+ (
+__de¡
+, (
+¤c
+)) \
+
+1037 : (*(\ 5*)
+       `__mempýy
+ (
+       `¡rchr
+ (
+__de¡
+, '\0'), \
+
+1038 (
+__cڡ
\ 5*è(
+¤c
+), \
+
+1039 (
+n
+)èð0, 
+__de¡
+)) \
+
+1040 : 
+       `__¡ºÿt_g
+ (
+__de¡
+, (
+¤c
+), (
+n
+)); }))
+
+       )
+
+1042 
+__STRING_INLINE
\ 5*
+__¡ºÿt_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[],
+
+1043 
+size_t
+__n
+);
+
+1045 
+__STRING_INLINE
\ 5*
+
+1046 
+       $__¡ºÿt_g
+ (\ 5*
+__de¡
+, 
+__cڡ
\ 5
+__¤c
+[], 
+size_t
+__n
+)
+
+1048 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+1049 \14\ 5
+__dummy
+;
+
+1050 #ifdeà
+__i686__
+
+
+1051 
+__asm__
+__vÞ©\9ee__
+
+
+1065 : "=&a" (
+__dummy
+), "=&D" (
+__tmp
+), "=&S" (
+__¤c
+), "=&c" (
+__n
+)
+
+1066 : "g" (
+__n
+), "0" (0), "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (0xffffffff)
+
+1069 --
+__tmp
+;
+
+1070 
+__asm__
+__vÞ©\9ee__
+
+
+1087 : "=&q" (
+__dummy
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__n
+)
+
+1088 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+)
+
+1091 \15 
+__de¡
+;
+
+1092 
+       }
+}
+
+1096 \ 1
+       #_HAVE_STRING_ARCH_¡rcmp
+ 1
+
+       )
+
+1097 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+1098 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+1099 && (\17 ((
+s1
+)[0]è!ð1 || 
+       `¡¾\92
+ (s1) >= 4) \
+
+1100 && (\17 ((
+s2
+)[0]è!ð1 || 
+       `¡¾\92
+ (s2) >= 4) \
+
+1101 ? 
+       `memcmp
+ ((
+__cڡ
\ 5*è(
+s1
+), (__cÚ¡ \ 5*è(
+s2
+), \
+
+1102 (
+       `¡¾\92
+ (
+s1
+è< s\8cËÀ(
+s2
+) \
+
+1103 ? 
+       `¡¾\92
+ (
+s1
+è: s\8cËÀ(
+s2
+)) + 1) \
+
+1104 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) && \17 ((s1)[0]) == 1 \
+
+1105 && \17 ((
+s2
+)[0]è=ð1 && 
+       `¡¾\92
+ (
+s1
+) < 4 \
+
+1106 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+) && \17 ((s2)[0]) == 1 \
+
+1107 ? 
+       `__¡rcmp_cc
+ ((
+__cڡ
\1d\ 5*è(
+s1
+), \
+
+1108 (
+__cڡ
\1d\ 5*è(
+s2
+), \
+
+1109 
+       `¡¾\92
+ (
+s1
+)) \
+
+1110 : 
+       `__¡rcmp_cg
+ ((
+__cڡ
\1d\ 5*è(
+s1
+), \
+
+1111 (
+__cڡ
\1d\ 5*è(
+s2
+), \
+
+1112 
+       `¡¾\92
+ (
+s1
+))) \
+
+1113 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& \17 ((
+s1
+)[0]) == 1 \
+
+1114 && \17 ((
+s2
+)[0]è=ð1 && 
+       `¡¾\92
+ (s2) < 4 \
+
+1115 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) \
+
+1116 ? 
+       `__¡rcmp_cc
+ ((
+__cڡ
\1d\ 5*è(
+s1
+), \
+
+1117 (
+__cڡ
\1d\ 5*è(
+s2
+), \
+
+1118 
+       `¡¾\92
+ (
+s2
+)) \
+
+1119 : 
+       `__¡rcmp_gc
+ ((
+__cڡ
\1d\ 5*è(
+s1
+), \
+
+1120 (
+__cڡ
\1d\ 5*è(
+s2
+), \
+
+1121 
+       `¡¾\92
+ (
+s2
+))) \
+
+1122 : 
+       `__¡rcmp_gg
+ ((
+s1
+), (
+s2
+))))))
+
+       )
+
+1124 \ 1
+       #__¡rcmp_cc
+(
+s1
+, 
+s2
+, 
+l
+) \
+
+1125 (
+       `__ex\8bnsiÚ__
+ ({ \14\12
+__»suÉ
+ = (
+s1
+)[0] - (
+s2
+)[0]; \
+
+1126 ià(
+l
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1128 
+__»suÉ
+ = (
+s1
+)[1] - (
+s2
+)[1]; \
+
+1129 ià(
+l
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1131 
+__»suÉ
+ = (
+s1
+)[2] - (
+s2
+)[2]; \
+
+1132 ià(
+l
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1133 
+__»suÉ
+ = (
+s1
+)[3] - (
+s2
+)[3]; \
+
+1136 
+__»suÉ
+; }))
+
+       )
+
+1138 \ 1
+       #__¡rcmp_cg
+(
+s1
+, 
+s2
+, 
+l1
+) \
+
+1139 (
+       `__ex\8bnsiÚ__
+ ({ 
+__cڡ
\1d\ 5*
+__s2
+ = (
+s2
+); \
+
+1140 \14\12
+__»suÉ
+ = (
+s1
+)[0] - 
+__s2
+[0]; \
+
+1141 ià(
+l1
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1143 
+__»suÉ
+ = (
+s1
+)[1] - 
+__s2
+[1]; \
+
+1144 ià(
+l1
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1146 
+__»suÉ
+ = (
+s1
+)[2] - 
+__s2
+[2]; \
+
+1147 ià(
+l1
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1148 
+__»suÉ
+ = (
+s1
+)[3] - 
+__s2
+[3]; \
+
+1151 
+__»suÉ
+; }))
+
+       )
+
+1153 \ 1
+       #__¡rcmp_gc
+(
+s1
+, 
+s2
+, 
+l2
+) \
+
+1154 (
+       `__ex\8bnsiÚ__
+ ({ 
+__cڡ
\1d\ 5*
+__s1
+ = (
+s1
+); \
+
+1155 \14\12
+__»suÉ
+ = 
+__s1
+[0] - (
+s2
+)[0]; \
+
+1156 ià(
+l2
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1158 
+__»suÉ
+ = 
+__s1
+[1] - (
+s2
+)[1]; \
+
+1159 ià(
+l2
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1161 
+__»suÉ
+ = 
+__s1
+[2] - (
+s2
+)[2]; \
+
+1162 ià(
+l2
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1163 
+__»suÉ
+ = 
+__s1
+[3] - (
+s2
+)[3]; \
+
+1166 
+__»suÉ
+; }))
+
+       )
+
+1168 
+__STRING_INLINE
\12
+__¡rcmp_gg
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+);
+
+1170 
+__STRING_INLINE
\12
+
+1171 
+       $__¡rcmp_gg
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+)
+
+1173 \14\12
+__»s
+;
+
+1174 
+__asm__
+__vÞ©\9ee__
+
+
+1190 : "=q" (
+__»s
+), "=&r" (
+__s1
+), "=&r" (
+__s2
+)
+
+1191 : "1" (
+__s1
+), "2" (
+__s2
+),
+
+1192 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s1
+),
+
+1193 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s2
+)
+
+1195 \15 
+__»s
+;
+
+1196 
+       }
+}
+
+1200 \ 1
+       #_HAVE_STRING_ARCH_¡ºcmp
+ 1
+
+       )
+
+1201 \ 1
+       #¡ºcmp
+(
+s1
+, 
+s2
+, 
+n
+) \
+
+1202 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `¡¾\92
+ (s1è< ((
+size_t
+è(
+n
+)) \
+
+1203 ? 
+       `¡rcmp
+ ((
+s1
+), (
+s2
+)) \
+
+1204 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `¡¾\92
+ (s2è< ((
+size_t
+è(
+n
+))\
+
+1205 ? 
+       `¡rcmp
+ ((
+s1
+), (
+s2
+)) \
+
+1206 : 
+       `__¡ºcmp_g
+ ((
+s1
+), (
+s2
+), (
+n
+)))))
+
+       )
+
+1208 
+__STRING_INLINE
\12
+__¡ºcmp_g
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+,
+
+1209 
+size_t
+__n
+);
+
+1211 
+__STRING_INLINE
\12
+
+1212 
+       $__¡ºcmp_g
+ (
+__cڡ
\ 5*
+__s1
+, __cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+1214 \14\12
+__»s
+;
+
+1215 
+__asm__
+__vÞ©\9ee__
+
+
+1234 : "=q" (
+__»s
+), "=&r" (
+__s1
+), "=&r" (
+__s2
+), "=&r" (
+__n
+)
+
+1235 : "1" (
+__s1
+), "2" (
+__s2
+), "3" (
+__n
+),
+
+1236 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s1
+),
+
+1237 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s2
+)
+
+1239 \15 
+__»s
+;
+
+1240 
+       }
+}
+
+1244 \ 1
+       #_HAVE_STRING_ARCH_¡rchr
+ 1
+
+       )
+
+1245 \ 1
+       #_USE_STRING_ARCH_¡rchr
+ 1
+
+       )
+
+1246 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+1247 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1248 ? ((
+c
+) == '\0' \
+
+1249 ? (\ 5
+       `__¿wmemchr
+ ((
+s
+), (
+c
+)) \
+
+1250 : 
+       `__¡rchr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8)) \
+
+1251 : 
+       `__¡rchr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1253 
+__STRING_INLINE
\ 5*
+__¡rchr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1255 
+__STRING_INLINE
\ 5*
+
+1256 
+       $__¡rchr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1258 \14\1d\13\12
+__d0
+;
+
+1259 \14\ 5*
+__»s
+;
+
+1260 
+__asm__
+__vÞ©\9ee__
+
+
+1270 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1271 : "0" (
+__s
+), "1" (
+__c
+),
+
+1272 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1274 \15 
+__»s
+;
+
+1275 
+       }
+}
+
+1277 
+__STRING_INLINE
\ 5*
+__¡rchr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1279 
+__STRING_INLINE
\ 5*
+
+1280 
+       $__¡rchr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1282 \14\1d\13\12
+__d0
+;
+
+1283 \14\ 5*
+__»s
+;
+
+1284 
+__asm__
+__vÞ©\9ee__
+
+
+1295 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1296 : "0" (
+__s
+), "1" (
+__c
+),
+
+1297 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1299 \15 
+__»s
+;
+
+1300 
+       }
+}
+
+1304 \ 1
+       #_HAVE_STRING_ARCH_¡rchºul
+ 1
+
+       )
+
+1305 \ 1
+       #__¡rchºul
+(
+s
+, 
+c
+) \
+
+1306 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1307 ? ((
+c
+) == '\0' \
+
+1308 ? (\ 5
+       `__¿wmemchr
+ ((
+s
+), 
+c
+) \
+
+1309 : 
+       `__¡rchºul_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8)) \
+
+1310 : 
+       `__¡rchºul_g
+ ((
+s
+), 
+c
+)))
+
+       )
+
+1312 
+__STRING_INLINE
\ 5*
+__¡rchºul_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1314 
+__STRING_INLINE
\ 5*
+
+1315 
+       $__¡rchºul_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1317 \14\1d\13\12
+__d0
+;
+
+1318 \14\ 5*
+__»s
+;
+
+1319 
+__asm__
+__vÞ©\9ee__
+
+
+1329 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1330 : "0" (
+__s
+), "1" (
+__c
+),
+
+1331 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1333 \15 
+__»s
+;
+
+1334 
+       }
+}
+
+1336 
+__STRING_INLINE
\ 5*
+__¡rchºul_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1338 
+__STRING_INLINE
\ 5*
+
+1339 
+       $__¡rchºul_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1341 \14\1d\13\12
+__d0
+;
+
+1342 \14\ 5*
+__»s
+;
+
+1343 
+__asm__
+__vÞ©\9ee__
+
+
+1354 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1355 : "0" (
+__s
+), "1" (
+__c
+),
+
+1356 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1358 \15 
+__»s
+;
+
+1359 
+       }
+}
+
+1360 #ifdeà
+__USE_GNU
+
+
+1361 \ 1
+       #¡rchºul
+(
+s
+, 
+c
+       `__¡rchºul
+ ((s), (c))
+
+       )
+
+1365 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1367 \ 1
+       #_HAVE_STRING_ARCH_\9adex
+ 1
+
+       )
+
+1368 \ 1
+       #\9adex
+(
+s
+, 
+c
+) \
+
+1369 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1370 ? 
+       `__¡rchr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1371 : 
+       `__¡rchr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1376 \ 1
+       #_HAVE_STRING_ARCH_¡¼chr
+ 1
+
+       )
+
+1377 \ 1
+       #¡¼chr
+(
+s
+, 
+c
+) \
+
+1378 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1379 ? 
+       `__¡¼chr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1380 : 
+       `__¡¼chr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1382 #ifdeà
+__i686__
+
+
+1383 
+__STRING_INLINE
\ 5*
+__¡¼chr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1385 
+__STRING_INLINE
\ 5*
+
+1386 
+       $__¡¼chr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1388 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1389 \14\ 5*
+__»s
+;
+
+1390 
+__asm__
+__vÞ©\9ee__
+
+
+1398 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1399 : "0" (1), "1" (
+__s
+), "2" (
+__c
+),
+
+1400 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1402 \15 
+__»s
+ - 1;
+
+1403 
+       }
+}
+
+1405 
+__STRING_INLINE
\ 5*
+__¡¼chr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1407 
+__STRING_INLINE
\ 5*
+
+1408 
+       $__¡¼chr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1410 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1411 \14\ 5*
+__»s
+;
+
+1412 
+__asm__
+__vÞ©\9ee__
+
+
+1421 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1422 : "0" (1), "1" (
+__s
+), "2" (
+__c
+),
+
+1423 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1425 \15 
+__»s
+ - 1;
+
+1426 
+       }
+}
+
+1428 
+__STRING_INLINE
\ 5*
+__¡¼chr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1430 
+__STRING_INLINE
\ 5*
+
+1431 
+       $__¡¼chr_c
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1433 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1434 \14\ 5*
+__»s
+;
+
+1435 
+__asm__
+__vÞ©\9ee__
+
+
+1445 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1446 : "0" (0), "1" (
+__s
+), "2" (
+__c
+),
+
+1447 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1449 \15 
+__»s
+;
+
+1450 
+       }
+}
+
+1452 
+__STRING_INLINE
\ 5*
+__¡¼chr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+);
+
+1454 
+__STRING_INLINE
\ 5*
+
+1455 
+       $__¡¼chr_g
+ (
+__cڡ
\ 5*
+__s
+, \12
+__c
+)
+
+1457 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1458 \14\ 5*
+__»s
+;
+
+1459 
+__asm__
+__vÞ©\9ee__
+
+
+1470 : "ô" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1471 : "0" (0), "1" (
+__s
+), "2" (
+__c
+),
+
+1472 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1474 \15 
+__»s
+;
+
+1475 
+       }
+}
+
+1479 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1481 \ 1
+       #_HAVE_STRING_ARCH_r\9adex
+ 1
+
+       )
+
+1482 \ 1
+       #r\9adex
+(
+s
+, 
+c
+) \
+
+1483 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1484 ? 
+       `__¡¼chr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1485 : 
+       `__¡¼chr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1491 \ 1
+       #_HAVE_STRING_ARCH_¡rc¥n
+ 1
+
+       )
+
+1492 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+1493 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+) && \17 ((reject)[0]) == 1 \
+
+1494 ? ((
+»jeù
+)[0] == '\0' \
+
+1495 ? 
+       `¡¾\92
+ (
+s
+) \
+
+1496 : ((
+»jeù
+)[1] == '\0' \
+
+1497 ? 
+       `__¡rc¥n_c1
+ ((
+s
+), (((
+»jeù
+)[0] << 8) & 0xff00)) \
+
+1498 : 
+       `__¡rc¥n_cg
+ ((
+s
+), (
+»jeù
+), 
+       `¡¾\92
+ (reject)))) \
+
+1499 : 
+       `__¡rc¥n_g
+ ((
+s
+), (
+»jeù
+))))
+
+       )
+
+1501 
+__STRING_INLINE
+size_t
+__¡rc¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù
+);
+
+1503 #iâdeà
+_FORCE_INLINES
+
+
+1504 
+__STRING_INLINE
+size_t
+
+
+1505 
+       $__¡rc¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù
+)
+
+1507 \14\1d\13\12
+__d0
+;
+
+1508 \14\ 5*
+__»s
+;
+
+1509 
+__asm__
+__vÞ©\9ee__
+
+
+1518 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1519 : "0" (
+__s
+), "1" (
+__»jeù
+),
+
+1520 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1522 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1523 
+       }
+}
+
+1526 
+__STRING_INLINE
+size_t
+__¡rc¥n_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__»jeù
+[],
+
+1527 
+size_t
+__»jeù_Ën
+);
+
+1529 
+__STRING_INLINE
+size_t
+
+
+1530 
+       $__¡rc¥n_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__»jeù
+[], 
+size_t
+__»jeù_Ën
+)
+
+1532 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1533 \14
+__cڡ
\ 5*
+__»s
+;
+
+1534 
+__asm__
+__vÞ©\9ee__
+
+
+1545 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1546 : "0" (
+__s
+), "d" (
+__»jeù
+), "g" (
+__»jeù_Ën
+)
+
+1548 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1549 
+       }
+}
+
+1551 
+__STRING_INLINE
+size_t
+__¡rc¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__»jeù
+);
+
+1552 #ifdeà
+__PIC__
+
+
+1554 
+__STRING_INLINE
+size_t
+
+
+1555 
+       $__¡rc¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__»jeù
+)
+
+1557 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1558 \14
+__cڡ
\ 5*
+__»s
+;
+
+1559 
+__asm__
+__vÞ©\9ee__
+
+
+1576 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1577 : "r" (
+__»jeù
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff)
+
+1579 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1580 
+       }
+}
+
+1582 
+__STRING_INLINE
+size_t
+
+
+1583 
+       $__¡rc¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__»jeù
+)
+
+1585 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1586 \14
+__cڡ
\ 5*
+__»s
+;
+
+1587 
+__asm__
+__vÞ©\9ee__
+
+
+1601 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1602 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (
+__»jeù
+), "b" (__reject)
+
+1605 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1606 
+       }
+}
+
+1612 \ 1
+       #_HAVE_STRING_ARCH_¡r¥n
+ 1
+
+       )
+
+1613 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+1614 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+) && \17 ((accept)[0]) == 1 \
+
+1615 ? ((
+acû±
+)[0] == '\0' \
+
+1616 ? ((\1eè(
+s
+), 0) \
+
+1617 : ((
+acû±
+)[1] == '\0' \
+
+1618 ? 
+       `__¡r¥n_c1
+ ((
+s
+), (((
+acû±
+)[0] << 8 ) & 0xff00)) \
+
+1619 : 
+       `__¡r¥n_cg
+ ((
+s
+), (
+acû±
+), 
+       `¡¾\92
+ (accept)))) \
+
+1620 : 
+       `__¡r¥n_g
+ ((
+s
+), (
+acû±
+))))
+
+       )
+
+1622 #iâdeà
+_FORCE_INLINES
+
+
+1623 
+__STRING_INLINE
+size_t
+__¡r¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±
+);
+
+1625 
+__STRING_INLINE
+size_t
+
+
+1626 
+       $__¡r¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±
+)
+
+1628 \14\1d\13\12
+__d0
+;
+
+1629 \14\ 5*
+__»s
+;
+
+1631 
+__asm__
+__vÞ©\9ee__
+
+
+1637 : "ô" (
+__»s
+), "=&q" (
+__d0
+)
+
+1638 : "0" (
+__s
+), "1" (
+__acû±
+),
+
+1639 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1641 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1642 
+       }
+}
+
+1645 
+__STRING_INLINE
+size_t
+__¡r¥n_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__acû±
+[],
+
+1646 
+size_t
+__acû±_Ën
+);
+
+1648 
+__STRING_INLINE
+size_t
+
+
+1649 
+       $__¡r¥n_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__acû±
+[], 
+size_t
+__acû±_Ën
+)
+
+1651 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1652 \14
+__cڡ
\ 5*
+__»s
+;
+
+1653 
+__asm__
+__vÞ©\9ee__
+
+
+1664 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1665 : "0" (
+__s
+), "g" (
+__acû±
+), "g" (
+__acû±_Ën
+),
+
+1668 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+),
+
+1669 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__acû±_Ën
+]; } *)
+__acû±
+)
+
+1671 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1672 
+       }
+}
+
+1674 
+__STRING_INLINE
+size_t
+__¡r¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+);
+
+1675 #ifdeà
+__PIC__
+
+
+1677 
+__STRING_INLINE
+size_t
+
+
+1678 
+       $__¡r¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+1680 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1681 \14
+__cڡ
\ 5*
+__»s
+;
+
+1682 
+__asm__
+__vÞ©\9ee__
+
+
+1698 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1699 : "d" (
+__acû±
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (__accept)
+
+1701 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1702 
+       }
+}
+
+1704 
+__STRING_INLINE
+size_t
+
+
+1705 
+       $__¡r¥n_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+1707 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1708 \14
+__cڡ
\ 5*
+__»s
+;
+
+1709 
+__asm__
+__vÞ©\9ee__
+
+
+1723 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1724 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (
+__acû±
+), "b" (__accept)
+
+1726 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1727 
+       }
+}
+
+1732 \ 1
+       #_HAVE_STRING_ARCH_¡½brk
+ 1
+
+       )
+
+1733 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1734 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+) && \17 ((accept)[0]) == 1 \
+
+1735 ? ((
+acû±
+)[0] == '\0' \
+
+1736 ? ((\1eè(
+s
+), (\ 5*) 0) \
+
+1737 : ((
+acû±
+)[1] == '\0' \
+
+1738 ? 
+       `¡rchr
+ ((
+s
+), (
+acû±
+)[0]) \
+
+1739 : 
+       `__¡½brk_cg
+ ((
+s
+), (
+acû±
+), 
+       `¡¾\92
+ (accept)))) \
+
+1740 : 
+       `__¡½brk_g
+ ((
+s
+), (
+acû±
+))))
+
+       )
+
+1742 
+__STRING_INLINE
\ 5*
+__¡½brk_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__acû±
+[],
+
+1743 
+size_t
+__acû±_Ën
+);
+
+1745 
+__STRING_INLINE
\ 5*
+
+1746 
+       $__¡½brk_cg
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5
+__acû±
+[], 
+size_t
+__acû±_Ën
+)
+
+1748 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1749 \14\ 5*
+__»s
+;
+
+1750 
+__asm__
+__vÞ©\9ee__
+
+
+1765 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1766 : "0" (
+__s
+), "d" (
+__acû±
+), "g" (
+__acû±_Ën
+)
+
+1768 \15 
+__»s
+;
+
+1769 
+       }
+}
+
+1771 
+__STRING_INLINE
\ 5*
+__¡½brk_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+);
+
+1772 #ifdeà
+__PIC__
+
+
+1774 
+__STRING_INLINE
\ 5*
+
+1775 
+       $__¡½brk_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+1777 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1778 \14\ 5*
+__»s
+;
+
+1779 
+__asm__
+__vÞ©\9ee__
+
+
+1800 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1801 : "d" (
+__acû±
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff)
+
+1803 \15 
+__»s
+;
+
+1804 
+       }
+}
+
+1806 
+__STRING_INLINE
\ 5*
+
+1807 
+       $__¡½brk_g
+ (
+__cڡ
\ 5*
+__s
+, __cڡ \ 5*
+__acû±
+)
+
+1809 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1810 \14\ 5*
+__»s
+;
+
+1811 
+__asm__
+__vÞ©\9ee__
+
+
+1830 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&d" (
+__d2
+), "=&D" (
+__d3
+)
+
+1831 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "b" (
+__acû±
+)
+
+1833 \15 
+__»s
+;
+
+1834 
+       }
+}
+
+1839 \ 1
+       #_HAVE_STRING_ARCH_¡r¡r
+ 1
+
+       )
+
+1840 \ 1
+       #¡r¡r
+(
+hay¡ack
+, 
+ÃedË
+) \
+
+1841 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+ÃedË
+) && \17 ((needle)[0]) == 1 \
+
+1842 ? ((
+ÃedË
+)[0] == '\0' \
+
+1843 ? (
+hay¡ack
+) \
+
+1844 : ((
+ÃedË
+)[1] == '\0' \
+
+1845 ? 
+       `¡rchr
+ ((
+hay¡ack
+), (
+ÃedË
+)[0]) \
+
+1846 : 
+       `__¡r¡r_cg
+ ((
+hay¡ack
+), (
+ÃedË
+), \
+
+1847 
+       `¡¾\92
+ (
+ÃedË
+)))) \
+
+1848 : 
+       `__¡r¡r_g
+ ((
+hay¡ack
+), (
+ÃedË
+))))
+
+       )
+
+1852 
+__STRING_INLINE
\ 5*
+__¡r¡r_cg
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5
+__ÃedË
+[],
+
+1853 
+size_t
+__ÃedË_Ën
+);
+
+1855 
+__STRING_INLINE
\ 5*
+
+1856 
+       $__¡r¡r_cg
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5
+__ÃedË
+[],
+
+1857 
+size_t
+__ÃedË_Ën
+)
+
+1859 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1860 \14\ 5*
+__»s
+;
+
+1861 
+__asm__
+__vÞ©\9ee__
+
+
+1874 : "=&a" (
+__»s
+), "=&S" (
+__d0
+), "=&D" (
+__d1
+), "=&c" (
+__d2
+)
+
+1875 : "g" (
+__ÃedË_Ën
+), "1" (
+__hay¡ack
+), "d" (
+__ÃedË
+)
+
+1877 \15 
+__»s
+;
+
+1878 
+       }
+}
+
+1880 
+__STRING_INLINE
\ 5*
+__¡r¡r_g
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5*
+__ÃedË
+);
+
+1881 #ifdeà
+__PIC__
+
+
+1883 
+__STRING_INLINE
\ 5*
+
+1884 
+       $__¡r¡r_g
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5*
+__ÃedË
+)
+
+1886 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1887 \14\ 5*
+__»s
+;
+
+1888 
+__asm__
+__vÞ©\9ee__
+
+
+1907 : "=&a" (
+__»s
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+)
+
+1908 : "0" (0), "1" (0xffffffff), "2" (
+__hay¡ack
+), "3" (
+__ÃedË
+),
+
+1909 "d" (
+__ÃedË
+)
+
+1911 \15 
+__»s
+;
+
+1912 
+       }
+}
+
+1914 
+__STRING_INLINE
\ 5*
+
+1915 
+       $__¡r¡r_g
+ (
+__cڡ
\ 5*
+__hay¡ack
+, __cڡ \ 5*
+__ÃedË
+)
+
+1917 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1918 \14\ 5*
+__»s
+;
+
+1919 
+__asm__
+__vÞ©\9ee__
+
+
+1936 : "=&a" (
+__»s
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1937 : "0" (0), "1" (0xffffffff), "2" (
+__hay¡ack
+), "3" (
+__ÃedË
+),
+
+1938 "b" (
+__ÃedË
+)
+
+1940 \15 
+__»s
+;
+
+1941 
+       }
+}
+
+1947 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1948 #ifdeà
+__i686__
+
+
+1949 \ 1
+       #_HAVE_STRING_ARCH_ffs
+ 1
+
+       )
+
+1950 \ 1
+       #ffs
+(
+wÜd
+è(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (word) \
+
+1951 ? 
+       `__bu\9et\9a_ffs
+ (
+wÜd
+) \
+
+1952 : ({ \12
+__út
+, 
+__tmp
+; \
+
+1953 
+__asm__
+__vÞ©\9ee__
+ \
+
+1956 : "=&r" (
+__út
+), "ô" (
+__tmp
+) \
+
+1957 : "rm" (
+wÜd
+), "1" (-1)); \
+
+1958 
+__út
+ + 1; }))
+
+       )
+
+1960 #iâdeà
+ff¦
+
+
+1961 \ 1
+       #ff¦
+(
+wÜd
+       `ffs
+(wÜd)
+
+       )
+
+1966 #iâdeà
+_FORCE_INLINES
+
+
+1967 #undeà
+__STRING_INLINE
+
+
+       @/usr/include/bits/string2.h
+
+21 #iâdeà
+_STRING_H
+
+
+25 #ià!
+def\9aed
+__NO_STRING_INLINES
+ && !def\9aed 
+__BOUNDED_POINTERS__
+
+
+42 #iâdeà
+__STRING_INLINE
+
+
+43 #ifdeà
+__ýlu¥lus
+
+
+44 \ 1
+       #__STRING_INLINE
+\9al\9ae
+
+
+       )
+
+46 \ 1
+       #__STRING_INLINE
\r
+__\9al\9ae
+
+
+       )
+
+50 #ià
+_STRING_ARCH_uÇligÃd
+
+
+52 \ 2
+       ~<\92d\9fn.h
+>
+
+53 \ 2
+       ~<b\99s/ty³s.h
+>
+
+55 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+56 \ 1
+       #__STRING2_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+57 (((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1] << 8 \
+
+58 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+59 \ 1
+       #__STRING2_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+60 (((((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 3] << 8 \
+
+61 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+62 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+63 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+65 \ 1
+       #__STRING2_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+66 (((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+] << 8 \
+
+67 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1])
+
+       )
+
+68 \ 1
+       #__STRING2_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+69 (((((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+] << 8 \
+
+70 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+71 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+72 | ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 3])
+
+       )
+
+77 \ 1
+       #__STRING2_COPY_TYPE
+(
+N
+) \
+
+78 \e¡ruù { \1d\ 5
+__¬r
+[
+N
+]; } \
+
+79 
+       t__©\8cibu\8b__
+ ((
+       t__·cked__
+)è
+       t__STRING2_COPY_ARR
+##
+       tN
+
+
+       )
+
+80 
+       t__STRING2_COPY_TYPE
+ (2);
+
+81 
+__STRING2_COPY_TYPE
+ (3);
+
+82 
+__STRING2_COPY_TYPE
+ (4);
+
+83 
+__STRING2_COPY_TYPE
+ (5);
+
+84 
+__STRING2_COPY_TYPE
+ (6);
+
+85 
+__STRING2_COPY_TYPE
+ (7);
+
+86 
+__STRING2_COPY_TYPE
+ (8);
+
+87 #undeà
+__STRING2_COPY_TYPE
+
+
+93 \ 1
+       #__¡r\9ag2_1b±r_p
+(
+__x
+) \
+
+94 ((
+size_t
+)(cڡ \1e*)((
+__x
+è+ 1è- (size_t)(cÚ¡ \1e*)(__xè=ð1)
+
+       )
+
+97 #ià!
+def\9aed
+_HAVE_STRING_ARCH_mem£t
+
+
+98 #ià!
+__GNUC_PREREQ
+ (3, 0)
+
+99 #ià
+_STRING_ARCH_uÇligÃd
+
+
+100 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+101 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) && (n) <= 16 \
+
+102 ? ((
+n
+) == 1 \
+
+103 ? 
+       `__mem£t_1
+ (
+s
+, 
+c
+) \
+
+104 : 
+       `__mem£t_gc
+ (
+s
+, 
+c
+, 
+n
+)) \
+
+105 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+106 ? ({ \1e*
+__s
+ = (
+s
+); 
+       `__bz\94o
+ (__s, 
+n
+); __s; }) \
+
+107 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+))))
+
+       )
+
+109 \ 1
+       #__mem£t_1
+(
+s
+, 
+c
+è({ \1e*
+__s
+ = (s); \
+
+110 *((
+__u\9at8_t
+ *è
+__s
+èð(__u\9at8_tè(
+c
+); __s; })
+
+       )
+
+112 \ 1
+       #__mem£t_gc
+(
+s
+, 
+c
+, 
+n
+) \
+
+113 ({ \1e*
+__s
+ = (
+s
+); \
+
+115 \1d\12
+__ui
+; \
+
+116 \1d\16\12
+__usi
+; \
+
+117 \1d\ 5
+__uc
+; \
+
+118 } *
+__u
+ = 
+__s
+; \
+
+119 
+__u\9at8_t
+__c
+ = (__u\9at8_tè(
+c
+); \
+
+122 \1a(\1d\12è(
+n
+)) \
+
+125 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+126 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+128 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+129 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+131 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+132 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+134 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+ * 0x0101; \
+
+135 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+136 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+140 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+141 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+143 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+144 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+146 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+147 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+149 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+ * 0x0101; \
+
+153 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+154 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+156 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+157 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+159 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+160 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+162 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+166 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+167 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+169 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+170 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+172 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+173 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+175 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+180 
+__s
+; })
+
+       )
+
+182 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+183 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+184 ? ({ \1e*
+__s
+ = (
+s
+); 
+       `__bz\94o
+ (__s, 
+n
+); __s; }) \
+
+185 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+194 #ià
+__GNUC_PREREQ
+ (2, 91)
+
+195 \ 1
+       #__bz\94o
+(
+s
+, 
+n
+       `__bu\9et\9a_mem£t
+ (s, '\0',\82)
+
+       )
+
+203 #ifdeà
+__USE_GNU
+
+
+204 #ià!
+def\9aed
+_HAVE_STRING_ARCH_mempýy
+ || def\9aed 
+_FORCE_INLINES
+
+
+205 #iâdeà
+_HAVE_STRING_ARCH_mempýy
+
+
+206 #ià
+__GNUC_PREREQ
+ (3, 4)
+
+207 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_mempýy
+ (de¡, src,\82)
+
+       )
+
+208 #\96
+__GNUC_PREREQ
+ (3, 0)
+
+209 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+210 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+211 && 
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+n
+ <= 8 \
+
+212 ? 
+       `__bu\9et\9a_memýy
+ (
+de¡
+, 
+¤c
+, 
+n
+) + (n) \
+
+213 : 
+       `__mempýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+215 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+216 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+217 && 
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+n
+ <= 8 \
+
+218 ? 
+       `__mempýy_sm®l
+ (
+de¡
+, 
+       `__mempýy_¬gs
+ (
+¤c
+), 
+n
+) \
+
+219 : 
+       `__mempýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+223 \ 1
+       #mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__mempýy
+ (de¡, src,\82)
+
+       )
+
+226 #ià!
+__GNUC_PREREQ
+ (3, 0è|| 
+def\9aed
+_FORCE_INLINES
+
+
+227 #ià
+_STRING_ARCH_uÇligÃd
+
+
+228 #iâdeà
+_FORCE_INLINES
+
+
+229 \ 1
+       #__mempýy_¬gs
+(
+¤c
+) \
+
+230 ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[2], \
+
+231 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[6], \
+
+232 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+233 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+234 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+235 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+237 
+__STRING_INLINE
\1e*
+__mempýy_sm®l
+ (\1e*, \ 5\ 5\ 5\ 5,
+
+238 
+__u\9at16_t
+, __u\9at16_t, 
+__u\9at32_t
+,
+
+239 
+__u\9at32_t
+, 
+size_t
+);
+
+240 
+__STRING_INLINE
\1e*
+
+241 
+       $__mempýy_sm®l
+ (\1e*
+__de¡1
+,
+
+242 \ 5
+__¤c0_1
+, \ 5
+__¤c2_1
+, \ 5
+__¤c4_1
+, \ 5
+__¤c6_1
+,
+
+243 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+244 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+245 
+size_t
+__¤þ\92
+)
+
+248 
+__u\9at32_t
+__ui
+;
+
+249 
+__u\9at16_t
+__usi
+;
+
+250 \1d\ 5
+__uc
+;
+
+251 \1d\ 5
+__c
+;
+
+252 } *
+__u
+ = 
+__de¡1
+;
+
+253 \1a(\1d\12è
+__¤þ\92
+)
+
+256 
+__u
+->
+__c
+ = 
+__¤c0_1
+;
+
+257 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+260 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+261 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+264 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+265 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+266 
+__u
+->
+__c
+ = 
+__¤c2_1
+;
+
+267 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+270 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+271 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+274 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+275 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+276 
+__u
+->
+__c
+ = 
+__¤c4_1
+;
+
+277 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+280 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+281 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+282 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+283 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+286 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+287 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+288 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+289 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+290 
+__u
+->
+__c
+ = 
+__¤c6_1
+;
+
+291 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+294 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+295 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+296 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+297 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+300 \15 (\1e
+__u
+;
+
+301 
+       }
+}
+
+303 #iâdeà
+_FORCE_INLINES
+
+
+304 \ 1
+       #__mempýy_¬gs
+(
+¤c
+) \
+
+305 ((
+__cڡ
\ 5*è(
+¤c
+))[0], \
+
+306 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+307 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1] } }), \
+
+308 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+309 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+310 ((
+__cڡ
\ 5*è(
+¤c
+))[2] } }), \
+
+311 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+312 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+313 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3] } }), \
+
+314 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+315 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+316 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+317 ((
+__cڡ
\ 5*è(
+¤c
+))[4] } }), \
+
+318 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+319 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+320 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+321 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5] } }), \
+
+322 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+323 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+324 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+325 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+326 ((
+__cڡ
\ 5*è(
+¤c
+))[6] } }), \
+
+327 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+328 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+329 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+330 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+331 ((
+__cڡ
\ 5*è(
+¤c
+))[6], ((__cÚ¡ \ 5*è(¤c))[7] } })
+
+       )
+
+333 
+__STRING_INLINE
\1e*
+__mempýy_sm®l
+ (\1e*, \ 5
+__STRING2_COPY_ARR2
+,
+
+334 
+__STRING2_COPY_ARR3
+,
+
+335 
+__STRING2_COPY_ARR4
+,
+
+336 
+__STRING2_COPY_ARR5
+,
+
+337 
+__STRING2_COPY_ARR6
+,
+
+338 
+__STRING2_COPY_ARR7
+,
+
+339 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+340 
+__STRING_INLINE
\1e*
+
+341 
+       $__mempýy_sm®l
+ (\1e*
+__de¡
+, \ 5
+__¤c1
+,
+
+342 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+343 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+344 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+345 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+348 \ 5
+__c
+;
+
+349 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+350 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+351 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+352 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+353 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+354 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+355 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+356 } *
+__u
+ = 
+__de¡
+;
+
+357 \1a(\1d\12è
+__¤þ\92
+)
+
+360 
+__u
+->
+__c
+ = 
+__¤c1
+;
+
+363 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+366 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+369 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+372 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+375 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+378 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+381 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+384 \15 
+       `__ex\8bnsiÚ__
+ ((\1e
+__u
+ + 
+__¤þ\92
+);
+
+385 
+       }
+}
+
+393 #iâdeà
+_HAVE_STRING_ARCH_¡rchr
+
+
+394 \r\1e*
+__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+);
+
+395 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+396 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+397 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+è&& !__bu\9et\9a_cÚ¡ªt_°(
+s
+) \
+
+398 && (
+c
+) == '\0' \
+
+399 ? (\ 5
+       `__¿wmemchr
+ (
+s
+, 
+c
+) \
+
+400 : 
+       `__bu\9et\9a_¡rchr
+ (
+s
+, 
+c
+)))
+
+       )
+
+402 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+403 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+404 ? (\ 5
+       `__¿wmemchr
+ (
+s
+, 
+c
+) \
+
+405 : 
+       `¡rchr
+ (
+s
+, 
+c
+)))
+
+       )
+
+411 #ià(!
+def\9aed
+_HAVE_STRING_ARCH_¡rýy
+ && !
+__GNUC_PREREQ
+ (3, 0)) \
+
+412 || 
+def\9aed
+       g_FORCE_INLINES
+
+
+413 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rýy
+ && !
+__GNUC_PREREQ
+ (3, 0)
+
+414 \ 1
+       #¡rýy
+(
+de¡
+, 
+¤c
+) \
+
+415 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+416 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+417 ? 
+       `__¡rýy_sm®l
+ (
+de¡
+, 
+       `__¡rýy_¬gs
+ (
+¤c
+), \
+
+418 
+       `¡¾\92
+ (
+¤c
+) + 1) \
+
+419 : (\ 5
+       `memýy
+ (
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1)) \
+
+420 : 
+       `¡rýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+423 #ià
+_STRING_ARCH_uÇligÃd
+
+
+424 #iâdeà
+_FORCE_INLINES
+
+
+425 \ 1
+       #__¡rýy_¬gs
+(
+¤c
+) \
+
+426 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+427 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+428 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+429 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+431 
+__STRING_INLINE
\ 5*
+__¡rýy_sm®l
+ (\ 5*, 
+__u\9at16_t
+, __uint16_t,
+
+432 
+__u\9at32_t
+, __u\9at32_t, 
+size_t
+);
+
+433 
+__STRING_INLINE
\ 5*
+
+434 
+       $__¡rýy_sm®l
+ (\ 5*
+__de¡
+,
+
+435 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+436 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+437 
+size_t
+__¤þ\92
+)
+
+440 
+__u\9at32_t
+__ui
+;
+
+441 
+__u\9at16_t
+__usi
+;
+
+442 \1d\ 5
+__uc
+;
+
+443 } *
+__u
+ = (\1e
+__de¡
+;
+
+444 \1a(\1d\12è
+__¤þ\92
+)
+
+447 
+__u
+->
+__uc
+ = '\0';
+
+450 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+453 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+454 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+455 
+__u
+->
+__uc
+ = '\0';
+
+458 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+461 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+462 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+463 
+__u
+->
+__uc
+ = '\0';
+
+466 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+467 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+468 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+471 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+472 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+473 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+474 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+475 
+__u
+->
+__uc
+ = '\0';
+
+478 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+479 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+480 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+483 \15 
+__de¡
+;
+
+484 
+       }
+}
+
+486 #iâdeà
+_FORCE_INLINES
+
+
+487 \ 1
+       #__¡rýy_¬gs
+(
+¤c
+) \
+
+488 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+489 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], '\0' } }), \
+
+490 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+491 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+493 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+494 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+495 ((
+__cڡ
\ 5*è(
+¤c
+))[2], '\0' } }), \
+
+496 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+497 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+498 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+500 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+501 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+502 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+503 ((
+__cڡ
\ 5*è(
+¤c
+))[4], '\0' } }), \
+
+504 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+505 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+506 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+507 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+509 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+510 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+511 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+512 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+513 ((
+__cڡ
\ 5*è(
+¤c
+))[6], '\0' } })
+
+       )
+
+515 
+__STRING_INLINE
\ 5*
+__¡rýy_sm®l
+ (\ 5*, 
+__STRING2_COPY_ARR2
+,
+
+516 
+__STRING2_COPY_ARR3
+,
+
+517 
+__STRING2_COPY_ARR4
+,
+
+518 
+__STRING2_COPY_ARR5
+,
+
+519 
+__STRING2_COPY_ARR6
+,
+
+520 
+__STRING2_COPY_ARR7
+,
+
+521 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+522 
+__STRING_INLINE
\ 5*
+
+523 
+       $__¡rýy_sm®l
+ (\ 5*
+__de¡
+,
+
+524 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+525 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+526 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+527 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+530 \ 5
+__c
+;
+
+531 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+532 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+533 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+534 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+535 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+536 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+537 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+538 } *
+__u
+ = (\1e
+__de¡
+;
+
+539 \1a(\1d\12è
+__¤þ\92
+)
+
+542 
+__u
+->
+__c
+ = '\0';
+
+545 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+548 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+551 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+554 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+557 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+560 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+563 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+566 \15 
+__de¡
+;
+
+567 
+       }
+}
+
+573 #ifdeà
+__USE_GNU
+
+
+574 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡pýy
+ || def\9aed 
+_FORCE_INLINES
+
+
+575 #iâdeà
+_HAVE_STRING_ARCH_¡pýy
+
+
+576 #ià
+__GNUC_PREREQ
+ (3, 4)
+
+577 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+       `__bu\9et\9a_¡pýy
+ (de¡, src)
+
+       )
+
+578 #\96
+__GNUC_PREREQ
+ (3, 0)
+
+579 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+580 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+581 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+582 ? 
+       `__bu\9et\9a_¡rýy
+ (
+de¡
+, 
+¤c
+è+ 
+       `¡¾\92
+ (src) \
+
+583 : ((\ 5*è(
+__mempýy
+è(
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1) \
+
+585 : 
+       `__¡pýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+587 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+588 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+589 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+590 ? 
+       `__¡pýy_sm®l
+ (
+de¡
+, 
+       `__¡pýy_¬gs
+ (
+¤c
+), \
+
+591 
+       `¡¾\92
+ (
+¤c
+) + 1) \
+
+592 : ((\ 5*è(
+__mempýy
+è(
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1) \
+
+594 : 
+       `__¡pýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+598 \ 1
+       #¡pýy
+(
+de¡
+, 
+¤c
+       `__¡pýy
+ (de¡, src)
+
+       )
+
+601 #ià!
+__GNUC_PREREQ
+ (3, 0è|| 
+def\9aed
+_FORCE_INLINES
+
+
+602 #ià
+_STRING_ARCH_uÇligÃd
+
+
+603 #iâdeà
+_FORCE_INLINES
+
+
+604 \ 1
+       #__¡pýy_¬gs
+(
+¤c
+) \
+
+605 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+606 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+607 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+608 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+610 
+__STRING_INLINE
\ 5*
+__¡pýy_sm®l
+ (\ 5*, 
+__u\9at16_t
+, __uint16_t,
+
+611 
+__u\9at32_t
+, __u\9at32_t, 
+size_t
+);
+
+612 
+__STRING_INLINE
\ 5*
+
+613 
+       $__¡pýy_sm®l
+ (\ 5*
+__de¡
+,
+
+614 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+615 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+616 
+size_t
+__¤þ\92
+)
+
+619 \1d\12
+__ui
+;
+
+620 \1d\16\12
+__usi
+;
+
+621 \1d\ 5
+__uc
+;
+
+622 \ 5
+__c
+;
+
+623 } *
+__u
+ = (\1e
+__de¡
+;
+
+624 \1a(\1d\12è
+__¤þ\92
+)
+
+627 
+__u
+->
+__uc
+ = '\0';
+
+630 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+631 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+634 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+635 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+636 
+__u
+->
+__uc
+ = '\0';
+
+639 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+640 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3);
+
+643 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+644 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+645 
+__u
+->
+__uc
+ = '\0';
+
+648 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+649 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+650 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+651 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+654 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+655 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+656 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+657 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+658 
+__u
+->
+__uc
+ = '\0';
+
+661 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+662 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+663 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+664 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3);
+
+667 \15 &
+__u
+->
+__c
+;
+
+668 
+       }
+}
+
+670 #iâdeà
+_FORCE_INLINES
+
+
+671 \ 1
+       #__¡pýy_¬gs
+(
+¤c
+) \
+
+672 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+673 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], '\0' } }), \
+
+674 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+675 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+677 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+678 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+679 ((
+__cڡ
\ 5*è(
+¤c
+))[2], '\0' } }), \
+
+680 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+681 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+682 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+684 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+685 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+686 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+687 ((
+__cڡ
\ 5*è(
+¤c
+))[4], '\0' } }), \
+
+688 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+689 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+690 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+691 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+693 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+694 { { ((
+__cڡ
\ 5*è(
+¤c
+))[0], ((__const \ 5*) (src))[1], \
+
+695 ((
+__cڡ
\ 5*è(
+¤c
+))[2], ((__const \ 5*) (src))[3], \
+
+696 ((
+__cڡ
\ 5*è(
+¤c
+))[4], ((__const \ 5*) (src))[5], \
+
+697 ((
+__cڡ
\ 5*è(
+¤c
+))[6], '\0' } })
+
+       )
+
+699 
+__STRING_INLINE
\ 5*
+__¡pýy_sm®l
+ (\ 5*, 
+__STRING2_COPY_ARR2
+,
+
+700 
+__STRING2_COPY_ARR3
+,
+
+701 
+__STRING2_COPY_ARR4
+,
+
+702 
+__STRING2_COPY_ARR5
+,
+
+703 
+__STRING2_COPY_ARR6
+,
+
+704 
+__STRING2_COPY_ARR7
+,
+
+705 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+706 
+__STRING_INLINE
\ 5*
+
+707 
+       $__¡pýy_sm®l
+ (\ 5*
+__de¡
+,
+
+708 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+709 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+710 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+711 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+714 \ 5
+__c
+;
+
+715 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+716 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+717 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+718 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+719 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+720 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+721 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+722 } *
+__u
+ = (\1e
+__de¡
+;
+
+723 \1a(\1d\12è
+__¤þ\92
+)
+
+726 
+__u
+->
+__c
+ = '\0';
+
+729 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+732 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+735 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+738 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+741 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+744 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+747 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+750 \15 
+__de¡
+ + 
+__¤þ\92
+ - 1;
+
+751 
+       }
+}
+
+759 #iâdeà
+_HAVE_STRING_ARCH_¡ºýy
+
+
+760 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+761 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_¡ºýy
+ (de¡, src,\82)
+
+       )
+
+763 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+764 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+765 ? (
+       `¡¾\92
+ (
+¤c
+è+ 1 >ð((
+size_t
+è(
+n
+)) \
+
+766 ? (\ 5
+       `memýy
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+767 : 
+       `¡ºýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)) \
+
+768 : 
+       `¡ºýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+774 #iâdeà
+_HAVE_STRING_ARCH_¡ºÿt
+
+
+775 #ifdeà
+_USE_STRING_ARCH_¡rchr
+
+
+776 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+777 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+778 
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+779 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+780 ? 
+       `¡rÿt
+ (
+__de¡
+, 
+¤c
+) \
+
+781 : (*((\ 5
+       `__mempýy
+ (
+       `¡rchr
+ (
+__de¡
+, '\0'), \
+
+782 
+¤c
+, 
+n
+)èð'\0', 
+__de¡
+)) \
+
+783 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+); }))
+
+       )
+
+784 #\96
+__GNUC_PREREQ
+ (3, 2)
+
+785 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_¡ºÿt
+ (de¡, src,\82)
+
+       )
+
+787 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+788 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+789 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+790 ? 
+       `¡rÿt
+ (
+de¡
+, 
+¤c
+) \
+
+791 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+)) \
+
+792 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+798 #iâdeà
+_HAVE_STRING_ARCH_¡rcmp
+
+
+799 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+800 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+801 
+__ex\8bnsiÚ__
+ \
+
+802 ({ 
+size_t
+__s1_Ën
+, 
+__s2_Ën
+; \
+
+803 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+804 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), 
+__s2_Ën
+ = s\8cËÀ(
+s2
+), \
+
+805 (!
+       `__¡r\9ag2_1b±r_p
+ (
+s1
+è|| 
+__s1_Ën
+ >= 4) \
+
+806 && (!
+       `__¡r\9ag2_1b±r_p
+ (
+s2
+è|| 
+__s2_Ën
+ >= 4)) \
+
+807 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+808 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+809 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), __s1_len < 4) \
+
+810 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+811 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+812 : 
+       `__¡rcmp_cg
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+)) \
+
+813 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+814 && (
+__s2_Ën
+ = 
+       `¡¾\92
+ (
+s2
+), __s2_len < 4) \
+
+815 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+816 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+817 : 
+       `__¡rcmp_gc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+)) \
+
+818 : 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+)))); })
+
+       )
+
+820 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+821 
+__ex\8bnsiÚ__
+ \
+
+822 ({ 
+size_t
+__s1_Ën
+, 
+__s2_Ën
+; \
+
+823 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+824 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), 
+__s2_Ën
+ = s\8cËÀ(
+s2
+), \
+
+825 (!
+       `__¡r\9ag2_1b±r_p
+ (
+s1
+è|| 
+__s1_Ën
+ >= 4) \
+
+826 && (!
+       `__¡r\9ag2_1b±r_p
+ (
+s2
+è|| 
+__s2_Ën
+ >= 4)) \
+
+827 ? 
+       `memcmp
+ ((
+__cڡ
\ 5*è(
+s1
+), (__cÚ¡ \ 5*è(
+s2
+), \
+
+828 (
+__s1_Ën
+ < 
+__s2_Ën
+ ? __s1_len : __s2_len) + 1) \
+
+829 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+830 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), __s1_len < 4) \
+
+831 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+832 ? 
+       `__¡rcmp_cc
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+) \
+
+833 : 
+       `__¡rcmp_cg
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+)) \
+
+834 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+835 && (
+__s2_Ën
+ = 
+       `¡¾\92
+ (
+s2
+), __s2_len < 4) \
+
+836 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+837 ? 
+       `__¡rcmp_cc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+) \
+
+838 : 
+       `__¡rcmp_gc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+)) \
+
+839 : 
+       `¡rcmp
+ (
+s1
+, 
+s2
+)))); })
+
+       )
+
+842 \ 1
+       #__¡rcmp_cc
+(
+s1
+, 
+s2
+, 
+l
+) \
+
+843 (
+       `__ex\8bnsiÚ__
+ ({ \14\12
+__»suÉ
+ = \
+
+844 (((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+s1
+))[0] \
+
+845 - ((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*)(
+s2
+))[0]);\
+
+846 ià(
+l
+ > 0 && 
+__»suÉ
+ == 0) \
+
+848 
+__»suÉ
+ = (((
+__cڡ
\1d\ 5*) \
+
+849 (
+__cڡ
\ 5*è(
+s1
+))[1] \
+
+850 - ((
+__cڡ
\1d\ 5*) \
+
+851 (
+__cڡ
\ 5*è(
+s2
+))[1]); \
+
+852 ià(
+l
+ > 1 && 
+__»suÉ
+ == 0) \
+
+854 
+__»suÉ
+ = \
+
+855 (((
+__cڡ
\1d\ 5*) \
+
+856 (
+__cڡ
\ 5*è(
+s1
+))[2] \
+
+857 - ((
+__cڡ
\1d\ 5*) \
+
+858 (
+__cڡ
\ 5*è(
+s2
+))[2]); \
+
+859 ià(
+l
+ > 2 && 
+__»suÉ
+ == 0) \
+
+860 
+__»suÉ
+ = \
+
+861 (((
+__cڡ
\1d\ 5*) \
+
+862 (
+__cڡ
\ 5*è(
+s1
+))[3] \
+
+863 - ((
+__cڡ
\1d\ 5*) \
+
+864 (
+__cڡ
\ 5*è(
+s2
+))[3]); \
+
+867 
+__»suÉ
+; }))
+
+       )
+
+869 \ 1
+       #__¡rcmp_cg
+(
+s1
+, 
+s2
+, 
+l1
+) \
+
+870 (
+       `__ex\8bnsiÚ__
+ ({ 
+__cڡ
\1d\ 5*
+__s2
+ = \
+
+871 (
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+s2
+); \
+
+872 \14\12
+__»suÉ
+ = \
+
+873 (((
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+s1
+))[0] \
+
+874 - 
+__s2
+[0]); \
+
+875 ià(
+l1
+ > 0 && 
+__»suÉ
+ == 0) \
+
+877 
+__»suÉ
+ = (((
+__cڡ
\1d\ 5*) \
+
+878 (
+__cڡ
\ 5*è(
+s1
+))[1] - 
+__s2
+[1]); \
+
+879 ià(
+l1
+ > 1 && 
+__»suÉ
+ == 0) \
+
+881 
+__»suÉ
+ = (((
+__cڡ
\1d\ 5*) \
+
+882 (
+__cڡ
\ 5*è(
+s1
+))[2] - 
+__s2
+[2]);\
+
+883 ià(
+l1
+ > 2 && 
+__»suÉ
+ == 0) \
+
+884 
+__»suÉ
+ = (((
+__cڡ
\1d\ 5*) \
+
+885 (
+__cڡ
\ 5*è(
+s1
+))[3] \
+
+886 - 
+__s2
+[3]); \
+
+889 
+__»suÉ
+; }))
+
+       )
+
+891 \ 1
+       #__¡rcmp_gc
+(
+s1
+, 
+s2
+, 
+l2
+) \
+
+892 (
+       `__ex\8bnsiÚ__
+ ({ 
+__cڡ
\1d\ 5*
+__s1
+ = \
+
+893 (
+__cڡ
\1d\ 5*è(__cÚ¡ \ 5*è(
+s1
+); \
+
+894 \14\12
+__»suÉ
+ = \
+
+895 
+__s1
+[0] - ((
+__cڡ
\1d\ 5*) \
+
+896 (
+__cڡ
\ 5*è(
+s2
+))[0]; \
+
+897 ià(
+l2
+ > 0 && 
+__»suÉ
+ == 0) \
+
+899 
+__»suÉ
+ = (
+__s1
+[1] \
+
+900 - ((
+__cڡ
\1d\ 5*) \
+
+901 (
+__cڡ
\ 5*è(
+s2
+))[1]); \
+
+902 ià(
+l2
+ > 1 && 
+__»suÉ
+ == 0) \
+
+904 
+__»suÉ
+ = \
+
+905 (
+__s1
+[2] - ((
+__cڡ
\1d\ 5*) \
+
+906 (
+__cڡ
\ 5*è(
+s2
+))[2]); \
+
+907 ià(
+l2
+ > 2 && 
+__»suÉ
+ == 0) \
+
+908 
+__»suÉ
+ = \
+
+909 (
+__s1
+[3] \
+
+910 - ((
+__cڡ
\1d\ 5*) \
+
+911 (
+__cڡ
\ 5*è(
+s2
+))[3]); \
+
+914 
+__»suÉ
+; }))
+
+       )
+
+919 #iâdeà
+_HAVE_STRING_ARCH_¡ºcmp
+
+
+920 \ 1
+       #¡ºcmp
+(
+s1
+, 
+s2
+, 
+n
+) \
+
+921 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+922 && ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) \
+
+923 && 
+       `¡¾\92
+ (
+s1
+è< ((
+size_t
+è(
+n
+))) \
+
+924 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+) \
+
+925 && 
+       `¡¾\92
+ (
+s2
+è< ((
+size_t
+è(
+n
+)))) \
+
+926 ? 
+       `¡rcmp
+ (
+s1
+, 
+s2
+è: 
+       `¡ºcmp
+ (s1, s2, 
+n
+)))
+
+       )
+
+932 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rc¥n
+ || def\9aed 
+_FORCE_INLINES
+
+
+933 #iâdeà
+_HAVE_STRING_ARCH_¡rc¥n
+
+
+934 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+935 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+936 
+__ex\8bnsiÚ__
+ \
+
+937 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+938 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+939 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+940 ? 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+) \
+
+941 : ((
+__r0
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[0], __r0 == '\0') \
+
+942 ? 
+       `¡¾\92
+ (
+s
+) \
+
+943 : ((
+__r1
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[1], __r1 == '\0') \
+
+944 ? 
+       `__¡rc¥n_c1
+ (
+s
+, 
+__r0
+) \
+
+945 : ((
+__r2
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+946 ? 
+       `__¡rc¥n_c2
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+947 : (((
+__cڡ
\ 5*è(
+»jeù
+))[3] == '\0' \
+
+948 ? 
+       `__¡rc¥n_c3
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+949 : 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+)))))) \
+
+950 : 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+952 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+953 
+__ex\8bnsiÚ__
+ \
+
+954 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+955 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+956 ? ((
+__r0
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[0], __r0 == '\0') \
+
+957 ? 
+       `¡¾\92
+ (
+s
+) \
+
+958 : ((
+__r1
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[1], __r1 == '\0') \
+
+959 ? 
+       `__¡rc¥n_c1
+ (
+s
+, 
+__r0
+) \
+
+960 : ((
+__r2
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+961 ? 
+       `__¡rc¥n_c2
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+962 : (((
+__cڡ
\ 5*è(
+»jeù
+))[3] == '\0' \
+
+963 ? 
+       `__¡rc¥n_c3
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+964 : 
+       `¡rc¥n
+ (
+s
+, 
+»jeù
+))))) \
+
+965 : 
+       `¡rc¥n
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+969 
+__STRING_INLINE
+size_t
+__¡rc¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù
+);
+
+970 
+__STRING_INLINE
+size_t
+
+
+971 
+       $__¡rc¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù
+)
+
+973 \14
+size_t
+__»suÉ
+ = 0;
+
+974 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù
+)
+
+975 ++
+__»suÉ
+;
+
+976 \15 
+__»suÉ
+;
+
+977 
+       }
+}
+
+979 
+__STRING_INLINE
+size_t
+__¡rc¥n_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù1
+,
+
+980 \12
+__»jeù2
+);
+
+981 
+__STRING_INLINE
+size_t
+
+
+982 
+       $__¡rc¥n_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù1
+, \12
+__»jeù2
+)
+
+984 \14
+size_t
+__»suÉ
+ = 0;
+
+985 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù1
+
+
+986 && 
+__s
+[
+__»suÉ
+] !ð
+__»jeù2
+)
+
+987 ++
+__»suÉ
+;
+
+988 \15 
+__»suÉ
+;
+
+989 
+       }
+}
+
+991 
+__STRING_INLINE
+size_t
+__¡rc¥n_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù1
+,
+
+992 \12
+__»jeù2
+, \12
+__»jeù3
+);
+
+993 
+__STRING_INLINE
+size_t
+
+
+994 
+       $__¡rc¥n_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__»jeù1
+, \12
+__»jeù2
+,
+
+995 \12
+__»jeù3
+)
+
+997 \14
+size_t
+__»suÉ
+ = 0;
+
+998 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù1
+
+
+999 && 
+__s
+[
+__»suÉ
+] !ð
+__»jeù2
+ && __s[__»suÉ] !ð
+__»jeù3
+)
+
+1000 ++
+__»suÉ
+;
+
+1001 \15 
+__»suÉ
+;
+
+1002 
+       }
+}
+
+1008 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r¥n
+ || def\9aed 
+_FORCE_INLINES
+
+
+1009 #iâdeà
+_HAVE_STRING_ARCH_¡r¥n
+
+
+1010 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+1011 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+1012 
+__ex\8bnsiÚ__
+ \
+
+1013 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1014 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1015 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+1016 ? 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+) \
+
+1017 : ((
+__a0
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1018 ? ((\1eè(
+s
+), 0) \
+
+1019 : ((
+__a1
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1020 ? 
+       `__¡r¥n_c1
+ (
+s
+, 
+__a0
+) \
+
+1021 : ((
+__a2
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1022 ? 
+       `__¡r¥n_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1023 : (((
+__cڡ
\ 5*è(
+acû±
+))[3] == '\0' \
+
+1024 ? 
+       `__¡r¥n_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1025 : 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+)))))) \
+
+1026 : 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1028 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+1029 
+__ex\8bnsiÚ__
+ \
+
+1030 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1031 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1032 ? ((
+__a0
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1033 ? ((\1eè(
+s
+), 0) \
+
+1034 : ((
+__a1
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1035 ? 
+       `__¡r¥n_c1
+ (
+s
+, 
+__a0
+) \
+
+1036 : ((
+__a2
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1037 ? 
+       `__¡r¥n_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1038 : (((
+__cڡ
\ 5*è(
+acû±
+))[3] == '\0' \
+
+1039 ? 
+       `__¡r¥n_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1040 : 
+       `¡r¥n
+ (
+s
+, 
+acû±
+))))) \
+
+1041 : 
+       `¡r¥n
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1045 
+__STRING_INLINE
+size_t
+__¡r¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±
+);
+
+1046 
+__STRING_INLINE
+size_t
+
+
+1047 
+       $__¡r¥n_c1
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±
+)
+
+1049 \14
+size_t
+__»suÉ
+ = 0;
+
+1051 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±
+)
+
+1052 ++
+__»suÉ
+;
+
+1053 \15 
+__»suÉ
+;
+
+1054 
+       }
+}
+
+1056 
+__STRING_INLINE
+size_t
+__¡r¥n_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+,
+
+1057 \12
+__acû±2
+);
+
+1058 
+__STRING_INLINE
+size_t
+
+
+1059 
+       $__¡r¥n_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+)
+
+1061 \14
+size_t
+__»suÉ
+ = 0;
+
+1063 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±1
+ || __s[__»suÉ] =ð
+__acû±2
+)
+
+1064 ++
+__»suÉ
+;
+
+1065 \15 
+__»suÉ
+;
+
+1066 
+       }
+}
+
+1068 
+__STRING_INLINE
+size_t
+__¡r¥n_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+,
+
+1069 \12
+__acû±2
+, \12
+__acû±3
+);
+
+1070 
+__STRING_INLINE
+size_t
+
+
+1071 
+       $__¡r¥n_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+, \12
+__acû±3
+)
+
+1073 \14
+size_t
+__»suÉ
+ = 0;
+
+1075 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±1
+ || __s[__»suÉ] =ð
+__acû±2
+
+
+1076 || 
+__s
+[
+__»suÉ
+] =ð
+__acû±3
+)
+
+1077 ++
+__»suÉ
+;
+
+1078 \15 
+__»suÉ
+;
+
+1079 
+       }
+}
+
+1084 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡½brk
+ || def\9aed 
+_FORCE_INLINES
+
+
+1085 #iâdeà
+_HAVE_STRING_ARCH_¡½brk
+
+
+1086 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+1087 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1088 
+__ex\8bnsiÚ__
+ \
+
+1089 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1090 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1091 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+1092 ? 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+) \
+
+1093 : ((
+__a0
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1094 ? ((\1eè(
+s
+), (\ 5
+NULL
+) \
+
+1095 : ((
+__a1
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1096 ? 
+       `__bu\9et\9a_¡rchr
+ (
+s
+, 
+__a0
+) \
+
+1097 : ((
+__a2
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1098 ? 
+       `__¡½brk_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1099 : (((
+__cڡ
\ 5*è(
+acû±
+))[3] == '\0' \
+
+1100 ? 
+       `__¡½brk_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1101 : 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+)))))) \
+
+1102 : 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1104 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1105 
+__ex\8bnsiÚ__
+ \
+
+1106 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1107 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1108 ? ((
+__a0
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1109 ? ((\1eè(
+s
+), (\ 5
+NULL
+) \
+
+1110 : ((
+__a1
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1111 ? 
+       `¡rchr
+ (
+s
+, 
+__a0
+) \
+
+1112 : ((
+__a2
+ = ((
+__cڡ
\ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1113 ? 
+       `__¡½brk_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1114 : (((
+__cڡ
\ 5*è(
+acû±
+))[3] == '\0' \
+
+1115 ? 
+       `__¡½brk_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1116 : 
+       `¡½brk
+ (
+s
+, 
+acû±
+))))) \
+
+1117 : 
+       `¡½brk
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1121 
+__STRING_INLINE
\ 5*
+__¡½brk_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+,
+
+1122 \12
+__acû±2
+);
+
+1123 
+__STRING_INLINE
\ 5*
+
+1124 
+       $__¡½brk_c2
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+)
+
+1127 \1f*
+__s
+ !ð'\0' && *__ !ð
+__acû±1
+ && *__ !ð
+__acû±2
+)
+
+1128 ++
+__s
+;
+
+1129 \15 *
+__s
+ =ð'\0' ? 
+NULL
+ : (\ 5*è(
+size_t
+) __s;
+
+1130 
+       }
+}
+
+1132 
+__STRING_INLINE
\ 5*
+__¡½brk_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+,
+
+1133 \12
+__acû±2
+, \12
+__acû±3
+);
+
+1134 
+__STRING_INLINE
\ 5*
+
+1135 
+       $__¡½brk_c3
+ (
+__cڡ
\ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+,
+
+1136 \12
+__acû±3
+)
+
+1139 \1f*
+__s
+ !ð'\0' && *__ !ð
+__acû±1
+ && *__ !ð
+__acû±2
+
+
+1140 && *
+__s
+ !ð
+__acû±3
+)
+
+1141 ++
+__s
+;
+
+1142 \15 *
+__s
+ =ð'\0' ? 
+NULL
+ : (\ 5*è(
+size_t
+) __s;
+
+1143 
+       }
+}
+
+1149 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r¡r
+ && !
+__GNUC_PREREQ
+ (2, 97)
+
+1150 \ 1
+       #¡r¡r
+(
+hay¡ack
+, 
+ÃedË
+) \
+
+1151 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+ÃedË
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (needle) \
+
+1152 ? (((
+__cڡ
\ 5*è(
+ÃedË
+))[0] == '\0' \
+
+1153 ? (\ 5*è(
+size_t
+è(
+hay¡ack
+) \
+
+1154 : (((
+__cڡ
\ 5*è(
+ÃedË
+))[1] == '\0' \
+
+1155 ? 
+       `¡rchr
+ (
+hay¡ack
+, \
+
+1156 ((
+__cڡ
\ 5*è(
+ÃedË
+))[0]) \
+
+1157 : 
+       `¡r¡r
+ (
+hay¡ack
+, 
+ÃedË
+))) \
+
+1158 : 
+       `¡r¡r
+ (
+hay¡ack
+, 
+ÃedË
+)))
+
+       )
+
+1162 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡¹ok_r
+ || def\9aed 
+_FORCE_INLINES
+
+
+1163 #iâdeà
+_HAVE_STRING_ARCH_¡¹ok_r
+
+
+1164 \ 1
+       #__¡¹ok_r
+(
+s
+, 
+£p
+, 
+Ãx\8d
+) \
+
+1165 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+£p
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (sep) \
+
+1166 ? (((
+__cڡ
\ 5*è(
+£p
+))[0] != '\0' \
+
+1167 && ((
+__cڡ
\ 5*è(
+£p
+))[1] == '\0' \
+
+1168 ? 
+       `__¡¹ok_r_1c
+ (
+s
+, ((
+__cڡ
\ 5*è(
+£p
+))[0], 
+Ãx\8d
+) \
+
+1169 : 
+       `__¡¹ok_r
+ (
+s
+, 
+£p
+, 
+Ãx\8d
+)) \
+
+1170 : 
+       `__¡¹ok_r
+ (
+s
+, 
+£p
+, 
+Ãx\8d
+)))
+
+       )
+
+1173 
+__STRING_INLINE
\ 5*
+__¡¹ok_r_1c
+ (\ 5*
+__s
+, \ 5
+__£p
+, \ 5**
+__Ãx\8d
+);
+
+1174 
+__STRING_INLINE
\ 5*
+
+1175 
+       $__¡¹ok_r_1c
+ (\ 5*
+__s
+, \ 5
+__£p
+, \ 5**
+__Ãx\8d
+)
+
+1177 \ 5*
+__»suÉ
+;
+
+1178 ià(
+__s
+ =ð
+NULL
+)
+
+1179 
+__s
+ = *
+__Ãx\8d
+;
+
+1180 \1f*
+__s
+ =ð
+__£p
+)
+
+1181 ++
+__s
+;
+
+1182 
+__»suÉ
+ = 
+NULL
+;
+
+1183 ià(*
+__s
+ != '\0')
+
+1185 
+__»suÉ
+ = 
+__s
+++;
+
+1186 \1f*
+__s
+ != '\0')
+
+1187 ià(*
+__s
+++ =ð
+__£p
+)
+
+1189 
+__s
+[-1] = '\0';
+
+1192 *
+__Ãx\8d
+ = 
+__s
+;
+
+1194 \15 
+__»suÉ
+;
+
+1195 
+       }
+}
+
+1196 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+1197 \ 1
+       #¡¹ok_r
+(
+s
+, 
+£p
+, 
+Ãx\8d
+       `__¡¹ok_r
+ (s, s\95,\82ex\8d)
+
+       )
+
+1202 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r£p
+ || def\9aed 
+_FORCE_INLINES
+
+
+1203 #iâdeà
+_HAVE_STRING_ARCH_¡r£p
+
+
+1205 \r\ 5*
+__¡r£p_g
+ (\ 5**
+__¡r\9agp
+, 
+__cڡ
\ 5*
+__d\96im
+);
+
+1206 \ 1
+       #__¡r£p
+(
+s
+, 
+»jeù
+) \
+
+1207 
+__ex\8bnsiÚ__
+ \
+
+1208 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+1209 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+1210 && (
+__r0
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[0], \
+
+1211 ((
+__cڡ
\ 5*è(
+»jeù
+))[0] != '\0') \
+
+1212 ? ((
+__r1
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[1], \
+
+1213 ((
+__cڡ
\ 5*è(
+»jeù
+))[1] == '\0') \
+
+1214 ? 
+       `__¡r£p_1c
+ (
+s
+, 
+__r0
+) \
+
+1215 : ((
+__r2
+ = ((
+__cڡ
\ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+1216 ? 
+       `__¡r£p_2c
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+1217 : (((
+__cڡ
\ 5*è(
+»jeù
+))[3] == '\0' \
+
+1218 ? 
+       `__¡r£p_3c
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+1219 : 
+       `__¡r£p_g
+ (
+s
+, 
+»jeù
+)))) \
+
+1220 : 
+       `__¡r£p_g
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+1223 
+__STRING_INLINE
\ 5*
+__¡r£p_1c
+ (\ 5**
+__s
+, \ 5
+__»jeù
+);
+
+1224 
+__STRING_INLINE
\ 5*
+
+1225 
+       $__¡r£p_1c
+ (\ 5**
+__s
+, \ 5
+__»jeù
+)
+
+1227 \14\ 5*
+__»tv®
+ = *
+__s
+;
+
+1228 ià(
+__»tv®
+ !ð
+NULL
+ && (*
+__s
+ = 
+       `¡rchr
+ (__»tv®, 
+__»jeù
+)) != NULL)
+
+1229 *(*
+__s
+)++ = '\0';
+
+1230 \15 
+__»tv®
+;
+
+1231 
+       }
+}
+
+1233 
+__STRING_INLINE
\ 5*
+__¡r£p_2c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+);
+
+1234 
+__STRING_INLINE
\ 5*
+
+1235 
+       $__¡r£p_2c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+)
+
+1237 \14\ 5*
+__»tv®
+ = *
+__s
+;
+
+1238 ià(
+__»tv®
+ !ð
+NULL
+)
+
+1240 \14\ 5*
+__ý
+ = 
+__»tv®
+;
+
+1243 ià(*
+__ý
+ == '\0')
+
+1245 
+__ý
+ = 
+NULL
+;
+
+1248 ià(*
+__ý
+ =ð
+__»jeù1
+ || *__ý =ð
+__»jeù2
+)
+
+1250 *
+__ý
+++ = '\0';
+
+1253 ++
+__ý
+;
+
+1255 *
+__s
+ = 
+__ý
+;
+
+1257 \15 
+__»tv®
+;
+
+1258 
+       }
+}
+
+1260 
+__STRING_INLINE
\ 5*
+__¡r£p_3c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+,
+
+1261 \ 5
+__»jeù3
+);
+
+1262 
+__STRING_INLINE
\ 5*
+
+1263 
+       $__¡r£p_3c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+, \ 5
+__»jeù3
+)
+
+1265 \14\ 5*
+__»tv®
+ = *
+__s
+;
+
+1266 ià(
+__»tv®
+ !ð
+NULL
+)
+
+1268 \14\ 5*
+__ý
+ = 
+__»tv®
+;
+
+1271 ià(*
+__ý
+ == '\0')
+
+1273 
+__ý
+ = 
+NULL
+;
+
+1276 ià(*
+__ý
+ =ð
+__»jeù1
+ || *__ý =ð
+__»jeù2
+ || *__ý =ð
+__»jeù3
+)
+
+1278 *
+__ý
+++ = '\0';
+
+1281 ++
+__ý
+;
+
+1283 *
+__s
+ = 
+__ý
+;
+
+1285 \15 
+__»tv®
+;
+
+1286 
+       }
+}
+
+1287 #ifdeà
+__USE_BSD
+
+
+1288 \ 1
+       #¡r£p
+(
+s
+, 
+»jeù
+       `__¡r£p
+ (s,\84ejeù)
+
+       )
+
+1295 #ifdeà
+__USE_MISC
+
+
+1297 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rdup
+ || !def\9aed 
+_HAVE_STRING_ARCH_¡ºdup
+
+
+1298 \ 1
+       #__Ãed_m®loc_ªd_ÿÎoc
+
+
+       )
+
+1299 \ 2
+       ~<¡dlib.h
+>
+
+1302 #iâdeà
+_HAVE_STRING_ARCH_¡rdup
+
+
+1304 \r\ 5*
+       $__¡rdup
+ (
+__cڡ
\ 5*
+__¡r\9ag
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+1305 \ 1
+       #__¡rdup
+(
+s
+) \
+
+1306 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s) \
+
+1307 ? (((
+__cڡ
\ 5*è(
+s
+))[0] == '\0' \
+
+1308 ? (\ 5
+       `ÿÎoc
+ (1, 1) \
+
+1309 : ({ 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+s
+) + 1; \
+
+1310 \ 5*
+__»tv®
+ = (\ 5
+       `m®loc
+ (
+__Ën
+); \
+
+1311 ià(
+__»tv®
+ !ð
+NULL
+) \
+
+1312 
+__»tv®
+ = (\ 5
+       `memýy
+ (__»tv®, 
+s
+, 
+__Ën
+); \
+
+1313 
+__»tv®
+; 
+       }
+})) \
+
+1314 : 
+       `__¡rdup
+ (
+s
+)))
+
+       )
+
+1316 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1317 \ 1
+       #¡rdup
+(
+s
+       `__¡rdup
+ (s)
+
+       )
+
+1321 #iâdeà
+_HAVE_STRING_ARCH_¡ºdup
+
+
+1323 \r\ 5*
+       $__¡ºdup
+ (
+__cڡ
\ 5*
+__¡r\9ag
+, 
+size_t
+__n
+)
+
+1324 
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+1325 \ 1
+       #__¡ºdup
+(
+s
+, 
+n
+) \
+
+1326 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s) \
+
+1327 ? (((
+__cڡ
\ 5*è(
+s
+))[0] == '\0' \
+
+1328 ? (\ 5
+       `ÿÎoc
+ (1, 1) \
+
+1329 : ({ 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+s
+) + 1; \
+
+1330 
+size_t
+__n
+ = (
+n
+); \
+
+1331 \ 5*
+__»tv®
+; \
+
+1332 ià(
+__n
+ < 
+__Ën
+) \
+
+1333 
+__Ën
+ = 
+__n
+ + 1; \
+
+1334 
+__»tv®
+ = (\ 5
+       `m®loc
+ (
+__Ën
+); \
+
+1335 ià(
+__»tv®
+ !ð
+NULL
+) \
+
+1337 
+__»tv®
+[
+__Ën
+ - 1] = '\0'; \
+
+1338 
+__»tv®
+ = (\ 5
+       `memýy
+ (__»tv®, 
+s
+, \
+
+1339 
+__Ën
+ - 1); \
+
+1341 
+__»tv®
+; 
+       }
+})) \
+
+1342 : 
+       `__¡ºdup
+ (
+s
+, 
+n
+)))
+
+       )
+
+1344 #ifdeà
+__USE_GNU
+
+
+1345 \ 1
+       #¡ºdup
+(
+s
+, 
+n
+       `__¡ºdup
+ (s,\82)
+
+       )
+
+1351 #iâdeà
+_FORCE_INLINES
+
+
+1352 #undeà
+__STRING_INLINE
+
+
+       @/usr/include/bits/string3.h
+
+19 #iâdeà
+_STRING_H
+
+
+26 #undeà
+memýy
+
+
+27 #undeà
+memmove
+
+
+28 #undeà
+mem£t
+
+
+29 #undeà
+¡rÿt
+
+
+30 #undeà
+¡rýy
+
+
+31 #undeà
+¡ºÿt
+
+
+32 #undeà
+¡ºýy
+
+
+33 #ifdeà
+__USE_GNU
+
+
+34 #undeà
+mempýy
+
+
+35 #undeà
+¡pýy
+
+
+37 #ifdeà
+__USE_BSD
+
+
+38 #undeà
+bcÝy
+
+
+39 #undeà
+bz\94o
+
+
+43 \ 1
+       #memýy
+(
+de¡
+, 
+¤c
+, 
+Ën
+) \
+
+44 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+45 ? 
+       `__bu\9et\9a___memýy_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+46 : 
+       `__memýy_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+))
+
+       )
+
+47 \18
+__\9al\9ae__
\1e*
+
+48 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+49 
+       $__memýy_ichk
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+50 
+size_t
+__Ën
+)
+
+52 \15 
+       `__bu\9et\9a___memýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+53 
+       }
+}
+
+56 \ 1
+       #memmove
+(
+de¡
+, 
+¤c
+, 
+Ën
+) \
+
+57 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+58 ? 
+       `__bu\9et\9a___memmove_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+59 : 
+       `__memmove_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+))
+
+       )
+
+60 \18
+__\9al\9ae__
\1e*
+
+61 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+62 
+       $__memmove_ichk
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__Ën
+)
+
+64 \15 
+       `__bu\9et\9a___memmove_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+65 
+       }
+}
+
+68 #ifdeà
+__USE_GNU
+
+
+69 \ 1
+       #mempýy
+(
+de¡
+, 
+¤c
+, 
+Ën
+) \
+
+70 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+71 ? 
+       `__bu\9et\9a___mempýy_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+72 : 
+       `__mempýy_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+))
+
+       )
+
+73 \18
+__\9al\9ae__
\1e*
+
+74 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+75 
+       $__mempýy_ichk
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+76 
+size_t
+__Ën
+)
+
+78 \15 
+       `__bu\9et\9a___mempýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+79 
+       }
+}
+
+83 \ 1
+       #mem£t
+(
+de¡
+, 
+ch
+, 
+Ën
+) \
+
+84 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+85 ? 
+       `__bu\9et\9a___mem£t_chk
+ (
+de¡
+, 
+ch
+, 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+86 : 
+       `__mem£t_ichk
+ (
+de¡
+, 
+ch
+, 
+Ën
+))
+
+       )
+
+87 \18
+__\9al\9ae__
\1e*
+
+88 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+89 
+       $__mem£t_ichk
+ (\1e*
+__de¡
+, \12
+__ch
+, 
+size_t
+__Ën
+)
+
+91 \15 
+       `__bu\9et\9a___mem£t_chk
+ (
+__de¡
+, 
+__ch
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+92 
+       }
+}
+
+94 #ifdeà
+__USE_BSD
+
+
+95 \ 1
+       #bcÝy
+(
+¤c
+, 
+de¡
+, 
+Ën
+) ((\1e) \
+
+96 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+97 ? 
+       `__bu\9et\9a___memmove_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+98 : 
+       `__memmove_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+)))
+
+       )
+
+99 \ 1
+       #bz\94o
+(
+de¡
+, 
+Ën
+) ((\1e) \
+
+100 ((
+       `__bos0
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+101 ? 
+       `__bu\9et\9a___mem£t_chk
+ (
+de¡
+, '\0', 
+Ën
+, 
+       `__bos0
+ (dest)) \
+
+102 : 
+       `__mem£t_ichk
+ (
+de¡
+, '\0', 
+Ën
+)))
+
+       )
+
+106 \ 1
+       #¡rýy
+(
+de¡
+, 
+¤c
+) \
+
+107 ((
+       `__bos
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+108 ? 
+       `__bu\9et\9a___¡rýy_chk
+ (
+de¡
+, 
+¤c
+, 
+       `__bos
+ (dest)) \
+
+109 : 
+       `__¡rýy_ichk
+ (
+de¡
+, 
+¤c
+))
+
+       )
+
+110 \18
+__\9al\9ae__
\ 5*
+
+111 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+112 
+       $__¡rýy_ichk
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+114 \15 
+       `__bu\9et\9a___¡rýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+115 
+       }
+}
+
+118 #ifdeà
+__USE_GNU
+
+
+119 \ 1
+       #¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+120 ((
+       `__bos
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+121 ? 
+       `__bu\9et\9a___¡pýy_chk
+ (
+de¡
+, 
+¤c
+, 
+       `__bos
+ (dest)) \
+
+122 : 
+       `__¡pýy_ichk
+ (
+de¡
+, 
+¤c
+))
+
+       )
+
+123 \18
+__\9al\9ae__
\ 5*
+
+124 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+125 
+       $__¡pýy_ichk
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+127 \15 
+       `__bu\9et\9a___¡pýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+128 
+       }
+}
+
+132 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+Ën
+) \
+
+133 ((
+       `__bos
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+134 ? 
+       `__bu\9et\9a___¡ºýy_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos
+ (dest)) \
+
+135 : 
+       `__¡ºýy_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+))
+
+       )
+
+136 \18
+__\9al\9ae__
\ 5*
+
+137 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+138 
+       $__¡ºýy_ichk
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+139 
+size_t
+__Ën
+)
+
+141 \15 
+       `__bu\9et\9a___¡ºýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dest));
+
+142 
+       }
+}
+
+145 \ 1
+       #¡rÿt
+(
+de¡
+, 
+¤c
+) \
+
+146 ((
+       `__bos
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+147 ? 
+       `__bu\9et\9a___¡rÿt_chk
+ (
+de¡
+, 
+¤c
+, 
+       `__bos
+ (dest)) \
+
+148 : 
+       `__¡rÿt_ichk
+ (
+de¡
+, 
+¤c
+))
+
+       )
+
+149 \18
+__\9al\9ae__
\ 5*
+
+150 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+151 
+       $__¡rÿt_ichk
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+153 \15 
+       `__bu\9et\9a___¡rÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+154 
+       }
+}
+
+157 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+Ën
+) \
+
+158 ((
+       `__bos
+ (
+de¡
+è!ð(
+size_t
+) -1) \
+
+159 ? 
+       `__bu\9et\9a___¡ºÿt_chk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+, 
+       `__bos
+ (dest)) \
+
+160 : 
+       `__¡ºÿt_ichk
+ (
+de¡
+, 
+¤c
+, 
+Ën
+))
+
+       )
+
+161 \18
+__\9al\9ae__
\ 5*
+
+162 
+__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+163 
+       $__¡ºÿt_ichk
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+164 
+size_t
+__Ën
+)
+
+166 \15 
+       `__bu\9et\9a___¡ºÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dest));
+
+167 
+       }
+}
+
+       @/usr/include/bits/sys_errlist.h
+
+20 #iâdeà
+_STDIO_H
+
+
+26 #ifdeà 
+__USE_BSD
+
+
+27 \r\12
+sys_ü
+;
+
+28 \r
+__cڡ
\ 5*__cڡ 
+sys_\94¾i¡
+[];
+
+30 #ifdeà 
+__USE_GNU
+
+
+31 \r\12
+_sys_ü
+;
+
+32 \r
+__cڡ
\ 5*__cڡ 
+_sys_\94¾i¡
+[];
+
+       @/usr/include/bits/types.h
+
+24 #iâdef 
+_BITS_TYPES_H
+
+
+25 \ 1
+       #_BITS_TYPES_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+28 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+30 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+31 \ 2
+       ~<¡ddef.h
+>
+
+34 \e\1d\ 5
+       t__u_ch¬
+;
+
+35 \e\1d\16\12
+       t__u_shÜt
+;
+
+36 \e\1d\12
+       t__u_\9at
+;
+
+37 \e\1d\13\12
+       t__u_lÚg
+;
+
+40 \esigÃd \ 5
+       t__\9at8_t
+;
+
+41 \e\1d\ 5
+       t__u\9at8_t
+;
+
+42 \esigÃd \16\12
+       t__\9at16_t
+;
+
+43 \e\1d\16\12
+       t__u\9at16_t
+;
+
+44 \esigÃd \12
+       t__\9at32_t
+;
+
+45 \e\1d\12
+       t__u\9at32_t
+;
+
+46 #ià
+__WORDSIZE
+ == 64
+
+47 \esigÃd \13\12
+       t__\9at64_t
+;
+
+48 \e\1d\13\12
+       t__u\9at64_t
+;
+
+49 #\96
+def\9aed
+__GLIBC_HAVE_LONG_LONG
+
+
+50 
+__ex\8bnsiÚ__
\esigÃd \13\13\12
+       t__\9at64_t
+;
+
+51 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       t__u\9at64_t
+;
+
+55 #ià
+__WORDSIZE
+ == 64
+
+56 \e\13\12
+       t__quad_t
+;
+
+57 \e\1d\13\12
+       t__u_quad_t
+;
+
+58 #\96
+def\9aed
+__GLIBC_HAVE_LONG_LONG
+
+
+59 
+__ex\8bnsiÚ__
\e\13\13\12
+       t__quad_t
+;
+
+60 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       t__u_quad_t
+;
+
+64 \13
+       m__v®
+[2];
+
+65 } 
+       t__quad_t
+;
+
+68 
+__u_lÚg
+       m__v®
+[2];
+
+69 } 
+       t__u_quad_t
+;
+
+102 \ 1
+       #__S16_TYPE
\16\12
+
+       )
+
+103 \ 1
+       #__U16_TYPE
\1d\16\12
+
+       )
+
+104 \ 1
+       #__S32_TYPE
\12
+
+       )
+
+105 \ 1
+       #__U32_TYPE
\1d\12
+
+       )
+
+106 \ 1
+       #__SLONGWORD_TYPE
\13\12
+
+       )
+
+107 \ 1
+       #__ULONGWORD_TYPE
\1d\13\12
+
+       )
+
+108 #ià
+__WORDSIZE
+ == 32
+
+109 \ 1
+       #__SQUAD_TYPE
+__quad_t
+
+
+       )
+
+110 \ 1
+       #__UQUAD_TYPE
+__u_quad_t
+
+
+       )
+
+111 \ 1
+       #__SWORD_TYPE
\12
+
+       )
+
+112 \ 1
+       #__UWORD_TYPE
\1d\12
+
+       )
+
+113 \ 1
+       #__SLONG32_TYPE
\13\12
+
+       )
+
+114 \ 1
+       #__ULONG32_TYPE
\1d\13\12
+
+       )
+
+115 \ 1
+       #__S64_TYPE
+__quad_t
+
+
+       )
+
+116 \ 1
+       #__U64_TYPE
+__u_quad_t
+
+
+       )
+
+117 #\96
+__WORDSIZE
+ == 64
+
+118 \ 1
+       #__SQUAD_TYPE
\13\12
+
+       )
+
+119 \ 1
+       #__UQUAD_TYPE
\1d\13\12
+
+       )
+
+120 \ 1
+       #__SWORD_TYPE
\13\12
+
+       )
+
+121 \ 1
+       #__UWORD_TYPE
\1d\13\12
+
+       )
+
+122 \ 1
+       #__SLONG32_TYPE
\12
+
+       )
+
+123 \ 1
+       #__ULONG32_TYPE
\1d\12
+
+       )
+
+124 \ 1
+       #__S64_TYPE
\13\12
+
+       )
+
+125 \ 1
+       #__U64_TYPE
\1d\13\12
+
+       )
+
+129 \ 2
+       ~<b\99s/ty³sizes.h
+>
+
+133 \ 1
+       #__STD_TYPE
+__ex\8bnsiÚ__
\e
+
+       )
+
+136 
+__STD_TYPE
+       t__DEV_T_TYPE
+       t__dev_t
+;
+
+137 
+__STD_TYPE
+__UID_T_TYPE
+       g__uid_t
+;
+
+138 
+__STD_TYPE
+__GID_T_TYPE
+       g__gid_t
+;
+
+139 
+__STD_TYPE
+__INO_T_TYPE
+       g__\9ao_t
+;
+
+140 
+__STD_TYPE
+__INO64_T_TYPE
+       g__\9ao64_t
+;
+
+141 
+__STD_TYPE
+__MODE_T_TYPE
+       g__mode_t
+;
+
+142 
+__STD_TYPE
+__NLINK_T_TYPE
+       g__ƚk_t
+;
+
+143 
+__STD_TYPE
+__OFF_T_TYPE
+       g__off_t
+;
+
+144 
+__STD_TYPE
+__OFF64_T_TYPE
+       g__off64_t
+;
+
+145 
+__STD_TYPE
+__PID_T_TYPE
+       g__pid_t
+;
+
+146 
+__STD_TYPE
+__FSID_T_TYPE
+       g__fsid_t
+;
+
+147 
+__STD_TYPE
+__CLOCK_T_TYPE
+       g__þock_t
+;
+
+148 
+__STD_TYPE
+__RLIM_T_TYPE
+       g__¾im_t
+;
+
+149 
+__STD_TYPE
+__RLIM64_T_TYPE
+       g__¾im64_t
+;
+
+150 
+__STD_TYPE
+__ID_T_TYPE
+       g__id_t
+;
+
+151 
+__STD_TYPE
+__TIME_T_TYPE
+       g__time_t
+;
+
+152 
+__STD_TYPE
+__USECONDS_T_TYPE
+       g__u£cÚds_t
+;
+
+153 
+__STD_TYPE
+__SUSECONDS_T_TYPE
+       g__su£cÚds_t
+;
+
+155 
+__STD_TYPE
+__DADDR_T_TYPE
+       g__daddr_t
+;
+
+156 
+__STD_TYPE
+__SWBLK_T_TYPE
+       g__swblk_t
+;
+
+157 
+__STD_TYPE
+__KEY_T_TYPE
+       g__key_t
+;
+
+160 
+__STD_TYPE
+__CLOCKID_T_TYPE
+       g__þockid_t
+;
+
+163 
+__STD_TYPE
+__TIMER_T_TYPE
+       g__tim\94_t
+;
+
+166 
+__STD_TYPE
+__BLKSIZE_T_TYPE
+       g__blksize_t
+;
+
+171 
+__STD_TYPE
+__BLKCNT_T_TYPE
+       g__blkút_t
+;
+
+172 
+__STD_TYPE
+__BLKCNT64_T_TYPE
+       g__blkút64_t
+;
+
+175 
+__STD_TYPE
+__FSBLKCNT_T_TYPE
+       g__fsblkút_t
+;
+
+176 
+__STD_TYPE
+__FSBLKCNT64_T_TYPE
+       g__fsblkút64_t
+;
+
+179 
+__STD_TYPE
+__FSFILCNT_T_TYPE
+       g__fsf\9eút_t
+;
+
+180 
+__STD_TYPE
+__FSFILCNT64_T_TYPE
+       g__fsf\9eút64_t
+;
+
+182 
+__STD_TYPE
+__SSIZE_T_TYPE
+       g__ssize_t
+;
+
+186 \e
+__off64_t
+       t__loff_t
+;
+
+187 \e
+__quad_t
+ *
+       t__qaddr_t
+;
+
+188 \e\ 5*
+       t__ÿddr_t
+;
+
+191 
+__STD_TYPE
+__SWORD_TYPE
+       g__\9a\8d\8c_t
+;
+
+194 
+__STD_TYPE
+__U32_TYPE
+       g__sockËn_t
+;
+
+197 #undeà
+__STD_TYPE
+
+
+       @/usr/include/bits/waitflags.h
+
+20 #ià!
+def\9aed
+_SYS_WAIT_H
+ && !def\9aed 
+_STDLIB_H
+
+
+26 \ 1
+       #WNOHANG
+ 1
+
+       )
+
+27 \ 1
+       #WUNTRACED
+ 2
+
+       )
+
+30 \ 1
+       #WSTOPPED
+ 2
+
+       )
+
+31 \ 1
+       #WEXITED
+ 4
+
+       )
+
+32 \ 1
+       #WCONTINUED
+ 8
+
+       )
+
+33 \ 1
+       #WNOWAIT
+ 0x01000000
+
+       )
+
+35 \ 1
+       #__WALL
+ 0x40000000
+
+       )
+
+36 \ 1
+       #__WCLONE
+ 0x80000000
+
+       )
+
+       @/usr/include/bits/waitstatus.h
+
+20 #ià!
+def\9aed
+_SYS_WAIT_H
+ && !def\9aed 
+_STDLIB_H
+
+
+29 \ 1
+       #__WEXITSTATUS
+(
+¡©us
+è(((¡©usè& 0xff00è>> 8)
+
+       )
+
+32 \ 1
+       #__WTERMSIG
+(
+¡©us
+è((¡©usè& 0x7f)
+
+       )
+
+35 \ 1
+       #__WSTOPSIG
+(
+¡©us
+       `__WEXITSTATUS
+(¡©us)
+
+       )
+
+38 \ 1
+       #__WIFEXITED
+(
+¡©us
+è(
+       `__WTERMSIG
+(¡©usè=ð0)
+
+       )
+
+41 \ 1
+       #__WIFSIGNALED
+(
+¡©us
+) \
+
+42 (((sigÃd \ 5è(((
+¡©us
+è& 0x7fè+ 1è>> 1è> 0)
+
+       )
+
+45 \ 1
+       #__WIFSTOPPED
+(
+¡©us
+è(((¡©usè& 0xffè=ð0x7f)
+
+       )
+
+49 #ifdeà
+WCONTINUED
+
+
+50 \ 1
+       #__WIFCONTINUED
+(
+¡©us
+è((¡©usè=ð
+__W_CONTINUED
+)
+
+       )
+
+54 \ 1
+       #__WCOREDUMP
+(
+¡©us
+è((¡©usè& 
+__WCOREFLAG
+)
+
+       )
+
+57 \ 1
+       #__W_EXITCODE
+(
+»t
+, 
+sig
+è(Ô\91è<< 8 | (sig))
+
+       )
+
+58 \ 1
+       #__W_STOPCODE
+(
+sig
+è((sigè<< 8 | 0x7f)
+
+       )
+
+59 \ 1
+       #__W_CONTINUED
+ 0xffff
+
+       )
+
+60 \ 1
+       #__WCOREFLAG
+ 0x80
+
+       )
+
+63 #ifdef 
+__USE_BSD
+
+
+65 \ 2
+       ~<\92d\9fn.h
+>
+
+67 \1c
+       uwa\99
+
+
+69 \12
+       mw_¡©us
+;
+
+72 #if 
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+73 \1d\12
+       m__w_\8brmsig
+:7;
+
+74 \1d\12
+       m__w_cÜedump
+:1;
+
+75 \1d\12
+       m__w_»tcode
+:8;
+
+78 #if 
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+80 \1d\12
+       m__w_»tcode
+:8;
+
+81 \1d\12
+       m__w_cÜedump
+:1;
+
+82 \1d\12
+       m__w_\8brmsig
+:7;
+
+84 } 
+       m__wa\99_\8brm\9a©ed
+;
+
+87 #if 
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+88 \1d\12
+       m__w_¡Ýv®
+:8;
+
+89 \1d\12
+       m__w_¡Ýsig
+:8;
+
+92 #if 
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+94 \1d\12
+       m__w_¡Ýsig
+:8;
+
+95 \1d\12
+       m__w_¡Ýv®
+:8;
+
+97 } 
+       m__wa\99_¡Ý³d
+;
+
+100 \ 1
+       #w_\8brmsig
+__wa\99_\8brm\9a©ed
+.
+__w_\8brmsig
+
+
+       )
+
+101 \ 1
+       #w_cÜedump
+__wa\99_\8brm\9a©ed
+.
+__w_cÜedump
+
+
+       )
+
+102 \ 1
+       #w_»tcode
+__wa\99_\8brm\9a©ed
+.
+__w_»tcode
+
+
+       )
+
+103 \ 1
+       #w_¡Ýsig
+__wa\99_¡Ý³d
+.
+__w_¡Ýsig
+
+
+       )
+
+104 \ 1
+       #w_¡Ýv®
+__wa\99_¡Ý³d
+.
+__w_¡Ýv®
+
+
+       )
+
+       @/usr/include/bits/wchar.h
+
+20 #iâdeà
+_BITS_WCHAR_H
+
+
+21 \ 1
+       #_BITS_WCHAR_H
+ 1
+
+       )
+
+23 \ 1
+       #__WCHAR_MIN
+ (-2147483647È- 1l)
+
+       )
+
+24 \ 1
+       #__WCHAR_MAX
+ (2147483647l)
+
+       )
+
+       @/usr/include/bits/wordsize.h
+
+19 \ 1
+       #__WORDSIZE
+ 32
+
+       )
+
+       @/usr/include/endian.h
+
+19 #iâdef 
+_ENDIAN_H
+
+
+20 \ 1
+       #_ENDIAN_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+32 \ 1
+       #__LITTLE_ENDIAN
+ 1234
+
+       )
+
+33 \ 1
+       #__BIG_ENDIAN
+ 4321
+
+       )
+
+34 \ 1
+       #__PDP_ENDIAN
+ 3412
+
+       )
+
+37 \ 2
+       ~<b\99s/\92d\9fn.h
+>
+
+41 #iâdeà
+__FLOAT_WORD_ORDER
+
+
+42 \ 1
+       #__FLOAT_WORD_ORDER
+__BYTE_ORDER
+
+
+       )
+
+45 #ifdef 
+__USE_BSD
+
+
+46 \ 1
+       #LITTLE_ENDIAN
+__LITTLE_ENDIAN
+
+
+       )
+
+47 \ 1
+       #BIG_ENDIAN
+__BIG_ENDIAN
+
+
+       )
+
+48 \ 1
+       #PDP_ENDIAN
+__PDP_ENDIAN
+
+
+       )
+
+49 \ 1
+       #BYTE_ORDER
+__BYTE_ORDER
+
+
+       )
+
+52 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+53 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èLO, 
+       )
+HI
+
+54 #\96
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+55 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èHI, 
+       )
+LO
+
+       @/usr/include/features.h
+
+19 #iâdef 
+_FEATURES_H
+
+
+20 \ 1
+       #_FEATURES_H
+ 1
+
+       )
+
+90 #undeà
+__USE_ISOC99
+
+
+91 #undeà
+__USE_POSIX
+
+
+92 #undeà
+__USE_POSIX2
+
+
+93 #undeà
+__USE_POSIX199309
+
+
+94 #undeà
+__USE_POSIX199506
+
+
+95 #undeà
+__USE_XOPEN
+
+
+96 #undeà
+__USE_XOPEN_EXTENDED
+
+
+97 #undeà
+__USE_UNIX98
+
+
+98 #undeà
+__USE_XOPEN2K
+
+
+99 #undeà
+__USE_LARGEFILE
+
+
+100 #undeà
+__USE_LARGEFILE64
+
+
+101 #undeà
+__USE_FILE_OFFSET64
+
+
+102 #undeà
+__USE_BSD
+
+
+103 #undeà
+__USE_SVID
+
+
+104 #undeà
+__USE_MISC
+
+
+105 #undeà
+__USE_GNU
+
+
+106 #undeà
+__USE_REENTRANT
+
+
+107 #undeà
+__USE_FORTIFY_LEVEL
+
+
+108 #undeà
+__FAVOR_BSD
+
+
+109 #undeà
+__KERNEL_STRICT_NAMES
+
+
+113 #iâdeà
+_LOOSE_KERNEL_NAMES
+
+
+114 \ 1
+       #__KERNEL_STRICT_NAMES
+
+
+       )
+
+118 \ 1
+       #__USE_ANSI
+ 1
+
+       )
+
+127 #ià
+def\9aed
+__GNUC__
+ && def\9aed 
+__GNUC_MINOR__
+
+
+128 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+129 ((
+__GNUC__
+ << 16è+ 
+__GNUC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+131 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+è0
+
+       )
+
+136 #ià
+def\9aed
+_BSD_SOURCE
+ && \
+
+137 !(
+def\9aed
+       g_POSIX_SOURCE
+ || def\9aed 
+       g_POSIX_C_SOURCE
+ || \
+
+138 
+def\9aed
+       g_XOPEN_SOURCE
+ || def\9aed 
+       g_XOPEN_SOURCE_EXTENDED
+ || \
+
+139 
+def\9aed
+       g_GNU_SOURCE
+ || def\9aed 
+       g_SVID_SOURCE
+)
+
+140 \ 1
+       #__FAVOR_BSD
+ 1
+
+       )
+
+144 #ifdeà
+_GNU_SOURCE
+
+
+145 #undeà
+_ISOC99_SOURCE
+
+
+146 \ 1
+       #_ISOC99_SOURCE
+ 1
+
+       )
+
+147 #undeà
+_POSIX_SOURCE
+
+
+148 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+149 #undeà
+_POSIX_C_SOURCE
+
+
+150 \ 1
+       #_POSIX_C_SOURCE
+ 199506L
+
+       )
+
+151 #undeà
+_XOPEN_SOURCE
+
+
+152 \ 1
+       #_XOPEN_SOURCE
+ 600
+
+       )
+
+153 #undeà
+_XOPEN_SOURCE_EXTENDED
+
+
+154 \ 1
+       #_XOPEN_SOURCE_EXTENDED
+ 1
+
+       )
+
+155 #undeà
+_LARGEFILE64_SOURCE
+
+
+156 \ 1
+       #_LARGEFILE64_SOURCE
+ 1
+
+       )
+
+157 #undeà
+_BSD_SOURCE
+
+
+158 \ 1
+       #_BSD_SOURCE
+ 1
+
+       )
+
+159 #undeà
+_SVID_SOURCE
+
+
+160 \ 1
+       #_SVID_SOURCE
+ 1
+
+       )
+
+165 #ià(!
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+_ISOC99_SOURCE
+ && \
+
+166 !
+def\9aed
+       g_POSIX_SOURCE
+ && !def\9aed 
+       g_POSIX_C_SOURCE
+ && \
+
+167 !
+def\9aed
+       g_XOPEN_SOURCE
+ && !def\9aed 
+       g_XOPEN_SOURCE_EXTENDED
+ && \
+
+168 !
+def\9aed
+       g_BSD_SOURCE
+ && !def\9aed 
+       g_SVID_SOURCE
+)
+
+169 \ 1
+       #_BSD_SOURCE
+ 1
+
+       )
+
+170 \ 1
+       #_SVID_SOURCE
+ 1
+
+       )
+
+177 #ià(
+def\9aed
+_ISOC99_SOURCE
+ || def\9aed 
+_ISOC9X_SOURCE
+ \
+
+178 || (
+def\9aed
+       g__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L))
+
+179 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+184 #ià((!
+def\9aed
+__STRICT_ANSI__
+ || (
+_XOPEN_SOURCE
+ - 0) >= 500) && \
+
+185 !
+def\9aed
+_POSIX_SOURCE
+ && !def\9aed 
+_POSIX_C_SOURCE
+)
+
+186 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+187 #ià
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 500
+
+188 \ 1
+       #_POSIX_C_SOURCE
+ 2
+
+       )
+
+190 \ 1
+       #_POSIX_C_SOURCE
+ 199506L
+
+       )
+
+194 #ià
+def\9aed
+_POSIX_SOURCE
+ || 
+_POSIX_C_SOURCE
+ >ð1 || def\9aed 
+_XOPEN_SOURCE
+
+
+195 \ 1
+       #__USE_POSIX
+ 1
+
+       )
+
+198 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >ð2 || def\9aed 
+_XOPEN_SOURCE
+
+
+199 \ 1
+       #__USE_POSIX2
+ 1
+
+       )
+
+202 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 199309L
+
+203 \ 1
+       #__USE_POSIX199309
+ 1
+
+       )
+
+206 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 199506L
+
+207 \ 1
+       #__USE_POSIX199506
+ 1
+
+       )
+
+210 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 200112L
+
+211 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+214 #ifdef 
+_XOPEN_SOURCE
+
+
+215 \ 1
+       #__USE_XOPEN
+ 1
+
+       )
+
+216 #ià(
+_XOPEN_SOURCE
+ - 0) >= 500
+
+217 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+218 \ 1
+       #__USE_UNIX98
+ 1
+
+       )
+
+219 #undeà
+_LARGEFILE_SOURCE
+
+
+220 \ 1
+       #_LARGEFILE_SOURCE
+ 1
+
+       )
+
+221 #ià(
+_XOPEN_SOURCE
+ - 0) >= 600
+
+222 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+223 #undeà
+__USE_ISOC99
+
+
+224 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+227 #ifdeà
+_XOPEN_SOURCE_EXTENDED
+
+
+228 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+233 #ifdeà
+_LARGEFILE_SOURCE
+
+
+234 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+237 #ifdeà
+_LARGEFILE64_SOURCE
+
+
+238 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+241 #ià
+def\9aed
+_FILE_OFFSET_BITS
+ && _FILE_OFFSET_BITS == 64
+
+242 \ 1
+       #__USE_FILE_OFFSET64
+ 1
+
+       )
+
+245 #ià
+def\9aed
+_BSD_SOURCE
+ || def\9aed 
+_SVID_SOURCE
+
+
+246 \ 1
+       #__USE_MISC
+ 1
+
+       )
+
+249 #ifdef 
+_BSD_SOURCE
+
+
+250 \ 1
+       #__USE_BSD
+ 1
+
+       )
+
+253 #ifdef 
+_SVID_SOURCE
+
+
+254 \ 1
+       #__USE_SVID
+ 1
+
+       )
+
+257 #ifdef 
+_GNU_SOURCE
+
+
+258 \ 1
+       #__USE_GNU
+ 1
+
+       )
+
+261 #ià
+def\9aed
+_REENTRANT
+ || def\9aed 
+_THREAD_SAFE
+
+
+262 \ 1
+       #__USE_REENTRANT
+ 1
+
+       )
+
+265 #ià
+_FORTIFY_SOURCE
+ > 0 && 
+__GNUC_PREREQ
+ (4, 1è&& 
+__OPTIMIZE__
+ > 0
+
+266 #ià
+_FORTIFY_SOURCE
+ == 1
+
+267 \ 1
+       #__USE_FORTIFY_LEVEL
+ 1
+
+       )
+
+268 #\96
+_FORTIFY_SOURCE
+ > 1
+
+269 \ 1
+       #__USE_FORTIFY_LEVEL
+ 2
+
+       )
+
+274 \ 1
+       #__STDC_IEC_559__
+ 1
+
+       )
+
+275 \ 1
+       #__STDC_IEC_559_COMPLEX__
+ 1
+
+       )
+
+278 \ 1
+       #__STDC_ISO_10646__
+ 200009L
+
+       )
+
+286 #undeà
+__GNU_LIBRARY__
+
+
+287 \ 1
+       #__GNU_LIBRARY__
+ 6
+
+       )
+
+291 \ 1
+       #__GLIBC__
+ 2
+
+       )
+
+292 \ 1
+       #__GLIBC_MINOR__
+ 3
+
+       )
+
+294 \ 1
+       #__GLIBC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+295 ((
+__GLIBC__
+ << 16è+ 
+__GLIBC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+298 #ià
+def\9aed
+__GNUC__
+ \
+
+299 || (
+def\9aed
+       g__PGI
+ && def\9aed 
+       g__i386__
+ ) \
+
+300 || (
+def\9aed
+       g__INTEL_COMPILER
+ && (def\9aed 
+       g__i386__
+ || def\9aed 
+       g__\9f64__
+)) \
+
+301 || (
+def\9aed
+       g__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L)
+
+302 \ 1
+       #__GLIBC_HAVE_LONG_LONG
+ 1
+
+       )
+
+306 #iâdeà
+__ASSEMBLER__
+
+
+307 #iâdeà
+_SYS_CDEFS_H
+
+
+308 \ 2
+       ~<sys/cdefs.h
+>
+
+313 #ià
+def\9aed
+__USE_FILE_OFFSET64
+ && !def\9aed 
+__REDIRECT
+
+
+314 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+315 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+321 #ià
+__GNUC_PREREQ
+ (2, 7è&& 
+def\9aed
+__OPTIMIZE__
+ \
+
+322 && !
+def\9aed
+       g__OPTIMIZE_SIZE__
+ && !def\9aed 
+       g__NO_INLINE__
+
+
+323 \ 1
+       #__USE_EXTERN_INLINES
+ 1
+
+       )
+
+331 \ 2
+       ~<gnu/¡ubs.h
+>
+
+       @/usr/include/libio.h
+
+29 #iâdeà
+_IO_STDIO_H
+
+
+30 \ 1
+       #_IO_STDIO_H
+
+
+       )
+
+32 \ 2
+       ~<_G_cÚfig.h
+>
+
+34 \ 1
+       #_IO_pos_t
+_G_åos_t
+
+
+       )
+
+35 \ 1
+       #_IO_åos_t
+_G_åos_t
+
+
+       )
+
+36 \ 1
+       #_IO_åos64_t
+_G_åos64_t
+
+
+       )
+
+37 \ 1
+       #_IO_size_t
+_G_size_t
+
+
+       )
+
+38 \ 1
+       #_IO_ssize_t
+_G_ssize_t
+
+
+       )
+
+39 \ 1
+       #_IO_off_t
+_G_off_t
+
+
+       )
+
+40 \ 1
+       #_IO_off64_t
+_G_off64_t
+
+
+       )
+
+41 \ 1
+       #_IO_pid_t
+_G_pid_t
+
+
+       )
+
+42 \ 1
+       #_IO_uid_t
+_G_uid_t
+
+
+       )
+
+43 \ 1
+       #_IO_icÚv_t
+_G_icÚv_t
+
+
+       )
+
+44 \ 1
+       #_IO_HAVE_SYS_WAIT
+_G_HAVE_SYS_WAIT
+
+
+       )
+
+45 \ 1
+       #_IO_HAVE_ST_BLKSIZE
+_G_HAVE_ST_BLKSIZE
+
+
+       )
+
+46 \ 1
+       #_IO_BUFSIZ
+_G_BUFSIZ
+
+
+       )
+
+47 \ 1
+       #_IO_va_li¡
+_G_va_li¡
+
+
+       )
+
+48 \ 1
+       #_IO_w\9at_t
+_G_w\9at_t
+
+
+       )
+
+50 #ifdeà
+_G_NEED_STDARG_H
+
+
+52 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+53 \ 2
+       ~<¡d¬g.h
+>
+
+54 #ifdeà
+__GNUC_VA_LIST
+
+
+55 #undeà
+_IO_va_li¡
+
+
+56 \ 1
+       #_IO_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+60 #iâdeà
+__P
+
+
+61 #ià
+_G_HAVE_SYS_CDEFS
+
+
+62 \ 2
+       ~<sys/cdefs.h
+>
+
+64 #ifdeà
+__STDC__
+
+
+65 \ 1
+       #__P
+(
+p
+       )
+p
+
+66 \ 1
+       #__PMT
+(
+p
+       )
+p
+
+68 \ 1
+       #__P
+(
+p
+è()
+
+       )
+
+69 \ 1
+       #__PMT
+(
+p
+è()
+
+       )
+
+75 #iâdeà
+_PARAMS
+
+
+76 \ 1
+       #_PARAMS
+(
+´Ùos
+       `__P
+ÕrÙos)
+
+       )
+
+79 #iâdeà
+__STDC__
+
+
+81 \ 1
+
+       )
+
+84 \ 1
+       #_IO_UNIFIED_JUMPTABLES
+ 1
+
+       )
+
+85 #iâdeà
+_G_HAVE_PRINTF_FP
+
+
+86 \ 1
+       #_IO_USE_DTOA
+ 1
+
+       )
+
+89 #iâdeà
+EOF
+
+
+90 \ 1
+       #EOF
+ (-1)
+
+       )
+
+92 #iâdeà
+NULL
+
+
+93 #ià
+def\9aed
+__GNUG__
+ && \
+
+94 (
+       g__GNUC__
+ > 2 || (__GNUC__ =ð2 && 
+__GNUC_MINOR__
+ >= 8))
+
+95 \ 1
+       #NULL
+ (
+__nuÎ
+)
+
+       )
+
+97 #ià!
+def\9aed
+(
+__ýlu¥lus
+)
+
+98 \ 1
+       #NULL
+ ((\1e*)0)
+
+       )
+
+100 \ 1
+       #NULL
+ (0)
+
+       )
+
+105 \ 1
+       #_IOS_INPUT
+ 1
+
+       )
+
+106 \ 1
+       #_IOS_OUTPUT
+ 2
+
+       )
+
+107 \ 1
+       #_IOS_ATEND
+ 4
+
+       )
+
+108 \ 1
+       #_IOS_APPEND
+ 8
+
+       )
+
+109 \ 1
+       #_IOS_TRUNC
+ 16
+
+       )
+
+110 \ 1
+       #_IOS_NOCREATE
+ 32
+
+       )
+
+111 \ 1
+       #_IOS_NOREPLACE
+ 64
+
+       )
+
+112 \ 1
+       #_IOS_BIN
+ 128
+
+       )
+
+120 \ 1
+       #_IO_MAGIC
+ 0xFBAD0000
+
+       )
+
+121 \ 1
+       #_OLD_STDIO_MAGIC
+ 0xFABC0000
+
+       )
+
+122 \ 1
+       #_IO_MAGIC_MASK
+ 0xFFFF0000
+
+       )
+
+123 \ 1
+       #_IO_USER_BUF
+ 1
+
+       )
+
+124 \ 1
+       #_IO_UNBUFFERED
+ 2
+
+       )
+
+125 \ 1
+       #_IO_NO_READS
+ 4
+
+       )
+
+126 \ 1
+       #_IO_NO_WRITES
+ 8
+
+       )
+
+127 \ 1
+       #_IO_EOF_SEEN
+ 0x10
+
+       )
+
+128 \ 1
+       #_IO_ERR_SEEN
+ 0x20
+
+       )
+
+129 \ 1
+       #_IO_DELETE_DONT_CLOSE
+ 0x40
+
+       )
+
+130 \ 1
+       #_IO_LINKED
+ 0x80
+
+       )
+
+131 \ 1
+       #_IO_IN_BACKUP
+ 0x100
+
+       )
+
+132 \ 1
+       #_IO_LINE_BUF
+ 0x200
+
+       )
+
+133 \ 1
+       #_IO_TIED_PUT_GET
+ 0x400
+
+       )
+
+134 \ 1
+       #_IO_CURRENTLY_PUTTING
+ 0x800
+
+       )
+
+135 \ 1
+       #_IO_IS_APPENDING
+ 0x1000
+
+       )
+
+136 \ 1
+       #_IO_IS_FILEBUF
+ 0x2000
+
+       )
+
+137 \ 1
+       #_IO_BAD_SEEN
+ 0x4000
+
+       )
+
+138 \ 1
+       #_IO_USER_LOCK
+ 0x8000
+
+       )
+
+140 \ 1
+       #_IO_FLAGS2_MMAP
+ 1
+
+       )
+
+141 \ 1
+       #_IO_FLAGS2_NOTCANCEL
+ 2
+
+       )
+
+142 #ifdeà
+_LIBC
+
+
+143 \ 1
+       #_IO_FLAGS2_FORTIFY
+ 4
+
+       )
+
+147 \ 1
+       #_IO_SKIPWS
+ 01
+
+       )
+
+148 \ 1
+       #_IO_LEFT
+ 02
+
+       )
+
+149 \ 1
+       #_IO_RIGHT
+ 04
+
+       )
+
+150 \ 1
+       #_IO_INTERNAL
+ 010
+
+       )
+
+151 \ 1
+       #_IO_DEC
+ 020
+
+       )
+
+152 \ 1
+       #_IO_OCT
+ 040
+
+       )
+
+153 \ 1
+       #_IO_HEX
+ 0100
+
+       )
+
+154 \ 1
+       #_IO_SHOWBASE
+ 0200
+
+       )
+
+155 \ 1
+       #_IO_SHOWPOINT
+ 0400
+
+       )
+
+156 \ 1
+       #_IO_UPPERCASE
+ 01000
+
+       )
+
+157 \ 1
+       #_IO_SHOWPOS
+ 02000
+
+       )
+
+158 \ 1
+       #_IO_SCIENTIFIC
+ 04000
+
+       )
+
+159 \ 1
+       #_IO_FIXED
+ 010000
+
+       )
+
+160 \ 1
+       #_IO_UNITBUF
+ 020000
+
+       )
+
+161 \ 1
+       #_IO_STDIO
+ 040000
+
+       )
+
+162 \ 1
+       #_IO_DONT_CLOSE
+ 0100000
+
+       )
+
+163 \ 1
+       #_IO_BOOLALPHA
+ 0200000
+
+       )
+
+166 \19
+_IO_jump_t
+; \19
+       g_IO_FILE
+;
+
+169 #ifdeà
+_IO_MTSAFE_IO
+
+
+170 #ià
+def\9aed
+__GLIBC__
+ && __GLIBC__ >= 2
+
+171 \ 2
+       ~<b\99s/¡dio-lock.h
+>
+
+176 \e\1e
+       t_IO_lock_t
+;
+
+182 \19
+       s_IO_m¬k\94
+ {
+
+183 \19
+_IO_m¬k\94
+ *
+       m_Ãxt
+;
+
+184 \19
+_IO_FILE
+ *
+       m_sbuf
+;
+
+188 \12
+       m_pos
+;
+
+190 \1e
+£t_¡»ampos
+(
+¡»ampos
+è{ 
+       m_¥os
+ = sp; }
+
+191 \1e
+£t_off£t
+(\12
+off£t
+è{ 
+       m_pos
+ = off£t; 
+       m_¥os
+ = (
+¡»ampos
+)(-2); }
+
+192 
+       mpublic
+:
+
+193 
+¡»amm¬k\94
+(
+¡»ambuf
+ *
+sb
+);
+
+194 ~
+¡»amm¬k\94
+();
+
+195 \12
+§v\9ag
+(è{ \15 
+       m_¥os
+ == -2; }
+
+196 \12
+d\96\8f
+(
+¡»amm¬k\94
+&);
+
+197 \12
+d\96\8f
+();
+
+202 \f
+       e__codecvt_»suÉ
+
+
+204 
+       m__codecvt_ok
+,
+
+205 
+       m__codecvt_·¹\9fl
+,
+
+206 
+       m__codecvt_\94
+,
+
+207 
+       m__codecvt_nocÚv
+
+
+210 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+213 \19
+       s_IO_codecvt
+
+
+215 \1e(*
+       m__codecvt_de¡r
+è(\19
+       m_IO_codecvt
+ *);
+
+216 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_out
+è(\19
+       m_IO_codecvt
+ *,
+
+217 
+       m__mb¡©e_t
+ *,
+
+218 cڡ 
+       mwch¬_t
+ *,
+
+219 cڡ 
+       mwch¬_t
+ *,
+
+220 cڡ 
+       mwch¬_t
+ **, \ 5*,
+
+222 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_unshiá
+è(\19
+       m_IO_codecvt
+ *,
+
+223 
+       m__mb¡©e_t
+ *, \ 5*,
+
+225 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_\9a
+è(\19
+       m_IO_codecvt
+ *,
+
+226 
+       m__mb¡©e_t
+ *,
+
+228 cڡ \ 5**, 
+       mwch¬_t
+ *,
+
+229 
+       mwch¬_t
+ *, wchar_t **);
+
+230 \12(*
+       m__codecvt_do_\92cod\9ag
+è(\19
+       m_IO_codecvt
+ *);
+
+231 \12(*
+       m__codecvt_do_®ways_nocÚv
+è(\19
+       m_IO_codecvt
+ *);
+
+232 \12(*
+       m__codecvt_do_Ëngth
+è(\19
+       m_IO_codecvt
+ *, 
+       m__mb¡©e_t
+ *,
+
+233 cڡ \ 5*, cڡ \ 5*, 
+       m_IO_size_t
+);
+
+234 \12(*
+       m__codecvt_do_max_Ëngth
+è(\19
+       m_IO_codecvt
+ *);
+
+236 
+_IO_icÚv_t
+       m__cd_\9a
+;
+
+237 
+_IO_icÚv_t
+       m__cd_out
+;
+
+241 \19
+       s_IO_wide_d©a
+
+
+243 
+wch¬_t
+ *
+       m_IO_»ad_±r
+;
+
+244 
+wch¬_t
+ *
+       m_IO_»ad_\92d
+;
+
+245 
+wch¬_t
+ *
+       m_IO_»ad_ba£
+;
+
+246 
+wch¬_t
+ *
+       m_IO_wr\99e_ba£
+;
+
+247 
+wch¬_t
+ *
+       m_IO_wr\99e_±r
+;
+
+248 
+wch¬_t
+ *
+       m_IO_wr\99e_\92d
+;
+
+249 
+wch¬_t
+ *
+       m_IO_buf_ba£
+;
+
+250 
+wch¬_t
+ *
+       m_IO_buf_\92d
+;
+
+252 
+wch¬_t
+ *
+       m_IO_§ve_ba£
+;
+
+253 
+wch¬_t
+ *
+       m_IO_backup_ba£
+;
+
+255 
+wch¬_t
+ *
+       m_IO_§ve_\92d
+;
+
+257 
+__mb¡©e_t
+       m_IO_¡©e
+;
+
+258 
+__mb¡©e_t
+       m_IO_Ï¡_¡©e
+;
+
+259 \19
+_IO_codecvt
+       m_codecvt
+;
+
+261 
+wch¬_t
+       m_shÜtbuf
+[1];
+
+263 cڡ \19
+_IO_jump_t
+ *
+       m_wide_v\8f
+;
+
+267 \19
+       s_IO_FILE
+ {
+
+268 \12
+       m_æags
+;
+
+269 \ 1
+       #_IO_f\9ee_æags
+_æags
+
+
+       )
+
+273 \ 5
+       m_IO_»ad_±r
+;
+
+274 \ 5
+       m_IO_»ad_\92d
+;
+
+275 \ 5
+       m_IO_»ad_ba£
+;
+
+276 \ 5
+       m_IO_wr\99e_ba£
+;
+
+277 \ 5
+       m_IO_wr\99e_±r
+;
+
+278 \ 5
+       m_IO_wr\99e_\92d
+;
+
+279 \ 5
+       m_IO_buf_ba£
+;
+
+280 \ 5
+       m_IO_buf_\92d
+;
+
+282 \ 5*
+       m_IO_§ve_ba£
+;
+
+283 \ 5*
+       m_IO_backup_ba£
+;
+
+284 \ 5*
+       m_IO_§ve_\92d
+;
+
+286 \19
+_IO_m¬k\94
+ *
+       m_m¬k\94s
+;
+
+288 \19
+_IO_FILE
+ *
+       m_cha\9a
+;
+
+290 \12
+       m_f\9e\92o
+;
+
+292 \12
+       m_blksize
+;
+
+294 \12
+       m_æags2
+;
+
+296 
+_IO_off_t
+       m_Þd_off£t
+;
+
+298 \ 1
+       #__HAVE_COLUMN
+
+
+       )
+
+300 \1d\16
+       m_cur_cÞumn
+;
+
+301 sigÃd \ 5
+       m_v\8fbË_off£t
+;
+
+302 \ 5
+       m_shÜtbuf
+[1];
+
+306 
+_IO_lock_t
+ *
+       m_lock
+;
+
+307 #ifdeà
+_IO_USE_OLD_IO_FILE
+
+
+310 \19
+       s_IO_FILE_com¶\91e
+
+
+312 \19
+_IO_FILE
+       m_f\9ee
+;
+
+314 #ià
+def\9aed
+_G_IO_IO_FILE_VERSION
+ && _G_IO_IO_FILE_VERSION == 0x20001
+
+315 
+_IO_off64_t
+       m_off£t
+;
+
+316 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+318 \19
+_IO_codecvt
+ *
+       m_codecvt
+;
+
+319 \19
+_IO_wide_d©a
+ *
+       m_wide_d©a
+;
+
+321 \1e*
+       m__·d1
+;
+
+322 \1e*
+       m__·d2
+;
+
+324 \12
+       m_mode
+;
+
+326 \ 5
+       m_unu£d2
+[15 * \17 (\12) - 2 * \17 (\1e*)];
+
+330 #iâdeà
+__ýlu¥lus
+
+
+331 \e\19
+_IO_FILE
+       t_IO_FILE
+;
+
+334 \19
+       g_IO_FILE_¶us
+;
+
+336 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\9a_
+;
+
+337 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡dout_
+;
+
+338 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\94r_
+;
+
+339 #iâdeà
+_LIBC
+
+
+340 \ 1
+       #_IO_¡d\9a
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\9a_
+))
+
+       )
+
+341 \ 1
+       #_IO_¡dout
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡dout_
+))
+
+       )
+
+342 \ 1
+       #_IO_¡d\94r
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\94r_
+))
+
+       )
+
+344 \r
+_IO_FILE
+ *
+_IO_¡d\9a
\8cibu\8b_hidd\92
+;
+
+345 \r
+_IO_FILE
+ *
+_IO_¡dout
\8cibu\8b_hidd\92
+;
+
+346 \r
+_IO_FILE
+ *
+_IO_¡d\94r
\8cibu\8b_hidd\92
+;
+
+354 \e
+__ssize_t
+       t__io_»ad_â
+ (\1e*
+       t__cook\9b
+, \ 5*
+       t__buf
+, 
+       tsize_t
+       t__nby\8bs
+);
+
+362 \e
+__ssize_t
+       t__io_wr\99e_â
+ (\1e*
+       t__cook\9b
+, 
+       t__cڡ
\ 5*
+       t__buf
+,
+
+363 
+       tsize_t
+       t__n
+);
+
+371 \e\12
+       t__io_£ek_â
+ (\1e*
+       t__cook\9b
+, 
+       t_IO_off64_t
+ *
+       t__pos
+, \12
+       t__w
+);
+
+374 \e\12
+       t__io_þo£_â
+ (\1e*
+       t__cook\9b
+);
+
+377 #ifdeà
+_GNU_SOURCE
+
+
+379 \e
+__io_»ad_â
+       tcook\9b_»ad_funùiÚ_t
+;
+
+380 \e
+__io_wr\99e_â
+       tcook\9b_wr\99e_funùiÚ_t
+;
+
+381 \e
+__io_£ek_â
+       tcook\9b_£ek_funùiÚ_t
+;
+
+382 \e
+__io_þo£_â
+       tcook\9b_þo£_funùiÚ_t
+;
+
+387 
+__io_»ad_â
+ *
+       m»ad
+;
+
+388 
+__io_wr\99e_â
+ *
+       mwr\99e
+;
+
+389 
+__io_£ek_â
+ *
+       m£ek
+;
+
+390 
+__io_þo£_â
+ *
+       mþo£
+;
+
+391 } 
+       t_IO_cook\9b_io_funùiÚs_t
+;
+
+392 \e
+_IO_cook\9b_io_funùiÚs_t
+       tcook\9b_io_funùiÚs_t
+;
+
+394 \19
+       g_IO_cook\9b_f\9ee
+;
+
+397 \r\1e
+_IO_cook\9b_\9a\99
+ (\19
+_IO_cook\9b_f\9ee
+ *
+__cf\9ee
+, \12
+__»ad_wr\99e
+,
+
+398 \1e*
+__cook\9b
+, 
+_IO_cook\9b_io_funùiÚs_t
+__âs
+);
+
+402 #ifdeà
+__ýlu¥lus
+
+
+406 \r\12
+__und\94æow
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+407 \r\12
+__uæow
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+408 \r\12
+__ov\94æow
+ (
+_IO_FILE
+ *, \12è
+__THROW
+;
+
+409 \r
+_IO_w\9at_t
+__wund\94æow
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+410 \r
+_IO_w\9at_t
+__wuæow
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+411 \r
+_IO_w\9at_t
+__wov\94æow
+ (
+_IO_FILE
+ *, _IO_w\9at_tè
+__THROW
+;
+
+413 #ià 
+__GNUC__
+ >= 3
+
+414 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+       `__bu\9et\9a_ex³ù
+ (ex´,\84es)
+
+       )
+
+416 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+èÓx´)
+
+       )
+
+419 \ 1
+       #_IO_g\91c_uÆocked
+(
+_å
+) \
+
+420 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+421 ? 
+       `__uæow
+ (
+_å
+è: *(\1d\ 5*è(_å)->
+_IO_»ad_±r
+++)
+
+       )
+
+422 \ 1
+       #_IO_³ekc_uÆocked
+(
+_å
+) \
+
+423 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+424 && 
+       `__und\94æow
+ (
+_å
+è=ð
+EOF
+ ? EOF \
+
+425 : *(\1d\ 5*è(
+_å
+)->
+_IO_»ad_±r
+)
+
+       )
+
+426 \ 1
+       #_IO_putc_uÆocked
+(
+_ch
+, 
+_å
+) \
+
+427 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_wr\99e_±r
+ >ð(_å)->
+_IO_wr\99e_\92d
+, 0) \
+
+428 ? 
+       `__ov\94æow
+ (
+_å
+, (\1d\ 5è(
+_ch
+)) \
+
+429 : (\1d\ 5è(*(
+_å
+)->
+_IO_wr\99e_±r
+++ = (
+_ch
+)))
+
+       )
+
+431 \ 1
+       #_IO_g\91wc_uÆocked
+(
+_å
+) \
+
+432 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+->
+_IO_»ad_±r
+ >ð(_å)->_wide_d©a->
+_IO_»ad_\92d
+,\
+
+434 ? 
+       `__wuæow
+ (
+_å
+è: (
+_IO_w\9at_t
+è*(_å)->
+_wide_d©a
+->
+_IO_»ad_±r
+++)
+
+       )
+
+435 \ 1
+       #_IO_putwc_uÆocked
+(
+_wch
+, 
+_å
+) \
+
+436 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+ \
+
+437 >ð(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_\92d
+, 0) \
+
+438 ? 
+       `__wov\94æow
+ (
+_å
+, 
+_wch
+) \
+
+439 : (
+_IO_w\9at_t
+è(*(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+++ = (
+_wch
+)))
+
+       )
+
+441 \ 1
+       #_IO_ãof_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_EOF_SEEN
+è!ð0)
+
+       )
+
+442 \ 1
+       #_IO_ã¼Ü_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_ERR_SEEN
+è!ð0)
+
+       )
+
+444 \r\12
+_IO_g\91c
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+445 \r\12
+_IO_putc
+ (\12
+__c
+, 
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+446 \r\12
+_IO_ãof
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+447 \r\12
+_IO_ã¼Ü
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+449 \r\12
+_IO_³ekc_locked
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+452 \ 1
+       #_IO_PENDING_OUTPUT_COUNT
+(
+_å
+) \
+
+453 ((
+_å
+)->
+_IO_wr\99e_±r
+ - (_å)->
+_IO_wr\99e_ba£
+)
+
+       )
+
+455 \r\1e
+_IO_æockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+456 \r\1e
+_IO_fuÆockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+457 \r\12
+_IO_árylockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+459 #ifdeà
+_IO_MTSAFE_IO
+
+
+460 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_locked
+ (_å)
+
+       )
+
+461 \ 1
+       #_IO_æockf\9ee
+(
+_å
+) \
+
+462 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_æockf\9ee
+ (_å)
+
+       )
+
+463 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+) \
+
+464 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_fuÆockf\9ee
+ (_å)
+
+       )
+
+466 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_uÆocked
+ (_å)
+
+       )
+
+467 \ 1
+       #_IO_æockf\9ee
+(
+_å
+
+       )
+
+468 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+
+       )
+
+469 \ 1
+       #_IO_árylockf\9ee
+(
+_å
+
+       )
+
+470 \ 1
+       #_IO_þ\97nup_»giÚ_¡¬t
+(
+_fù
+, 
+_å
+
+       )
+
+471 \ 1
+       #_IO_þ\97nup_»giÚ_\92d
+(
+_Do\99
+
+       )
+
+474 \r\12
+_IO_vfsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, const \ 5* __restrict,
+
+475 
+_IO_va_li¡
+, \12*
+__»¡riù
+__THROW
+;
+
+476 \r\12
+_IO_vår\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, const \ 5*__restrict,
+
+477 
+_IO_va_li¡
+__THROW
+;
+
+478 \r
+_IO_ssize_t
+_IO_·dn
+ (
+_IO_FILE
+ *, \12, _IO_ssize_tè
+__THROW
+;
+
+479 \r
+_IO_size_t
+_IO_sg\91n
+ (
+_IO_FILE
+ *, \1e*, _IO_size_tè
+__THROW
+;
+
+481 \r
+_IO_off64_t
+_IO_£ekoff
+ (
+_IO_FILE
+ *, _IO_off64_t, \12\12è
+__THROW
+;
+
+482 \r
+_IO_off64_t
+_IO_£ekpos
+ (
+_IO_FILE
+ *, _IO_off64_t, \12è
+__THROW
+;
+
+484 \r\1e
+_IO_ä\93_backup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+486 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+487 \r
+_IO_w\9at_t
+_IO_g\91wc
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+488 \r
+_IO_w\9at_t
+_IO_putwc
+ (
+wch¬_t
+__wc
+, 
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+489 \r\12
+_IO_fwide
+ (
+_IO_FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+490 #ià
+__GNUC__
+ >= 2
+
+493 #ià
+def\9aed
+_LIBC
+ && def\9aed 
+SHARED
+
+
+494 \ 2
+       ~<shlib-com·t.h
+>
+
+495 #ià
+SHLIB_COMPAT
+ (
+libc
+, 
+GLIBC_2_0
+, 
+GLIBC_2_1
+)
+
+496 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ \
+
+497 (
+       `__bu\9et\9a_ex³ù
+ (&
+_IO_¡d\9a_u£d
+ =ð
+NULL
+, 0))
+
+       )
+
+498 \rcڡ \12
+_IO_¡d\9a_u£d
+;
+
+499 
+w\97k_ex\8bº
+ (
+_IO_¡d\9a_u£d
+);
+
+502 #iâdeà
+_IO_fwide_maybe_\9acom·tibË
+
+
+503 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ (0)
+
+       )
+
+507 \ 1
+       #_IO_fwide
+(
+__å
+, 
+__mode
+) \
+
+508 ({ \12
+__»suÉ
+ = (
+__mode
+); \
+
+509 ià(
+__»suÉ
+ < 0 && ! 
+_IO_fwide_maybe_\9acom·tibË
+) \
+
+511 ià((
+__å
+)->
+_mode
+ == 0) \
+
+513 (
+__å
+)->
+_mode
+ = -1; \
+
+514 
+__»suÉ
+ = (
+__å
+)->
+_mode
+; \
+
+516 \vià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__mode
+) && (__mode) == 0) \
+
+517 
+__»suÉ
+ = 
+_IO_fwide_maybe_\9acom·tibË
+ ? -1 : (
+__å
+)->
+_mode
+; \
+
+519 
+__»suÉ
+ = 
+       `_IO_fwide
+ (
+__å
+, __result); \
+
+520 
+__»suÉ
+; })
+
+       )
+
+523 \r\12
+_IO_vfwsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, cڡ 
+wch¬_t
+ * __restrict,
+
+524 
+_IO_va_li¡
+, \12*
+__»¡riù
+__THROW
+;
+
+525 \r\12
+_IO_vfw´\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, cڡ 
+wch¬_t
+ *__restrict,
+
+526 
+_IO_va_li¡
+__THROW
+;
+
+527 \r
+_IO_ssize_t
+_IO_w·dn
+ (
+_IO_FILE
+ *, 
+w\9at_t
+, _IO_ssize_tè
+__THROW
+;
+
+528 \r\1e
+_IO_ä\93_wbackup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+531 #ifdeà
+__ýlu¥lus
+
+
+       @/usr/include/linux/backing-dev.h
+
+8 #iâdeà
+_LINUX_BACKING_DEV_H
+
+
+9 \ 1
+       #_LINUX_BACKING_DEV_H
+
+
+       )
+
+15 \f
+       ebdi_¡©e
+ {
+
+16 
+       mBDI_pdæush
+,
+
+17 
+       mBDI_wr\99e_cÚge¡ed
+,
+
+18 
+       mBDI_»ad_cÚge¡ed
+,
+
+19 
+       mBDI_unu£d
+,
+
+22 \e\12(
+       tcÚge¡ed_â
+)(\1e*, \12);
+
+24 \19
+       sback\9ag_dev_\9afo
+ {
+
+25 \1d\13
+¿_·ges
+;
+
+26 \1d\13
+¡©e
+;
+
+27 \12
+memÜy_backed
+;
+
+28 
+cÚge¡ed_â
+ *congested_fn;
+
+29 \1e*
+cÚge¡ed_d©a
+;
+
+30 \1e(*
+uÅlug_io_â
+)(\19
+back\9ag_dev_\9afo
+ *, \19
+·ge
+ *);
+
+31 \1e*
+uÅlug_io_d©a
+;
+
+34 \r\19
+back\9ag_dev_\9afo
+deçuÉ_back\9ag_dev_\9afo
+;
+
+35 \1e
+       `deçuÉ_uÅlug_io_â
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+, \19
+·ge
+ *page);
+
+37 \12
+       `wr\99eback_acqu\9ce
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+);
+
+38 \12
+       `wr\99eback_\9a_´og»ss
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+);
+
+39 \1e
+       `wr\99eback_»Ëa£
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+);
+
+41 \18
+\9al\9ae
\12
+       $bdi_cÚge¡ed
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+, \12
+bdi_b\99s
+)
+
+43 ià(
+bdi
+->
+cÚge¡ed_â
+)
+
+44 \15 
+bdi
+->
+       `cÚge¡ed_â
+(bdi->
+cÚge¡ed_d©a
+, 
+bdi_b\99s
+);
+
+45 \15 (
+bdi
+->
+¡©e
+ & 
+bdi_b\99s
+);
+
+46 
+       }
+}
+
+48 \18
+\9al\9ae
\12
+       $bdi_»ad_cÚge¡ed
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+)
+
+50 \15 
+       `bdi_cÚge¡ed
+(
+bdi
+, 1 << 
+BDI_»ad_cÚge¡ed
+);
+
+51 
+       }
+}
+
+53 \18
+\9al\9ae
\12
+       $bdi_wr\99e_cÚge¡ed
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+)
+
+55 \15 
+       `bdi_cÚge¡ed
+(
+bdi
+, 1 << 
+BDI_wr\99e_cÚge¡ed
+);
+
+56 
+       }
+}
+
+58 \18
+\9al\9ae
\12
+       $bdi_rw_cÚge¡ed
+(\19
+back\9ag_dev_\9afo
+ *
+bdi
+)
+
+60 \15 
+       `bdi_cÚge¡ed
+(
+bdi
+, (1 << 
+BDI_»ad_cÚge¡ed
+)|
+
+61 (1 << 
+BDI_wr\99e_cÚge¡ed
+));
+
+62 
+       }
+}
+
+       @/usr/include/linux/err_kernel_only.h
+
+1 #\94rÜ 
+K\94Ãl
+Úly
+h\97d\94
+\9aþuded
+\9a
+u£r¥aû
+
+
+       @/usr/include/linux/errno.h
+
+1 #iâdeà
+_LINUX_ERRNO_H
+
+
+2 \ 1
+       #_LINUX_ERRNO_H
+
+
+       )
+
+4 \ 1
+       #EPERM
+ 1
+
+       )
+
+5 \ 1
+       #ENOENT
+ 2
+
+       )
+
+6 \ 1
+       #ESRCH
+ 3
+
+       )
+
+7 \ 1
+       #EINTR
+ 4
+
+       )
+
+8 \ 1
+       #EIO
+ 5
+
+       )
+
+9 \ 1
+       #ENXIO
+ 6
+
+       )
+
+10 \ 1
+       #E2BIG
+ 7
+
+       )
+
+11 \ 1
+       #ENOEXEC
+ 8
+
+       )
+
+12 \ 1
+       #EBADF
+ 9
+
+       )
+
+13 \ 1
+       #ECHILD
+ 10
+
+       )
+
+14 \ 1
+       #EAGAIN
+ 11
+
+       )
+
+15 \ 1
+       #ENOMEM
+ 12
+
+       )
+
+16 \ 1
+       #EACCES
+ 13
+
+       )
+
+17 \ 1
+       #EFAULT
+ 14
+
+       )
+
+18 \ 1
+       #ENOTBLK
+ 15
+
+       )
+
+19 \ 1
+       #EBUSY
+ 16
+
+       )
+
+20 \ 1
+       #EEXIST
+ 17
+
+       )
+
+21 \ 1
+       #EXDEV
+ 18
+
+       )
+
+22 \ 1
+       #ENODEV
+ 19
+
+       )
+
+23 \ 1
+       #ENOTDIR
+ 20
+
+       )
+
+24 \ 1
+       #EISDIR
+ 21
+
+       )
+
+25 \ 1
+       #EINVAL
+ 22
+
+       )
+
+26 \ 1
+       #ENFILE
+ 23
+
+       )
+
+27 \ 1
+       #EMFILE
+ 24
+
+       )
+
+28 \ 1
+       #ENOTTY
+ 25
+
+       )
+
+29 \ 1
+       #ETXTBSY
+ 26
+
+       )
+
+30 \ 1
+       #EFBIG
+ 27
+
+       )
+
+31 \ 1
+       #ENOSPC
+ 28
+
+       )
+
+32 \ 1
+       #ESPIPE
+ 29
+
+       )
+
+33 \ 1
+       #EROFS
+ 30
+
+       )
+
+34 \ 1
+       #EMLINK
+ 31
+
+       )
+
+35 \ 1
+       #EPIPE
+ 32
+
+       )
+
+36 \ 1
+       #EDOM
+ 33
+
+       )
+
+37 \ 1
+       #ERANGE
+ 34
+
+       )
+
+38 \ 1
+       #EDEADLK
+ 35
+
+       )
+
+40 \ 1
+       #ENAMETOOLONG
+ 36
+
+       )
+
+41 \ 1
+       #ENOLCK
+ 37
+
+       )
+
+42 \ 1
+       #ENOSYS
+ 38
+
+       )
+
+43 \ 1
+       #ENOTEMPTY
+ 39
+
+       )
+
+44 \ 1
+       #ELOOP
+ 40
+
+       )
+
+45 \ 1
+       #EWOULDBLOCK
+EAGAIN
+
+
+       )
+
+46 \ 1
+       #ENOMSG
+ 42
+
+       )
+
+47 \ 1
+       #EIDRM
+ 43
+
+       )
+
+48 \ 1
+       #ECHRNG
+ 44
+
+       )
+
+49 \ 1
+       #EL2NSYNC
+ 45
+
+       )
+
+50 \ 1
+       #EL3HLT
+ 46
+
+       )
+
+51 \ 1
+       #EL3RST
+ 47
+
+       )
+
+52 \ 1
+       #ELNRNG
+ 48
+
+       )
+
+53 \ 1
+       #EUNATCH
+ 49
+
+       )
+
+54 \ 1
+       #ENOCSI
+ 50
+
+       )
+
+55 \ 1
+       #EL2HLT
+ 51
+
+       )
+
+56 \ 1
+       #EBADE
+ 52
+
+       )
+
+57 \ 1
+       #EBADR
+ 53
+
+       )
+
+58 \ 1
+       #EXFULL
+ 54
+
+       )
+
+59 \ 1
+       #ENOANO
+ 55
+
+       )
+
+60 \ 1
+       #EBADRQC
+ 56
+
+       )
+
+61 \ 1
+       #EBADSLT
+ 57
+
+       )
+
+63 \ 1
+       #EDEADLOCK
+EDEADLK
+
+
+       )
+
+65 \ 1
+       #EBFONT
+ 59
+
+       )
+
+66 \ 1
+       #ENOSTR
+ 60
+
+       )
+
+67 \ 1
+       #ENODATA
+ 61
+
+       )
+
+68 \ 1
+       #ETIME
+ 62
+
+       )
+
+69 \ 1
+       #ENOSR
+ 63
+
+       )
+
+70 \ 1
+       #ENONET
+ 64
+
+       )
+
+71 \ 1
+       #ENOPKG
+ 65
+
+       )
+
+72 \ 1
+       #EREMOTE
+ 66
+
+       )
+
+73 \ 1
+       #ENOLINK
+ 67
+
+       )
+
+74 \ 1
+       #EADV
+ 68
+
+       )
+
+75 \ 1
+       #ESRMNT
+ 69
+
+       )
+
+76 \ 1
+       #ECOMM
+ 70
+
+       )
+
+77 \ 1
+       #EPROTO
+ 71
+
+       )
+
+78 \ 1
+       #EMULTIHOP
+ 72
+
+       )
+
+79 \ 1
+       #EDOTDOT
+ 73
+
+       )
+
+80 \ 1
+       #EBADMSG
+ 74
+
+       )
+
+81 \ 1
+       #EOVERFLOW
+ 75
+
+       )
+
+82 \ 1
+       #ENOTUNIQ
+ 76
+
+       )
+
+83 \ 1
+       #EBADFD
+ 77
+
+       )
+
+84 \ 1
+       #EREMCHG
+ 78
+
+       )
+
+85 \ 1
+       #ELIBACC
+ 79
+
+       )
+
+86 \ 1
+       #ELIBBAD
+ 80
+
+       )
+
+87 \ 1
+       #ELIBSCN
+ 81
+
+       )
+
+88 \ 1
+       #ELIBMAX
+ 82
+
+       )
+
+89 \ 1
+       #ELIBEXEC
+ 83
+
+       )
+
+90 \ 1
+       #EILSEQ
+ 84
+
+       )
+
+91 \ 1
+       #ERESTART
+ 85
+
+       )
+
+92 \ 1
+       #ESTRPIPE
+ 86
+
+       )
+
+93 \ 1
+       #EUSERS
+ 87
+
+       )
+
+94 \ 1
+       #ENOTSOCK
+ 88
+
+       )
+
+95 \ 1
+       #EDESTADDRREQ
+ 89
+
+       )
+
+96 \ 1
+       #EMSGSIZE
+ 90
+
+       )
+
+97 \ 1
+       #EPROTOTYPE
+ 91
+
+       )
+
+98 \ 1
+       #ENOPROTOOPT
+ 92
+
+       )
+
+99 \ 1
+       #EPROTONOSUPPORT
+ 93
+
+       )
+
+100 \ 1
+       #ESOCKTNOSUPPORT
+ 94
+
+       )
+
+101 \ 1
+       #EOPNOTSUPP
+ 95
+
+       )
+
+102 \ 1
+       #EPFNOSUPPORT
+ 96
+
+       )
+
+103 \ 1
+       #EAFNOSUPPORT
+ 97
+
+       )
+
+104 \ 1
+       #EADDRINUSE
+ 98
+
+       )
+
+105 \ 1
+       #EADDRNOTAVAIL
+ 99
+
+       )
+
+106 \ 1
+       #ENETDOWN
+ 100
+
+       )
+
+107 \ 1
+       #ENETUNREACH
+ 101
+
+       )
+
+108 \ 1
+       #ENETRESET
+ 102
+
+       )
+
+109 \ 1
+       #ECONNABORTED
+ 103
+
+       )
+
+110 \ 1
+       #ECONNRESET
+ 104
+
+       )
+
+111 \ 1
+       #ENOBUFS
+ 105
+
+       )
+
+112 \ 1
+       #EISCONN
+ 106
+
+       )
+
+113 \ 1
+       #ENOTCONN
+ 107
+
+       )
+
+114 \ 1
+       #ESHUTDOWN
+ 108
+
+       )
+
+115 \ 1
+       #ETOOMANYREFS
+ 109
+
+       )
+
+116 \ 1
+       #ETIMEDOUT
+ 110
+
+       )
+
+117 \ 1
+       #ECONNREFUSED
+ 111
+
+       )
+
+118 \ 1
+       #EHOSTDOWN
+ 112
+
+       )
+
+119 \ 1
+       #EHOSTUNREACH
+ 113
+
+       )
+
+120 \ 1
+       #EALREADY
+ 114
+
+       )
+
+121 \ 1
+       #EINPROGRESS
+ 115
+
+       )
+
+122 \ 1
+       #ESTALE
+ 116
+
+       )
+
+123 \ 1
+       #EUCLEAN
+ 117
+
+       )
+
+124 \ 1
+       #ENOTNAM
+ 118
+
+       )
+
+125 \ 1
+       #ENAVAIL
+ 119
+
+       )
+
+126 \ 1
+       #EISNAM
+ 120
+
+       )
+
+127 \ 1
+       #EREMOTEIO
+ 121
+
+       )
+
+128 \ 1
+       #EDQUOT
+ 122
+
+       )
+
+130 \ 1
+       #ENOMEDIUM
+ 123
+
+       )
+
+131 \ 1
+       #EMEDIUMTYPE
+ 124
+
+       )
+
+132 \ 1
+       #ECANCELED
+ 125
+
+       )
+
+133 \ 1
+       #ENOKEY
+ 126
+
+       )
+
+134 \ 1
+       #EKEYEXPIRED
+ 127
+
+       )
+
+135 \ 1
+       #EKEYREVOKED
+ 128
+
+       )
+
+136 \ 1
+       #EKEYREJECTED
+ 129
+
+       )
+
+139 \ 2
+       ~<asm/\94ºo.h
+>
+
+       @/usr/include/linux/fs.h
+
+1 #iâdeà
+_LINUX_FS_H
+
+
+2 \ 1
+       #_LINUX_FS_H
+
+
+       )
+
+9 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+10 \ 2
+       ~<l\9aux/ioùl.h
+>
+
+11 \ 2
+       ~<l\9aux/ty³s.h
+>
+
+24 #undeà
+NR_OPEN
+
+
+25 \ 1
+       #NR_OPEN
+ (1024*1024è
+
+       )
+
+26 \ 1
+       #INR_OPEN
+ 1024
+
+       )
+
+28 \ 1
+       #BLOCK_SIZE_BITS
+ 10
+
+       )
+
+29 \ 1
+       #BLOCK_SIZE
+ (1<<
+BLOCK_SIZE_BITS
+)
+
+       )
+
+32 \19
+       sf\9ees_¡©_¡ruù
+ {
+
+33 \12
+       mÄ_f\9ees
+;
+
+34 \12
+       mÄ_ä\93_f\9ees
+;
+
+35 \12
+       mmax_f\9ees
+;
+
+37 \r\19
+f\9ees_¡©_¡ruù
+f\9ees_¡©
+;
+
+39 \19
+       s\9aodes_¡©_t
+ {
+
+40 \12
+       mÄ_\9aodes
+;
+
+41 \12
+       mÄ_unu£d
+;
+
+42 \12
+       mdummy
+[5];
+
+44 \r\19
+\9aodes_¡©_t
+\9aodes_¡©
+;
+
+46 \r\12
+Ëa£s_\92abË
+, 
+Ëa£_b»ak_time
+;
+
+48 #ifdeà
+CONFIG_DNOTIFY
+
+
+49 \r\12
+d\9c_nÙify_\92abË
+;
+
+52 \ 1
+       #NR_FILE
+ 8192
+
+       )
+
+54 \ 1
+       #MAY_EXEC
+ 1
+
+       )
+
+55 \ 1
+       #MAY_WRITE
+ 2
+
+       )
+
+56 \ 1
+       #MAY_READ
+ 4
+
+       )
+
+57 \ 1
+       #MAY_APPEND
+ 8
+
+       )
+
+59 \ 1
+       #FMODE_READ
+ 1
+
+       )
+
+60 \ 1
+       #FMODE_WRITE
+ 2
+
+       )
+
+63 \ 1
+       #FMODE_LSEEK
+ 4
+
+       )
+
+64 \ 1
+       #FMODE_PREAD
+ 8
+
+       )
+
+65 \ 1
+       #FMODE_PWRITE
+FMODE_PREAD
+
+
+       )
+
+67 \ 1
+       #RW_MASK
+ 1
+
+       )
+
+68 \ 1
+       #RWA_MASK
+ 2
+
+       )
+
+69 \ 1
+       #READ
+ 0
+
+       )
+
+70 \ 1
+       #WRITE
+ 1
+
+       )
+
+71 \ 1
+       #READA
+ 2
+
+       )
+
+72 \ 1
+       #SPECIAL
+ 4
+
+       )
+
+73 \ 1
+       #READ_SYNC
+ (
+READ
+ | (1 << 
+BIO_RW_SYNC
+))
+
+       )
+
+74 \ 1
+       #WRITE_SYNC
+ (
+WRITE
+ | (1 << 
+BIO_RW_SYNC
+))
+
+       )
+
+75 \ 1
+       #WRITE_BARRIER
+ ((1 << 
+BIO_RW
+è| (1 << 
+BIO_RW_BARRIER
+))
+
+       )
+
+77 \ 1
+       #SEL_IN
+ 1
+
+       )
+
+78 \ 1
+       #SEL_OUT
+ 2
+
+       )
+
+79 \ 1
+       #SEL_EX
+ 4
+
+       )
+
+82 \ 1
+       #FS_REQUIRES_DEV
+ 1
+
+       )
+
+83 \ 1
+       #FS_BINARY_MOUNTDATA
+ 2
+
+       )
+
+84 \ 1
+       #FS_REVAL_DOT
+ 16384
+
+       )
+
+85 \ 1
+       #FS_ODD_RENAME
+ 32768
+
+       )
+
+91 \ 1
+       #MS_RDONLY
+ 1
+
+       )
+
+92 \ 1
+       #MS_NOSUID
+ 2
+
+       )
+
+93 \ 1
+       #MS_NODEV
+ 4
+
+       )
+
+94 \ 1
+       #MS_NOEXEC
+ 8
+
+       )
+
+95 \ 1
+       #MS_SYNCHRONOUS
+ 16
+
+       )
+
+96 \ 1
+       #MS_REMOUNT
+ 32
+
+       )
+
+97 \ 1
+       #MS_MANDLOCK
+ 64
+
+       )
+
+98 \ 1
+       #MS_DIRSYNC
+ 128
+
+       )
+
+99 \ 1
+       #MS_NOATIME
+ 1024
+
+       )
+
+100 \ 1
+       #MS_NODIRATIME
+ 2048
+
+       )
+
+101 \ 1
+       #MS_BIND
+ 4096
+
+       )
+
+102 \ 1
+       #MS_MOVE
+ 8192
+
+       )
+
+103 \ 1
+       #MS_REC
+ 16384
+
+       )
+
+104 \ 1
+       #MS_VERBOSE
+ 32768
+
+       )
+
+105 \ 1
+       #MS_POSIXACL
+ (1<<16è
+
+       )
+
+106 \ 1
+       #MS_ACTIVE
+ (1<<30)
+
+       )
+
+107 \ 1
+       #MS_NOUSER
+ (1<<31)
+
+       )
+
+112 \ 1
+       #MS_RMT_MASK
+ (
+MS_RDONLY
+|
+MS_SYNCHRONOUS
+|
+MS_MANDLOCK
+|
+MS_NOATIME
+|\
+
+113 
+MS_NODIRATIME
+)
+
+       )
+
+118 \ 1
+       #MS_MGC_VAL
+ 0xC0ED0000
+
+       )
+
+119 \ 1
+       #MS_MGC_MSK
+ 0xffff0000
+
+       )
+
+123 \ 1
+       #S_SYNC
+ 1
+
+       )
+
+124 \ 1
+       #S_NOATIME
+ 2
+
+       )
+
+125 \ 1
+       #S_APPEND
+ 4
+
+       )
+
+126 \ 1
+       #S_IMMUTABLE
+ 8
+
+       )
+
+127 \ 1
+       #S_DEAD
+ 16
+
+       )
+
+128 \ 1
+       #S_NOQUOTA
+ 32
+
+       )
+
+129 \ 1
+       #S_DIRSYNC
+ 64
+
+       )
+
+130 \ 1
+       #S_NOCMTIME
+ 128
+
+       )
+
+131 \ 1
+       #S_SWAPFILE
+ 256
+
+       )
+
+146 \ 1
+       #__IS_FLG
+(
+\9aode
+,
+æg
+è((\9aode)->
+i_sb
+->
+s_æags
+ & (æg))
+
+       )
+
+148 \ 1
+       #IS_RDONLY
+(
+\9aode
+è((\9aode)->
+i_sb
+->
+s_æags
+ & 
+MS_RDONLY
+)
+
+       )
+
+149 \ 1
+       #IS_SYNC
+(
+\9aode
+è(
+       `__IS_FLG
+(\9aode, 
+MS_SYNCHRONOUS
+) || \
+
+150 ((
+\9aode
+)->
+i_æags
+ & 
+S_SYNC
+))
+
+       )
+
+151 \ 1
+       #IS_DIRSYNC
+(
+\9aode
+è(
+       `__IS_FLG
+(\9aode, 
+MS_SYNCHRONOUS
+|
+MS_DIRSYNC
+) || \
+
+152 ((
+\9aode
+)->
+i_æags
+ & (
+S_SYNC
+|
+S_DIRSYNC
+)))
+
+       )
+
+153 \ 1
+       #IS_MANDLOCK
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_MANDLOCK
+)
+
+       )
+
+155 \ 1
+       #IS_NOQUOTA
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_NOQUOTA
+)
+
+       )
+
+156 \ 1
+       #IS_APPEND
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_APPEND
+)
+
+       )
+
+157 \ 1
+       #IS_IMMUTABLE
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_IMMUTABLE
+)
+
+       )
+
+158 \ 1
+       #IS_NOATIME
+(
+\9aode
+è(
+       `__IS_FLG
+(\9aode, 
+MS_NOATIME
+è|| ((\9aode)->
+i_æags
+ & 
+S_NOATIME
+))
+
+       )
+
+159 \ 1
+       #IS_NODIRATIME
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_NODIRATIME
+)
+
+       )
+
+160 \ 1
+       #IS_POSIXACL
+(
+\9aode
+       `__IS_FLG
+(\9aode, 
+MS_POSIXACL
+)
+
+       )
+
+162 \ 1
+       #IS_DEADDIR
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_DEAD
+)
+
+       )
+
+163 \ 1
+       #IS_NOCMTIME
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_NOCMTIME
+)
+
+       )
+
+164 \ 1
+       #IS_SWAPFILE
+(
+\9aode
+è((\9aode)->
+i_æags
+ & 
+S_SWAPFILE
+)
+
+       )
+
+169 \ 1
+       #BLKROSET
+       `_IO
+(0x12,93è
+
+       )
+
+170 \ 1
+       #BLKROGET
+       `_IO
+(0x12,94è
+
+       )
+
+171 \ 1
+       #BLKRRPART
+       `_IO
+(0x12,95è
+
+       )
+
+172 \ 1
+       #BLKGETSIZE
+       `_IO
+(0x12,96è
+
+       )
+
+173 \ 1
+       #BLKFLSBUF
+       `_IO
+(0x12,97è
+
+       )
+
+174 \ 1
+       #BLKRASET
+       `_IO
+(0x12,98è
+
+       )
+
+175 \ 1
+       #BLKRAGET
+       `_IO
+(0x12,99è
+
+       )
+
+176 \ 1
+       #BLKFRASET
+       `_IO
+(0x12,100)
+
+       )
+
+177 \ 1
+       #BLKFRAGET
+       `_IO
+(0x12,101)
+
+       )
+
+178 \ 1
+       #BLKSECTSET
+       `_IO
+(0x12,102)
+
+       )
+
+179 \ 1
+       #BLKSECTGET
+       `_IO
+(0x12,103)
+
+       )
+
+180 \ 1
+       #BLKSSZGET
+       `_IO
+(0x12,104)
+
+       )
+
+182 \ 1
+       #BLKPG
+       `_IO
+(0x12,105)
+
+       )
+
+186 \ 1
+       #BLKELVGET
+       `_IOR
+(0x12,106,
+size_t
+)
+
+       )
+
+187 \ 1
+       #BLKELVSET
+       `_IOW
+(0x12,107,
+size_t
+)
+
+       )
+
+192 \ 1
+       #BLKBSZGET
+       `_IOR
+(0x12,112,
+size_t
+)
+
+       )
+
+193 \ 1
+       #BLKBSZSET
+       `_IOW
+(0x12,113,
+size_t
+)
+
+       )
+
+194 \ 1
+       #BLKGETSIZE64
+       `_IOR
+(0x12,114,
+size_t
+
+       )
+
+196 \ 1
+       #BMAP_IOCTL
+ 1
+
+       )
+
+197 \ 1
+       #FIBMAP
+       `_IO
+(0x00,1è
+
+       )
+
+198 \ 1
+       #FIGETBSZ
+       `_IO
+(0x00,2è
+
+       )
+
+       @/usr/include/linux/kernel.h
+
+1 #iâdeà
+_LINUX_KERNEL_H
+
+
+2 \ 1
+       #_LINUX_KERNEL_H
+
+
+       )
+
+8 \ 1
+       #SI_LOAD_SHIFT
+ 16
+
+       )
+
+9 \19
+       ssys\9afo
+ {
+
+10 \13
+       mu±ime
+;
+
+11 \1d\13
+       mlßds
+[3];
+
+12 \1d\13
+       mtÙ®¿m
+;
+
+13 \1d\13
+       m䓿m
+;
+
+14 \1d\13
+       msh¬ed¿m
+;
+
+15 \1d\13
+       mbufã¼am
+;
+
+16 \1d\13
+       mtÙ®sw­
+;
+
+17 \1d\13
+       mä\93sw­
+;
+
+18 \1d\16
+       m´ocs
+;
+
+19 \1d\16
+       m·d
+;
+
+20 \1d\13
+       mtٮhigh
+;
+
+21 \1d\13
+       mä\93high
+;
+
+22 \1d\12
+       mmem_un\99
+;
+
+23 \ 5
+       m_f
+[20-2*\17(\13)-\17(\12)];
+
+26 \r\1e
+BUILD_BUG
+(\1e);
+
+27 \ 1
+       #BUILD_BUG_ON
+(
+cÚd\99
+èdØ{ ià(cÚd\99iÚè
+       `BUILD_BUG
+(); } \1f0)
+
+       )
+
+30 #ià
+__GNUC__
+ > 2 || 
+__GNUC_MINOR__
+ >= 95
+
+31 \ 1
+       #__FUNCTION__
+ (
+__func__
+)
+
+       )
+
+       @/usr/include/linux/nfs.h
+
+7 #iâdeà
+_LINUX_NFS_H
+
+
+8 \ 1
+       #_LINUX_NFS_H
+
+
+       )
+
+10 \ 1
+       #NFS_PROGRAM
+ 100003
+
+       )
+
+11 \ 1
+       #NFS_PORT
+ 2049
+
+       )
+
+12 \ 1
+       #NFS_MAXDATA
+ 8192
+
+       )
+
+13 \ 1
+       #NFS_MAXPATHLEN
+ 1024
+
+       )
+
+14 \ 1
+       #NFS_MAXNAMLEN
+ 255
+
+       )
+
+15 \ 1
+       #NFS_MAXGROUPS
+ 16
+
+       )
+
+16 \ 1
+       #NFS_FHSIZE
+ 32
+
+       )
+
+17 \ 1
+       #NFS_COOKIESIZE
+ 4
+
+       )
+
+18 \ 1
+       #NFS_FIFO_DEV
+ (-1)
+
+       )
+
+19 \ 1
+       #NFSMODE_FMT
+ 0170000
+
+       )
+
+20 \ 1
+       #NFSMODE_DIR
+ 0040000
+
+       )
+
+21 \ 1
+       #NFSMODE_CHR
+ 0020000
+
+       )
+
+22 \ 1
+       #NFSMODE_BLK
+ 0060000
+
+       )
+
+23 \ 1
+       #NFSMODE_REG
+ 0100000
+
+       )
+
+24 \ 1
+       #NFSMODE_LNK
+ 0120000
+
+       )
+
+25 \ 1
+       #NFSMODE_SOCK
+ 0140000
+
+       )
+
+26 \ 1
+       #NFSMODE_FIFO
+ 0010000
+
+       )
+
+28 \ 1
+       #NFS_MNT_PROGRAM
+ 100005
+
+       )
+
+29 \ 1
+       #NFS_MNT_PORT
+ 627
+
+       )
+
+39 \f
+       enfs_¡©
+ {
+
+40 
+       mNFS_OK
+ = 0,
+
+41 
+       mNFSERR_PERM
+ = 1,
+
+42 
+       mNFSERR_NOENT
+ = 2,
+
+43 
+       mNFSERR_IO
+ = 5,
+
+44 
+       mNFSERR_NXIO
+ = 6,
+
+45 
+       mNFSERR_EAGAIN
+ = 11,
+
+46 
+       mNFSERR_ACCES
+ = 13,
+
+47 
+       mNFSERR_EXIST
+ = 17,
+
+48 
+       mNFSERR_XDEV
+ = 18,
+
+49 
+       mNFSERR_NODEV
+ = 19,
+
+50 
+       mNFSERR_NOTDIR
+ = 20,
+
+51 
+       mNFSERR_ISDIR
+ = 21,
+
+52 
+       mNFSERR_INVAL
+ = 22,
+
+53 
+       mNFSERR_FBIG
+ = 27,
+
+54 
+       mNFSERR_NOSPC
+ = 28,
+
+55 
+       mNFSERR_ROFS
+ = 30,
+
+56 
+       mNFSERR_MLINK
+ = 31,
+
+57 
+       mNFSERR_OPNOTSUPP
+ = 45,
+
+58 
+       mNFSERR_NAMETOOLONG
+ = 63,
+
+59 
+       mNFSERR_NOTEMPTY
+ = 66,
+
+60 
+       mNFSERR_DQUOT
+ = 69,
+
+61 
+       mNFSERR_STALE
+ = 70,
+
+62 
+       mNFSERR_REMOTE
+ = 71,
+
+63 
+       mNFSERR_WFLUSH
+ = 99,
+
+64 
+       mNFSERR_BADHANDLE
+ = 10001,
+
+65 
+       mNFSERR_NOT_SYNC
+ = 10002,
+
+66 
+       mNFSERR_BAD_COOKIE
+ = 10003,
+
+67 
+       mNFSERR_NOTSUPP
+ = 10004,
+
+68 
+       mNFSERR_TOOSMALL
+ = 10005,
+
+69 
+       mNFSERR_SERVERFAULT
+ = 10006,
+
+70 
+       mNFSERR_BADTYPE
+ = 10007,
+
+71 
+       mNFSERR_JUKEBOX
+ = 10008,
+
+72 
+       mNFSERR_SAME
+ = 10009,
+
+73 
+       mNFSERR_DENIED
+ = 10010,
+
+74 
+       mNFSERR_EXPIRED
+ = 10011,
+
+75 
+       mNFSERR_LOCKED
+ = 10012,
+
+76 
+       mNFSERR_GRACE
+ = 10013,
+
+77 
+       mNFSERR_FHEXPIRED
+ = 10014,
+
+78 
+       mNFSERR_SHARE_DENIED
+ = 10015,
+
+79 
+       mNFSERR_WRONGSEC
+ = 10016,
+
+80 
+       mNFSERR_CLID_INUSE
+ = 10017,
+
+81 
+       mNFSERR_RESOURCE
+ = 10018,
+
+82 
+       mNFSERR_MOVED
+ = 10019,
+
+83 
+       mNFSERR_NOFILEHANDLE
+ = 10020,
+
+84 
+       mNFSERR_MINOR_VERS_MISMATCH
+ = 10021,
+
+85 
+       mNFSERR_STALE_CLIENTID
+ = 10022,
+
+86 
+       mNFSERR_STALE_STATEID
+ = 10023,
+
+87 
+       mNFSERR_OLD_STATEID
+ = 10024,
+
+88 
+       mNFSERR_BAD_STATEID
+ = 10025,
+
+89 
+       mNFSERR_BAD_SEQID
+ = 10026,
+
+90 
+       mNFSERR_NOT_SAME
+ = 10027,
+
+91 
+       mNFSERR_LOCK_RANGE
+ = 10028,
+
+92 
+       mNFSERR_SYMLINK
+ = 10029,
+
+93 
+       mNFSERR_RESTOREFH
+ = 10030,
+
+94 
+       mNFSERR_LEASE_MOVED
+ = 10031,
+
+95 
+       mNFSERR_ATTRNOTSUPP
+ = 10032,
+
+96 
+       mNFSERR_NO_GRACE
+ = 10033,
+
+97 
+       mNFSERR_RECLAIM_BAD
+ = 10034,
+
+98 
+       mNFSERR_RECLAIM_CONFLICT
+ = 10035,
+
+99 
+       mNFSERR_BAD_XDR
+ = 10036,
+
+100 
+       mNFSERR_LOCKS_HELD
+ = 10037,
+
+101 
+       mNFSERR_OPENMODE
+ = 10038,
+
+102 
+       mNFSERR_BADOWNER
+ = 10039,
+
+103 
+       mNFSERR_BADCHAR
+ = 10040,
+
+104 
+       mNFSERR_BADNAME
+ = 10041,
+
+105 
+       mNFSERR_BAD_RANGE
+ = 10042,
+
+106 
+       mNFSERR_LOCK_NOTSUPP
+ = 10043,
+
+107 
+       mNFSERR_OP_ILLEGAL
+ = 10044,
+
+108 
+       mNFSERR_DEADLOCK
+ = 10045,
+
+109 
+       mNFSERR_FILE_OPEN
+ = 10046,
+
+110 
+       mNFSERR_ADMIN_REVOKED
+ = 10047,
+
+111 
+       mNFSERR_CB_PATH_DOWN
+ = 10048,
+
+112 
+       mNFSERR_REPLAY_ME
+ = 10049
+
+117 \f
+       enfs_áy³
+ {
+
+118 
+       mNFNON
+ = 0,
+
+119 
+       mNFREG
+ = 1,
+
+120 
+       mNFDIR
+ = 2,
+
+121 
+       mNFBLK
+ = 3,
+
+122 
+       mNFCHR
+ = 4,
+
+123 
+       mNFLNK
+ = 5,
+
+124 
+       mNFSOCK
+ = 6,
+
+125 
+       mNFBAD
+ = 7,
+
+126 
+       mNFFIFO
+ = 8
+
+       @/usr/include/linux/posix_types.h
+
+1 #iâdeà
+_LINUX_POSIX_TYPES_H
+
+
+2 \ 1
+       #_LINUX_POSIX_TYPES_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/¡ddef.h
+>
+
+21 #undeà
+__NFDBITS
+
+
+22 \ 1
+       #__NFDBITS
+ (8 * \17(\1d\13))
+
+       )
+
+24 #undeà
+__FD_SETSIZE
+
+
+25 \ 1
+       #__FD_SETSIZE
+ 1024
+
+       )
+
+27 #undeà
+__FDSET_LONGS
+
+
+28 \ 1
+       #__FDSET_LONGS
+ (
+__FD_SETSIZE
+/
+__NFDBITS
+)
+
+       )
+
+30 #undeà
+__FDELT
+
+
+31 \ 1
+       #__FDELT
+(
+d
+è((dè/ 
+__NFDBITS
+)
+
+       )
+
+33 #undeà
+__FDMASK
+
+
+34 \ 1
+       #__FDMASK
+(
+d
+è(1UL << ((dè% 
+__NFDBITS
+))
+
+       )
+
+37 \1d\13
+       mfds_b\99s
+ [
+__FDSET_LONGS
+];
+
+38 } 
+       t__k\94Ãl_fd_£t
+;
+
+41 \e\1e(*
+       t__k\94Ãl_sighªdËr_t
+)(\12);
+
+44 \e\12
+       t__k\94Ãl_key_t
+;
+
+45 \e\12
+       t__k\94Ãl_mqd_t
+;
+
+47 \ 2
+       ~<asm/posix_ty³s.h
+>
+
+       @/usr/include/sys/select.h
+
+22 #iâdeà
+_SYS_SELECT_H
+
+
+23 \ 1
+       #_SYS_SELECT_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+28 \ 2
+       ~<b\99s/ty³s.h
+>
+
+31 \ 2
+       ~<b\99s/£Ëù.h
+>
+
+34 \ 2
+       ~<b\99s/sig£t.h
+>
+
+36 #iâdeà
+__sig£t_t_def\9aed
+
+
+37 \ 1
+       #__sig£t_t_def\9aed
+
+
+       )
+
+38 \e
+__sig£t_t
+       tsig£t_t
+;
+
+42 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+43 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+44 \ 2
+       ~<time.h
+>
+
+45 \ 1
+       #__Ãed_timev®
+
+
+       )
+
+46 \ 2
+       ~<b\99s/time.h
+>
+
+48 #iâdeà
+__su£cÚds_t_def\9aed
+
+
+49 \e
+__su£cÚds_t
+       tsu£cÚds_t
+;
+
+50 \ 1
+       #__su£cÚds_t_def\9aed
+
+
+       )
+
+55 \e\13\12
+       t__fd_mask
+;
+
+58 #undeà
+__NFDBITS
+
+
+59 #undeà
+__FDELT
+
+
+60 #undeà
+__FDMASK
+
+
+62 \ 1
+       #__NFDBITS
+ (8 * \17 (
+__fd_mask
+))
+
+       )
+
+63 \ 1
+       #__FDELT
+(
+d
+è((dè/ 
+__NFDBITS
+)
+
+       )
+
+64 \ 1
+       #__FDMASK
+(
+d
+è((
+__fd_mask
+è1 << ((dè% 
+__NFDBITS
+))
+
+       )
+
+71 #ifdeà
+__USE_XOPEN
+
+
+72 
+__fd_mask
+       mfds_b\99s
+[
+__FD_SETSIZE
+ / 
+__NFDBITS
+];
+
+73 \ 1
+       #__FDS_BITS
+(
+£t
+è((£t)->
+fds_b\99s
+)
+
+       )
+
+75 
+__fd_mask
+       m__fds_b\99s
+[
+__FD_SETSIZE
+ / 
+__NFDBITS
+];
+
+76 \ 1
+       #__FDS_BITS
+(
+£t
+è((£t)->
+__fds_b\99s
+)
+
+       )
+
+78 } 
+       tfd_£t
+;
+
+81 \ 1
+       #FD_SETSIZE
+__FD_SETSIZE
+
+
+       )
+
+83 #ifdeà
+__USE_MISC
+
+
+85 \e
+__fd_mask
+       tfd_mask
+;
+
+88 \ 1
+       #NFDBITS
+__NFDBITS
+
+
+       )
+
+93 \ 1
+       #FD_SET
+(
+fd
+, 
+fd£\8d
+       `__FD_SET
+ (fd, fd£\8d)
+
+       )
+
+94 \ 1
+       #FD_CLR
+(
+fd
+, 
+fd£\8d
+       `__FD_CLR
+ (fd, fd£\8d)
+
+       )
+
+95 \ 1
+       #FD_ISSET
+(
+fd
+, 
+fd£\8d
+       `__FD_ISSET
+ (fd, fd£\8d)
+
+       )
+
+96 \ 1
+       #FD_ZERO
+(
+fd£\8d
+       `__FD_ZERO
+ (fd£\8d)
+
+       )
+
+99 
+__BEGIN_DECLS
+
+
+109 \r\12
+£Ëù
+ (\12
+__nfds
+, 
+fd_£t
+ *
+__»¡riù
+__»adfds
+,
+
+110 
+fd_£t
+ *
+__»¡riù
+__wr\99efds
+,
+
+111 
+fd_£t
+ *
+__»¡riù
+__exû±fds
+,
+
+112 \19
+timev®
+ *
+__»¡riù
+__timeout
+);
+
+114 #ifdeà
+__USE_XOPEN2K
+
+
+121 \r\12
+p£Ëù
+ (\12
+__nfds
+, 
+fd_£t
+ *
+__»¡riù
+__»adfds
+,
+
+122 
+fd_£t
+ *
+__»¡riù
+__wr\99efds
+,
+
+123 
+fd_£t
+ *
+__»¡riù
+__exû±fds
+,
+
+124 cڡ \19
+time¥ec
+ *
+__»¡riù
+__timeout
+,
+
+125 cڡ 
+__sig£t_t
+ *
+__»¡riù
+__sigmask
+);
+
+128 
+       g__END_DECLS
+
+
+       @/usr/include/sys/stat.h
+
+23 #iâdef 
+_SYS_STAT_H
+
+
+24 \ 1
+       #_SYS_STAT_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 \ 2
+       ~<b\99s/ty³s.h
+>
+
+30 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_MISC
+
+
+31 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+32 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+34 #ifdeà
+__USE_MISC
+
+
+35 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+37 \ 2
+       ~<time.h
+>
+
+40 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+43 #iâdeà
+__dev_t_def\9aed
+
+
+44 \e
+__dev_t
+       tdev_t
+;
+
+45 \ 1
+       #__dev_t_def\9aed
+
+
+       )
+
+48 #iâdeà
+__gid_t_def\9aed
+
+
+49 \e
+__gid_t
+       tgid_t
+;
+
+50 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+53 #iâdeà
+__\9ao_t_def\9aed
+
+
+54 #iâdeà
+__USE_FILE_OFFSET64
+
+
+55 \e
+__\9ao_t
+       t\9ao_t
+;
+
+57 \e
+__\9ao64_t
+       t\9ao_t
+;
+
+59 \ 1
+       #__\9ao_t_def\9aed
+
+
+       )
+
+62 #iâdeà
+__mode_t_def\9aed
+
+
+63 \e
+__mode_t
+       tmode_t
+;
+
+64 \ 1
+       #__mode_t_def\9aed
+
+
+       )
+
+67 #iâdeà
+__Æ\9ak_t_def\9aed
+
+
+68 \e
+__ƚk_t
+       tƚk_t
+;
+
+69 \ 1
+       #__Æ\9ak_t_def\9aed
+
+
+       )
+
+72 #iâdeà
+__off_t_def\9aed
+
+
+73 #iâdeà
+__USE_FILE_OFFSET64
+
+
+74 \e
+__off_t
+       toff_t
+;
+
+76 \e
+__off64_t
+       toff_t
+;
+
+78 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+81 #iâdeà
+__uid_t_def\9aed
+
+
+82 \e
+__uid_t
+       tuid_t
+;
+
+83 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+87 #ifdeà
+__USE_UNIX98
+
+
+88 #iâdeà
+__blkút_t_def\9aed
+
+
+89 #iâdeà
+__USE_FILE_OFFSET64
+
+
+90 \e
+__blkút_t
+       tblkút_t
+;
+
+92 \e
+__blkút64_t
+       tblkút_t
+;
+
+94 \ 1
+       #__blkút_t_def\9aed
+
+
+       )
+
+97 #iâdeà
+__blksize_t_def\9aed
+
+
+98 \e
+__blksize_t
+       tblksize_t
+;
+
+99 \ 1
+       #__blksize_t_def\9aed
+
+
+       )
+
+103 
+       g__BEGIN_DECLS
+
+
+105 \ 2
+       ~<b\99s/¡©.h
+>
+
+107 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+108 \ 1
+       #S_IFMT
+__S_IFMT
+
+
+       )
+
+109 \ 1
+       #S_IFDIR
+__S_IFDIR
+
+
+       )
+
+110 \ 1
+       #S_IFCHR
+__S_IFCHR
+
+
+       )
+
+111 \ 1
+       #S_IFBLK
+__S_IFBLK
+
+
+       )
+
+112 \ 1
+       #S_IFREG
+__S_IFREG
+
+
+       )
+
+113 #ifdeà
+__S_IFIFO
+
+
+114 \ 1
+       #S_IFIFO
+__S_IFIFO
+
+
+       )
+
+116 #ifdeà
+__S_IFLNK
+
+
+117 \ 1
+       #S_IFLNK
+__S_IFLNK
+
+
+       )
+
+119 #ià(
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_UNIX98
+) \
+
+120 && 
+def\9aed
+       g__S_IFSOCK
+
+
+121 \ 1
+       #S_IFSOCK
+__S_IFSOCK
+
+
+       )
+
+127 \ 1
+       #__S_ISTYPE
+(
+mode
+, 
+mask
+è(((modeè& 
+__S_IFMT
+è=ð(mask))
+
+       )
+
+129 \ 1
+       #S_ISDIR
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFDIR
+)
+
+       )
+
+130 \ 1
+       #S_ISCHR
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFCHR
+)
+
+       )
+
+131 \ 1
+       #S_ISBLK
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFBLK
+)
+
+       )
+
+132 \ 1
+       #S_ISREG
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFREG
+)
+
+       )
+
+133 #ifdeà
+__S_IFIFO
+
+
+134 \ 1
+       #S_ISFIFO
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFIFO
+)
+
+       )
+
+136 #ifdeà
+__S_IFLNK
+
+
+137 \ 1
+       #S_ISLNK
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFLNK
+)
+
+       )
+
+140 #ià
+def\9aed
+__USE_BSD
+ && !def\9aed 
+__S_IFLNK
+
+
+141 \ 1
+       #S_ISLNK
+(
+mode
+è0
+
+       )
+
+144 #ià(
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_UNIX98
+) \
+
+145 && 
+def\9aed
+       g__S_IFSOCK
+
+
+146 \ 1
+       #S_ISSOCK
+(
+mode
+       `__S_ISTYPE
+((mode), 
+__S_IFSOCK
+)
+
+       )
+
+153 #ifdef 
+__USE_POSIX199309
+
+
+154 \ 1
+       #S_TYPEISMQ
+(
+buf
+       `__S_TYPEISMQ
+(buf)
+
+       )
+
+155 \ 1
+       #S_TYPEISSEM
+(
+buf
+       `__S_TYPEISSEM
+(buf)
+
+       )
+
+156 \ 1
+       #S_TYPEISSHM
+(
+buf
+       `__S_TYPEISSHM
+(buf)
+
+       )
+
+162 \ 1
+       #S_ISUID
+__S_ISUID
+
+
+       )
+
+163 \ 1
+       #S_ISGID
+__S_ISGID
+
+
+       )
+
+165 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+167 \ 1
+       #S_ISVTX
+__S_ISVTX
+
+
+       )
+
+170 \ 1
+       #S_IRUSR
+__S_IREAD
+
+
+       )
+
+171 \ 1
+       #S_IWUSR
+__S_IWRITE
+
+
+       )
+
+172 \ 1
+       #S_IXUSR
+__S_IEXEC
+
+
+       )
+
+174 \ 1
+       #S_IRWXU
+ (
+__S_IREAD
+|
+__S_IWRITE
+|
+__S_IEXEC
+)
+
+       )
+
+176 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_BSD
+
+
+177 \ 1
+       #S_IREAD
+S_IRUSR
+
+
+       )
+
+178 \ 1
+       #S_IWRITE
+S_IWUSR
+
+
+       )
+
+179 \ 1
+       #S_IEXEC
+S_IXUSR
+
+
+       )
+
+182 \ 1
+       #S_IRGRP
+ (
+S_IRUSR
+ >> 3è
+
+       )
+
+183 \ 1
+       #S_IWGRP
+ (
+S_IWUSR
+ >> 3è
+
+       )
+
+184 \ 1
+       #S_IXGRP
+ (
+S_IXUSR
+ >> 3è
+
+       )
+
+186 \ 1
+       #S_IRWXG
+ (
+S_IRWXU
+ >> 3)
+
+       )
+
+188 \ 1
+       #S_IROTH
+ (
+S_IRGRP
+ >> 3è
+
+       )
+
+189 \ 1
+       #S_IWOTH
+ (
+S_IWGRP
+ >> 3è
+
+       )
+
+190 \ 1
+       #S_IXOTH
+ (
+S_IXGRP
+ >> 3è
+
+       )
+
+192 \ 1
+       #S_IRWXO
+ (
+S_IRWXG
+ >> 3)
+
+       )
+
+195 #ifdef 
+__USE_BSD
+
+
+197 \ 1
+       #ACCESSPERMS
+ (
+S_IRWXU
+|
+S_IRWXG
+|
+S_IRWXO
+
+       )
+
+198 \ 1
+       #ALLPERMS
+ (
+S_ISUID
+|
+S_ISGID
+|
+S_ISVTX
+|
+S_IRWXU
+|
+S_IRWXG
+|
+S_IRWXO
+)
+
+       )
+
+199 \ 1
+       #DEFFILEMODE
+ (
+S_IRUSR
+|
+S_IWUSR
+|
+S_IRGRP
+|
+S_IWGRP
+|
+S_IROTH
+|
+S_IWOTH
+)
+
+       )
+
+201 \ 1
+       #S_BLKSIZE
+ 512
+
+       )
+
+205 #iâdeà
+__USE_FILE_OFFSET64
+
+
+207 \r\12
+       $¡©
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+208 \19
+¡©
+ *
+__»¡riù
+__buf
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+212 \r\12
+       $f¡©
+ (\12
+__fd
+, \19
+¡©
+ *
+__buf
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+214 #ifdeà
+__REDIRECT_NTH
+
+
+215 \r\12
+       `__REDIRECT_NTH
+ (
+¡©
+, (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+216 \19
+¡©
+ *
+__»¡riù
+__buf
+), 
+¡©64
+)
+
+217 
+       `__nÚnuÎ
+ ((1, 2));
+
+218 \r\12
+       `__REDIRECT_NTH
+ (
+f¡©
+, (\12
+__fd
+, \19
+¡©
+ *
+__buf
+), 
+f¡©64
+)
+
+219 
+       `__nÚnuÎ
+ ((2));
+
+221 \ 1
+       #¡©
+¡©64
+
+
+       )
+
+222 \ 1
+       #f¡©
+f¡©64
+
+
+       )
+
+225 #ifdeà
+__USE_LARGEFILE64
+
+
+226 \r\12
+       $¡©64
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+227 \19
+¡©64
+ *
+__»¡riù
+__buf
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+228 \r\12
+       $f¡©64
+ (\12
+__fd
+, \19
+¡©64
+ *
+__buf
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+231 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+232 #iâdeà
+__USE_FILE_OFFSET64
+
+
+235 \r\12
+       $l¡©
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+236 \19
+¡©
+ *
+__»¡riù
+__buf
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+238 #ifdeà
+__REDIRECT_NTH
+
+
+239 \r\12
+       `__REDIRECT_NTH
+ (
+l¡©
+,
+
+240 (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+241 \19
+¡©
+ *
+__»¡riù
+__buf
+), 
+l¡©64
+)
+
+242 
+       `__nÚnuÎ
+ ((1, 2));
+
+244 \ 1
+       #l¡©
+l¡©64
+
+
+       )
+
+247 #ifdeà
+__USE_LARGEFILE64
+
+
+248 \r\12
+       $l¡©64
+ (
+__cڡ
\ 5*
+__»¡riù
+__f\9ee
+,
+
+249 \19
+¡©64
+ *
+__»¡riù
+__buf
+)
+
+250 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+256 \r\12
+       $chmod
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__mode_t
+__mode
+)
+
+257 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+259 #ifdeà
+__USE_BSD
+
+
+263 \r\12
+       $lchmod
+ (
+__cڡ
\ 5*
+__f\9ee
+, 
+__mode_t
+__mode
+)
+
+264 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+268 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+269 \r\12
+       $fchmod
+ (\12
+__fd
+, 
+__mode_t
+__mode
+__THROW
+;
+
+275 \r
+__mode_t
+       $umask
+ (
+__mode_t
+__mask
+__THROW
+;
+
+277 #ifdef 
+__USE_GNU
+
+
+280 \r
+__mode_t
+       $g\91umask
+ (\1eè
+__THROW
+;
+
+284 \r\12
+       $mkd\9c
+ (
+__cڡ
\ 5*
+__·th
+, 
+__mode_t
+__mode
+)
+
+285 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+290 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+291 \r\12
+       $mknod
+ (
+__cڡ
\ 5*
+__·th
+, 
+__mode_t
+__mode
+, 
+__dev_t
+__dev
+)
+
+292 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+297 \r\12
+       $mkfifo
+ (
+__cڡ
\ 5*
+__·th
+, 
+__mode_t
+__mode
+)
+
+298 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+315 #iâdeà
+_STAT_VER
+
+
+316 \ 1
+       #_STAT_VER
+ 0
+
+       )
+
+318 #iâdeà
+_MKNOD_VER
+
+
+319 \ 1
+       #_MKNOD_VER
+ 0
+
+       )
+
+323 #iâdeà
+__USE_FILE_OFFSET64
+
+
+324 \r\12
+       $__fx¡©
+ (\12
+__v\94
+, \12
+__f\9edes
+, \19
+¡©
+ *
+__¡©_buf
+)
+
+325 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+326 \r\12
+       $__x¡©
+ (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+327 \19
+¡©
+ *
+__¡©_buf
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+328 \r\12
+       $__lx¡©
+ (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+329 \19
+¡©
+ *
+__¡©_buf
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+331 #ifdeà
+__REDIRECT_NTH
+
+
+332 \r\12
+       `__REDIRECT_NTH
+ (
+__fx¡©
+, (\12
+__v\94
+, \12
+__f\9edes
+,
+
+333 \19
+¡©
+ *
+__¡©_buf
+), 
+__fx¡©64
+)
+
+334 
+       `__nÚnuÎ
+ ((3));
+
+335 \r\12
+       `__REDIRECT_NTH
+ (
+__x¡©
+, (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+336 \19
+¡©
+ *
+__¡©_buf
+), 
+__x¡©64
+)
+
+337 
+       `__nÚnuÎ
+ ((2, 3));
+
+338 \r\12
+       `__REDIRECT_NTH
+ (
+__lx¡©
+, (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+339 \19
+¡©
+ *
+__¡©_buf
+), 
+__lx¡©64
+)
+
+340 
+       `__nÚnuÎ
+ ((2, 3));
+
+343 \ 1
+       #__fx¡©
+__fx¡©64
+
+
+       )
+
+344 \ 1
+       #__x¡©
+__x¡©64
+
+
+       )
+
+345 \ 1
+       #__lx¡©
+__lx¡©64
+
+
+       )
+
+349 #ifdeà
+__USE_LARGEFILE64
+
+
+350 \r\12
+       $__fx¡©64
+ (\12
+__v\94
+, \12
+__f\9edes
+, \19
+¡©64
+ *
+__¡©_buf
+)
+
+351 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+352 \r\12
+       $__x¡©64
+ (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+353 \19
+¡©64
+ *
+__¡©_buf
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+354 \r\12
+       $__lx¡©64
+ (\12
+__v\94
+, 
+__cڡ
\ 5*
+__f\9e\92ame
+,
+
+355 \19
+¡©64
+ *
+__¡©_buf
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+357 \r\12
+       $__xmknod
+ (\12
+__v\94
+, 
+__cڡ
\ 5*
+__·th
+, 
+__mode_t
+__mode
+,
+
+358 
+__dev_t
+ *
+__dev
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+360 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+363 \r
+__\9al\9ae__
\12
+
+364 
+       `__NTH
+ (
+       $¡©
+ (
+__cڡ
\ 5*
+__·th
+, \19
+¡©
+ *
+__¡©buf
+))
+
+366 \15 
+       `__x¡©
+ (
+_STAT_VER
+, 
+__·th
+, 
+__¡©buf
+);
+
+367 
+       }
+}
+
+369 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+370 \r
+__\9al\9ae__
\12
+
+371 
+__NTH
+ (
+       $l¡©
+ (
+__cڡ
\ 5*
+__·th
+, \19
+¡©
+ *
+__¡©buf
+))
+
+373 \15 
+       `__lx¡©
+ (
+_STAT_VER
+, 
+__·th
+, 
+__¡©buf
+);
+
+374 
+       }
+}
+
+377 \r
+__\9al\9ae__
\12
+
+378 
+__NTH
+ (
+       $f¡©
+ (\12
+__fd
+, \19
+¡©
+ *
+__¡©buf
+))
+
+380 \15 
+       `__fx¡©
+ (
+_STAT_VER
+, 
+__fd
+, 
+__¡©buf
+);
+
+381 
+       }
+}
+
+383 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_BSD
+
+
+384 \r
+__\9al\9ae__
\12
+
+385 
+__NTH
+ (
+       $mknod
+ (
+__cڡ
\ 5*
+__·th
+, 
+__mode_t
+__mode
+, 
+__dev_t
+__dev
+))
+
+387 \15 
+       `__xmknod
+ (
+_MKNOD_VER
+, 
+__·th
+, 
+__mode
+, &
+__dev
+);
+
+388 
+       }
+}
+
+391 #ià
+def\9aed
+__USE_LARGEFILE64
+ \
+
+392 && (! 
+def\9aed
+__USE_FILE_OFFSET64
+ \
+
+393 || (
+def\9aed
+__REDIRECT_NTH
+ && def\9aed 
+__OPTIMIZE__
+))
+
+394 \r
+__\9al\9ae__
\12
+
+395 
+__NTH
+ (
+       $¡©64
+ (
+__cڡ
\ 5*
+__·th
+, \19
+¡©64
+ *
+__¡©buf
+))
+
+397 \15 
+       `__x¡©64
+ (
+_STAT_VER
+, 
+__·th
+, 
+__¡©buf
+);
+
+398 
+       }
+}
+
+400 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+401 \r
+__\9al\9ae__
\12
+
+402 
+__NTH
+ (
+       $l¡©64
+ (
+__cڡ
\ 5*
+__·th
+, \19
+¡©64
+ *
+__¡©buf
+))
+
+404 \15 
+       `__lx¡©64
+ (
+_STAT_VER
+, 
+__·th
+, 
+__¡©buf
+);
+
+405 
+       }
+}
+
+408 \r
+__\9al\9ae__
\12
+
+409 
+__NTH
+ (
+       $f¡©64
+ (\12
+__fd
+, \19
+¡©64
+ *
+__¡©buf
+))
+
+411 \15 
+       `__fx¡©64
+ (
+_STAT_VER
+, 
+__fd
+, 
+__¡©buf
+);
+
+412 
+       }
+}
+
+417 
+__END_DECLS
+
+
+       @/usr/include/sys/sysmacros.h
+
+20 #iâdeà
+_SYS_SYSMACROS_H
+
+
+21 \ 1
+       #_SYS_SYSMACROS_H
+ 1
+
+       )
+
+23 \ 2
+       ~<ã©u»s.h
+>
+
+28 #ifdeà
+__GLIBC_HAVE_LONG_LONG
+
+
+29 
+__ex\8bnsiÚ__
+
+
+30 \r
+__\9al\9ae
\1d\12
+       $gnu_dev_majÜ
+ (\1d\13\13\12
+__dev
+)
+
+31 
+__THROW
+;
+
+32 
+__ex\8bnsiÚ__
+
+
+33 \r
+__\9al\9ae
\1d\12
+       $gnu_dev_m\9aÜ
+ (\1d\13\13\12
+__dev
+)
+
+34 
+__THROW
+;
+
+35 
+__ex\8bnsiÚ__
+
+
+36 \r
+__\9al\9ae
\1d\13\13\12
+       $gnu_dev_makedev
+ (\1d\12
+__majÜ
+,
+
+37 \1d\12
+__m\9aÜ
+)
+
+38 
+__THROW
+;
+
+40 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+41 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\1d\12
+
+42 
+       `__NTH
+ (
+       $gnu_dev_majÜ
+ (\1d\13\13\12
+__dev
+))
+
+44 \15 ((
+__dev
+ >> 8) & 0xfff) | ((\1d\12) (__dev >> 32) & ~0xfff);
+
+45 
+       }
+}
+
+47 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\1d\12
+
+48 
+__NTH
+ (
+       $gnu_dev_m\9aÜ
+ (\1d\13\13\12
+__dev
+))
+
+50 \15 (
+__dev
+ & 0xff) | ((\1d\12) (__dev >> 12) & ~0xff);
+
+51 
+       }
+}
+
+53 
+__ex\8bnsiÚ__
\r
+__\9al\9ae
\1d\13\13\12
+
+54 
+__NTH
+ (
+       $gnu_dev_makedev
+ (\1d\12
+__majÜ
+, \1d\12
+__m\9aÜ
+))
+
+56 \15 ((
+__m\9aÜ
+ & 0xffè| ((
+__majÜ
+ & 0xfff) << 8)
+
+57 | (((\1d\13\13\12è(
+__m\9aÜ
+ & ~0xff)) << 12)
+
+58 | (((\1d\13\13\12è(
+__majÜ
+ & ~0xfff)) << 32));
+
+59 
+       }
+}
+
+64 \ 1
+       #majÜ
+(
+dev
+       `gnu_dev_majÜ
+ (dev)
+
+       )
+
+65 \ 1
+       #m\9aÜ
+(
+dev
+       `gnu_dev_m\9aÜ
+ (dev)
+
+       )
+
+66 \ 1
+       #makedev
+(
+maj
+, 
+m\9a
+       `gnu_dev_makedev
+ (maj, m\9a)
+
+       )
+
+       @/usr/include/sys/wait.h
+
+23 #iâdef 
+_SYS_WAIT_H
+
+
+24 \ 1
+       #_SYS_WAIT_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+30 \ 2
+       ~<sigÇl.h
+>
+
+31 \ 2
+       ~<sys/»sourû.h
+>
+
+34 #ià!
+def\9aed
+_STDLIB_H
+ || !def\9aed 
+__USE_XOPEN
+
+
+37 \ 2
+       ~<b\99s/wa\99æags.h
+>
+
+39 #ifdef 
+__USE_BSD
+
+
+44 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__ýlu¥lus
+
+
+45 \ 1
+       #__WAIT_INT
+(
+¡©us
+) \
+
+46 (
+       `__ex\8bnsiÚ__
+ ({ uniÚ { 
+       `__ty³of
+(
+¡©us
+__\9a
+; \12
+__i
+; } 
+__u
+; \
+
+47 
+__u
+.
+__\9a
+ = (
+¡©us
+); __u.
+__i
+; }))
+
+       )
+
+49 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(*(\12*è&(¡©us))
+
+       )
+
+57 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2 || def\9aed 
+__ýlu¥lus
+
+
+58 \ 1
+       #__WAIT_STATUS
\1e*
+
+       )
+
+59 \ 1
+       #__WAIT_STATUS_DEFN
\1e*
+
+       )
+
+64 \1c
+wa\99
+ *
+       m__u±r
+;
+
+65 \12*
+       m__\9d\8c
+;
+
+66 } 
+       t__WAIT_STATUS
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+67 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+72 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(¡©us)
+
+       )
+
+73 \ 1
+       #__WAIT_STATUS
\12*
+
+       )
+
+74 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+79 \ 2
+       ~<b\99s/wa\99¡©us.h
+>
+
+81 \ 1
+       #WEXITSTATUS
+(
+¡©us
+       `__WEXITSTATUS
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+82 \ 1
+       #WTERMSIG
+(
+¡©us
+       `__WTERMSIG
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+83 \ 1
+       #WSTOPSIG
+(
+¡©us
+       `__WSTOPSIG
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+84 \ 1
+       #WIFEXITED
+(
+¡©us
+       `__WIFEXITED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+85 \ 1
+       #WIFSIGNALED
+(
+¡©us
+       `__WIFSIGNALED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+86 \ 1
+       #WIFSTOPPED
+(
+¡©us
+       `__WIFSTOPPED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+87 #ifdeà
+__WIFCONTINUED
+
+
+88 \ 1
+       #WIFCONTINUED
+(
+¡©us
+       `__WIFCONTINUED
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+92 #ifdef 
+__USE_BSD
+
+
+93 \ 1
+       #WCOREFLAG
+__WCOREFLAG
+
+
+       )
+
+94 \ 1
+       #WCOREDUMP
+(
+¡©us
+       `__WCOREDUMP
+(
+       `__WAIT_INT
+(¡©us))
+
+       )
+
+95 \ 1
+       #W_EXITCODE
+(
+»t
+, 
+sig
+       `__W_EXITCODE
+ԑ, sig)
+
+       )
+
+96 \ 1
+       #W_STOPCODE
+(
+sig
+       `__W_STOPCODE
+(sig)
+
+       )
+
+100 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+103 
+       mP_ALL
+,
+
+104 
+       mP_PID
+,
+
+105 
+       mP_PGID
+
+
+106 } 
+       tidty³_t
+;
+
+115 \r
+__pid_t
+wa\99
+ (
+__WAIT_STATUS
+__¡©_loc
+);
+
+117 #ifdef 
+__USE_BSD
+
+
+119 \ 1
+       #WAIT_ANY
+ (-1è
+
+       )
+
+120 \ 1
+       #WAIT_MYPGRP
+ 0
+
+       )
+
+138 \r
+__pid_t
+wa\99pid
+ (__pid_\88
+__pid
+, \12*
+__¡©_loc
+, \12
+__ÝtiÚs
+);
+
+140 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+141 \ 1
+       #__Ãed_sig\9afo_t
+
+
+       )
+
+142 \ 2
+       ~<b\99s/sig\9afo.h
+>
+
+154 \r\12
+wa\99id
+ (
+idty³_t
+__idty³
+, 
+__id_t
+__id
+, 
+sig\9afo_t
+ *
+__\9a
+,
+
+155 \12
+__ÝtiÚs
+);
+
+158 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+161 \19
+       gru§ge
+;
+
+168 \r
+__pid_t
+       $wa\993
+ (
+__WAIT_STATUS
+__¡©_loc
+, \12
+__ÝtiÚs
+,
+
+169 \19
+ru§ge
+ * 
+__u§ge
+__THROW
+;
+
+172 #ifdeà
+__USE_BSD
+
+
+175 \19
+ru§ge
+;
+
+178 \r
+__pid_t
+       $wa\994
+ (
+__pid_t
+__pid
+, 
+__WAIT_STATUS
+__¡©_loc
+, \12
+__ÝtiÚs
+,
+
+179 \19
+ru§ge
+ *
+__u§ge
+__THROW
+;
+
+183 
+__END_DECLS
+
+
+       @/usr/include/time.h
+
+23 #iâdef 
+_TIME_H
+
+
+25 #ià(! 
+def\9aed
+__Ãed_time_t
+ && !def\9aed 
+__Ãed_þock_t
+ && \
+
+26 ! 
+def\9aed
+       g__Ãed_time¥ec
+)
+
+27 \ 1
+       #_TIME_H
+ 1
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+30 
+       g__BEGIN_DECLS
+
+
+34 #ifdef 
+_TIME_H
+
+
+36 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+37 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+38 \ 2
+       ~<¡ddef.h
+>
+
+42 \ 2
+       ~<b\99s/time.h
+>
+
+45 #ià!
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+46 #iâdeà
+CLK_TCK
+
+
+47 \ 1
+       #CLK_TCK
+CLOCKS_PER_SEC
+
+
+       )
+
+53 #ià!
+def\9aed
+__þock_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_þock_t
+)
+
+54 \ 1
+       #__þock_t_def\9aed
+ 1
+
+       )
+
+56 \ 2
+       ~<b\99s/ty³s.h
+>
+
+58 
+__BEGIN_NAMESPACE_STD
+
+
+60 \e
+__þock_t
+       tþock_t
+;
+
+61 
+       g__END_NAMESPACE_STD
+
+
+62 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+63 
+       $__USING_NAMESPACE_STD
+(
+þock_t
+)
+
+67 #undeà
+__Ãed_þock_t
+
+
+69 #ià!
+def\9aed
+__time_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_time_t
+)
+
+70 \ 1
+       #__time_t_def\9aed
+ 1
+
+       )
+
+72 \ 2
+       ~<b\99s/ty³s.h
+>
+
+74 
+__BEGIN_NAMESPACE_STD
+
+
+76 \e
+__time_t
+       ttime_t
+;
+
+77 
+__END_NAMESPACE_STD
+
+
+78 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_SVID
+
+
+79 
+       $__USING_NAMESPACE_STD
+(
+time_t
+)
+
+83 #undeà
+__Ãed_time_t
+
+
+85 #ià!
+def\9aed
+__þockid_t_def\9aed
+ && \
+
+86 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_þockid_t
+)
+
+87 \ 1
+       #__þockid_t_def\9aed
+ 1
+
+       )
+
+89 \ 2
+       ~<b\99s/ty³s.h
+>
+
+92 \e
+__þockid_t
+       tþockid_t
+;
+
+95 #undeà
+__þockid_time_t
+
+
+97 #ià!
+def\9aed
+__tim\94_t_def\9aed
+ && \
+
+98 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_tim\94_t
+)
+
+99 \ 1
+       #__tim\94_t_def\9aed
+ 1
+
+       )
+
+101 \ 2
+       ~<b\99s/ty³s.h
+>
+
+104 \e
+__tim\94_t
+       ttim\94_t
+;
+
+107 #undeà
+__Ãed_tim\94_t
+
+
+110 #ià!
+def\9aed
+__time¥ec_def\9aed
+ && \
+
+111 ((
+def\9aed
+_TIME_H
+ && \
+
+112 (
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_MISC
+)) || \
+
+113 
+def\9aed
+__Ãed_time¥ec
+)
+
+114 \ 1
+       #__time¥ec_def\9aed
+ 1
+
+       )
+
+118 \19
+       stime¥ec
+
+
+120 
+__time_t
+tv_£c
+;
+
+121 \13\12
+tv_n£c
+;
+
+125 #undeà
+__Ãed_time¥ec
+
+
+128 #ifdef 
+_TIME_H
+
+
+129 
+__BEGIN_NAMESPACE_STD
+
+
+131 \19
+       stm
+
+
+133 \12
+tm_£c
+;
+
+134 \12
+tm_m\9a
+;
+
+135 \12
+tm_hour
+;
+
+136 \12
+tm_mday
+;
+
+137 \12
+tm_mÚ
+;
+
+138 \12
+tm_y\97r
+;
+
+139 \12
+tm_wday
+;
+
+140 \12
+tm_yday
+;
+
+141 \12
+tm_isd¡
+;
+
+143 #ifdef 
+__USE_BSD
+
+
+144 \13\12
+tm_gmtoff
+;
+
+145 
+__cڡ
\ 5*
+tm_zÚe
+;
+
+147 \13\12
+__tm_gmtoff
+;
+
+148 
+__cڡ
\ 5*
+__tm_zÚe
+;
+
+151 
+__END_NAMESPACE_STD
+
+
+152 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+153 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+157 #ifdeà
+__USE_POSIX199309
+
+
+159 \19
+       s\99im\94¥ec
+
+
+161 \19
+time¥ec
+\99_\9a\8brv®
+;
+
+162 \19
+time¥ec
+\99_v®ue
+;
+
+166 \19
+sigev\92t
+;
+
+170 #ifdeà
+__USE_XOPEN2K
+
+
+171 #iâdeà
+__pid_t_def\9aed
+
+
+172 \e
+__pid_t
+       tpid_t
+;
+
+173 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+178 
+__BEGIN_NAMESPACE_STD
+
+
+181 \r
+þock_t
+       $þock
+ (\1eè
+__THROW
+;
+
+184 \r
+time_t
+       $time
+ (
+time_t
+ *
+__tim\94
+__THROW
+;
+
+187 \r\b
+       $difáime
+ (
+time_t
+__time1
+,\81ime_\88
+__time0
+)
+
+188 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+191 \r
+time_t
+       $mktime
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+197 \r
+size_t
+       $¡ráime
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+198 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+199 
+__cڡ
\19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+200 
+__END_NAMESPACE_STD
+
+
+202 #ifdeà
+__USE_XOPEN
+
+
+205 \r\ 5*
+       $¡½time
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+,
+
+206 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+)
+
+207 
+__THROW
+;
+
+210 #ifdeà
+__USE_GNU
+
+
+213 \ 2
+       ~<xloÿË.h
+>
+
+215 \r
+size_t
+       $¡ráime_l
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+216 
+__cڡ
\ 5*
+__»¡riù
+__fÜm©
+,
+
+217 
+__cڡ
\19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+218 
+__loÿË_t
+__loc
+__THROW
+;
+
+220 \r\ 5*
+       $¡½time_l
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+,
+
+221 
+__cڡ
\ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+,
+
+222 
+__loÿË_t
+__loc
+__THROW
+;
+
+226 
+__BEGIN_NAMESPACE_STD
+
+
+229 \r\19
+tm
+ *
+       $gmtime
+ (
+__cڡ
+time_t
+ *
+__tim\94
+__THROW
+;
+
+233 \r\19
+tm
+ *
+       $loÿÉime
+ (
+__cڡ
+time_t
+ *
+__tim\94
+__THROW
+;
+
+234 
+__END_NAMESPACE_STD
+
+
+236 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+239 \r\19
+tm
+ *
+       $gmtime_r
+ (
+__cڡ
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+240 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+244 \r\19
+tm
+ *
+       $loÿÉime_r
+ (
+__cڡ
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+245 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+248 
+__BEGIN_NAMESPACE_STD
+
+
+251 \r\ 5*
+       $asùime
+ (
+__cڡ
\19
+tm
+ *
+__\8d
+__THROW
+;
+
+254 \r\ 5*
+       $ùime
+ (
+__cڡ
+time_t
+ *
+__tim\94
+__THROW
+;
+
+255 
+__END_NAMESPACE_STD
+
+
+257 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+262 \r\ 5*
+       $asùime_r
+ (
+__cڡ
\19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+263 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+266 \r\ 5*
+       $ùime_r
+ (
+__cڡ
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+267 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+272 \r\ 5*
+__tzÇme
+[2];
+
+273 \r\12
+__daylight
+;
+
+274 \r\13\12
+__timezÚe
+;
+
+277 #ifdef 
+__USE_POSIX
+
+
+279 \r\ 5*
+tzÇme
+[2];
+
+283 \r\1e
+       $tz£t
+ (\1eè
+__THROW
+;
+
+286 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+287 \r\12
+daylight
+;
+
+288 \r\13\12
+timezÚe
+;
+
+291 #ifdeà
+__USE_SVID
+
+
+294 \r\12
+       $¡ime
+ (
+__cڡ
+time_t
+ *
+__wh\92
+__THROW
+;
+
+300 \ 1
+       #__i¦\97p
+(
+y\97r
+) \
+
+301 ((
+y\97r
+è% 4 =ð0 && ((y\97rè% 100 !ð0 || (y\97rè% 400 =ð0))
+
+       )
+
+304 #ifdeà
+__USE_MISC
+
+
+309 \r
+time_t
+       $timegm
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+312 \r
+time_t
+       $tim\96oÿl
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+315 \r\12
+       $dysize
+ (\12
+__y\97r
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+319 #ifdeà
+__USE_POSIX199309
+
+
+324 \r\12
+       `Çno¦\93p
+ (
+__cڡ
\19
+time¥ec
+ *
+__»que¡ed_time
+,
+
+325 \19
+time¥ec
+ *
+__»ma\9a\9ag
+);
+
+329 \r\12
+       $þock_g\91»s
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__»s
+__THROW
+;
+
+332 \r\12
+       $þock_g\91time
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__\8d
+__THROW
+;
+
+335 \r\12
+       $þock_£\89ime
+ (
+þockid_t
+__þock_id
+, 
+__cڡ
\19
+time¥ec
+ *
+__\8d
+)
+
+336 
+__THROW
+;
+
+338 #ifdeà
+__USE_XOPEN2K
+
+
+343 \r\12
+       `þock_Çno¦\93p
+ (
+þockid_t
+__þock_id
+, \12
+__æags
+,
+
+344 
+__cڡ
\19
+time¥ec
+ *
+__»q
+,
+
+345 \19
+time¥ec
+ *
+__»m
+);
+
+348 \r\12
+       $þock_g\91ýuþockid
+ (
+pid_t
+__pid
+, 
+þockid_t
+ *
+__þock_id
+__THROW
+;
+
+353 \r\12
+       $tim\94\97\8b
+ (
+þockid_t
+__þock_id
+,
+
+354 \19
+sigev\92t
+ *
+__»¡riù
+__evp
+,
+
+355 
+tim\94_t
+ *
+__»¡riù
+__tim\94id
+__THROW
+;
+
+358 \r\12
+       $tim\94_d\96\91e
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+361 \r\12
+       $tim\94\89ime
+ (
+tim\94_t
+__tim\94id
+, \12
+__æags
+,
+
+362 
+__cڡ
\19
+\99im\94¥ec
+ *
+__»¡riù
+__v®ue
+,
+
+363 \19
+\99im\94¥ec
+ *
+__»¡riù
+__ov®ue
+__THROW
+;
+
+366 \r\12
+       $tim\94_g\91time
+ (
+tim\94_t
+__tim\94id
+, \19
+\99im\94¥ec
+ *
+__v®ue
+)
+
+367 
+__THROW
+;
+
+370 \r\12
+       $tim\94_g\91ov\94run
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+374 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+386 \r\12
+g\91d©e_\94r
+;
+
+395 \r\19
+tm
+ *
+       `g\91d©e
+ (
+__cڡ
\ 5*
+__¡r\9ag
+);
+
+398 #ifdeà
+__USE_GNU
+
+
+409 \r\12
+       `g\91d©e_r
+ (
+__cڡ
\ 5*
+__»¡riù
+__¡r\9ag
+,
+
+410 \19
+tm
+ *
+__»¡riù
+__»sbuå
+);
+
+413 
+__END_DECLS
+
+
+       @/usr/include/xlocale.h
+
+21 #iâdeà
+_XLOCALE_H
+
+
+22 \ 1
+       #_XLOCALE_H
+ 1
+
+       )
+
+28 \e\19
+       s__loÿË_¡ruù
+
+
+31 \19
+loÿË_d©a
+ *
+       m__loÿËs
+[13];
+
+34 cڡ \1d\16\12*
+       m__ùy³_b
+;
+
+35 cڡ \12*
+       m__ùy³_tÞow\94
+;
+
+36 cڡ \12*
+       m__ùy³_touµ\94
+;
+
+39 cڡ \ 5*
+       m__Çmes
+[13];
+
+40 } *
+       t__loÿË_t
+;
+
+       @/usr/include/_G_config.h
+
+4 #iâdeà
+_G_cÚfig_h
+
+
+5 \ 1
+       #_G_cÚfig_h
+ 1
+
+       )
+
+9 \ 2
+       ~<b\99s/ty³s.h
+>
+
+10 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+11 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+12 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+13 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+14 \ 2
+       ~<¡ddef.h
+>
+
+15 #iâdeà
+_WINT_T
+
+
+20 \ 1
+       #_WINT_T
+
+
+       )
+
+21 \e\1d\12
+       tw\9at_t
+;
+
+23 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+24 \ 2
+       ~<wch¬.h
+>
+
+25 \ 1
+       #_G_size_t
+size_t
+
+
+       )
+
+28 
+__off_t
+       m__pos
+;
+
+29 
+__mb¡©e_t
+       m__¡©e
+;
+
+30 } 
+       t_G_åos_t
+;
+
+33 
+__off64_t
+       m__pos
+;
+
+34 
+__mb¡©e_t
+       m__¡©e
+;
+
+35 } 
+       t_G_åos64_t
+;
+
+36 \ 1
+       #_G_ssize_t
+__ssize_t
+
+
+       )
+
+37 \ 1
+       #_G_off_t
+__off_t
+
+
+       )
+
+38 \ 1
+       #_G_off64_t
+__off64_t
+
+
+       )
+
+39 \ 1
+       #_G_pid_t
+__pid_t
+
+
+       )
+
+40 \ 1
+       #_G_uid_t
+__uid_t
+
+
+       )
+
+41 \ 1
+       #_G_wch¬_t
+wch¬_t
+
+
+       )
+
+42 \ 1
+       #_G_w\9at_t
+w\9at_t
+
+
+       )
+
+43 \ 1
+       #_G_¡©64
+¡©64
+
+
+       )
+
+44 \ 2
+       ~<gcÚv.h
+>
+
+47 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+50 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+51 \19
+__gcÚv_¡\95_d©a
+       m__d©a
+;
+
+52 } 
+       m__comb\9aed
+;
+
+53 } 
+       t_G_icÚv_t
+;
+
+55 \e\12
+       t_G_\9at16_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__HI__
+)));
+
+56 \e\12
+       t_G_\9at32_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__SI__
+)));
+
+57 \e\1d\12
+       t_G_u\9at16_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__HI__
+)));
+
+58 \e\1d\12
+       t_G_u\9at32_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__SI__
+)));
+
+60 \ 1
+       #_G_HAVE_BOOL
+ 1
+
+       )
+
+64 \ 1
+       #_G_HAVE_ATEXIT
+ 1
+
+       )
+
+65 \ 1
+       #_G_HAVE_SYS_CDEFS
+ 1
+
+       )
+
+66 \ 1
+       #_G_HAVE_SYS_WAIT
+ 1
+
+       )
+
+67 \ 1
+       #_G_NEED_STDARG_H
+ 1
+
+       )
+
+68 \ 1
+       #_G_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+70 \ 1
+       #_G_HAVE_PRINTF_FP
+ 1
+
+       )
+
+71 \ 1
+       #_G_HAVE_MMAP
+ 1
+
+       )
+
+72 \ 1
+       #_G_HAVE_MREMAP
+ 1
+
+       )
+
+73 \ 1
+       #_G_HAVE_LONG_DOUBLE_IO
+ 1
+
+       )
+
+74 \ 1
+       #_G_HAVE_IO_FILE_OPEN
+ 1
+
+       )
+
+75 \ 1
+       #_G_HAVE_IO_GETLINE_INFO
+ 1
+
+       )
+
+77 \ 1
+       #_G_IO_IO_FILE_VERSION
+ 0x20001
+
+       )
+
+79 \ 1
+       #_G_OPEN64
+__ݒ64
+
+
+       )
+
+80 \ 1
+       #_G_LSEEK64
+__l£ek64
+
+
+       )
+
+81 \ 1
+       #_G_MMAP64
+__mm­64
+
+
+       )
+
+82 \ 1
+       #_G_FSTAT64
+(
+fd
+,
+buf
+       `__fx¡©64
+ (
+_STAT_VER
+, fd, buf)
+
+       )
+
+85 \ 1
+       #_G_HAVE_ST_BLKSIZE
+       `def\9aed
+ (
+_STATBUF_ST_BLKSIZE
+)
+
+       )
+
+87 \ 1
+       #_G_BUFSIZ
+ 8192
+
+       )
+
+90 \ 1
+       #_G_NAMES_HAVE_UNDERSCORE
+ 0
+
+       )
+
+91 \ 1
+       #_G_VTABLE_LABEL_HAS_LENGTH
+ 1
+
+       )
+
+92 \ 1
+       #_G_USING_THUNKS
+ 1
+
+       )
+
+93 \ 1
+       #_G_VTABLE_LABEL_PREFIX
+ "__vt_"
+
+       )
+
+94 \ 1
+       #_G_VTABLE_LABEL_PREFIX_ID
+__vt_
+
+
+       )
+
+97 #ià
+def\9aed
+__ýlu¥lus
+ || def\9aed 
+__STDC__
+
+
+98 \ 1
+       #_G_ARGS
+(
+ARGLIST
+       )
+ARGLIST
+
+100 \ 1
+       #_G_ARGS
+(
+ARGLIST
+è()
+
+       )
+
+       @/usr/include/asm-i386/cache.h
+
+4 #iâdeà
+__ARCH_I386_CACHE_H
+
+
+5 \ 1
+       #__ARCH_I386_CACHE_H
+
+
+       )
+
+9 \ 1
+       #L1_CACHE_SHIFT
+ (
+CONFIG_X86_L1_CACHE_SHIFT
+)
+
+       )
+
+10 \ 1
+       #L1_CACHE_BYTES
+ (1 << 
+L1_CACHE_SHIFT
+)
+
+       )
+
+12 \ 1
+       #L1_CACHE_SHIFT_MAX
+ 7
+
+       )
+
+       @/usr/include/asm-i386/fcntl.h
+
+1 #iâdeà
+_I386_FCNTL_H
+
+
+2 \ 1
+       #_I386_FCNTL_H
+
+
+       )
+
+6 \ 1
+       #O_ACCMODE
+ 0003
+
+       )
+
+7 \ 1
+       #O_RDONLY
+ 00
+
+       )
+
+8 \ 1
+       #O_WRONLY
+ 01
+
+       )
+
+9 \ 1
+       #O_RDWR
+ 02
+
+       )
+
+10 \ 1
+       #O_CREAT
+ 0100
+
+       )
+
+11 \ 1
+       #O_EXCL
+ 0200
+
+       )
+
+12 \ 1
+       #O_NOCTTY
+ 0400
+
+       )
+
+13 \ 1
+       #O_TRUNC
+ 01000
+
+       )
+
+14 \ 1
+       #O_APPEND
+ 02000
+
+       )
+
+15 \ 1
+       #O_NONBLOCK
+ 04000
+
+       )
+
+16 \ 1
+       #O_NDELAY
+O_NONBLOCK
+
+
+       )
+
+17 \ 1
+       #O_SYNC
+ 010000
+
+       )
+
+18 \ 1
+       #FASYNC
+ 020000
+
+       )
+
+19 \ 1
+       #O_DIRECT
+ 040000
+
+       )
+
+20 \ 1
+       #O_LARGEFILE
+ 0100000
+
+       )
+
+21 \ 1
+       #O_DIRECTORY
+ 0200000
+
+       )
+
+22 \ 1
+       #O_NOFOLLOW
+ 0400000
+
+       )
+
+23 \ 1
+       #O_NOATIME
+ 01000000
+
+       )
+
+25 \ 1
+       #F_DUPFD
+ 0
+
+       )
+
+26 \ 1
+       #F_GETFD
+ 1
+
+       )
+
+27 \ 1
+       #F_SETFD
+ 2
+
+       )
+
+28 \ 1
+       #F_GETFL
+ 3
+
+       )
+
+29 \ 1
+       #F_SETFL
+ 4
+
+       )
+
+30 \ 1
+       #F_GETLK
+ 5
+
+       )
+
+31 \ 1
+       #F_SETLK
+ 6
+
+       )
+
+32 \ 1
+       #F_SETLKW
+ 7
+
+       )
+
+34 \ 1
+       #F_SETOWN
+ 8
+
+       )
+
+35 \ 1
+       #F_GETOWN
+ 9
+
+       )
+
+36 \ 1
+       #F_SETSIG
+ 10
+
+       )
+
+37 \ 1
+       #F_GETSIG
+ 11
+
+       )
+
+39 \ 1
+       #F_GETLK64
+ 12
+
+       )
+
+40 \ 1
+       #F_SETLK64
+ 13
+
+       )
+
+41 \ 1
+       #F_SETLKW64
+ 14
+
+       )
+
+44 \ 1
+       #FD_CLOEXEC
+ 1
+
+       )
+
+47 \ 1
+       #F_RDLCK
+ 0
+
+       )
+
+48 \ 1
+       #F_WRLCK
+ 1
+
+       )
+
+49 \ 1
+       #F_UNLCK
+ 2
+
+       )
+
+52 \ 1
+       #F_EXLCK
+ 4
+
+       )
+
+53 \ 1
+       #F_SHLCK
+ 8
+
+       )
+
+56 \ 1
+       #F_INPROGRESS
+ 16
+
+       )
+
+59 \ 1
+       #LOCK_SH
+ 1
+
+       )
+
+60 \ 1
+       #LOCK_EX
+ 2
+
+       )
+
+61 \ 1
+       #LOCK_NB
+ 4
+
+       )
+
+63 \ 1
+       #LOCK_UN
+ 8
+
+       )
+
+65 \ 1
+       #LOCK_MAND
+ 32
+
+       )
+
+66 \ 1
+       #LOCK_READ
+ 64
+
+       )
+
+67 \ 1
+       #LOCK_WRITE
+ 128
+
+       )
+
+68 \ 1
+       #LOCK_RW
+ 192
+
+       )
+
+70 \19
+       sæock
+ {
+
+71 \16
+       ml_ty³
+;
+
+72 \16
+       ml_wh\92û
+;
+
+73 
+off_t
+       ml_¡¬t
+;
+
+74 
+off_t
+       ml_Ën
+;
+
+75 
+pid_t
+       ml_pid
+;
+
+78 \19
+       sæock64
+ {
+
+79 \16
+       ml_ty³
+;
+
+80 \16
+       ml_wh\92û
+;
+
+81 
+loff_t
+       ml_¡¬t
+;
+
+82 
+loff_t
+       ml_Ën
+;
+
+83 
+pid_t
+       ml_pid
+;
+
+86 \ 1
+       #F_LINUX_SPECIFIC_BASE
+ 1024
+
+       )
+
+       @/usr/include/asm-i386/ioctl.h
+
+6 #iâdeà
+_ASMI386_IOCTL_H
+
+
+7 \ 1
+       #_ASMI386_IOCTL_H
+
+
+       )
+
+27 \ 1
+       #_IOC_NRBITS
+ 8
+
+       )
+
+28 \ 1
+       #_IOC_TYPEBITS
+ 8
+
+       )
+
+29 \ 1
+       #_IOC_SIZEBITS
+ 14
+
+       )
+
+30 \ 1
+       #_IOC_DIRBITS
+ 2
+
+       )
+
+32 \ 1
+       #_IOC_NRMASK
+ ((1 << 
+_IOC_NRBITS
+)-1)
+
+       )
+
+33 \ 1
+       #_IOC_TYPEMASK
+ ((1 << 
+_IOC_TYPEBITS
+)-1)
+
+       )
+
+34 \ 1
+       #_IOC_SIZEMASK
+ ((1 << 
+_IOC_SIZEBITS
+)-1)
+
+       )
+
+35 \ 1
+       #_IOC_DIRMASK
+ ((1 << 
+_IOC_DIRBITS
+)-1)
+
+       )
+
+37 \ 1
+       #_IOC_NRSHIFT
+ 0
+
+       )
+
+38 \ 1
+       #_IOC_TYPESHIFT
+ (
+_IOC_NRSHIFT
++
+_IOC_NRBITS
+)
+
+       )
+
+39 \ 1
+       #_IOC_SIZESHIFT
+ (
+_IOC_TYPESHIFT
++
+_IOC_TYPEBITS
+)
+
+       )
+
+40 \ 1
+       #_IOC_DIRSHIFT
+ (
+_IOC_SIZESHIFT
++
+_IOC_SIZEBITS
+)
+
+       )
+
+45 \ 1
+       #_IOC_NONE
+ 0U
+
+       )
+
+46 \ 1
+       #_IOC_WRITE
+ 1U
+
+       )
+
+47 \ 1
+       #_IOC_READ
+ 2U
+
+       )
+
+49 \ 1
+       #_IOC
+(
+d\9c
+,
+ty³
+,
+,
+size
+) \
+
+50 (((
+d\9c
+è<< 
+_IOC_DIRSHIFT
+) | \
+
+51 ((
+ty³
+è<< 
+_IOC_TYPESHIFT
+) | \
+
+52 ((
+è<< 
+_IOC_NRSHIFT
+) | \
+
+53 ((
+size
+è<< 
+_IOC_SIZESHIFT
+))
+
+       )
+
+57 \ 1
+       #_IOC_TYPECHECK
+(
+t
\17Ñ)
+
+       )
+
+60 \ 1
+       #_IO
+(
+ty³
+,
+       `_IOC
+(
+_IOC_NONE
+,Ñy³),Òr),0)
+
+       )
+
+61 \ 1
+       #_IOR
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+,Ñy³),Òr),(
+       `_IOC_TYPECHECK
+(size)))
+
+       )
+
+62 \ 1
+       #_IOW
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_WRITE
+,Ñy³),Òr),(
+       `_IOC_TYPECHECK
+(size)))
+
+       )
+
+63 \ 1
+       #_IOWR
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+|
+_IOC_WRITE
+,Ñy³),Òr),(
+       `_IOC_TYPECHECK
+(size)))
+
+       )
+
+64 \ 1
+       #_IOR_BAD
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+,Ñy³),Òr),\17(size))
+
+       )
+
+65 \ 1
+       #_IOW_BAD
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_WRITE
+,Ñy³),Òr),\17(size))
+
+       )
+
+66 \ 1
+       #_IOWR_BAD
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+|
+_IOC_WRITE
+,Ñy³),Òr),\17(size))
+
+       )
+
+69 \ 1
+       #_IOC_DIR
+(
+è((Òrè>> 
+_IOC_DIRSHIFT
+è& 
+_IOC_DIRMASK
+)
+
+       )
+
+70 \ 1
+       #_IOC_TYPE
+(
+è((Òrè>> 
+_IOC_TYPESHIFT
+è& 
+_IOC_TYPEMASK
+)
+
+       )
+
+71 \ 1
+       #_IOC_NR
+(
+è((Òrè>> 
+_IOC_NRSHIFT
+è& 
+_IOC_NRMASK
+)
+
+       )
+
+72 \ 1
+       #_IOC_SIZE
+(
+è((Òrè>> 
+_IOC_SIZESHIFT
+è& 
+_IOC_SIZEMASK
+)
+
+       )
+
+76 \ 1
+       #IOC_IN
+ (
+_IOC_WRITE
+ << 
+_IOC_DIRSHIFT
+)
+
+       )
+
+77 \ 1
+       #IOC_OUT
+ (
+_IOC_READ
+ << 
+_IOC_DIRSHIFT
+)
+
+       )
+
+78 \ 1
+       #IOC_INOUT
+ ((
+_IOC_WRITE
+|
+_IOC_READ
+è<< 
+_IOC_DIRSHIFT
+)
+
+       )
+
+79 \ 1
+       #IOCSIZE_MASK
+ (
+_IOC_SIZEMASK
+ << 
+_IOC_SIZESHIFT
+)
+
+       )
+
+80 \ 1
+       #IOCSIZE_SHIFT
+ (
+_IOC_SIZESHIFT
+)
+
+       )
+
+       @/usr/include/asm-i386/linkage.h
+
+1 #iâdeà
+__ASM_LINKAGE_H
+
+
+2 \ 1
+       #__ASM_LINKAGE_H
+
+
+       )
+
+4 \ 1
+       #asml\9akage
+CPP_ASMLINKAGE
+       `__©\8cibu\8b__
+((
+       `»g·rm
+(0)))
+
+       )
+
+5 \ 1
+       #FASTCALL
+(
+x
+èx 
+       `__©\8cibu\8b__
+((
+       `»g·rm
+(3)))
+
+       )
+
+6 \ 1
+       #ç¡ÿÎ
+       `__©\8cibu\8b__
+((
+       `»g·rm
+(3)))
+
+       )
+
+8 #ifdeà
+CONFIG_REGPARM
+
+
+9 \ 1
+       #´ev\92t_\8f\9e_ÿÎ
+(
+»t
+       `__asm__
+ ("" : "ô" (»tè: "0" (»t))
+
+       )
+
+12 #ifdeà
+CONFIG_X86_ALIGNMENT_16
+
+
+13 \ 1
+       #__ALIGN
+ .
+®ign
+ 16,0x90
+
+       )
+
+14 \ 1
+       #__ALIGN_STR
+ ".®igÀ16,0x90"
+
+       )
+
+       @/usr/include/asm-i386/types.h
+
+1 #iâdeà
+_I386_TYPES_H
+
+
+2 \ 1
+       #_I386_TYPES_H
+
+
+       )
+
+4 #iâdeà
+__ASSEMBLY__
+
+
+6 \e\1d\16
+       tumode_t
+;
+
+13 \e
+__sigÃd__
\ 5
+       t__s8
+;
+
+14 \e\1d\ 5
+       t__u8
+;
+
+16 \e
+__sigÃd__
\16
+       t__s16
+;
+
+17 \e\1d\16
+       t__u16
+;
+
+19 \e
+__sigÃd__
\12
+       t__s32
+;
+
+20 \e\1d\12
+       t__u32
+;
+
+22 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+23 \e
+__sigÃd__
\13\13
+       t__s64
+;
+
+24 \e\1d\13\13
+       t__u64
+;
+
+       @/usr/include/asm-x86_64/cache.h
+
+4 #iâdeà
+__ARCH_X8664_CACHE_H
+
+
+5 \ 1
+       #__ARCH_X8664_CACHE_H
+
+
+       )
+
+9 \ 1
+       #L1_CACHE_SHIFT
+ (
+CONFIG_X86_L1_CACHE_SHIFT
+)
+
+       )
+
+10 \ 1
+       #L1_CACHE_BYTES
+ (1 << 
+L1_CACHE_SHIFT
+)
+
+       )
+
+11 \ 1
+       #L1_CACHE_SHIFT_MAX
+ 6
+
+       )
+
+       @/usr/include/asm-x86_64/fcntl.h
+
+1 #iâdeà
+_X86_64_FCNTL_H
+
+
+2 \ 1
+       #_X86_64_FCNTL_H
+
+
+       )
+
+6 \ 1
+       #O_ACCMODE
+ 0003
+
+       )
+
+7 \ 1
+       #O_RDONLY
+ 00
+
+       )
+
+8 \ 1
+       #O_WRONLY
+ 01
+
+       )
+
+9 \ 1
+       #O_RDWR
+ 02
+
+       )
+
+10 \ 1
+       #O_CREAT
+ 0100
+
+       )
+
+11 \ 1
+       #O_EXCL
+ 0200
+
+       )
+
+12 \ 1
+       #O_NOCTTY
+ 0400
+
+       )
+
+13 \ 1
+       #O_TRUNC
+ 01000
+
+       )
+
+14 \ 1
+       #O_APPEND
+ 02000
+
+       )
+
+15 \ 1
+       #O_NONBLOCK
+ 04000
+
+       )
+
+16 \ 1
+       #O_NDELAY
+O_NONBLOCK
+
+
+       )
+
+17 \ 1
+       #O_SYNC
+ 010000
+
+       )
+
+18 \ 1
+       #FASYNC
+ 020000
+
+       )
+
+19 \ 1
+       #O_DIRECT
+ 040000
+
+       )
+
+20 \ 1
+       #O_LARGEFILE
+ 0100000
+
+       )
+
+21 \ 1
+       #O_DIRECTORY
+ 0200000
+
+       )
+
+22 \ 1
+       #O_NOFOLLOW
+ 0400000
+
+       )
+
+23 \ 1
+       #O_NOATIME
+ 01000000
+
+       )
+
+25 \ 1
+       #F_DUPFD
+ 0
+
+       )
+
+26 \ 1
+       #F_GETFD
+ 1
+
+       )
+
+27 \ 1
+       #F_SETFD
+ 2
+
+       )
+
+28 \ 1
+       #F_GETFL
+ 3
+
+       )
+
+29 \ 1
+       #F_SETFL
+ 4
+
+       )
+
+30 \ 1
+       #F_GETLK
+ 5
+
+       )
+
+31 \ 1
+       #F_SETLK
+ 6
+
+       )
+
+32 \ 1
+       #F_SETLKW
+ 7
+
+       )
+
+34 \ 1
+       #F_SETOWN
+ 8
+
+       )
+
+35 \ 1
+       #F_GETOWN
+ 9
+
+       )
+
+36 \ 1
+       #F_SETSIG
+ 10
+
+       )
+
+37 \ 1
+       #F_GETSIG
+ 11
+
+       )
+
+40 \ 1
+       #FD_CLOEXEC
+ 1
+
+       )
+
+43 \ 1
+       #F_RDLCK
+ 0
+
+       )
+
+44 \ 1
+       #F_WRLCK
+ 1
+
+       )
+
+45 \ 1
+       #F_UNLCK
+ 2
+
+       )
+
+48 \ 1
+       #F_EXLCK
+ 4
+
+       )
+
+49 \ 1
+       #F_SHLCK
+ 8
+
+       )
+
+52 \ 1
+       #F_INPROGRESS
+ 16
+
+       )
+
+55 \ 1
+       #LOCK_SH
+ 1
+
+       )
+
+56 \ 1
+       #LOCK_EX
+ 2
+
+       )
+
+57 \ 1
+       #LOCK_NB
+ 4
+
+       )
+
+59 \ 1
+       #LOCK_UN
+ 8
+
+       )
+
+61 \ 1
+       #LOCK_MAND
+ 32
+
+       )
+
+62 \ 1
+       #LOCK_READ
+ 64
+
+       )
+
+63 \ 1
+       #LOCK_WRITE
+ 128
+
+       )
+
+64 \ 1
+       #LOCK_RW
+ 192
+
+       )
+
+66 \19
+       sæock
+ {
+
+67 \16
+       ml_ty³
+;
+
+68 \16
+       ml_wh\92û
+;
+
+69 
+off_t
+       ml_¡¬t
+;
+
+70 
+off_t
+       ml_Ën
+;
+
+71 
+pid_t
+       ml_pid
+;
+
+74 \ 1
+       #F_LINUX_SPECIFIC_BASE
+ 1024
+
+       )
+
+       @/usr/include/asm-x86_64/ioctl.h
+
+6 #iâdeà
+_ASMX8664_IOCTL_H
+
+
+7 \ 1
+       #_ASMX8664_IOCTL_H
+
+
+       )
+
+27 \ 1
+       #_IOC_NRBITS
+ 8
+
+       )
+
+28 \ 1
+       #_IOC_TYPEBITS
+ 8
+
+       )
+
+29 \ 1
+       #_IOC_SIZEBITS
+ 14
+
+       )
+
+30 \ 1
+       #_IOC_DIRBITS
+ 2
+
+       )
+
+32 \ 1
+       #_IOC_NRMASK
+ ((1 << 
+_IOC_NRBITS
+)-1)
+
+       )
+
+33 \ 1
+       #_IOC_TYPEMASK
+ ((1 << 
+_IOC_TYPEBITS
+)-1)
+
+       )
+
+34 \ 1
+       #_IOC_SIZEMASK
+ ((1 << 
+_IOC_SIZEBITS
+)-1)
+
+       )
+
+35 \ 1
+       #_IOC_DIRMASK
+ ((1 << 
+_IOC_DIRBITS
+)-1)
+
+       )
+
+37 \ 1
+       #_IOC_NRSHIFT
+ 0
+
+       )
+
+38 \ 1
+       #_IOC_TYPESHIFT
+ (
+_IOC_NRSHIFT
++
+_IOC_NRBITS
+)
+
+       )
+
+39 \ 1
+       #_IOC_SIZESHIFT
+ (
+_IOC_TYPESHIFT
++
+_IOC_TYPEBITS
+)
+
+       )
+
+40 \ 1
+       #_IOC_DIRSHIFT
+ (
+_IOC_SIZESHIFT
++
+_IOC_SIZEBITS
+)
+
+       )
+
+45 \ 1
+       #_IOC_NONE
+ 0U
+
+       )
+
+46 \ 1
+       #_IOC_WRITE
+ 1U
+
+       )
+
+47 \ 1
+       #_IOC_READ
+ 2U
+
+       )
+
+49 \ 1
+       #_IOC
+(
+d\9c
+,
+ty³
+,
+,
+size
+) \
+
+50 (((
+d\9c
+è<< 
+_IOC_DIRSHIFT
+) | \
+
+51 ((
+ty³
+è<< 
+_IOC_TYPESHIFT
+) | \
+
+52 ((
+è<< 
+_IOC_NRSHIFT
+) | \
+
+53 ((
+size
+è<< 
+_IOC_SIZESHIFT
+))
+
+       )
+
+56 \ 1
+       #_IO
+(
+ty³
+,
+       `_IOC
+(
+_IOC_NONE
+,Ñy³),Òr),0)
+
+       )
+
+57 \ 1
+       #_IOR
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+,Ñy³),Òr),\17(size))
+
+       )
+
+58 \ 1
+       #_IOW
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_WRITE
+,Ñy³),Òr),\17(size))
+
+       )
+
+59 \ 1
+       #_IOWR
+(
+ty³
+,
+,
+size
+       `_IOC
+(
+_IOC_READ
+|
+_IOC_WRITE
+,Ñy³),Òr),\17(size))
+
+       )
+
+62 \ 1
+       #_IOC_DIR
+(
+è((Òrè>> 
+_IOC_DIRSHIFT
+è& 
+_IOC_DIRMASK
+)
+
+       )
+
+63 \ 1
+       #_IOC_TYPE
+(
+è((Òrè>> 
+_IOC_TYPESHIFT
+è& 
+_IOC_TYPEMASK
+)
+
+       )
+
+64 \ 1
+       #_IOC_NR
+(
+è((Òrè>> 
+_IOC_NRSHIFT
+è& 
+_IOC_NRMASK
+)
+
+       )
+
+65 \ 1
+       #_IOC_SIZE
+(
+è((Òrè>> 
+_IOC_SIZESHIFT
+è& 
+_IOC_SIZEMASK
+)
+
+       )
+
+69 \ 1
+       #IOC_IN
+ (
+_IOC_WRITE
+ << 
+_IOC_DIRSHIFT
+)
+
+       )
+
+70 \ 1
+       #IOC_OUT
+ (
+_IOC_READ
+ << 
+_IOC_DIRSHIFT
+)
+
+       )
+
+71 \ 1
+       #IOC_INOUT
+ ((
+_IOC_WRITE
+|
+_IOC_READ
+è<< 
+_IOC_DIRSHIFT
+)
+
+       )
+
+72 \ 1
+       #IOCSIZE_MASK
+ (
+_IOC_SIZEMASK
+ << 
+_IOC_SIZESHIFT
+)
+
+       )
+
+73 \ 1
+       #IOCSIZE_SHIFT
+ (
+_IOC_SIZESHIFT
+)
+
+       )
+
+       @/usr/include/asm-x86_64/linkage.h
+
+1 #iâdeà
+__ASM_LINKAGE_H
+
+
+2 \ 1
+       #__ASM_LINKAGE_H
+
+
+       )
+
+       @/usr/include/asm-x86_64/types.h
+
+1 #iâdeà
+_X86_64_TYPES_H
+
+
+2 \ 1
+       #_X86_64_TYPES_H
+
+
+       )
+
+4 #iâdeà
+__ASSEMBLY__
+
+
+6 \e\1d\16
+       tumode_t
+;
+
+13 \e
+__sigÃd__
\ 5
+       t__s8
+;
+
+14 \e\1d\ 5
+       t__u8
+;
+
+16 \e
+__sigÃd__
\16
+       t__s16
+;
+
+17 \e\1d\16
+       t__u16
+;
+
+19 \e
+__sigÃd__
\12
+       t__s32
+;
+
+20 \e\1d\12
+       t__u32
+;
+
+22 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+23 \e
+__sigÃd__
\13\13
+       t__s64
+;
+
+24 \e\1d\13\13
+       t__u64
+;
+
+       @/usr/include/asm/errno.h
+
+5 #iâdeà
+__i386STUB__ERRNO_H__
+
+
+6 \ 1
+       #__i386STUB__ERRNO_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/\94ºo.h
+>
+
+11 \ 2
+       ~<asm-i386/\94ºo.h
+>
+
+       @/usr/include/asm/posix_types.h
+
+5 #iâdeà
+__i386STUB__POSIX_TYPES_H__
+
+
+6 \ 1
+       #__i386STUB__POSIX_TYPES_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/posix_ty³s.h
+>
+
+11 \ 2
+       ~<asm-i386/posix_ty³s.h
+>
+
+       @/usr/include/bits/endian.h
+
+3 #iâdeà
+_ENDIAN_H
+
+
+7 \ 1
+       #__BYTE_ORDER
+__LITTLE_ENDIAN
+
+
+       )
+
+       @/usr/include/bits/local_lim.h
+
+25 #iâdeà
+NR_OPEN
+
+
+26 \ 1
+       #__undef_NR_OPEN
+
+
+       )
+
+28 #iâdeà
+LINK_MAX
+
+
+29 \ 1
+       #__undef_LINK_MAX
+
+
+       )
+
+31 #iâdeà
+OPEN_MAX
+
+
+32 \ 1
+       #__undef_OPEN_MAX
+
+
+       )
+
+36 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+39 #ifdeà
+__undef_NR_OPEN
+
+
+40 #undeà
+NR_OPEN
+
+
+41 #undeà
+__undef_NR_OPEN
+
+
+44 #ifdeà
+__undef_LINK_MAX
+
+
+45 #undeà
+LINK_MAX
+
+
+46 #undeà
+__undef_LINK_MAX
+
+
+49 #ifdeà
+__undef_OPEN_MAX
+
+
+50 #undeà
+OPEN_MAX
+
+
+51 #undeà
+__undef_OPEN_MAX
+
+
+55 \ 1
+       #_POSIX_THREAD_KEYS_MAX
+ 128
+
+       )
+
+57 \ 1
+       #PTHREAD_KEYS_MAX
+ 1024
+
+       )
+
+60 \ 1
+       #_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+ 4
+
+       )
+
+62 \ 1
+       #PTHREAD_DESTRUCTOR_ITERATIONS
+_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+
+       )
+
+65 \ 1
+       #_POSIX_THREAD_THREADS_MAX
+ 64
+
+       )
+
+67 \ 1
+       #PTHREAD_THREADS_MAX
+ 16384
+
+       )
+
+71 \ 1
+       #AIO_PRIO_DELTA_MAX
+ 20
+
+       )
+
+74 \ 1
+       #PTHREAD_STACK_MIN
+ 16384
+
+       )
+
+77 \ 1
+       #TIMER_MAX
+ 256
+
+       )
+
+80 \ 1
+       #DELAYTIMER_MAX
+ 2147483647
+
+       )
+
+83 \ 1
+       #TTY_NAME_MAX
+ 32
+
+       )
+
+86 \ 1
+       #LOGIN_NAME_MAX
+ 256
+
+       )
+
+89 \ 1
+       #HOST_NAME_MAX
+ 64
+
+       )
+
+92 \ 1
+       #MQ_PRIO_MAX
+ 32768
+
+       )
+
+       @/usr/include/bits/sched.h
+
+21 #iâdeà
+__Ãed_sched·¿m
+
+
+23 #iâdeà
+_SCHED_H
+
+
+29 \ 1
+       #SCHED_OTHER
+ 0
+
+       )
+
+30 \ 1
+       #SCHED_FIFO
+ 1
+
+       )
+
+31 \ 1
+       #SCHED_RR
+ 2
+
+       )
+
+33 #ifdeà
+__USE_MISC
+
+
+35 \ 1
+       #CSIGNAL
+ 0x000000fà
+
+       )
+
+36 \ 1
+       #CLONE_VM
+ 0x00000100
+
+       )
+
+37 \ 1
+       #CLONE_FS
+ 0x00000200
+
+       )
+
+38 \ 1
+       #CLONE_FILES
+ 0x00000400
+
+       )
+
+39 \ 1
+       #CLONE_SIGHAND
+ 0x00000800
+
+       )
+
+40 \ 1
+       #CLONE_PTRACE
+ 0x00002000
+
+       )
+
+41 \ 1
+       #CLONE_VFORK
+ 0x00004000
+
+       )
+
+43 \ 1
+       #CLONE_PARENT
+ 0x00008000
+
+       )
+
+45 \ 1
+       #CLONE_THREAD
+ 0x00010000
+
+       )
+
+46 \ 1
+       #CLONE_NEWNS
+ 0x00020000
+
+       )
+
+47 \ 1
+       #CLONE_SYSVSEM
+ 0x00040000
+
+       )
+
+48 \ 1
+       #CLONE_SETTLS
+ 0x00080000
+
+       )
+
+49 \ 1
+       #CLONE_PARENT_SETTID
+ 0x00100000
+
+       )
+
+51 \ 1
+       #CLONE_CHILD_CLEARTID
+ 0x00200000
+
+       )
+
+53 \ 1
+       #CLONE_DETACHED
+ 0x00400000
+
+       )
+
+54 \ 1
+       #CLONE_UNTRACED
+ 0x00800000
+
+       )
+
+56 \ 1
+       #CLONE_CHILD_SETTID
+ 0x01000000
+
+       )
+
+58 \ 1
+       #CLONE_STOPPED
+ 0x02000000
+
+       )
+
+62 \19
+       ssched_·¿m
+
+
+64 \12
+       m__sched_´iÜ\99y
+;
+
+67 
+       g__BEGIN_DECLS
+
+
+70 #ifdeà
+__USE_MISC
+
+
+71 \r\12
+þÚe
+ (\12(*
+__â
+è(\1e*
+__¬g
+), \1e*
+__ch\9ed_¡ack
+,
+
+72 \12
+__æags
+, \1e*
+__¬g
+__THROW
+;
+
+75 
+__END_DECLS
+
+
+79 #ià!
+def\9aed
+__def\9aed_sched·¿m
+ \
+
+80 && (
+def\9aed
+__Ãed_sched·¿m
+ || def\9aed 
+_SCHED_H
+)
+
+81 \ 1
+       #__def\9aed_sched·¿m
+ 1
+
+       )
+
+83 \19
+       s__sched_·¿m
+
+
+85 \12
+__sched_´iÜ\99y
+;
+
+87 #undeà
+__Ãed_sched·¿m
+
+
+91 #ià
+def\9aed
+_SCHED_H
+ && !def\9aed 
+__ýu_£t_t_def\9aed
+
+
+92 \ 1
+       #__ýu_£t_t_def\9aed
+
+
+       )
+
+94 \ 1
+       #__CPU_SETSIZE
+ 1024
+
+       )
+
+95 \ 1
+       #__NCPUBITS
+ (8 * \17 (
+__ýu_mask
+))
+
+       )
+
+98 \e\1d\13\12
+       t__ýu_mask
+;
+
+101 \ 1
+       #__CPUELT
+(
+ýu
+è((ýuè/ 
+__NCPUBITS
+)
+
+       )
+
+102 \ 1
+       #__CPUMASK
+(
+ýu
+è((
+__ýu_mask
+è1 << ((ýuè% 
+__NCPUBITS
+))
+
+       )
+
+107 
+__ýu_mask
+__b\99s
+[
+__CPU_SETSIZE
+ / 
+__NCPUBITS
+];
+
+108 } 
+       týu_£t_t
+;
+
+111 \ 1
+       #__CPU_ZERO
+(
+ýu£\8d
+) \
+
+113 \1d\12
+__i
+; \
+
+114 
+ýu_£t_t
+ *
+__¬r
+ = (
+ýu£\8d
+); \
+
+115 \ f
+__i
+ = 0; __\98\17 (
+ýu_£t_t
+è/ \17 (
+__ýu_mask
+); ++__i) \
+
+116 
+__¬r
+->
+__b\99s
+[
+__i
+] = 0; \
+
+117 
+       }
+} \1f0)
+
+       )
+
+118 \ 1
+       #__CPU_SET
+(
+ýu
+, 
+ýu£\8d
+) \
+
+119 ((
+ýu£\8d
+)->
+__b\99s
+[
+       `__CPUELT
+ (
+ýu
+)] |ð
+       `__CPUMASK
+ (ýu))
+
+       )
+
+120 \ 1
+       #__CPU_CLR
+(
+ýu
+, 
+ýu£\8d
+) \
+
+121 ((
+ýu£\8d
+)->
+__b\99s
+[
+       `__CPUELT
+ (
+ýu
+)] &ð~
+       `__CPUMASK
+ (ýu))
+
+       )
+
+122 \ 1
+       #__CPU_ISSET
+(
+ýu
+, 
+ýu£\8d
+) \
+
+123 (((
+ýu£\8d
+)->
+__b\99s
+[
+       `__CPUELT
+ (
+ýu
+)] & 
+       `__CPUMASK
+ (ýu)è!ð0)
+
+       )
+
+       @/usr/include/bits/select.h
+
+19 #iâdeà
+_SYS_SELECT_H
+
+
+24 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+26 \ 1
+       #__FD_ZERO
+(
+fd¥
+) \
+
+28 \12
+__d0
+, 
+__d1
+; \
+
+29 
+__asm__
+       `__vÞ©\9ee__
+ ("cld;\84ep; stosl" \
+
+30 : "=c" (
+__d0
+), "=D" (
+__d1
+) \
+
+31 : "a" (0), "0" (\17 (
+fd_£t
+) \
+
+32 / \17 (
+__fd_mask
+)), \
+
+33 "1" (&
+       `__FDS_BITS
+ (
+fd¥
+)[0]) \
+
+35 } \1f0)
+
+       )
+
+37 \ 1
+       #__FD_SET
+(
+fd
+, 
+fd¥
+) \
+
+38 
+__asm__
+       `__vÞ©\9ee__
+ ("btsl %1,%0" \
+
+39 : "=m" (
+       `__FDS_BITS
+ (
+fd¥
+)[
+       `__FDELT
+ (
+fd
+)]) \
+
+40 : "r" (((\12è(
+fd
+)è% 
+__NFDBITS
+) \
+
+41 : "cc","memÜy")
+
+       )
+
+42 \ 1
+       #__FD_CLR
+(
+fd
+, 
+fd¥
+) \
+
+43 
+__asm__
+       `__vÞ©\9ee__
+ ("btrl %1,%0" \
+
+44 : "=m" (
+       `__FDS_BITS
+ (
+fd¥
+)[
+       `__FDELT
+ (
+fd
+)]) \
+
+45 : "r" (((\12è(
+fd
+)è% 
+__NFDBITS
+) \
+
+46 : "cc","memÜy")
+
+       )
+
+47 \ 1
+       #__FD_ISSET
+(
+fd
+, 
+fd¥
+) \
+
+48 (
+__ex\8bnsiÚ__
+ \
+
+49 ({\14\ 5
+__»suÉ
+; \
+
+50 
+__asm__
+       `__vÞ©\9ee__
+ ("btl %1,%2 ; setcb %b0" \
+
+51 : "=q" (
+__»suÉ
+) \
+
+52 : "r" (((\12è(
+fd
+)è% 
+__NFDBITS
+), \
+
+53 "m" (
+       `__FDS_BITS
+ (
+fd¥
+)[
+       `__FDELT
+ (
+fd
+)]) \
+
+55 
+__»suÉ
+; }))
+
+       )
+
+61 \ 1
+       #__FD_ZERO
+(
+£t
+) \
+
+63 \1d\12
+__i
+; \
+
+64 
+fd_£t
+ *
+__¬r
+ = (
+£t
+); \
+
+65 \ f
+__i
+ = 0; __\98\17 (
+fd_£t
+è/ \17 (
+__fd_mask
+); ++__i) \
+
+66 
+       `__FDS_BITS
+ (
+__¬r
+)[
+__i
+] = 0; \
+
+67 } \1f0)
+
+       )
+
+68 \ 1
+       #__FD_SET
+(
+d
+, 
+£t
+è(
+       `__FDS_BITS
+ (£t)[
+       `__FDELT
+ (d)] |ð
+       `__FDMASK
+ (d))
+
+       )
+
+69 \ 1
+       #__FD_CLR
+(
+d
+, 
+£t
+è(
+       `__FDS_BITS
+ (£t)[
+       `__FDELT
+ (d)] &ð~
+       `__FDMASK
+ (d))
+
+       )
+
+70 \ 1
+       #__FD_ISSET
+(
+d
+, 
+£t
+è(
+       `__FDS_BITS
+ (£t)[
+       `__FDELT
+ (d)] & 
+       `__FDMASK
+ (d))
+
+       )
+
+       @/usr/include/bits/siginfo.h
+
+20 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+__Ãed_sig\9afo_t
+ \
+
+21 && !
+def\9aed
+       g__Ãed_sigev\92t_t
+
+
+25 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+27 #ià(!
+def\9aed
+__have_sigv®_t
+ \
+
+28 && (
+def\9aed
+       g_SIGNAL_H
+ || def\9aed 
+       g__Ãed_sig\9afo_t
+ \
+
+29 || 
+def\9aed
+       g__Ãed_sigev\92t_t
+))
+
+30 \ 1
+       #__have_sigv®_t
+ 1
+
+       )
+
+33 \e\1c
+       usigv®
+
+
+35 \12
+       msiv®_\9at
+;
+
+36 \1e*
+       msiv®_±r
+;
+
+37 } 
+       tsigv®_t
+;
+
+40 #ià(!
+def\9aed
+__have_sig\9afo_t
+ \
+
+41 && (
+def\9aed
+       g_SIGNAL_H
+ || def\9aed 
+       g__Ãed_sig\9afo_t
+))
+
+42 \ 1
+       #__have_sig\9afo_t
+ 1
+
+       )
+
+44 \ 1
+       #__SI_MAX_SIZE
+ 128
+
+       )
+
+45 #ià
+__WORDSIZE
+ == 64
+
+46 \ 1
+       #__SI_PAD_SIZE
+ ((
+__SI_MAX_SIZE
+ / \17 (\12)è- 4)
+
+       )
+
+48 \ 1
+       #__SI_PAD_SIZE
+ ((
+__SI_MAX_SIZE
+ / \17 (\12)è- 3)
+
+       )
+
+51 \e\19
+       ssig\9afo
+
+
+53 \12
+       msi_signo
+;
+
+54 \12
+       msi_\94ºo
+;
+
+56 \12
+       msi_code
+;
+
+60 \12
+       m_·d
+[
+__SI_PAD_SIZE
+];
+
+65 
+__pid_t
+       msi_pid
+;
+
+66 
+__uid_t
+       msi_uid
+;
+
+67 } 
+       m_k\9el
+;
+
+72 \12
+       msi_tid
+;
+
+73 \12
+       msi_ov\94run
+;
+
+74 
+sigv®_t
+       msi_sigv®
+;
+
+75 } 
+       m_tim\94
+;
+
+80 
+__pid_t
+       msi_pid
+;
+
+81 
+__uid_t
+       msi_uid
+;
+
+82 
+sigv®_t
+       msi_sigv®
+;
+
+83 } 
+       m_¹
+;
+
+88 
+__pid_t
+       msi_pid
+;
+
+89 
+__uid_t
+       msi_uid
+;
+
+90 \12
+       msi_¡©us
+;
+
+91 
+__þock_t
+       msi_utime
+;
+
+92 
+__þock_t
+       msi_¡ime
+;
+
+93 } 
+       m_sigchld
+;
+
+98 \1e*
+       msi_addr
+;
+
+99 } 
+       m_sigçuÉ
+;
+
+104 \13\12
+       msi_bªd
+;
+
+105 \12
+       msi_fd
+;
+
+106 } 
+       m_sigpÞl
+;
+
+107 } 
+       m_sif\9blds
+;
+
+108 } 
+       tsig\9afo_t
+;
+
+112 \ 1
+       #si_pid
+_sif\9blds
+.
+_k\9el
+.
+si_pid
+
+
+       )
+
+113 \ 1
+       #si_uid
+_sif\9blds
+.
+_k\9el
+.
+si_uid
+
+
+       )
+
+114 \ 1
+       #si_tim\94id
+_sif\9blds
+.
+_tim\94
+.
+si_tid
+
+
+       )
+
+115 \ 1
+       #si_ov\94run
+_sif\9blds
+.
+_tim\94
+.
+si_ov\94run
+
+
+       )
+
+116 \ 1
+       #si_¡©us
+_sif\9blds
+.
+_sigchld
+.
+si_¡©us
+
+
+       )
+
+117 \ 1
+       #si_utime
+_sif\9blds
+.
+_sigchld
+.
+si_utime
+
+
+       )
+
+118 \ 1
+       #si_¡ime
+_sif\9blds
+.
+_sigchld
+.
+si_¡ime
+
+
+       )
+
+119 \ 1
+       #si_v®ue
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+
+
+       )
+
+120 \ 1
+       #si_\9at
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+.
+siv®_\9at
+
+
+       )
+
+121 \ 1
+       #si_±r
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+.
+siv®_±r
+
+
+       )
+
+122 \ 1
+       #si_addr
+_sif\9blds
+.
+_sigçuÉ
+.
+si_addr
+
+
+       )
+
+123 \ 1
+       #si_bªd
+_sif\9blds
+.
+_sigpÞl
+.
+si_bªd
+
+
+       )
+
+124 \ 1
+       #si_fd
+_sif\9blds
+.
+_sigpÞl
+.
+si_fd
+
+
+       )
+
+131 
+       mSI_ASYNCNL
+ = -60,
+
+132 \ 1
+       #SI_ASYNCNL
+SI_ASYNCNL
+
+
+       )
+
+133 
+       mSI_TKILL
+ = -6,
+
+134 \ 1
+       #SI_TKILL
+SI_TKILL
+
+
+       )
+
+135 
+       mSI_SIGIO
+,
+
+136 \ 1
+       #SI_SIGIO
+SI_SIGIO
+
+
+       )
+
+137 
+       mSI_ASYNCIO
+,
+
+138 \ 1
+       #SI_ASYNCIO
+SI_ASYNCIO
+
+
+       )
+
+139 
+       mSI_MESGQ
+,
+
+140 \ 1
+       #SI_MESGQ
+SI_MESGQ
+
+
+       )
+
+141 
+       mSI_TIMER
+,
+
+142 \ 1
+       #SI_TIMER
+SI_TIMER
+
+
+       )
+
+143 
+       mSI_QUEUE
+,
+
+144 \ 1
+       #SI_QUEUE
+SI_QUEUE
+
+
+       )
+
+145 
+       mSI_USER
+,
+
+146 \ 1
+       #SI_USER
+SI_USER
+
+
+       )
+
+147 
+       mSI_KERNEL
+ = 0x80
+
+148 \ 1
+       #SI_KERNEL
+SI_KERNEL
+
+
+       )
+
+155 
+       mILL_ILLOPC
+ = 1,
+
+156 \ 1
+       #ILL_ILLOPC
+ILL_ILLOPC
+
+
+       )
+
+157 
+       mILL_ILLOPN
+,
+
+158 \ 1
+       #ILL_ILLOPN
+ILL_ILLOPN
+
+
+       )
+
+159 
+       mILL_ILLADR
+,
+
+160 \ 1
+       #ILL_ILLADR
+ILL_ILLADR
+
+
+       )
+
+161 
+       mILL_ILLTRP
+,
+
+162 \ 1
+       #ILL_ILLTRP
+ILL_ILLTRP
+
+
+       )
+
+163 
+       mILL_PRVOPC
+,
+
+164 \ 1
+       #ILL_PRVOPC
+ILL_PRVOPC
+
+
+       )
+
+165 
+       mILL_PRVREG
+,
+
+166 \ 1
+       #ILL_PRVREG
+ILL_PRVREG
+
+
+       )
+
+167 
+       mILL_COPROC
+,
+
+168 \ 1
+       #ILL_COPROC
+ILL_COPROC
+
+
+       )
+
+169 
+       mILL_BADSTK
+
+
+170 \ 1
+       #ILL_BADSTK
+ILL_BADSTK
+
+
+       )
+
+176 
+       mFPE_INTDIV
+ = 1,
+
+177 \ 1
+       #FPE_INTDIV
+FPE_INTDIV
+
+
+       )
+
+178 
+       mFPE_INTOVF
+,
+
+179 \ 1
+       #FPE_INTOVF
+FPE_INTOVF
+
+
+       )
+
+180 
+       mFPE_FLTDIV
+,
+
+181 \ 1
+       #FPE_FLTDIV
+FPE_FLTDIV
+
+
+       )
+
+182 
+       mFPE_FLTOVF
+,
+
+183 \ 1
+       #FPE_FLTOVF
+FPE_FLTOVF
+
+
+       )
+
+184 
+       mFPE_FLTUND
+,
+
+185 \ 1
+       #FPE_FLTUND
+FPE_FLTUND
+
+
+       )
+
+186 
+       mFPE_FLTRES
+,
+
+187 \ 1
+       #FPE_FLTRES
+FPE_FLTRES
+
+
+       )
+
+188 
+       mFPE_FLTINV
+,
+
+189 \ 1
+       #FPE_FLTINV
+FPE_FLTINV
+
+
+       )
+
+190 
+       mFPE_FLTSUB
+
+
+191 \ 1
+       #FPE_FLTSUB
+FPE_FLTSUB
+
+
+       )
+
+197 
+       mSEGV_MAPERR
+ = 1,
+
+198 \ 1
+       #SEGV_MAPERR
+SEGV_MAPERR
+
+
+       )
+
+199 
+       mSEGV_ACCERR
+
+
+200 \ 1
+       #SEGV_ACCERR
+SEGV_ACCERR
+
+
+       )
+
+206 
+       mBUS_ADRALN
+ = 1,
+
+207 \ 1
+       #BUS_ADRALN
+BUS_ADRALN
+
+
+       )
+
+208 
+       mBUS_ADRERR
+,
+
+209 \ 1
+       #BUS_ADRERR
+BUS_ADRERR
+
+
+       )
+
+210 
+       mBUS_OBJERR
+
+
+211 \ 1
+       #BUS_OBJERR
+BUS_OBJERR
+
+
+       )
+
+217 
+       mTRAP_BRKPT
+ = 1,
+
+218 \ 1
+       #TRAP_BRKPT
+TRAP_BRKPT
+
+
+       )
+
+219 
+       mTRAP_TRACE
+
+
+220 \ 1
+       #TRAP_TRACE
+TRAP_TRACE
+
+
+       )
+
+226 
+       mCLD_EXITED
+ = 1,
+
+227 \ 1
+       #CLD_EXITED
+CLD_EXITED
+
+
+       )
+
+228 
+       mCLD_KILLED
+,
+
+229 \ 1
+       #CLD_KILLED
+CLD_KILLED
+
+
+       )
+
+230 
+       mCLD_DUMPED
+,
+
+231 \ 1
+       #CLD_DUMPED
+CLD_DUMPED
+
+
+       )
+
+232 
+       mCLD_TRAPPED
+,
+
+233 \ 1
+       #CLD_TRAPPED
+CLD_TRAPPED
+
+
+       )
+
+234 
+       mCLD_STOPPED
+,
+
+235 \ 1
+       #CLD_STOPPED
+CLD_STOPPED
+
+
+       )
+
+236 
+       mCLD_CONTINUED
+
+
+237 \ 1
+       #CLD_CONTINUED
+CLD_CONTINUED
+
+
+       )
+
+243 
+       mPOLL_IN
+ = 1,
+
+244 \ 1
+       #POLL_IN
+POLL_IN
+
+
+       )
+
+245 
+       mPOLL_OUT
+,
+
+246 \ 1
+       #POLL_OUT
+POLL_OUT
+
+
+       )
+
+247 
+       mPOLL_MSG
+,
+
+248 \ 1
+       #POLL_MSG
+POLL_MSG
+
+
+       )
+
+249 
+       mPOLL_ERR
+,
+
+250 \ 1
+       #POLL_ERR
+POLL_ERR
+
+
+       )
+
+251 
+       mPOLL_PRI
+,
+
+252 \ 1
+       #POLL_PRI
+POLL_PRI
+
+
+       )
+
+253 
+       mPOLL_HUP
+
+
+254 \ 1
+       #POLL_HUP
+POLL_HUP
+
+
+       )
+
+257 #undeà
+__Ãed_sig\9afo_t
+
+
+261 #ià(
+def\9aed
+_SIGNAL_H
+ || def\9aed 
+__Ãed_sigev\92t_t
+) \
+
+262 && !
+def\9aed
+       g__have_sigev\92t_t
+
+
+263 \ 1
+       #__have_sigev\92t_t
+ 1
+
+       )
+
+266 \ 1
+       #__SIGEV_MAX_SIZE
+ 64
+
+       )
+
+267 #ià
+__WORDSIZE
+ == 64
+
+268 \ 1
+       #__SIGEV_PAD_SIZE
+ ((
+__SIGEV_MAX_SIZE
+ / \17 (\12)è- 4)
+
+       )
+
+270 \ 1
+       #__SIGEV_PAD_SIZE
+ ((
+__SIGEV_MAX_SIZE
+ / \17 (\12)è- 3)
+
+       )
+
+273 \e\19
+       ssigev\92t
+
+
+275 
+sigv®_t
+       msigev_v®ue
+;
+
+276 \12
+       msigev_signo
+;
+
+277 \12
+       msigev_nÙify
+;
+
+281 \12
+       m_·d
+[
+__SIGEV_PAD_SIZE
+];
+
+285 
+__pid_t
+       m_tid
+;
+
+289 \1e(*
+       m_funùiÚ
+è(
+       msigv®_t
+);
+
+290 \1e*
+       m_©\8cibu\8b
+;
+
+291 } 
+       m_sigev_th»ad
+;
+
+292 } 
+       m_sigev_un
+;
+
+293 } 
+       tsigev\92t_t
+;
+
+296 \ 1
+       #sigev_nÙify_funùiÚ
+_sigev_un
+.
+_sigev_th»ad
+.
+_funùiÚ
+
+
+       )
+
+297 \ 1
+       #sigev_nÙify_©\8cibu\8bs
+_sigev_un
+.
+_sigev_th»ad
+.
+_©\8cibu\8b
+
+
+       )
+
+302 
+       mSIGEV_SIGNAL
+ = 0,
+
+303 \ 1
+       #SIGEV_SIGNAL
+SIGEV_SIGNAL
+
+
+       )
+
+304 
+       mSIGEV_NONE
+,
+
+305 \ 1
+       #SIGEV_NONE
+SIGEV_NONE
+
+
+       )
+
+306 
+       mSIGEV_THREAD
+,
+
+307 \ 1
+       #SIGEV_THREAD
+SIGEV_THREAD
+
+
+       )
+
+309 
+       mSIGEV_THREAD_ID
+ = 4
+
+310 \ 1
+       #SIGEV_THREAD_ID
+SIGEV_THREAD_ID
+
+
+       )
+
+       @/usr/include/bits/stat.h
+
+19 #iâdeà
+_SYS_STAT_H
+
+
+24 \ 1
+       #_STAT_VER_LINUX_OLD
+ 1
+
+       )
+
+25 \ 1
+       #_STAT_VER_KERNEL
+ 1
+
+       )
+
+26 \ 1
+       #_STAT_VER_SVR4
+ 2
+
+       )
+
+27 \ 1
+       #_STAT_VER_LINUX
+ 3
+
+       )
+
+28 \ 1
+       #_STAT_VER
+_STAT_VER_LINUX
+
+
+       )
+
+31 \ 1
+       #_MKNOD_VER_LINUX
+ 1
+
+       )
+
+32 \ 1
+       #_MKNOD_VER_SVR4
+ 2
+
+       )
+
+33 \ 1
+       #_MKNOD_VER
+_MKNOD_VER_LINUX
+
+
+       )
+
+36 \19
+       s¡©
+
+
+38 
+__dev_t
+       m¡_dev
+;
+
+39 \1d\16\12
+       m__·d1
+;
+
+40 #iâdeà
+__USE_FILE_OFFSET64
+
+
+41 
+__\9ao_t
+       m¡_\9ao
+;
+
+43 
+__\9ao_t
+       m__¡_\9ao
+;
+
+45 
+__mode_t
+       m¡_mode
+;
+
+46 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+47 
+__uid_t
+       m¡_uid
+;
+
+48 
+__gid_t
+       m¡_gid
+;
+
+49 
+__dev_t
+       m¡_rdev
+;
+
+50 \1d\16\12
+       m__·d2
+;
+
+51 #iâdeà
+__USE_FILE_OFFSET64
+
+
+52 
+__off_t
+       m¡_size
+;
+
+54 
+__off64_t
+       m¡_size
+;
+
+56 
+__blksize_t
+       m¡_blksize
+;
+
+58 #iâdeà
+__USE_FILE_OFFSET64
+
+
+59 
+__blkút_t
+       m¡_blocks
+;
+
+61 
+__blkút64_t
+       m¡_blocks
+;
+
+63 #ifdeà
+__USE_MISC
+
+
+70 \19
+time¥ec
+       m¡_©im
+;
+
+71 \19
+time¥ec
+       m¡_mtim
+;
+
+72 \19
+time¥ec
+       m¡_ùim
+;
+
+73 \ 1
+       #¡_©ime
+¡_©im
+.
+tv_£c
+
+
+       )
+
+74 \ 1
+       #¡_mtime
+¡_mtim
+.
+tv_£c
+
+
+       )
+
+75 \ 1
+       #¡_ùime
+¡_ùim
+.
+tv_£c
+
+
+       )
+
+77 
+__time_t
+       m¡_©ime
+;
+
+78 \1d\13\12
+       m¡_©im\92£c
+;
+
+79 
+__time_t
+       m¡_mtime
+;
+
+80 \1d\13\12
+       m¡_mtim\92£c
+;
+
+81 
+__time_t
+       m¡_ùime
+;
+
+82 \1d\13\12
+       m¡_ùim\92£c
+;
+
+84 #iâdeà
+__USE_FILE_OFFSET64
+
+
+85 \1d\13\12
+       m__unu£d4
+;
+
+86 \1d\13\12
+       m__unu£d5
+;
+
+88 
+__\9ao64_t
+       m¡_\9ao
+;
+
+92 #ifdeà
+__USE_LARGEFILE64
+
+
+93 \19
+       s¡©64
+
+
+95 
+__dev_t
+       m¡_dev
+;
+
+96 \1d\12
+       m__·d1
+;
+
+98 
+__\9ao_t
+       m__¡_\9ao
+;
+
+99 
+__mode_t
+       m¡_mode
+;
+
+100 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+101 
+__uid_t
+       m¡_uid
+;
+
+102 
+__gid_t
+       m¡_gid
+;
+
+103 
+__dev_t
+       m¡_rdev
+;
+
+104 \1d\12
+       m__·d2
+;
+
+105 
+__off64_t
+       m¡_size
+;
+
+106 
+__blksize_t
+       m¡_blksize
+;
+
+108 
+__blkút64_t
+       m¡_blocks
+;
+
+109 #ifdeà
+__USE_MISC
+
+
+116 \19
+time¥ec
+       m¡_©im
+;
+
+117 \19
+time¥ec
+       m¡_mtim
+;
+
+118 \19
+time¥ec
+       m¡_ùim
+;
+
+120 
+__time_t
+       m¡_©ime
+;
+
+121 \1d\13\12
+       m¡_©im\92£c
+;
+
+122 
+__time_t
+       m¡_mtime
+;
+
+123 \1d\13\12
+       m¡_mtim\92£c
+;
+
+124 
+__time_t
+       m¡_ùime
+;
+
+125 \1d\13\12
+       m¡_ùim\92£c
+;
+
+127 
+__\9ao64_t
+       m¡_\9ao
+;
+
+132 \ 1
+       #_STATBUF_ST_BLKSIZE
+
+
+       )
+
+133 \ 1
+       #_STATBUF_ST_RDEV
+
+
+       )
+
+135 \ 1
+       #_STATBUF_ST_NSEC
+
+
+       )
+
+139 \ 1
+       #__S_IFMT
+ 0170000
+
+       )
+
+142 \ 1
+       #__S_IFDIR
+ 0040000
+
+       )
+
+143 \ 1
+       #__S_IFCHR
+ 0020000
+
+       )
+
+144 \ 1
+       #__S_IFBLK
+ 0060000
+
+       )
+
+145 \ 1
+       #__S_IFREG
+ 0100000
+
+       )
+
+146 \ 1
+       #__S_IFIFO
+ 0010000
+
+       )
+
+147 \ 1
+       #__S_IFLNK
+ 0120000
+
+       )
+
+148 \ 1
+       #__S_IFSOCK
+ 0140000
+
+       )
+
+152 \ 1
+       #__S_TYPEISMQ
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+153 \ 1
+       #__S_TYPEISSEM
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+154 \ 1
+       #__S_TYPEISSHM
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+158 \ 1
+       #__S_ISUID
+ 04000
+
+       )
+
+159 \ 1
+       #__S_ISGID
+ 02000
+
+       )
+
+160 \ 1
+       #__S_ISVTX
+ 01000
+
+       )
+
+161 \ 1
+       #__S_IREAD
+ 0400
+
+       )
+
+162 \ 1
+       #__S_IWRITE
+ 0200
+
+       )
+
+163 \ 1
+       #__S_IEXEC
+ 0100
+
+       )
+
+       @/usr/include/bits/stdio-lock.h
+
+20 #iâdeà
+_BITS_STDIO_LOCK_H
+
+
+21 \ 1
+       #_BITS_STDIO_LOCK_H
+ 1
+
+       )
+
+23 \ 2
+       ~<b\99s/libc-lock.h
+>
+
+25 
+       $__libc_lock_def\9ae_»cursive
+ (\e
+_IO_lock_t
+)
+
+28 #ifdeà
+       t_LIBC_LOCK_RECURSIVE_INITIALIZER
+
+
+29 \ 1
+       t_IO_lock_\9a\99\9fliz\94
+       t_LIBC_LOCK_RECURSIVE_INITIALIZER
+
+
+       )
+
+30 #\96
+       t_IO_MTSAFE_IO
+
+
+31 #\94rÜ 
+       tlibio
+       tÃeds
+       t»cursive
+       tmu\8bxes
\ f
+       t_IO_MTSAFE_IO
+
+
+34 \ 1
+       t_IO_lock_\9a\99
+(
+       t_Çme
+       t__libc_lock_\9a\99_»cursive
+ (_Çme)
+
+       )
+
+35 \ 1
+       t_IO_lock_f\9ai
+(
+       t_Çme
+       t__libc_lock_f\9ai_»cursive
+ (_Çme)
+
+       )
+
+36 \ 1
+       t_IO_lock_lock
+(
+       t_Çme
+       t__libc_lock_lock_»cursive
+ (_Çme)
+
+       )
+
+37 \ 1
+       t_IO_lock_\8cylock
+(
+       t_Çme
+       t__libc_lock_\8cylock_»cursive
+ (_Çme)
+
+       )
+
+38 \ 1
+       t_IO_lock_uÆock
+(
+       t_Çme
+       t__libc_lock_uÆock_»cursive
+ (_Çme)
+
+       )
+
+41 \ 1
+       t_IO_þ\97nup_»giÚ_¡¬t
+(
+       t_fù
+, 
+       t_å
+) \
+
+42 
+       t__libc_þ\97nup_»giÚ_¡¬t
+ (((
+       t_å
+)->
+       t_æags
+ & 
+       t_IO_USER_LOCK
+è=ð0, 
+       t_fù
+, _å)
+
+       )
+
+43 \ 1
+       t_IO_þ\97nup_»giÚ_¡¬t_nßrg
+(
+       t_fù
+) \
+
+44 
+       t__libc_þ\97nup_»giÚ_¡¬t
+ (1, 
+       t_fù
+, 
+       tNULL
+)
+
+       )
+
+45 \ 1
+       t_IO_þ\97nup_»giÚ_\92d
+(
+       t_do\99
+) \
+
+46 
+       t__libc_þ\97nup_»giÚ_\92d
+ (
+       t_do\99
+)
+
+       )
+
+48 #ià
+       tdef\9aed
+       t_LIBC
+ && !def\9aed 
+       tNOT_IN_libc
+
+
+49 \ 1
+       t_IO_acqu\9ce_lock
+(
+       t_å
+) \
+
+50 
+       t_IO_þ\97nup_»giÚ_¡¬t
+ ((\1e(*è(\1e*)è
+       t_IO_fuÆockf\9ee
+, (
+       t_å
+)); \
+
+51 
+       `_IO_æockf\9ee
+ (
+_å
+)
+
+       )
+
+53 \ 1
+       #_IO_»Ëa£_lock
+(
+_å
+) \
+
+54 
+       `_IO_fuÆockf\9ee
+ (
+_å
+); \
+
+55 
+       `_IO_þ\97nup_»giÚ_\92d
+ (0)
+
+       )
+
+       @/usr/include/bits/time.h
+
+24 #iâdeà
+__Ãed_timev®
+
+
+25 #iâdeà
+_BITS_TIME_H
+
+
+26 \ 1
+       #_BITS_TIME_H
+ 1
+
+       )
+
+34 \ 1
+       #CLOCKS_PER_SEC
+ 1000000l
+
+       )
+
+36 #ià!
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+39 \ 2
+       ~<b\99s/ty³s.h
+>
+
+40 \r\13\12
+__syscÚf
+ (\12);
+
+41 \ 1
+       #CLK_TCK
+ ((
+__þock_t
+       `__syscÚf
+ (2)è
+
+       )
+
+44 #ifdeà
+__USE_POSIX199309
+
+
+46 \ 1
+       #CLOCK_REALTIME
+ 0
+
+       )
+
+48 \ 1
+       #CLOCK_MONOTONIC
+ 1
+
+       )
+
+50 \ 1
+       #CLOCK_PROCESS_CPUTIME_ID
+ 2
+
+       )
+
+52 \ 1
+       #CLOCK_THREAD_CPUTIME_ID
+ 3
+
+       )
+
+55 \ 1
+       #TIMER_ABSTIME
+ 1
+
+       )
+
+61 #ifdeà
+__Ãed_timev®
+
+
+62 #undeà
+__Ãed_timev®
+
+
+63 #iâdeà
+_STRUCT_TIMEVAL
+
+
+64 \ 1
+       #_STRUCT_TIMEVAL
+ 1
+
+       )
+
+65 \ 2
+       ~<b\99s/ty³s.h
+>
+
+69 \19
+       stimev®
+
+
+71 
+__time_t
+       mtv_£c
+;
+
+72 
+__su£cÚds_t
+       mtv_u£c
+;
+
+       @/usr/include/bits/typesizes.h
+
+20 #iâdeà
+_BITS_TYPES_H
+
+
+24 #iâdef 
+_BITS_TYPESIZES_H
+
+
+25 \ 1
+       #_BITS_TYPESIZES_H
+ 1
+
+       )
+
+30 \ 1
+       #__DEV_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+31 \ 1
+       #__UID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+32 \ 1
+       #__GID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+33 \ 1
+       #__INO_T_TYPE
+__ULONGWORD_TYPE
+
+
+       )
+
+34 \ 1
+       #__INO64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+35 \ 1
+       #__MODE_T_TYPE
+__U32_TYPE
+
+
+       )
+
+36 \ 1
+       #__NLINK_T_TYPE
+__UWORD_TYPE
+
+
+       )
+
+37 \ 1
+       #__OFF_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+38 \ 1
+       #__OFF64_T_TYPE
+__SQUAD_TYPE
+
+
+       )
+
+39 \ 1
+       #__PID_T_TYPE
+__S32_TYPE
+
+
+       )
+
+40 \ 1
+       #__RLIM_T_TYPE
+__ULONGWORD_TYPE
+
+
+       )
+
+41 \ 1
+       #__RLIM64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+42 \ 1
+       #__BLKCNT_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+43 \ 1
+       #__BLKCNT64_T_TYPE
+__SQUAD_TYPE
+
+
+       )
+
+44 \ 1
+       #__FSBLKCNT_T_TYPE
+__ULONGWORD_TYPE
+
+
+       )
+
+45 \ 1
+       #__FSBLKCNT64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+46 \ 1
+       #__FSFILCNT_T_TYPE
+__ULONGWORD_TYPE
+
+
+       )
+
+47 \ 1
+       #__FSFILCNT64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+48 \ 1
+       #__ID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+49 \ 1
+       #__CLOCK_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+50 \ 1
+       #__TIME_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+51 \ 1
+       #__USECONDS_T_TYPE
+__U32_TYPE
+
+
+       )
+
+52 \ 1
+       #__SUSECONDS_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+53 \ 1
+       #__DADDR_T_TYPE
+__S32_TYPE
+
+
+       )
+
+54 \ 1
+       #__SWBLK_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+55 \ 1
+       #__KEY_T_TYPE
+__S32_TYPE
+
+
+       )
+
+56 \ 1
+       #__CLOCKID_T_TYPE
+__S32_TYPE
+
+
+       )
+
+57 \ 1
+       #__TIMER_T_TYPE
+__S32_TYPE
+
+
+       )
+
+58 \ 1
+       #__BLKSIZE_T_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+59 \ 1
+       #__FSID_T_TYPE
+ s\8cuù { \12
+__v®
+[2]; }
+
+       )
+
+60 \ 1
+       #__SSIZE_T_TYPE
+__SWORD_TYPE
+
+
+       )
+
+63 \ 1
+       #__FD_SETSIZE
+ 1024
+
+       )
+
+       @/usr/include/gnu/stubs.h
+
+6 #ifdeà
+_LIBC
+
+
+7 #\94rÜ 
+AµliÿtiÚs
+may
+nÙ
+def\9ae
+the
+maüo
+_LIBC
+
+
+10 \ 1
+       #__¡ub___k\94Ãl_co¦
+
+
+       )
+
+11 \ 1
+       #__¡ub___k\94Ãl_s\9al
+
+
+       )
+
+12 \ 1
+       #__¡ub___k\94Ãl_\8fÆ
+
+
+       )
+
+13 \ 1
+       #__¡ub_chæags
+
+
+       )
+
+14 \ 1
+       #__¡ub_ç\89ach
+
+
+       )
+
+15 \ 1
+       #__¡ub_fchæags
+
+
+       )
+
+16 \ 1
+       #__¡ub_fd\91ach
+
+
+       )
+
+17 \ 1
+       #__¡ub_g\89y
+
+
+       )
+
+18 \ 1
+       #__¡ub_lchmod
+
+
+       )
+
+19 \ 1
+       #__¡ub_lutimes
+
+
+       )
+
+20 \ 1
+       #__¡ub_»voke
+
+
+       )
+
+21 \ 1
+       #__¡ub_£\8eog\9a
+
+
+       )
+
+22 \ 1
+       #__¡ub_s¡k
+
+
+       )
+
+23 \ 1
+       #__¡ub_¡ty
+
+
+       )
+
+       @/usr/include/linux/byteorder/little_endian.h
+
+1 #iâdeà
+_LINUX_BYTEORDER_LITTLE_ENDIAN_H
+
+
+2 \ 1
+       #_LINUX_BYTEORDER_LITTLE_ENDIAN_H
+
+
+       )
+
+4 #iâdeà
+__LITTLE_ENDIAN
+
+
+5 \ 1
+       #__LITTLE_ENDIAN
+ 1234
+
+       )
+
+7 #iâdeà
+__LITTLE_ENDIAN_BITFIELD
+
+
+8 \ 1
+       #__LITTLE_ENDIAN_BITFIELD
+
+
+       )
+
+11 \ 2
+       ~<asm/ty³s.h
+>
+
+12 \ 2
+       ~<l\9aux/by\8bÜd\94/swab.h
+>
+
+14 \ 1
+       #__cÚ¡ªt_htÚl
+(
+x
+       `___cÚ¡ªt_swab32
+((x))
+
+       )
+
+15 \ 1
+       #__cÚ¡ªt_Áohl
+(
+x
+       `___cÚ¡ªt_swab32
+((x))
+
+       )
+
+16 \ 1
+       #__cÚ¡ªt_htÚs
+(
+x
+       `___cÚ¡ªt_swab16
+((x))
+
+       )
+
+17 \ 1
+       #__cÚ¡ªt_Áohs
+(
+x
+       `___cÚ¡ªt_swab16
+((x))
+
+       )
+
+18 \ 1
+       #__cÚ¡ªt_ýu_to_Ë64
+(
+x
+è((
+__u64
+)(x))
+
+       )
+
+19 \ 1
+       #__cÚ¡ªt_Ë64_to_ýu
+(
+x
+è((
+__u64
+)(x))
+
+       )
+
+20 \ 1
+       #__cÚ¡ªt_ýu_to_Ë32
+(
+x
+è((
+__u32
+)(x))
+
+       )
+
+21 \ 1
+       #__cÚ¡ªt_Ë32_to_ýu
+(
+x
+è((
+__u32
+)(x))
+
+       )
+
+22 \ 1
+       #__cÚ¡ªt_ýu_to_Ë16
+(
+x
+è((
+__u16
+)(x))
+
+       )
+
+23 \ 1
+       #__cÚ¡ªt_Ë16_to_ýu
+(
+x
+è((
+__u16
+)(x))
+
+       )
+
+24 \ 1
+       #__cÚ¡ªt_ýu_to_be64
+(
+x
+       `___cÚ¡ªt_swab64
+((x))
+
+       )
+
+25 \ 1
+       #__cÚ¡ªt_be64_to_ýu
+(
+x
+       `___cÚ¡ªt_swab64
+((x))
+
+       )
+
+26 \ 1
+       #__cÚ¡ªt_ýu_to_be32
+(
+x
+       `___cÚ¡ªt_swab32
+((x))
+
+       )
+
+27 \ 1
+       #__cÚ¡ªt_be32_to_ýu
+(
+x
+       `___cÚ¡ªt_swab32
+((x))
+
+       )
+
+28 \ 1
+       #__cÚ¡ªt_ýu_to_be16
+(
+x
+       `___cÚ¡ªt_swab16
+((x))
+
+       )
+
+29 \ 1
+       #__cÚ¡ªt_be16_to_ýu
+(
+x
+       `___cÚ¡ªt_swab16
+((x))
+
+       )
+
+30 \ 1
+       #__ýu_to_Ë64
+(
+x
+è((
+__u64
+)(x))
+
+       )
+
+31 \ 1
+       #__Ë64_to_ýu
+(
+x
+è((
+__u64
+)(x))
+
+       )
+
+32 \ 1
+       #__ýu_to_Ë32
+(
+x
+è((
+__u32
+)(x))
+
+       )
+
+33 \ 1
+       #__Ë32_to_ýu
+(
+x
+è((
+__u32
+)(x))
+
+       )
+
+34 \ 1
+       #__ýu_to_Ë16
+(
+x
+è((
+__u16
+)(x))
+
+       )
+
+35 \ 1
+       #__Ë16_to_ýu
+(
+x
+è((
+__u16
+)(x))
+
+       )
+
+36 \ 1
+       #__ýu_to_be64
+(
+x
+       `__swab64
+((x))
+
+       )
+
+37 \ 1
+       #__be64_to_ýu
+(
+x
+       `__swab64
+((x))
+
+       )
+
+38 \ 1
+       #__ýu_to_be32
+(
+x
+       `__swab32
+((x))
+
+       )
+
+39 \ 1
+       #__be32_to_ýu
+(
+x
+       `__swab32
+((x))
+
+       )
+
+40 \ 1
+       #__ýu_to_be16
+(
+x
+       `__swab16
+((x))
+
+       )
+
+41 \ 1
+       #__be16_to_ýu
+(
+x
+       `__swab16
+((x))
+
+       )
+
+42 \ 1
+       #__ýu_to_Ë64p
+(
+x
+è(*(
+__u64
+*)(x))
+
+       )
+
+43 \ 1
+       #__Ë64_to_ýup
+(
+x
+è(*(
+__u64
+*)(x))
+
+       )
+
+44 \ 1
+       #__ýu_to_Ë32p
+(
+x
+è(*(
+__u32
+*)(x))
+
+       )
+
+45 \ 1
+       #__Ë32_to_ýup
+(
+x
+è(*(
+__u32
+*)(x))
+
+       )
+
+46 \ 1
+       #__ýu_to_Ë16p
+(
+x
+è(*(
+__u16
+*)(x))
+
+       )
+
+47 \ 1
+       #__Ë16_to_ýup
+(
+x
+è(*(
+__u16
+*)(x))
+
+       )
+
+48 \ 1
+       #__ýu_to_be64p
+(
+x
+       `__swab64p
+((x))
+
+       )
+
+49 \ 1
+       #__be64_to_ýup
+(
+x
+       `__swab64p
+((x))
+
+       )
+
+50 \ 1
+       #__ýu_to_be32p
+(
+x
+       `__swab32p
+((x))
+
+       )
+
+51 \ 1
+       #__be32_to_ýup
+(
+x
+       `__swab32p
+((x))
+
+       )
+
+52 \ 1
+       #__ýu_to_be16p
+(
+x
+       `__swab16p
+((x))
+
+       )
+
+53 \ 1
+       #__be16_to_ýup
+(
+x
+       `__swab16p
+((x))
+
+       )
+
+54 \ 1
+       #__ýu_to_Ë64s
+(
+x
+èdØ{} \1f0)
+
+       )
+
+55 \ 1
+       #__Ë64_to_ýus
+(
+x
+èdØ{} \1f0)
+
+       )
+
+56 \ 1
+       #__ýu_to_Ë32s
+(
+x
+èdØ{} \1f0)
+
+       )
+
+57 \ 1
+       #__Ë32_to_ýus
+(
+x
+èdØ{} \1f0)
+
+       )
+
+58 \ 1
+       #__ýu_to_Ë16s
+(
+x
+èdØ{} \1f0)
+
+       )
+
+59 \ 1
+       #__Ë16_to_ýus
+(
+x
+èdØ{} \1f0)
+
+       )
+
+60 \ 1
+       #__ýu_to_be64s
+(
+x
+       `__swab64s
+((x))
+
+       )
+
+61 \ 1
+       #__be64_to_ýus
+(
+x
+       `__swab64s
+((x))
+
+       )
+
+62 \ 1
+       #__ýu_to_be32s
+(
+x
+       `__swab32s
+((x))
+
+       )
+
+63 \ 1
+       #__be32_to_ýus
+(
+x
+       `__swab32s
+((x))
+
+       )
+
+64 \ 1
+       #__ýu_to_be16s
+(
+x
+       `__swab16s
+((x))
+
+       )
+
+65 \ 1
+       #__be16_to_ýus
+(
+x
+       `__swab16s
+((x))
+
+       )
+
+67 \ 2
+       ~<l\9aux/by\8bÜd\94/g\92\94ic.h
+>
+
+       @/usr/include/signal.h
+
+23 #iâdef 
+_SIGNAL_H
+
+
+25 #ià!
+def\9aed
+__Ãed_sig_©omic_t
+ && !def\9aed 
+__Ãed_sig£t_t
+
+
+26 \ 1
+       #_SIGNAL_H
+
+
+       )
+
+29 \ 2
+       ~<ã©u»s.h
+>
+
+31 
+       g__BEGIN_DECLS
+
+
+33 \ 2
+       ~<b\99s/sig£t.h
+>
+
+37 #ià
+def\9aed
+__Ãed_sig_©omic_t
+ || def\9aed 
+_SIGNAL_H
+
+
+38 #iâdeà
+__sig_©omic_t_def\9aed
+
+
+39 \ 1
+       #__sig_©omic_t_def\9aed
+
+
+       )
+
+40 
+__BEGIN_NAMESPACE_STD
+
+
+41 \e
+__sig_©omic_t
+       tsig_©omic_t
+;
+
+42 
+       g__END_NAMESPACE_STD
+
+
+44 #undeà
+__Ãed_sig_©omic_t
+
+
+47 #ià
+def\9aed
+__Ãed_sig£t_t
+ || (def\9aed 
+_SIGNAL_H
+ && def\9aed 
+__USE_POSIX
+)
+
+48 #iâdeà
+__sig£t_t_def\9aed
+
+
+49 \ 1
+       #__sig£t_t_def\9aed
+
+
+       )
+
+50 \e
+__sig£t_t
+       tsig£t_t
+;
+
+52 #undeà
+__Ãed_sig£t_t
+
+
+55 #ifdeà
+_SIGNAL_H
+
+
+57 \ 2
+       ~<b\99s/ty³s.h
+>
+
+58 \ 2
+       ~<b\99s/signum.h
+>
+
+60 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+61 #iâdeà
+__pid_t_def\9aed
+
+
+62 \e
+__pid_t
+       tpid_t
+;
+
+63 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+65 #ifdeà
+__USE_XOPEN
+
+
+67 #iâdeà
+__uid_t_def\9aed
+
+
+68 \e
+__uid_t
+       tuid_t
+;
+
+69 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+75 \e\1e(*
+       t__sighªdËr_t
+) (\12);
+
+80 \r
+__sighªdËr_t
+       $__sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+81 
+__THROW
+;
+
+82 #ifdeà
+__USE_GNU
+
+
+83 \r
+__sighªdËr_t
+       $sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+84 
+__THROW
+;
+
+90 
+__BEGIN_NAMESPACE_STD
+
+
+91 #ifdeà
+__USE_BSD
+
+
+92 \r
+__sighªdËr_t
+       $sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+93 
+__THROW
+;
+
+96 #ifdeà
+__REDIRECT_NTH
+
+
+97 \r
+__sighªdËr_t
+       `__REDIRECT_NTH
+ (
+sigÇl
+,
+
+98 (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+),
+
+99 
+__sysv_sigÇl
+);
+
+101 \ 1
+       #sigÇl
+__sysv_sigÇl
+
+
+       )
+
+104 
+__END_NAMESPACE_STD
+
+
+106 #ifdeà
+__USE_XOPEN
+
+
+109 \r
+__sighªdËr_t
+       $bsd_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+110 
+__THROW
+;
+
+116 #ifdeà
+__USE_POSIX
+
+
+117 \r\12
+       $k\9el
+ (
+__pid_t
+__pid
+, \12
+__sig
+__THROW
+;
+
+120 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+124 \r\12
+       $k\9eÍg
+ (
+__pid_t
+__pg½
+, \12
+__sig
+__THROW
+;
+
+127 
+__BEGIN_NAMESPACE_STD
+
+
+129 \r\12
+       $¿i£
+ (\12
+__sig
+__THROW
+;
+
+130 
+__END_NAMESPACE_STD
+
+
+132 #ifdeà
+__USE_SVID
+
+
+134 \r
+__sighªdËr_t
+       $ssigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+135 
+__THROW
+;
+
+136 \r\12
+       $gsigÇl
+ (\12
+__sig
+__THROW
+;
+
+139 #ifdeà
+__USE_MISC
+
+
+141 \r\1e
+       `psigÇl
+ (\12
+__sig
+, 
+__cڡ
\ 5*
+__s
+);
+
+153 \r\12
+       `__sig·u£
+ (\12
+__sig_Ü_mask
+, \12
+__is_sig
+);
+
+155 #ifdeà
+__FAVOR_BSD
+
+
+158 \r\12
+       $sig·u£
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+160 #ifdeà
+__USE_XOPEN
+
+
+161 #ifdeà
+__GNUC__
+
+
+162 \r\12
+       $sig·u£
+ (\12
+__sig
+       `__asm__
+ ("__xpg_sigpause");
+
+165 \ 1
+       #sig·u£
+(
+sig
+       `__sig·u£
+ ((sig), 1)
+
+       )
+
+171 #ifdeà
+__USE_BSD
+
+
+178 \ 1
+       #sigmask
+(
+sig
+       `__sigmask
+(sig)
+
+       )
+
+181 \r\12
+       $sigblock
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+184 \r\12
+       $sig£tmask
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+187 \r\12
+       $sigg\91mask
+ (\1eè
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+191 #ifdeà
+__USE_MISC
+
+
+192 \ 1
+       #NSIG
+_NSIG
+
+
+       )
+
+195 #ifdeà
+__USE_GNU
+
+
+196 \e
+__sighªdËr_t
+       tsighªdËr_t
+;
+
+200 #ifdeà
+__USE_BSD
+
+
+201 \e
+__sighªdËr_t
+       tsig_t
+;
+
+204 #ifdeà
+__USE_POSIX
+
+
+206 #ifdeà
+__USE_POSIX199309
+
+
+208 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+209 \ 2
+       ~<time.h
+>
+
+212 \ 2
+       ~<b\99s/sig\9afo.h
+>
+
+216 \r\12
+       $sigem±y£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+219 \r\12
+       $sigf\9el£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+222 \r\12
+       $sigadd£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+225 \r\12
+       $sigd\96£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+228 \r\12
+       $sigismemb\94
+ (
+__cڡ
+sig£t_t
+ *
+__£t
+, \12
+__signo
+)
+
+229 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+231 #ifdeà
+__USE_GNU
+
+
+233 \r\12
+       $sigi£m±y£t
+ (
+__cڡ
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+236 \r\12
+       $sigªd£t
+ (
+sig£t_t
+ *
+__£t
+, 
+__cڡ
+ sig£t_\88*
+__Ëá
+,
+
+237 
+__cڡ
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+240 \r\12
+       $sigܣt
+ (
+sig£t_t
+ *
+__£t
+, 
+__cڡ
+ sig£t_\88*
+__Ëá
+,
+
+241 
+__cڡ
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+246 \ 2
+       ~<b\99s/sigaùiÚ.h
+>
+
+249 \r\12
+       $sig´ocmask
+ (\12
+__how
+, 
+__cڡ
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+250 
+sig£t_t
+ *
+__»¡riù
+__o£t
+__THROW
+;
+
+257 \r\12
+       $sigsu¥\92d
+ (
+__cڡ
+sig£t_t
+ *
+__£t
+       `__nÚnuÎ
+ ((1));
+
+260 \r\12
+       $sigaùiÚ
+ (\12
+__sig
+, 
+__cڡ
\19
+sigaùiÚ
+ *
+__»¡riù
+__aù
+,
+
+261 \19
+sigaùiÚ
+ *
+__»¡riù
+__ßù
+__THROW
+;
+
+264 \r\12
+       $sig³nd\9ag
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+271 \r\12
+       $sigwa\99
+ (
+__cڡ
+sig£t_t
+ *
+__»¡riù
+__£t
+, \12*__»¡riù 
+__sig
+)
+
+272 
+       `__nÚnuÎ
+ ((1, 2));
+
+274 #ifdeà
+__USE_POSIX199309
+
+
+279 \r\12
+       $sigwa\99\9afo
+ (
+__cڡ
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+280 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+       `__nÚnuÎ
+ ((1));
+
+287 \r\12
+       $sigtimedwa\99
+ (
+__cڡ
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+288 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+,
+
+289 
+__cڡ
\19
+time¥ec
+ *
+__»¡riù
+__timeout
+)
+
+290 
+       `__nÚnuÎ
+ ((1));
+
+294 \r\12
+       $sigqueue
+ (
+__pid_t
+__pid
+, \12
+__sig
+, 
+__cڡ
\1c
+sigv®
+__v®
+)
+
+295 
+__THROW
+;
+
+300 #ifdeà
+__USE_BSD
+
+
+304 \r
+__cڡ
\ 5*__cڡ 
+_sys_sigli¡
+[
+_NSIG
+];
+
+305 \r
+__cڡ
\ 5*__cڡ 
+sys_sigli¡
+[
+_NSIG
+];
+
+308 \19
+       ssigvec
+
+
+310 
+__sighªdËr_t
+sv_hªdËr
+;
+
+311 \12
+sv_mask
+;
+
+313 \12
+sv_æags
+;
+
+314 \ 1
+       #sv_ڡack
+sv_æags
+
+
+       )
+
+318 \ 1
+       #SV_ONSTACK
+ (1 << 0)
+
+       )
+
+319 \ 1
+       #SV_INTERRUPT
+ (1 << 1)
+
+       )
+
+320 \ 1
+       #SV_RESETHAND
+ (1 << 2)
+
+       )
+
+328 \r\12
+       $sigvec
+ (\12
+__sig
+, 
+__cڡ
\19
+sigvec
+ *
+__vec
+,
+
+329 \19
+sigvec
+ *
+__ovec
+__THROW
+;
+
+333 \ 2
+       ~<b\99s/sigcÚ\8bxt.h
+>
+
+336 \r\12
+       $sig»tuº
+ (\19
+sigcڋxt
+ *
+__sý
+__THROW
+;
+
+341 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+346 \r\12
+       $sig\9a\8b¼u±
+ (\12
+__sig
+, \12
+__\9a\8b¼u±
+__THROW
+;
+
+348 \ 2
+       ~<b\99s/sig¡ack.h
+>
+
+349 #ifdeà
+__USE_XOPEN
+
+
+351 \ 2
+       ~<sys/ucڋxt.h
+>
+
+357 \r\12
+       $sig¡ack
+ (\19
+sig¡ack
+ *
+__ss
+, \19sig¡ack *
+__oss
+)
+
+358 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+362 \r\12
+       $sig®t¡ack
+ (
+__cڡ
\19
+sig®t¡ack
+ *
+__»¡riù
+__ss
+,
+
+363 \19
+sig®t¡ack
+ *
+__»¡riù
+__oss
+__THROW
+;
+
+367 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+371 \r\12
+       $sighÞd
+ (\12
+__sig
+__THROW
+;
+
+374 \r\12
+       $sig»l£
+ (\12
+__sig
+__THROW
+;
+
+377 \r\12
+       $sigignÜe
+ (\12
+__sig
+__THROW
+;
+
+380 \r
+__sighªdËr_t
+       $sig£t
+ (\12
+__sig
+, 
+__sighªdËr_t
+__di¥
+__THROW
+;
+
+383 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+386 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+387 \ 2
+       ~<b\99s/sigth»ad.h
+>
+
+394 \r\12
+       $__libc_cu¼\92t_sig¹m\9a
+ (\1eè
+__THROW
+;
+
+396 \r\12
+       $__libc_cu¼\92t_sig¹max
+ (\1eè
+__THROW
+;
+
+400 
+__END_DECLS
+
+
+       @/usr/include/sys/cdefs.h
+
+19 #iâdef 
+_SYS_CDEFS_H
+
+
+20 \ 1
+       #_SYS_CDEFS_H
+ 1
+
+       )
+
+23 #iâdeà
+_FEATURES_H
+
+
+24 \ 2
+       ~<ã©u»s.h
+>
+
+30 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__STDC__
+
+
+35 #undeà
+__P
+
+
+36 #undeà
+__PMT
+
+
+38 #ifdeà
+__GNUC__
+
+
+45 #ià!
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (3, 3)
+
+46 \ 1
+       #__THROW
+       `__©\8cibu\8b__
+ ((
+__nÙhrow__
+))
+
+       )
+
+47 \ 1
+       #__NTH
+(
+fù
+       `__©\8cibu\8b__
+ ((
+__nÙhrow__
+)è
+       )
+fct
+
+49 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (2,8)
+
+50 \ 1
+       #__THROW
+       `throw
+ ()
+
+       )
+
+51 \ 1
+       #__NTH
+(
+fù
+èfù 
+       `throw
+ ()
+
+       )
+
+53 \ 1
+       #__THROW
+
+
+       )
+
+54 \ 1
+       #__NTH
+(
+fù
+       )
+fct
+
+60 \ 1
+       #__\9al\9ae
+
+
+       )
+
+62 \ 1
+       #__THROW
+
+
+       )
+
+63 \ 1
+       #__NTH
+(
+fù
+       )
+fct
+
+65 \ 1
+       #__cڡ
+ cڡ
+
+       )
+
+66 \ 1
+       #__sigÃd
+ sigÃd
+
+       )
+
+67 \ 1
+       #__vÞ©\9ee
+ vÞ©\9ee
+
+       )
+
+73 \ 1
+       #__P
+(
+¬gs
+       )
+args
+
+74 \ 1
+       #__PMT
+(
+¬gs
+       )
+args
+
+79 \ 1
+       #__CONCAT
+(
+x
+,
+y
+èx ## 
+       )
+y
+
+80 \ 1
+       #__STRING
+(
+x
+è#x
+
+       )
+
+83 \ 1
+       #__±r_t
\1e*
+
+       )
+
+84 \ 1
+       #__lÚg_doubË_t
\13\b
+
+       )
+
+88 #ifdef 
+__ýlu¥lus
+
+
+89 \ 1
+       #__BEGIN_DECLS
\r"C" {
+
+       )
+
+90 \ 1
+       #__END_DECLS
+ }
+
+       )
+
+92 \ 1
+       #__BEGIN_DECLS
+
+
+       )
+
+93 \ 1
+       #__END_DECLS
+
+
+       )
+
+102 #ià
+def\9aed
+__ýlu¥lus
+ && def\9aed 
+_GLIBCPP_USE_NAMESPACES
+
+
+103 \ 1
+       #__BEGIN_NAMESPACE_STD
+Çme¥aû
+¡d
+ {
+
+       )
+
+104 \ 1
+       #__END_NAMESPACE_STD
+ }
+
+       )
+
+105 \ 1
+       #__USING_NAMESPACE_STD
+(
+Çme
+us\9ag
+¡d
+::Çme;
+
+       )
+
+106 \ 1
+       #__BEGIN_NAMESPACE_C99
+Çme¥aû
+__c99
+ {
+
+       )
+
+107 \ 1
+       #__END_NAMESPACE_C99
+ }
+
+       )
+
+108 \ 1
+       #__USING_NAMESPACE_C99
+(
+Çme
+us\9ag
+__c99
+::Çme;
+
+       )
+
+113 \ 1
+       #__BEGIN_NAMESPACE_STD
+
+
+       )
+
+114 \ 1
+       #__END_NAMESPACE_STD
+
+
+       )
+
+115 \ 1
+       #__USING_NAMESPACE_STD
+(
+Çme
+)
+
+       )
+
+116 \ 1
+       #__BEGIN_NAMESPACE_C99
+
+
+       )
+
+117 \ 1
+       #__END_NAMESPACE_C99
+
+
+       )
+
+118 \ 1
+       #__USING_NAMESPACE_C99
+(
+Çme
+)
+
+       )
+
+123 #iâdeà
+__BOUNDED_POINTERS__
+
+
+124 \ 1
+       #__bounded
+
+
+       )
+
+125 \ 1
+       #__unbounded
+
+
+       )
+
+126 \ 1
+       #__±rv®ue
+
+
+       )
+
+131 \ 1
+       #__bos
+(
+±r
+       `__bu\9et\9a_objeù_size
+ (±r, 
+__USE_FORTIFY_LEVEL
+ > 1)
+
+       )
+
+132 \ 1
+       #__bos0
+(
+±r
+       `__bu\9et\9a_objeù_size
+ (±r, 0)
+
+       )
+
+136 #ià
+__GNUC_PREREQ
+ (2,97)
+
+138 \ 1
+       #__æex¬r
+ []
+
+       )
+
+140 #ifdeà
+__GNUC__
+
+
+141 \ 1
+       #__æex¬r
+ [0]
+
+       )
+
+143 #ià
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L
+
+144 \ 1
+       #__æex¬r
+ []
+
+       )
+
+147 \ 1
+       #__æex¬r
+ [1]
+
+       )
+
+163 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+165 \ 1
+       #__REDIRECT
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+èÇm\90´ÙØ
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs))
+
+       )
+
+166 #ifdeà
+__ýlu¥lus
+
+
+167 \ 1
+       #__REDIRECT_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+168 
+Çme
+´Ùo
+__THROW
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs))
+
+       )
+
+170 \ 1
+       #__REDIRECT_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+171 
+Çme
+´Ùo
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs)è
+__THROW
+
+
+       )
+
+173 \ 1
+       #__ASMNAME
+(
+úame
+       `__ASMNAME2
+ (
+__USER_LABEL_PREFIX__
+, cÇme)
+
+       )
+
+174 \ 1
+       #__ASMNAME2
+(
+´efix
+, 
+úame
+       `__STRING
+ (´efixè
+       )
+cname
+
+187 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2
+
+188 \ 1
+       #__©\8cibu\8b__
+(
+xyz
+
+       )
+
+194 #ià
+__GNUC_PREREQ
+ (2,96)
+
+195 \ 1
+       #__©\8cibu\8b_m®loc__
+       `__©\8cibu\8b__
+ ((
+__m®loc__
+))
+
+       )
+
+197 \ 1
+       #__©\8cibu\8b_m®loc__
+
+
+       )
+
+203 #ià
+__GNUC_PREREQ
+ (2,96)
+
+204 \ 1
+       #__©\8cibu\8b_pu»__
+       `__©\8cibu\8b__
+ ((
+__pu»__
+))
+
+       )
+
+206 \ 1
+       #__©\8cibu\8b_pu»__
+
+
+       )
+
+212 #ià
+__GNUC_PREREQ
+ (3,1)
+
+213 \ 1
+       #__©\8cibu\8b_u£d__
+       `__©\8cibu\8b__
+ ((
+__u£d__
+))
+
+       )
+
+214 \ 1
+       #__©\8cibu\8b_no\9al\9ae__
+       `__©\8cibu\8b__
+ ((
+__no\9al\9ae__
+))
+
+       )
+
+216 \ 1
+       #__©\8cibu\8b_u£d__
+       `__©\8cibu\8b__
+ ((
+__unu£d__
+))
+
+       )
+
+217 \ 1
+       #__©\8cibu\8b_no\9al\9ae__
+
+
+       )
+
+221 #ià
+__GNUC_PREREQ
+ (3,2)
+
+222 \ 1
+       #__©\8cibu\8b_d\95»ÿ\8bd__
+       `__©\8cibu\8b__
+ ((
+__d\95»ÿ\8bd__
+))
+
+       )
+
+224 \ 1
+       #__©\8cibu\8b_d\95»ÿ\8bd__
+
+
+       )
+
+233 #ià
+__GNUC_PREREQ
+ (2,8)
+
+234 \ 1
+       #__©\8cibu\8b_fÜm©_¬g__
+(
+x
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©_¬g__
+ (x)))
+
+       )
+
+236 \ 1
+       #__©\8cibu\8b_fÜm©_¬g__
+(
+x
+
+       )
+
+243 #ià
+__GNUC_PREREQ
+ (2,97)
+
+244 \ 1
+       #__©\8cibu\8b_fÜm©_¡rfmÚ__
+(
+a
+,
+b
+) \
+
+245 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__¡rfmÚ__
+, 
+a
+, 
+b
+)))
+
+       )
+
+247 \ 1
+       #__©\8cibu\8b_fÜm©_¡rfmÚ__
+(
+a
+,
+b
+
+       )
+
+252 #ià
+__GNUC_PREREQ
+ (3,3)
+
+253 \ 1
+       #__nÚnuÎ
+(
+·¿ms
+       `__©\8cibu\8b__
+ ((
+__nÚnuÎ__
+\85¬ams))
+
+       )
+
+255 \ 1
+       #__nÚnuÎ
+(
+·¿ms
+)
+
+       )
+
+262 #ià!
+__GNUC_PREREQ
+ (2,8)
+
+263 \ 1
+       #__ex\8bnsiÚ__
+
+
+       )
+
+267 #ià!
+__GNUC_PREREQ
+ (2,92)
+
+268 \ 1
+       #__»¡riù
+
+
+       )
+
+274 #ià
+__GNUC_PREREQ
+ (3,1è&& !
+def\9aed
+__GNUG__
+
+
+275 \ 1
+       #__»¡riù_¬r
+__»¡riù
+
+
+       )
+
+277 #ifdeà
+__GNUC__
+
+
+278 \ 1
+       #__»¡riù_¬r
+
+
+       )
+
+280 #ià
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L
+
+281 \ 1
+       #__»¡riù_¬r
+»¡riù
+
+
+       )
+
+284 \ 1
+       #__»¡riù_¬r
+
+
+       )
+
+       @/usr/include/sys/resource.h
+
+19 #iâdef 
+_SYS_RESOURCE_H
+
+
+20 \ 1
+       #_SYS_RESOURCE_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+25 \ 2
+       ~<b\99s/»sourû.h
+>
+
+27 #iâdeà
+__id_t_def\9aed
+
+
+28 \e
+__id_t
+       tid_t
+;
+
+29 \ 1
+       #__id_t_def\9aed
+
+
+       )
+
+32 
+       g__BEGIN_DECLS
+
+
+38 #ià
+def\9aed
+__USE_GNU
+ && !def\9aed 
+__ýlu¥lus
+
+
+39 \e\f
+__¾im\99_»sourû
+       t__¾im\99_»sourû_t
+;
+
+40 \e\f
+__ru§ge_who
+       t__ru§ge_who_t
+;
+
+41 \e\f
+__´iÜ\99y_which
+       t__´iÜ\99y_which_t
+;
+
+43 \e\12
+       t__¾im\99_»sourû_t
+;
+
+44 \e\12
+       t__ru§ge_who_t
+;
+
+45 \e\12
+       t__´iÜ\99y_which_t
+;
+
+50 #iâdeà
+__USE_FILE_OFFSET64
+
+
+51 \r\12
+       $g\91¾im\99
+ (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+52 \19
+¾im\99
+ *
+__¾im\99s
+__THROW
+;
+
+54 #ifdeà
+__REDIRECT_NTH
+
+
+55 \r\12
+       `__REDIRECT_NTH
+ (
+g\91¾im\99
+, (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+56 \19
+¾im\99
+ *
+__¾im\99s
+), 
+g\91¾im\9964
+);
+
+58 \ 1
+       #g\91¾im\99
+g\91¾im\9964
+
+
+       )
+
+61 #ifdeà
+__USE_LARGEFILE64
+
+
+62 \r\12
+       $g\91¾im\9964
+ (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+63 \19
+¾im\9964
+ *
+__¾im\99s
+__THROW
+;
+
+69 #iâdeà
+__USE_FILE_OFFSET64
+
+
+70 \r\12
+       $£\8clim\99
+ (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+71 
+__cڡ
\19
+¾im\99
+ *
+__¾im\99s
+__THROW
+;
+
+73 #ifdeà
+__REDIRECT_NTH
+
+
+74 \r\12
+       `__REDIRECT_NTH
+ (
\8clim\99
+, (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+75 
+__cڡ
\19
+¾im\99
+ *
+__¾im\99s
+),
+
+76 
\8clim\9964
+);
+
+78 \ 1
+       #£\8clim\99
\8clim\9964
+
+
+       )
+
+81 #ifdeà
+__USE_LARGEFILE64
+
+
+82 \r\12
+       $£\8clim\9964
+ (
+__¾im\99_»sourû_t
+__»sourû
+,
+
+83 
+__cڡ
\19
+¾im\9964
+ *
+__¾im\99s
+__THROW
+;
+
+88 \r\12
+       $g\91ru§ge
+ (
+__ru§ge_who_t
+__who
+, \19
+ru§ge
+ *
+__u§ge
+__THROW
+;
+
+94 \r\12
+       $g\91´iÜ\99y
+ (
+__´iÜ\99y_which_t
+__which
+, 
+id_t
+__who
+__THROW
+;
+
+98 \r\12
+       $£\8driÜ\99y
+ (
+__´iÜ\99y_which_t
+__which
+, 
+id_t
+__who
+, \12
+__´io
+)
+
+99 
+__THROW
+;
+
+101 
+__END_DECLS
+
+
+       @/usr/include/asm-i386/errno.h
+
+1 #iâdeà
+_I386_ERRNO_H
+
+
+2 \ 1
+       #_I386_ERRNO_H
+
+
+       )
+
+4 #iâdeà
+_LINUX_ERRNO_H
+
+
+5 \ 2
+       ~<l\9aux/\94ºo.h
+>
+
+       @/usr/include/asm-i386/posix_types.h
+
+1 #iâdeà
+__ARCH_I386_POSIX_TYPES_H
+
+
+2 \ 1
+       #__ARCH_I386_POSIX_TYPES_H
+
+
+       )
+
+10 \e\1d\13
+       t__k\94Ãl_\9ao_t
+;
+
+11 \e\1d\16
+       t__k\94Ãl_mode_t
+;
+
+12 \e\1d\16
+       t__k\94Ãl_Æ\9ak_t
+;
+
+13 \e\13
+       t__k\94Ãl_off_t
+;
+
+14 \e\12
+       t__k\94Ãl_pid_t
+;
+
+15 \e\1d\16
+       t__k\94Ãl_\9dc_pid_t
+;
+
+16 \e\1d\16
+       t__k\94Ãl_uid_t
+;
+
+17 \e\1d\16
+       t__k\94Ãl_gid_t
+;
+
+18 \e\1d\12
+       t__k\94Ãl_size_t
+;
+
+19 \e\12
+       t__k\94Ãl_ssize_t
+;
+
+20 \e\12
+       t__k\94Ãl_±rdiff_t
+;
+
+21 \e\13
+       t__k\94Ãl_time_t
+;
+
+22 \e\13
+       t__k\94Ãl_su£cÚds_t
+;
+
+23 \e\13
+       t__k\94Ãl_þock_t
+;
+
+24 \e\12
+       t__k\94Ãl_tim\94_t
+;
+
+25 \e\12
+       t__k\94Ãl_þockid_t
+;
+
+26 \e\12
+       t__k\94Ãl_daddr_t
+;
+
+27 \e\ 5
+       t__k\94Ãl_ÿddr_t
+;
+
+28 \e\1d\16
+       t__k\94Ãl_uid16_t
+;
+
+29 \e\1d\16
+       t__k\94Ãl_gid16_t
+;
+
+30 \e\1d\12
+       t__k\94Ãl_uid32_t
+;
+
+31 \e\1d\12
+       t__k\94Ãl_gid32_t
+;
+
+33 \e\1d\16
+       t__k\94Ãl_Þd_uid_t
+;
+
+34 \e\1d\16
+       t__k\94Ãl_Þd_gid_t
+;
+
+35 \e\1d\16
+       t__k\94Ãl_Þd_dev_t
+;
+
+37 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+38 \e\13\13
+       t__k\94Ãl_loff_t
+;
+
+42 #ià
+def\9aed
+(
+__KERNEL__
+è|| def\9aed(
+__USE_ALL
+)
+
+43 \12
+       mv®
+[2];
+
+45 \12
+       m__v®
+[2];
+
+47 } 
+       t__k\94Ãl_fsid_t
+;
+
+49 #ià
+def\9aed
+(
+__KERNEL__
+è|| !def\9aed(
+__GLIBC__
+) || (__GLIBC__ < 2)
+
+51 #undeà
+__FD_SET
+
+
+52 \ 1
+       #__FD_SET
+(
+fd
+,
+fd£\8d
+) \
+
+53 
+__asm__
+       `__vÞ©\9ee__
+("btsl %1,%0": \
+
+54 "=m" (*(
+__k\94Ãl_fd_£t
+ *è(
+fd£\8d
+)):"r" ((\12è(
+fd
+)))
+
+       )
+
+56 #undeà
+__FD_CLR
+
+
+57 \ 1
+       #__FD_CLR
+(
+fd
+,
+fd£\8d
+) \
+
+58 
+__asm__
+       `__vÞ©\9ee__
+("btrl %1,%0": \
+
+59 "=m" (*(
+__k\94Ãl_fd_£t
+ *è(
+fd£\8d
+)):"r" ((\12è(
+fd
+)))
+
+       )
+
+61 #undeà
+__FD_ISSET
+
+
+62 \ 1
+       #__FD_ISSET
+(
+fd
+,
+fd£\8d
+è(
+       `__ex\8bnsiÚ__
+ ({ \
+
+63 \1d\ 5
+__»suÉ
+; \
+
+64 
+__asm__
+       `__vÞ©\9ee__
+("btl %1,%2 ; setb %0" \
+
+65 :"=q" (
+__»suÉ
+è:"r" ((\12è(
+fd
+)), \
+
+66 "m" (*(
+__k\94Ãl_fd_£t
+ *è(
+fd£\8d
+))); \
+
+67 
+__»suÉ
+; }))
+
+       )
+
+69 #undeà
+__FD_ZERO
+
+
+70 \ 1
+       #__FD_ZERO
+(
+fd£\8d
+) \
+
+72 \12
+__d0
+, 
+__d1
+; \
+
+73 
+__asm__
+       `__vÞ©\9ee__
+("cld ;\84ep ; stosl" \
+
+74 :"=m" (*(
+__k\94Ãl_fd_£t
+ *è(
+fd£\8d
+)), \
+
+75 "=&c" (
+__d0
+), "=&D" (
+__d1
+) \
+
+76 :"a" (0), "1" (
+__FDSET_LONGS
+), \
+
+77 "2" ((
+__k\94Ãl_fd_£t
+ *è(
+fd£\8d
+)) : "memory"); \
+
+78 } \1f0)
+
+       )
+
+       @/usr/include/asm-x86_64/errno.h
+
+1 #iâdeà
+_X8664_ERRNO_H
+
+
+2 \ 1
+       #_X8664_ERRNO_H
+
+
+       )
+
+4 #iâdeà
+_LINUX_ERRNO_H
+
+
+5 \ 2
+       ~<l\9aux/\94ºo.h
+>
+
+       @/usr/include/asm-x86_64/posix_types.h
+
+1 #iâdeà
+_ASM_X86_64_POSIX_TYPES_H
+
+
+2 \ 1
+       #_ASM_X86_64_POSIX_TYPES_H
+
+
+       )
+
+10 \e\1d\13
+       t__k\94Ãl_\9ao_t
+;
+
+11 \e\1d\12
+       t__k\94Ãl_mode_t
+;
+
+12 \e\1d\13
+       t__k\94Ãl_Æ\9ak_t
+;
+
+13 \e\13
+       t__k\94Ãl_off_t
+;
+
+14 \e\12
+       t__k\94Ãl_pid_t
+;
+
+15 \e\12
+       t__k\94Ãl_\9dc_pid_t
+;
+
+16 \e\1d\12
+       t__k\94Ãl_uid_t
+;
+
+17 \e\1d\12
+       t__k\94Ãl_gid_t
+;
+
+18 \e\1d\13
+       t__k\94Ãl_size_t
+;
+
+19 \e\13
+       t__k\94Ãl_ssize_t
+;
+
+20 \e\13
+       t__k\94Ãl_±rdiff_t
+;
+
+21 \e\13
+       t__k\94Ãl_time_t
+;
+
+22 \e\13
+       t__k\94Ãl_su£cÚds_t
+;
+
+23 \e\13
+       t__k\94Ãl_þock_t
+;
+
+24 \e\12
+       t__k\94Ãl_tim\94_t
+;
+
+25 \e\12
+       t__k\94Ãl_þockid_t
+;
+
+26 \e\12
+       t__k\94Ãl_daddr_t
+;
+
+27 \e\ 5
+       t__k\94Ãl_ÿddr_t
+;
+
+28 \e\1d\16
+       t__k\94Ãl_uid16_t
+;
+
+29 \e\1d\16
+       t__k\94Ãl_gid16_t
+;
+
+31 #ià(
+def\9aed
+(
+__GNUC__
+è&& !def\9aed(
+__STRICT_ANSI__
+)è|| (
+__STDC_VERSION__
+ >= 199901L)
+
+32 \e\13\13
+       t__k\94Ãl_loff_t
+;
+
+36 \12
+       mv®
+[2];
+
+37 } 
+       t__k\94Ãl_fsid_t
+;
+
+39 \e\1d\16
+       t__k\94Ãl_Þd_uid_t
+;
+
+40 \e\1d\16
+       t__k\94Ãl_Þd_gid_t
+;
+
+41 \e
+__k\94Ãl_uid_t
+       t__k\94Ãl_uid32_t
+;
+
+42 \e
+__k\94Ãl_gid_t
+       t__k\94Ãl_gid32_t
+;
+
+44 \e\1d\13
+       t__k\94Ãl_Þd_dev_t
+;
+
+       @/usr/include/bits/libc-lock.h
+
+21 #iâdeà
+_BITS_LIBC_LOCK_H
+
+
+22 \ 1
+       #_BITS_LIBC_LOCK_H
+ 1
+
+       )
+
+24 \ 2
+       ~<±h»ad.h
+>
+
+26 #ià
+def\9aed
+_LIBC
+ && !def\9aed 
+NOT_IN_libc
+
+
+27 \ 2
+       ~<l\9auxth»ads/\9a\8bº®s.h
+>
+
+31 #ià
+def\9aed
+(
+_LIBC
+è|| def\9aed(
+_IO_MTSAFE_IO
+)
+
+32 \e
+±h»ad_mu\8bx_t
+       t__libc_lock_t
+;
+
+33 \e¡ruù { 
+±h»ad_mu\8bx_t
+       mmu\8bx
+; } 
+       t__libc_lock_»cursive_t
+;
+
+34 #ifdeà
+__USE_UNIX98
+
+
+35 \e
+±h»ad_rwlock_t
+       t__libc_rwlock_t
+;
+
+37 \e\19
+__libc_rwlock_Ýaque__
+       t__libc_rwlock_t
+;
+
+39 \e
+__libc_lock_»cursive_t
+       t__¹ld_lock_»cursive_t
+;
+
+41 \e\19
+__libc_lock_Ýaque__
+       t__libc_lock_t
+;
+
+42 \e\19
+__libc_lock_»cursive_Ýaque__
+       t__libc_lock_»cursive_t
+;
+
+43 \e\19
+__libc_rwlock_Ýaque__
+       t__libc_rwlock_t
+;
+
+47 \e
+±h»ad_key_t
+       t__libc_key_t
+;
+
+56 \ 1
+       #__libc_lock_def\9ae
+(
+CLASS
+,
+NAME
+) \
+
+57 
+CLASS
+__libc_lock_t
+NAME
+;
+
+       )
+
+58 \ 1
+       #__libc_rwlock_def\9ae
+(
+CLASS
+,
+NAME
+) \
+
+59 
+CLASS
+__libc_rwlock_t
+NAME
+;
+
+       )
+
+60 \ 1
+       #__libc_lock_def\9ae_»cursive
+(
+CLASS
+,
+NAME
+) \
+
+61 
+CLASS
+__libc_lock_»cursive_t
+NAME
+;
+
+       )
+
+62 \ 1
+       #__¹ld_lock_def\9ae_»cursive
+(
+CLASS
+,
+NAME
+) \
+
+63 
+CLASS
+__¹ld_lock_»cursive_t
+NAME
+;
+
+       )
+
+74 #ifdeà
+__LT_INITIALIZER_NOT_ZERO
+
+
+75 \ 1
+       #__libc_lock_def\9ae_\9a\99\9flized
+(
+CLASS
+,
+NAME
+) \
+
+76 
+CLASS
+__libc_lock_t
+NAME
+ = 
+PTHREAD_MUTEX_INITIALIZER
+;
+
+       )
+
+78 \ 1
+       #__libc_lock_def\9ae_\9a\99\9flized
+(
+CLASS
+,
+NAME
+) \
+
+79 
+CLASS
+__libc_lock_t
+NAME
+;
+
+       )
+
+82 \ 1
+       #__libc_rwlock_def\9ae_\9a\99\9flized
+(
+CLASS
+,
+NAME
+) \
+
+83 
+CLASS
+__libc_rwlock_t
+NAME
+ = 
+PTHREAD_RWLOCK_INITIALIZER
+;
+
+       )
+
+87 \ 1
+       #__libc_lock_def\9ae_\9a\99\9flized_»cursive
+(
+CLASS
+,
+NAME
+) \
+
+88 
+CLASS
+__libc_lock_»cursive_t
+NAME
+ = 
+_LIBC_LOCK_RECURSIVE_INITIALIZER
+;
+
+       )
+
+89 \ 1
+       #_LIBC_LOCK_RECURSIVE_INITIALIZER
+ \
+
+90 {
+PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+}
+
+       )
+
+92 \ 1
+       #__¹ld_lock_def\9ae_\9a\99\9flized_»cursive
+(
+CLASS
+,
+NAME
+) \
+
+93 
+CLASS
+__¹ld_lock_»cursive_t
+NAME
+ = 
+_RTLD_LOCK_RECURSIVE_INITIALIZER
+;
+
+       )
+
+94 \ 1
+       #_RTLD_LOCK_RECURSIVE_INITIALIZER
+ \
+
+95 {
+PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+}
+
+       )
+
+97 #ià
+def\9aed
+_LIBC
+ && def\9aed 
+IS_IN_lib±h»ad
+
+
+98 \ 1
+       #__libc_maybe_ÿÎ
+(
+FUNC
+, 
+ARGS
+, 
+ELSE
+èFUNC 
+       )
+ARGS
+
+100 #ià
+def\9aed
+__PIC__
+ || (def\9aed 
+_LIBC
+ && def\9aed 
+SHARED
+)
+
+101 \ 1
+       #__libc_maybe_ÿÎ
+(
+FUNC
+, 
+ARGS
+, 
+ELSE
+) \
+
+102 (
+       `__ex\8bnsiÚ__
+ ({ 
+       `__ty³of
+ (
+FUNC
+è*
+_â
+ = (FUNC); \
+
+103 
+_â
+ !ð
+NULL
+ ? (*_âè
+ARGS
+ : 
+ELSE
+; }))
+
+       )
+
+105 \ 1
+       #__libc_maybe_ÿÎ
+(
+FUNC
+, 
+ARGS
+, 
+ELSE
+) \
+
+106 (
+FUNC
+ !ð
+NULL
+ ? FUNC 
+ARGS
+ : 
+ELSE
+)
+
+       )
+
+109 #ià
+def\9aed
+_LIBC
+ && !def\9aed 
+NOT_IN_libc
+ && def\9aed 
+SHARED
+
+
+110 \ 1
+       #__libc_maybe_ÿÎ2
+(
+FUNC
+, 
+ARGS
+, 
+ELSE
+) \
+
+111 ({
+       `__bu\9et\9a_ex³ù
+ (
+__libc_±h»ad_funùiÚs
+.
+±r_
+##
+FUNC
+ !ð
+NULL
+, 0) \
+
+112 ? 
+__libc_±h»ad_funùiÚs
+.
+±r_
+##
+FUNC
+ARGS
+ : 
+ELSE
+; })
+
+       )
+
+114 \ 1
+       #__libc_maybe_ÿÎ2
+(
+FUNC
+, 
+ARGS
+, 
+ELSE
+       `__libc_maybe_ÿÎ
+ (
+__
+##FUNC, ARGS, ELSE)
+
+       )
+
+119 #ià
+def\9aed
+_LIBC
+ && !def\9aed 
+NOT_IN_libc
+ && def\9aed 
+SHARED
+
+
+120 \ 1
+       #__libc_lock_\9a\99
+(
+NAME
+) \
+
+122 (
+NAME
+).
+__m_couÁ
+ = 0; \
+
+123 (
+NAME
+).
+__m_owÃr
+ = 
+NULL
+; \
+
+124 (
+NAME
+).
+__m_k\9ad
+ = 
+PTHREAD_MUTEX_TIMED_NP
+; \
+
+125 (
+NAME
+).
+__m_lock
+.
+__¡©us
+ = 0; \
+
+126 (
+NAME
+).
+__m_lock
+.
+__¥\9alock
+ = 
+__LT_SPINLOCK_INIT
+; \
+
+127 0; })
+
+       )
+
+129 \ 1
+       #__libc_lock_\9a\99
+(
+NAME
+) \
+
+130 (
+       `__libc_maybe_ÿÎ2
+ (
+±h»ad_mu\8bx_\9a\99
+, (&(
+NAME
+), 
+NULL
+), 0))
+
+       )
+
+132 \ 1
+       #__libc_rwlock_\9a\99
+(
+NAME
+) \
+
+133 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_\9a\99
+, (&(
+NAME
+), 
+NULL
+), 0));
+
+       )
+
+136 #ià
+def\9aed
+_LIBC
+ && !def\9aed 
+NOT_IN_libc
+ && def\9aed 
+SHARED
+
+
+137 \ 1
+       #__libc_lock_\9a\99_»cursive
+(
+NAME
+) \
+
+139 (
+NAME
+).
+mu\8bx
+.
+__m_couÁ
+ = 0; \
+
+140 (
+NAME
+).
+mu\8bx
+.
+__m_owÃr
+ = 
+NULL
+; \
+
+141 (
+NAME
+).
+mu\8bx
+.
+__m_k\9ad
+ = 
+PTHREAD_MUTEX_RECURSIVE_NP
+; \
+
+142 (
+NAME
+).
+mu\8bx
+.
+__m_lock
+.
+__¡©us
+ = 0; \
+
+143 (
+NAME
+).
+mu\8bx
+.
+__m_lock
+.
+__¥\9alock
+ = 
+__LT_SPINLOCK_INIT
+; \
+
+144 0; })
+
+       )
+
+146 \ 1
+       #__libc_lock_\9a\99_»cursive
+(
+NAME
+) \
+
+148 ià(
+__±h»ad_mu\8bx_\9a\99
+ !ð
+NULL
+) \
+
+150 
+±h»ad_mu\8b\8c_t
+__©\8c
+; \
+
+151 
+       `__±h»ad_mu\8b\8c_\9a\99
+ (&
+__©\8c
+); \
+
+152 
+       `__±h»ad_mu\8b\8c\89
+ (&
+__©\8c
+, 
+PTHREAD_MUTEX_RECURSIVE_NP
+); \
+
+153 
+       `__±h»ad_mu\8bx_\9a\99
+ (&(
+NAME
+).
+mu\8bx
+, &
+__©\8c
+); \
+
+154 
+       `__±h»ad_mu\8b\8c_de¡roy
+ (&
+__©\8c
+); \
+
+156 } \1f0);
+
+       )
+
+158 \ 1
+       #__¹ld_lock_\9a\99_»cursive
+(
+NAME
+) \
+
+159 
+       `__libc_lock_\9a\99_»cursive
+ (
+NAME
+)
+
+       )
+
+164 \ 1
+       #__libc_lock_f\9ai
+(
+NAME
+) \
+
+165 (
+       `__libc_maybe_ÿÎ2
+ (
+±h»ad_mu\8bx_de¡roy
+, (&(
+NAME
+)), 0));
+
+       )
+
+166 \ 1
+       #__libc_rwlock_f\9ai
+(
+NAME
+) \
+
+167 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_de¡roy
+, (&(
+NAME
+)), 0));
+
+       )
+
+170 \ 1
+       #__libc_lock_f\9ai_»cursive
+(
+NAME
+       `__libc_lock_f\9ai
+ ((NAME).
+mu\8bx
+)
+
+       )
+
+171 \ 1
+       #__¹ld_lock_f\9ai_»cursive
+(
+NAME
+       `__libc_lock_f\9ai_»cursive
+ (NAME)
+
+       )
+
+174 \ 1
+       #__libc_lock_lock
+(
+NAME
+) \
+
+175 (
+       `__libc_maybe_ÿÎ2
+ (
+±h»ad_mu\8bx_lock
+, (&(
+NAME
+)), 0));
+
+       )
+
+176 \ 1
+       #__libc_rwlock_rdlock
+(
+NAME
+) \
+
+177 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_rdlock
+, (&(
+NAME
+)), 0));
+
+       )
+
+178 \ 1
+       #__libc_rwlock_w¾ock
+(
+NAME
+) \
+
+179 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_w¾ock
+, (&(
+NAME
+)), 0));
+
+       )
+
+182 \ 1
+       #__libc_lock_lock_»cursive
+(
+NAME
+       `__libc_lock_lock
+ ((NAME).
+mu\8bx
+)
+
+       )
+
+185 \ 1
+       #__libc_lock_\8cylock
+(
+NAME
+) \
+
+186 (
+       `__libc_maybe_ÿÎ2
+ (
+±h»ad_mu\8bx_\8cylock
+, (&(
+NAME
+)), 0))
+
+       )
+
+187 \ 1
+       #__libc_rwlock_\8cyrdlock
+(
+NAME
+) \
+
+188 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_\8cyrdlock
+, (&(
+NAME
+)), 0))
+
+       )
+
+189 \ 1
+       #__libc_rwlock_\8cyw¾ock
+(
+NAME
+) \
+
+190 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_\8cyw¾ock
+, (&(
+NAME
+)), 0))
+
+       )
+
+193 \ 1
+       #__libc_lock_\8cylock_»cursive
+(
+NAME
+       `__libc_lock_\8cylock
+ ((NAME).
+mu\8bx
+)
+
+       )
+
+194 \ 1
+       #__¹ld_lock_\8cylock_»cursive
+(
+NAME
+) \
+
+195 
+       `__libc_lock_\8cylock_»cursive
+ (
+NAME
+)
+
+       )
+
+198 \ 1
+       #__libc_lock_uÆock
+(
+NAME
+) \
+
+199 (
+       `__libc_maybe_ÿÎ2
+ (
+±h»ad_mu\8bx_uÆock
+, (&(
+NAME
+)), 0));
+
+       )
+
+200 \ 1
+       #__libc_rwlock_uÆock
+(
+NAME
+) \
+
+201 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_rwlock_uÆock
+, (&(
+NAME
+)), 0));
+
+       )
+
+204 \ 1
+       #__libc_lock_uÆock_»cursive
+(
+NAME
+       `__libc_lock_uÆock
+ ((NAME).
+mu\8bx
+)
+
+       )
+
+206 #ià
+def\9aed
+_LIBC
+ && def\9aed 
+SHARED
+
+
+207 \ 1
+       #__¹ld_lock_deçuÉ_lock_»cursive
+(
+lock
+) \
+
+208 ++((
+±h»ad_mu\8bx_t
+ *)(
+lock
+))->
+__m_couÁ
+;
+
+       )
+
+210 \ 1
+       #__¹ld_lock_deçuÉ_uÆock_»cursive
+(
+lock
+) \
+
+211 --((
+±h»ad_mu\8bx_t
+ *)(
+lock
+))->
+__m_couÁ
+;
+
+       )
+
+213 \ 1
+       #__¹ld_lock_lock_»cursive
+(
+NAME
+) \
+
+214 
+       `GL
+(
+dl_¹ld_lock_»cursive
+è(&(
+NAME
+).
+mu\8bx
+)
+
+       )
+
+216 \ 1
+       #__¹ld_lock_uÆock_»cursive
+(
+NAME
+) \
+
+217 
+       `GL
+(
+dl_¹ld_uÆock_»cursive
+è(&(
+NAME
+).
+mu\8bx
+)
+
+       )
+
+219 \ 1
+       #__¹ld_lock_lock_»cursive
+(
+NAME
+       `__libc_lock_lock_»cursive
+ (NAME)
+
+       )
+
+220 \ 1
+       #__¹ld_lock_uÆock_»cursive
+(
+NAME
+       `__libc_lock_uÆock_»cursive
+ (NAME)
+
+       )
+
+224 #ià
+PTHREAD_ONCE_INIT
+ == 0
+
+227 \ 1
+       #__libc_Úû_def\9ae
+(
+CLASS
+, 
+NAME
+) \
+
+228 
+CLASS
+±h»ad_Úû_t
+NAME
+
+
+       )
+
+230 \ 1
+       #__libc_Úû_def\9ae
+(
+CLASS
+, 
+NAME
+) \
+
+231 
+CLASS
+±h»ad_Úû_t
+NAME
+ = 
+PTHREAD_ONCE_INIT
+
+
+       )
+
+235 \ 1
+       #__libc_Úû
+(
+ONCE_CONTROL
+, 
+INIT_FUNCTION
+) \
+
+237 ià(
+__±h»ad_Úû
+ !ð
+NULL
+) \
+
+238 
+       `__±h»ad_Úû
+ (&(
+ONCE_CONTROL
+), (
+INIT_FUNCTION
+)); \
+
+239 \vià((
+ONCE_CONTROL
+è=ð
+PTHREAD_ONCE_INIT
+) { \
+
+240 
+       `INIT_FUNCTION
+ (); \
+
+241 (
+ONCE_CONTROL
+) = 2; \
+
+243 } \1f0)
+
+       )
+
+247 \ 1
+       #__libc_þ\97nup_»giÚ_¡¬t
+(
+DOIT
+, 
+FCT
+, 
+ARG
+) \
+
+248 { \19
+_±h»ad_þ\97nup_bufãr
+_bufãr
+; \
+
+249 \12
+_ava\9e
+ = (
+DOIT
+è&& 
+_±h»ad_þ\97nup_push_deãr
+ !ð
+NULL
+; \
+
+250 ià(
+_ava\9e
+) { \
+
+251 
+       `_±h»ad_þ\97nup_push_deãr
+ (&
+_bufãr
+, (
+FCT
+), (
+ARG
+)); \
+
+252 }
+
+       )
+
+255 \ 1
+       #__libc_þ\97nup_»giÚ_\92d
+(
+DOIT
+) \
+
+256 ià(
+_ava\9e
+) { \
+
+257 
+       `_±h»ad_þ\97nup_pÝ_»¡Üe
+ (&
+_bufãr
+, (
+DOIT
+)); \
+
+259 }
+
+       )
+
+262 \ 1
+       #__libc_þ\97nup_\92d
+(
+DOIT
+) \
+
+263 ià(
+_ava\9e
+) { \
+
+264 
+       `_±h»ad_þ\97nup_pÝ_»¡Üe
+ (&
+_bufãr
+, (
+DOIT
+)); \
+
+265 }
+
+       )
+
+267 \ 1
+       #__libc_þ\97nup_push
+(
+fù
+, 
+¬g
+) \
+
+268 { \19
+_±h»ad_þ\97nup_bufãr
+_bufãr
+; \
+
+269 
+       `__libc_maybe_ÿÎ
+ (
+_±h»ad_þ\97nup_push
+, (&
+_bufãr
+, (
+fù
+), (
+¬g
+)), 0)
+
+       )
+
+271 \ 1
+       #__libc_þ\97nup_pÝ
+(
+execu\8b
+) \
+
+272 
+       `__libc_maybe_ÿÎ
+ (
+_±h»ad_þ\97nup_pÝ
+, (&
+_bufãr
+, 
+execu\8b
+), 0); \
+
+273 }
+
+       )
+
+276 \ 1
+       #__libc_key_ü\97\8b
+(
+KEY
+, 
+DESTRUCTOR
+) \
+
+277 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_key_ü\97\8b
+, (
+KEY
+, 
+DESTRUCTOR
+), 1))
+
+       )
+
+280 \ 1
+       #__libc_g\91¥ecific
+(
+KEY
+) \
+
+281 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_g\91¥ecific
+, (
+KEY
+), 
+NULL
+))
+
+       )
+
+284 \ 1
+       #__libc_£t¥ecific
+(
+KEY
+, 
+VALUE
+) \
+
+285 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_£t¥ecific
+, (
+KEY
+, 
+VALUE
+), 0))
+
+       )
+
+289 \ 1
+       #__libc_©fÜk
+(
+PREPARE
+, 
+PARENT
+, 
+CHILD
+) \
+
+290 (
+       `__libc_maybe_ÿÎ
+ (
+__±h»ad_©fÜk
+, (
+PREPARE
+, 
+PARENT
+, 
+CHILD
+), 0))
+
+       )
+
+295 \r\12
+__±h»ad_mu\8bx_\9a\99
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+,
+
+296 
+__cڡ
+±h»ad_mu\8b\8c_t
+ *
+__mu\8bx_©\8c
+);
+
+298 \r\12
+__±h»ad_mu\8bx_de¡roy
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+);
+
+300 \r\12
+__±h»ad_mu\8bx_\8cylock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+);
+
+302 \r\12
+__±h»ad_mu\8bx_lock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+);
+
+304 \r\12
+__±h»ad_mu\8bx_uÆock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+);
+
+306 \r\12
+__±h»ad_mu\8b\8c_\9a\99
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+);
+
+308 \r\12
+__±h»ad_mu\8b\8c_de¡roy
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+);
+
+310 \r\12
+__±h»ad_mu\8b\8c\89
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+311 \12
+__k\9ad
+);
+
+313 #ifdeà
+__USE_UNIX98
+
+
+314 \r\12
+__±h»ad_rwlock_\9a\99
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+,
+
+315 
+__cڡ
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+);
+
+317 \r\12
+__±h»ad_rwlock_de¡roy
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+319 \r\12
+__±h»ad_rwlock_rdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+321 \r\12
+__±h»ad_rwlock_\8cyrdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+323 \r\12
+__±h»ad_rwlock_w¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+325 \r\12
+__±h»ad_rwlock_\8cyw¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+327 \r\12
+__±h»ad_rwlock_uÆock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+);
+
+330 \r\12
+__±h»ad_key_ü\97\8b
+ (
+±h»ad_key_t
+ *
+__key
+,
+
+331 \1e(*
+__de¡r_funùiÚ
+) (\1e*));
+
+333 \r\12
+       `__±h»ad_£t¥ecific
+ (
+±h»ad_key_t
+__key
+,
+
+334 
+__cڡ
\1e*
+__po\9a\8br
+);
+
+336 \r\1e*
+       `__±h»ad_g\91¥ecific
+ (
+±h»ad_key_t
+__key
+);
+
+338 \r\12
+       `__±h»ad_Úû
+ (
+±h»ad_Úû_t
+ *
+__Úû_cÚ\8cÞ
+,
+
+339 \1e(*
+__\9a\99_rout\9ae
+) (\1e));
+
+341 \r\12
+       `__±h»ad_©fÜk
+ (\1e(*
+__´\95¬e
+) (\1e),
+
+342 \1e(*
+__·»Á
+) (\1e),
+
+343 \1e(*
+__ch\9ed
+) (\1e));
+
+349 #iâdeà
+__NO_WEAK_PTHREAD_ALIASES
+
+
+350 #ifdeà
+w\97k_ex\8bº
+
+
+351 #ià
+_LIBC
+
+
+352 \ 2
+       ~<bp-sym.h
+>
+
+354 \ 1
+       #BP_SYM
+ (
+sym
+       )
+sym
+
+356 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8bx_\9a\99
+))
+
+357 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8bx_de¡roy
+))
+
+358 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8bx_lock
+))
+
+359 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8bx_\8cylock
+))
+
+360 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8bx_uÆock
+))
+
+361 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8b\8c_\9a\99
+))
+
+362 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8b\8c_de¡roy
+))
+
+363 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_mu\8b\8c\89
+))
+
+364 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_\9a\99
+))
+
+365 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_de¡roy
+))
+
+366 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_rdlock
+))
+
+367 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_\8cyrdlock
+))
+
+368 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_w¾ock
+))
+
+369 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_\8cyw¾ock
+))
+
+370 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_rwlock_uÆock
+))
+
+371 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_key_ü\97\8b
+))
+
+372 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_£t¥ecific
+))
+
+373 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_g\91¥ecific
+))
+
+374 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+__±h»ad_Úû
+))
+
+375 
+       $w\97k_ex\8bº
+ (
+__±h»ad_\9a\99\9flize
+)
+
+376 
+       $w\97k_ex\8bº
+ (
+__±h»ad_©fÜk
+)
+
+377 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+_±h»ad_þ\97nup_push
+))
+
+378 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+_±h»ad_þ\97nup_pÝ
+))
+
+379 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+_±h»ad_þ\97nup_push_deãr
+))
+
+380 
+       `w\97k_ex\8bº
+ (
+       $BP_SYM
+ (
+_±h»ad_þ\97nup_pÝ_»¡Üe
+))
+
+382 #´agm¨
+w\97k
+__±h»ad_mu\8bx_\9a\99
+
+
+383 #´agm¨
+w\97k
+__±h»ad_mu\8bx_de¡roy
+
+
+384 #´agm¨
+w\97k
+__±h»ad_mu\8bx_lock
+
+
+385 #´agm¨
+w\97k
+__±h»ad_mu\8bx_\8cylock
+
+
+386 #´agm¨
+w\97k
+__±h»ad_mu\8bx_uÆock
+
+
+387 #´agm¨
+w\97k
+__±h»ad_mu\8b\8c_\9a\99
+
+
+388 #´agm¨
+w\97k
+__±h»ad_mu\8b\8c_de¡roy
+
+
+389 #´agm¨
+w\97k
+__±h»ad_mu\8b\8c\89
+
+
+390 #´agm¨
+w\97k
+__±h»ad_rwlock_de¡roy
+
+
+391 #´agm¨
+w\97k
+__±h»ad_rwlock_rdlock
+
+
+392 #´agm¨
+w\97k
+__±h»ad_rwlock_\8cyrdlock
+
+
+393 #´agm¨
+w\97k
+__±h»ad_rwlock_w¾ock
+
+
+394 #´agm¨
+w\97k
+__±h»ad_rwlock_\8cyw¾ock
+
+
+395 #´agm¨
+w\97k
+__±h»ad_rwlock_uÆock
+
+
+396 #´agm¨
+w\97k
+__±h»ad_key_ü\97\8b
+
+
+397 #´agm¨
+w\97k
+__±h»ad_£t¥ecific
+
+
+398 #´agm¨
+w\97k
+__±h»ad_g\91¥ecific
+
+
+399 #´agm¨
+w\97k
+__±h»ad_Úû
+
+
+400 #´agm¨
+w\97k
+__±h»ad_\9a\99\9flize
+
+
+401 #´agm¨
+w\97k
+__±h»ad_©fÜk
+
+
+402 #´agm¨
+w\97k
+_±h»ad_þ\97nup_push_deãr
+
+
+403 #´agm¨
+w\97k
+_±h»ad_þ\97nup_pÝ_»¡Üe
+
+
+404 #´agm¨
+w\97k
+_±h»ad_þ\97nup_push
+
+
+405 #´agm¨
+w\97k
+_±h»ad_þ\97nup_pÝ
+
+
+411 \ 1
+       #__libc_mu\8bx_uÆock
+__±h»ad_mu\8bx_uÆock
+
+
+       )
+
+       @/usr/include/bits/resource.h
+
+21 #iâdeà
+_SYS_RESOURCE_H
+
+
+25 \ 2
+       ~<b\99s/ty³s.h
+>
+
+33 \f
+       e__¾im\99_»sourû
+
+
+36 
+       mRLIMIT_CPU
+ = 0,
+
+37 \ 1
+       #RLIMIT_CPU
+RLIMIT_CPU
+
+
+       )
+
+40 
+       mRLIMIT_FSIZE
+ = 1,
+
+41 \ 1
+       #RLIMIT_FSIZE
+RLIMIT_FSIZE
+
+
+       )
+
+44 
+       mRLIMIT_DATA
+ = 2,
+
+45 \ 1
+       #RLIMIT_DATA
+RLIMIT_DATA
+
+
+       )
+
+48 
+       mRLIMIT_STACK
+ = 3,
+
+49 \ 1
+       #RLIMIT_STACK
+RLIMIT_STACK
+
+
+       )
+
+52 
+       mRLIMIT_CORE
+ = 4,
+
+53 \ 1
+       #RLIMIT_CORE
+RLIMIT_CORE
+
+
+       )
+
+59 
+       m__RLIMIT_RSS
+ = 5,
+
+60 \ 1
+       #RLIMIT_RSS
+__RLIMIT_RSS
+
+
+       )
+
+63 
+       mRLIMIT_NOFILE
+ = 7,
+
+64 
+       m__RLIMIT_OFILE
+ = 
+RLIMIT_NOFILE
+,
+
+65 \ 1
+       #RLIMIT_NOFILE
+RLIMIT_NOFILE
+
+
+       )
+
+66 \ 1
+       #RLIMIT_OFILE
+__RLIMIT_OFILE
+
+
+       )
+
+69 
+       mRLIMIT_AS
+ = 9,
+
+70 \ 1
+       #RLIMIT_AS
+RLIMIT_AS
+
+
+       )
+
+73 
+       m__RLIMIT_NPROC
+ = 6,
+
+74 \ 1
+       #RLIMIT_NPROC
+__RLIMIT_NPROC
+
+
+       )
+
+77 
+       m__RLIMIT_MEMLOCK
+ = 8,
+
+78 \ 1
+       #RLIMIT_MEMLOCK
+__RLIMIT_MEMLOCK
+
+
+       )
+
+81 
+       m__RLIMIT_LOCKS
+ = 10,
+
+82 \ 1
+       #RLIMIT_LOCKS
+__RLIMIT_LOCKS
+
+
+       )
+
+85 
+       m__RLIMIT_SIGPENDING
+ = 11,
+
+86 \ 1
+       #RLIMIT_SIGPENDING
+__RLIMIT_SIGPENDING
+
+
+       )
+
+89 
+       m__RLIMIT_MSGQUEUE
+ = 12,
+
+90 \ 1
+       #RLIMIT_MSGQUEUE
+__RLIMIT_MSGQUEUE
+
+
+       )
+
+95 
+       m__RLIMIT_NICE
+ = 13,
+
+96 \ 1
+       #RLIMIT_NICE
+__RLIMIT_NICE
+
+
+       )
+
+100 
+       m__RLIMIT_RTPRIO
+ = 14,
+
+101 \ 1
+       #RLIMIT_RTPRIO
+__RLIMIT_RTPRIO
+
+
+       )
+
+103 
+       m__RLIMIT_NLIMITS
+ = 15,
+
+104 
+       m__RLIM_NLIMITS
+ = 
+__RLIMIT_NLIMITS
+
+
+105 \ 1
+       #RLIMIT_NLIMITS
+__RLIMIT_NLIMITS
+
+
+       )
+
+106 \ 1
+       #RLIM_NLIMITS
+__RLIM_NLIMITS
+
+
+       )
+
+110 #iâdeà
+__USE_FILE_OFFSET64
+
+
+111 \ 1
+       #RLIM_INFINITY
+ ((\1d\13\12)(~0UL))
+
+       )
+
+113 \ 1
+       #RLIM_INFINITY
+ 0xffffffffffffffffuLL
+
+       )
+
+116 #ifdeà
+__USE_LARGEFILE64
+
+
+117 \ 1
+       #RLIM64_INFINITY
+ 0xffffffffffffffffuLL
+
+       )
+
+121 \ 1
+       #RLIM_SAVED_MAX
+RLIM_INFINITY
+
+
+       )
+
+122 \ 1
+       #RLIM_SAVED_CUR
+RLIM_INFINITY
+
+
+       )
+
+126 #iâdeà
+__USE_FILE_OFFSET64
+
+
+127 \e
+__¾im_t
+       t¾im_t
+;
+
+129 \e
+__¾im64_t
+       t¾im_t
+;
+
+131 #ifdeà
+__USE_LARGEFILE64
+
+
+132 \e
+__¾im64_t
+       t¾im64_t
+;
+
+135 \19
+       s¾im\99
+
+
+138 
+¾im_t
+       m¾im_cur
+;
+
+140 
+¾im_t
+       m¾im_max
+;
+
+143 #ifdeà
+__USE_LARGEFILE64
+
+
+144 \19
+       s¾im\9964
+
+
+147 
+¾im64_t
+       m¾im_cur
+;
+
+149 
+¾im64_t
+       m¾im_max
+;
+
+154 \f
+       e__ru§ge_who
+
+
+157 
+       mRUSAGE_SELF
+ = 0,
+
+158 \ 1
+       #RUSAGE_SELF
+RUSAGE_SELF
+
+
+       )
+
+161 
+       mRUSAGE_CHILDREN
+ = -1
+
+162 \ 1
+       #RUSAGE_CHILDREN
+RUSAGE_CHILDREN
+
+
+       )
+
+165 \ 1
+       #__Ãed_timev®
+
+
+       )
+
+166 \ 2
+       ~<b\99s/time.h
+>
+
+169 \19
+       sru§ge
+
+
+172 \19
+timev®
+       mru_utime
+;
+
+174 \19
+timev®
+       mru_¡ime
+;
+
+176 \13\12
+       mru_maxrss
+;
+
+179 \13\12
+       mru_ixrss
+;
+
+181 \13\12
+       mru_idrss
+;
+
+183 \13\12
+       mru_i¤ss
+;
+
+186 \13\12
+       mru_m\9aæt
+;
+
+188 \13\12
+       mru_majæt
+;
+
+190 \13\12
+       mru_nsw­
+;
+
+193 \13\12
+       mru_\9ablock
+;
+
+195 \13\12
+       mru_oublock
+;
+
+197 \13\12
+       mru_msg¢d
+;
+
+199 \13\12
+       mru_msgrcv
+;
+
+201 \13\12
+       mru_nsigÇls
+;
+
+205 \13\12
+       mru_nvcsw
+;
+
+208 \13\12
+       mru_nivcsw
+;
+
+212 \ 1
+       #PRIO_MIN
+ -20
+
+       )
+
+213 \ 1
+       #PRIO_MAX
+ 20
+
+       )
+
+217 \f
+       e__´iÜ\99y_which
+
+
+219 
+       mPRIO_PROCESS
+ = 0,
+
+220 \ 1
+       #PRIO_PROCESS
+PRIO_PROCESS
+
+
+       )
+
+221 
+       mPRIO_PGRP
+ = 1,
+
+222 \ 1
+       #PRIO_PGRP
+PRIO_PGRP
+
+
+       )
+
+223 
+       mPRIO_USER
+ = 2
+
+224 \ 1
+       #PRIO_USER
+PRIO_USER
+
+
+       )
+
+       @/usr/include/bits/sigaction.h
+
+20 #iâdeà
+_SIGNAL_H
+
+
+25 \19
+       ssigaùiÚ
+
+
+28 #ifdeà
+__USE_POSIX199309
+
+
+32 
+__sighªdËr_t
+       m§_hªdËr
+;
+
+34 \1e(*
+       m§_sigaùiÚ
+è(\12
+       msig\9afo_t
+ *, \1e*);
+
+36 
+       m__sigaùiÚ_hªdËr
+;
+
+37 \ 1
+       #§_hªdËr
+__sigaùiÚ_hªdËr
+.
+§_hªdËr
+
+
+       )
+
+38 \ 1
+       #§_sigaùiÚ
+__sigaùiÚ_hªdËr
+.
+§_sigaùiÚ
+
+
+       )
+
+40 
+__sighªdËr_t
+       m§_hªdËr
+;
+
+44 
+__sig£t_t
+       m§_mask
+;
+
+47 \12
+       m§_æags
+;
+
+50 \1e(*
+       m§_»¡Ü\94
+) (\1e);
+
+54 \ 1
+       #SA_NOCLDSTOP
+ 1
+
+       )
+
+55 \ 1
+       #SA_NOCLDWAIT
+ 2
+
+       )
+
+56 \ 1
+       #SA_SIGINFO
+ 4
+
+       )
+
+58 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_MISC
+
+
+59 \ 1
+       #SA_ONSTACK
+ 0x08000000
+
+       )
+
+60 \ 1
+       #SA_RESTART
+ 0x10000000
+
+       )
+
+61 \ 1
+       #SA_NODEFER
+ 0x40000000
+
+       )
+
+63 \ 1
+       #SA_RESETHAND
+ 0x80000000
+
+       )
+
+65 #ifdeà
+__USE_MISC
+
+
+66 \ 1
+       #SA_INTERRUPT
+ 0x20000000
+
+       )
+
+69 \ 1
+       #SA_NOMASK
+SA_NODEFER
+
+
+       )
+
+70 \ 1
+       #SA_ONESHOT
+SA_RESETHAND
+
+
+       )
+
+71 \ 1
+       #SA_STACK
+SA_ONSTACK
+
+
+       )
+
+75 \ 1
+       #SIG_BLOCK
+ 0
+
+       )
+
+76 \ 1
+       #SIG_UNBLOCK
+ 1
+
+       )
+
+77 \ 1
+       #SIG_SETMASK
+ 2
+
+       )
+
+       @/usr/include/bits/sigcontext.h
+
+19 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+_SYS_UCONTEXT_H
+
+
+23 #iâdeà
+sigcÚ\8bxt_¡ruù
+
+
+26 \ 1
+       #sigcÚ\8bxt_¡ruù
+sigcڋxt
+
+
+       )
+
+28 \ 2
+       ~<asm/sigcڋxt.h
+>
+
+       @/usr/include/bits/signum.h
+
+20 #ifdef 
+_SIGNAL_H
+
+
+23 \ 1
+       #SIG_ERR
+ ((
+__sighªdËr_t
+è-1è
+
+       )
+
+24 \ 1
+       #SIG_DFL
+ ((
+__sighªdËr_t
+è0è
+
+       )
+
+25 \ 1
+       #SIG_IGN
+ ((
+__sighªdËr_t
+è1è
+
+       )
+
+27 #ifdeà
+__USE_UNIX98
+
+
+28 \ 1
+       #SIG_HOLD
+ ((
+__sighªdËr_t
+è2è
+
+       )
+
+33 \ 1
+       #SIGHUP
+ 1
+
+       )
+
+34 \ 1
+       #SIGINT
+ 2
+
+       )
+
+35 \ 1
+       #SIGQUIT
+ 3
+
+       )
+
+36 \ 1
+       #SIGILL
+ 4
+
+       )
+
+37 \ 1
+       #SIGTRAP
+ 5
+
+       )
+
+38 \ 1
+       #SIGABRT
+ 6
+
+       )
+
+39 \ 1
+       #SIGIOT
+ 6
+
+       )
+
+40 \ 1
+       #SIGBUS
+ 7
+
+       )
+
+41 \ 1
+       #SIGFPE
+ 8
+
+       )
+
+42 \ 1
+       #SIGKILL
+ 9
+
+       )
+
+43 \ 1
+       #SIGUSR1
+ 10
+
+       )
+
+44 \ 1
+       #SIGSEGV
+ 11
+
+       )
+
+45 \ 1
+       #SIGUSR2
+ 12
+
+       )
+
+46 \ 1
+       #SIGPIPE
+ 13
+
+       )
+
+47 \ 1
+       #SIGALRM
+ 14
+
+       )
+
+48 \ 1
+       #SIGTERM
+ 15
+
+       )
+
+49 \ 1
+       #SIGSTKFLT
+ 16
+
+       )
+
+50 \ 1
+       #SIGCLD
+SIGCHLD
+
+
+       )
+
+51 \ 1
+       #SIGCHLD
+ 17
+
+       )
+
+52 \ 1
+       #SIGCONT
+ 18
+
+       )
+
+53 \ 1
+       #SIGSTOP
+ 19
+
+       )
+
+54 \ 1
+       #SIGTSTP
+ 20
+
+       )
+
+55 \ 1
+       #SIGTTIN
+ 21
+
+       )
+
+56 \ 1
+       #SIGTTOU
+ 22
+
+       )
+
+57 \ 1
+       #SIGURG
+ 23
+
+       )
+
+58 \ 1
+       #SIGXCPU
+ 24
+
+       )
+
+59 \ 1
+       #SIGXFSZ
+ 25
+
+       )
+
+60 \ 1
+       #SIGVTALRM
+ 26
+
+       )
+
+61 \ 1
+       #SIGPROF
+ 27
+
+       )
+
+62 \ 1
+       #SIGWINCH
+ 28
+
+       )
+
+63 \ 1
+       #SIGPOLL
+SIGIO
+
+
+       )
+
+64 \ 1
+       #SIGIO
+ 29
+
+       )
+
+65 \ 1
+       #SIGPWR
+ 30
+
+       )
+
+66 \ 1
+       #SIGSYS
+ 31
+
+       )
+
+67 \ 1
+       #SIGUNUSED
+ 31
+
+       )
+
+69 \ 1
+       #_NSIG
+ 65
+
+       )
+
+72 \ 1
+       #SIGRTMIN
+ (
+       `__libc_cu¼\92t_sig¹m\9a
+ ())
+
+       )
+
+73 \ 1
+       #SIGRTMAX
+ (
+       `__libc_cu¼\92t_sig¹max
+ ())
+
+       )
+
+77 \ 1
+       #__SIGRTMIN
+ 32
+
+       )
+
+78 \ 1
+       #__SIGRTMAX
+ (
+_NSIG
+ - 1)
+
+       )
+
+       @/usr/include/bits/sigstack.h
+
+20 #iâdeà
+_SIGNAL_H
+
+
+26 \19
+       ssig¡ack
+
+
+28 \1e*
+       mss_¥
+;
+
+29 \12
+       mss_ڡack
+;
+
+36 
+       mSS_ONSTACK
+ = 1,
+
+37 \ 1
+       #SS_ONSTACK
+SS_ONSTACK
+
+
+       )
+
+38 
+       mSS_DISABLE
+
+
+39 \ 1
+       #SS_DISABLE
+SS_DISABLE
+
+
+       )
+
+43 \ 1
+       #MINSIGSTKSZ
+ 2048
+
+       )
+
+46 \ 1
+       #SIGSTKSZ
+ 8192
+
+       )
+
+50 \e\19
+       ssig®t¡ack
+
+
+52 \1e*
+       mss_¥
+;
+
+53 \12
+       mss_æags
+;
+
+54 
+size_t
+       mss_size
+;
+
+55 } 
+       t¡ack_t
+;
+
+       @/usr/include/bits/sigthread.h
+
+20 #iâdeà
+_BITS_SIGTHREAD_H
+
+
+21 \ 1
+       #_BITS_SIGTHREAD_H
+ 1
+
+       )
+
+23 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+_PTHREAD_H
+
+
+31 \r\12
+       $±h»ad_sigmask
+ (\12
+__how
+,
+
+32 
+__cڡ
+__sig£t_t
+ *
+__»¡riù
+__Ãwmask
+,
+
+33 
+__sig£t_t
+ *
+__»¡riù
+__Þdmask
+)
+__THROW
+;
+
+36 \r\12
+       $±h»ad_k\9el
+ (
+±h»ad_t
+__th»adid
+, \12
+__signo
+__THROW
+;
+
+       @/usr/include/gconv.h
+
+23 #iâdeà
+_GCONV_H
+
+
+24 \ 1
+       #_GCONV_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+28 \ 2
+       ~<wch¬.h
+>
+
+29 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+30 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+31 \ 2
+       ~<¡ddef.h
+>
+
+34 \ 1
+       #__UNKNOWN_10646_CHAR
+ ((
+wch¬_t
+è0xfffd)
+
+       )
+
+39 
+       m__GCONV_OK
+ = 0,
+
+40 
+       m__GCONV_NOCONV
+,
+
+41 
+       m__GCONV_NODB
+,
+
+42 
+       m__GCONV_NOMEM
+,
+
+44 
+       m__GCONV_EMPTY_INPUT
+,
+
+45 
+       m__GCONV_FULL_OUTPUT
+,
+
+46 
+       m__GCONV_ILLEGAL_INPUT
+,
+
+47 
+       m__GCONV_INCOMPLETE_INPUT
+,
+
+49 
+       m__GCONV_ILLEGAL_DESCRIPTOR
+,
+
+50 
+       m__GCONV_INTERNAL_ERROR
+
+
+57 
+       m__GCONV_IS_LAST
+ = 0x0001,
+
+58 
+       m__GCONV_IGNORE_ERRORS
+ = 0x0002
+
+63 \19
+       g__gcÚv_¡\95
+;
+
+64 \19
+       g__gcÚv_¡\95_d©a
+;
+
+65 \19
+       g__gcÚv_lßded_objeù
+;
+
+66 \19
+       g__gcÚv_\8cªs_d©a
+;
+
+70 \e\12(*
+       t__gcÚv_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \19
+       t__gcÚv_¡\95_d©a
+ *,
+
+71 
+       t__cڡ
\1d\ 5**, __const \1d\ 5*,
+
+72 \1d\ 5**, 
+       tsize_t
+ *, \12\12);
+
+75 \e
+       $w\9at_t
+ (*
+       t__gcÚv_btowc_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \1d\ 5);
+
+78 \e\12(*
+       t__gcÚv_\9a\99_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+79 \e\1e(*
+       t__gcÚv_\92d_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+83 \e\12(*
+       t__gcÚv_\8cªs_fù
+è(\19
+       t__gcÚv_¡\95
+ *,
+
+84 \19
+       t__gcÚv_¡\95_d©a
+ *, \1e*,
+
+85 
+       t__cڡ
\1d\ 5*,
+
+86 
+       t__cڡ
\1d\ 5**,
+
+87 
+       t__cڡ
\1d\ 5*, \1d\ 5**,
+
+88 
+       tsize_t
+ *);
+
+91 \e\12(*
+       t__gcÚv_\8cªs_cÚ\8bxt_fù
+è(\1e*, 
+       t__cڡ
\1d\ 5*,
+
+92 
+       t__cڡ
\1d\ 5*,
+
+96 \e\12(*
+       t__gcÚv_\8cªs_qu\94y_fù
+è(
+       t__cڡ
\ 5*, __const \ 5***,
+
+97 
+       tsize_t
+ *);
+
+100 \e\12(*
+       t__gcÚv_\8cªs_\9a\99_fù
+) (\1e**, const \ 5*);
+
+101 \e\1e(*
+       t__gcÚv_\8cªs_\92d_fù
+) (\1e*);
+
+103 \19
+       s__gcÚv_\8cªs_d©a
+
+
+106 
+__gcÚv_\8cªs_fù
+__\8cªs_fù
+;
+
+107 
+__gcÚv_\8cªs_cÚ\8bxt_fù
+__\8cªs_cÚ\8bxt_fù
+;
+
+108 
+__gcÚv_\8cªs_\92d_fù
+__\8cªs_\92d_fù
+;
+
+109 \1e*
+__d©a
+;
+
+110 \19
+__gcÚv_\8cªs_d©a
+ *
+__Ãxt
+;
+
+115 \19
+       s__gcÚv_¡\95
+
+
+117 \19
+__gcÚv_lßded_objeù
+ *
+__shlib_hªdË
+;
+
+118 
+__cڡ
\ 5*
+__modÇme
+;
+
+120 \12
+__couÁ\94
+;
+
+122 \ 5*
+__äom_Çme
+;
+
+123 \ 5*
+__to_Çme
+;
+
+125 
+__gcÚv_fù
+__fù
+;
+
+126 
+__gcÚv_btowc_fù
+__btowc_fù
+;
+
+127 
+__gcÚv_\9a\99_fù
+__\9a\99_fù
+;
+
+128 
+__gcÚv_\92d_fù
+__\92d_fù
+;
+
+132 \12
+__m\9a_Ãeded_äom
+;
+
+133 \12
+__max_Ãeded_äom
+;
+
+134 \12
+__m\9a_Ãeded_to
+;
+
+135 \12
+__max_Ãeded_to
+;
+
+138 \12
+__¡©eful
+;
+
+140 \1e*
+__d©a
+;
+
+145 \19
+       s__gcÚv_¡\95_d©a
+
+
+147 \1d\ 5*
+__outbuf
+;
+
+148 \1d\ 5*
+__outbuãnd
+;
+
+152 \12
+__æags
+;
+
+156 \12
+__\9avoÿtiÚ_couÁ\94
+;
+
+160 \12
+__\9a\8bº®_u£
+;
+
+162 
+__mb¡©e_t
+ *
+__¡©\95
+;
+
+163 
+__mb¡©e_t
+__¡©e
+;
+
+167 \19
+__gcÚv_\8cªs_d©a
+ *
+__\8cªs
+;
+
+172 \e\19
+       s__gcÚv_\9afo
+
+
+174 
+size_t
+__n¡\95s
+;
+
+175 \19
+__gcÚv_¡\95
+ *
+__¡\95s
+;
+
+176 
+__ex\8bnsiÚ__
\19
+__gcÚv_¡\95_d©a
+__d©a
+__æex¬r
+;
+
+177 } *
+       t__gcÚv_t
+;
+
+       @/usr/include/linux/byteorder/generic.h
+
+1 #iâdeà
+_LINUX_BYTEORDER_GENERIC_H
+
+
+2 \ 1
+       #_LINUX_BYTEORDER_GENERIC_H
+
+
+       )
+
+       @/usr/include/linux/byteorder/swab.h
+
+1 #iâdeà
+_LINUX_BYTEORDER_SWAB_H
+
+
+2 \ 1
+       #_LINUX_BYTEORDER_SWAB_H
+
+
+       )
+
+18 #ià
+def\9aed
+(
+__GLIBC__
+)
+
+22 \ 2
+       ~<by\8bsw­.h
+>
+
+26 #iâdeà
+__bsw­_cÚ¡ªt_16
+
+
+27 \ 1
+       #__bsw­_cÚ¡ªt_16
+(
+x
+) \
+
+28 ((((
+x
+è>> 8è& 0xffè| (((xè& 0xffè<< 8))
+
+       )
+
+30 #iâdeà
+__bsw­_cÚ¡ªt_32
+
+
+31 \ 1
+       #__bsw­_cÚ¡ªt_32
+(
+x
+) \
+
+32 ((((
+x
+) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+
+33 (((
+x
+è& 0x0000ff00è<< 8è| (((xè& 0x000000ffè<< 24))
+
+       )
+
+35 #ià(!
+def\9aed
+(
+__bsw­_cÚ¡ªt_64
+)è&& def\9aed 
+__GNUC__
+ && __GNUC__ >= 2
+
+37 \ 1
+       #__bsw­_cÚ¡ªt_64
+(
+x
+) \
+
+38 ((((
+x
+) & 0xff00000000000000ull) >> 56) \
+
+39 | (((
+x
+) & 0x00ff000000000000ull) >> 40) \
+
+40 | (((
+x
+) & 0x0000ff0000000000ull) >> 24) \
+
+41 | (((
+x
+) & 0x000000ff00000000ull) >> 8) \
+
+42 | (((
+x
+) & 0x00000000ff000000ull) << 8) \
+
+43 | (((
+x
+) & 0x0000000000ff0000ull) << 24) \
+
+44 | (((
+x
+) & 0x000000000000ff00ull) << 40) \
+
+45 | (((
+x
+è& 0x00000000000000ffuÎè<< 56))
+
+       )
+
+48 \ 1
+       #___cÚ¡ªt_swab16
+(
+x
+       `__bsw­_cÚ¡ªt_16
+(x)
+
+       )
+
+49 \ 1
+       #___cÚ¡ªt_swab32
+(
+x
+       `__bsw­_cÚ¡ªt_32
+(x)
+
+       )
+
+50 \ 1
+       #___cÚ¡ªt_swab64
+(
+x
+       `__bsw­_cÚ¡ªt_64
+(x)
+
+       )
+
+52 \ 1
+       #__swab16
+(
+x
+       `bsw­_16
+(x)
+
+       )
+
+53 \ 1
+       #__swab32
+(
+x
+       `bsw­_32
+(x)
+
+       )
+
+54 \ 1
+       #__swab64
+(
+x
+       `bsw­_64
+(x)
+
+       )
+
+56 \ 1
+       #__swab16p
+(
+x
+       `__swab16
+(*(x))
+
+       )
+
+57 \ 1
+       #__swab32p
+(
+x
+       `__swab32
+(*(x))
+
+       )
+
+58 \ 1
+       #__swab64p
+(
+x
+       `__swab64
+(*(x))
+
+       )
+
+60 \ 1
+       #__swab16s
+(
+x
+èdØ{ *(xèð
+       `__swab16p
+((x)); } \1f0)
+
+       )
+
+61 \ 1
+       #__swab32s
+(
+x
+èdØ{ *(xèð
+       `__swab32p
+((x)); } \1f0)
+
+       )
+
+62 \ 1
+       #__swab64s
+(
+x
+èdØ{ *(xèð
+       `__swab64p
+((x)); } \1f0)
+
+       )
+
+       @/usr/include/sys/ucontext.h
+
+19 #iâdeà
+_SYS_UCONTEXT_H
+
+
+20 \ 1
+       #_SYS_UCONTEXT_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 2
+       ~<sigÇl.h
+>
+
+27 \ 2
+       ~<b\99s/sigcÚ\8bxt.h
+>
+
+31 \e\12
+       tg»g_t
+;
+
+34 \ 1
+       #NGREG
+ 19
+
+       )
+
+37 \e
+g»g_t
+       tg»g£t_t
+[
+NGREG
+];
+
+39 #ifdeà
+__USE_GNU
+
+
+43 
+       mREG_GS
+ = 0,
+
+44 \ 1
+       #REG_GS
+REG_GS
+
+
+       )
+
+45 
+       mREG_FS
+,
+
+46 \ 1
+       #REG_FS
+REG_FS
+
+
+       )
+
+47 
+       mREG_ES
+,
+
+48 \ 1
+       #REG_ES
+REG_ES
+
+
+       )
+
+49 
+       mREG_DS
+,
+
+50 \ 1
+       #REG_DS
+REG_DS
+
+
+       )
+
+51 
+       mREG_EDI
+,
+
+52 \ 1
+       #REG_EDI
+REG_EDI
+
+
+       )
+
+53 
+       mREG_ESI
+,
+
+54 \ 1
+       #REG_ESI
+REG_ESI
+
+
+       )
+
+55 
+       mREG_EBP
+,
+
+56 \ 1
+       #REG_EBP
+REG_EBP
+
+
+       )
+
+57 
+       mREG_ESP
+,
+
+58 \ 1
+       #REG_ESP
+REG_ESP
+
+
+       )
+
+59 
+       mREG_EBX
+,
+
+60 \ 1
+       #REG_EBX
+REG_EBX
+
+
+       )
+
+61 
+       mREG_EDX
+,
+
+62 \ 1
+       #REG_EDX
+REG_EDX
+
+
+       )
+
+63 
+       mREG_ECX
+,
+
+64 \ 1
+       #REG_ECX
+REG_ECX
+
+
+       )
+
+65 
+       mREG_EAX
+,
+
+66 \ 1
+       #REG_EAX
+REG_EAX
+
+
+       )
+
+67 
+       mREG_TRAPNO
+,
+
+68 \ 1
+       #REG_TRAPNO
+REG_TRAPNO
+
+
+       )
+
+69 
+       mREG_ERR
+,
+
+70 \ 1
+       #REG_ERR
+REG_ERR
+
+
+       )
+
+71 
+       mREG_EIP
+,
+
+72 \ 1
+       #REG_EIP
+REG_EIP
+
+
+       )
+
+73 
+       mREG_CS
+,
+
+74 \ 1
+       #REG_CS
+REG_CS
+
+
+       )
+
+75 
+       mREG_EFL
+,
+
+76 \ 1
+       #REG_EFL
+REG_EFL
+
+
+       )
+
+77 
+       mREG_UESP
+,
+
+78 \ 1
+       #REG_UESP
+REG_UESP
+
+
+       )
+
+79 
+       mREG_SS
+
+
+80 \ 1
+       #REG_SS
+REG_SS
+
+
+       )
+
+85 \19
+       s_libc_å»g
+
+
+87 \1d\16\12
+       msignifiÿnd
+[4];
+
+88 \1d\16\12
+       mexpڒt
+;
+
+91 \19
+       s_libc_塩e
+
+
+93 \1d\13\12
+       mcw
+;
+
+94 \1d\13\12
+       msw
+;
+
+95 \1d\13\12
+       m\8fg
+;
+
+96 \1d\13\12
+       m\9doff
+;
+
+97 \1d\13\12
+       mcs£l
+;
+
+98 \1d\13\12
+       md©aoff
+;
+
+99 \1d\13\12
+       md©a£l
+;
+
+100 \19
+_libc_å»g
+       m_¡
+[8];
+
+101 \1d\13\12
+       m¡©us
+;
+
+105 \e\19
+_libc_塩e
+ *
+       tå»g£t_t
+;
+
+110 
+g»g£t_t
+       mg»gs
+;
+
+113 
+å»g£t_t
+       må»gs
+;
+
+114 \1d\13\12
+       mÞdmask
+;
+
+115 \1d\13\12
+       mü2
+;
+
+116 } 
+       tmcڋxt_t
+;
+
+119 \e\19
+       sucڋxt
+
+
+121 \1d\13\12
+       muc_æags
+;
+
+122 \19
+ucڋxt
+ *
+       muc_l\9ak
+;
+
+123 
+¡ack_t
+       muc_¡ack
+;
+
+124 
+mcڋxt_t
+       muc_mcڋxt
+;
+
+125 
+__sig£t_t
+       muc_sigmask
+;
+
+126 \19
+_libc_塩e
+       m__å»gs_mem
+;
+
+127 } 
+       tucڋxt_t
+;
+
+       @/usr/include/wchar.h
+
+24 #iâdeà
+_WCHAR_H
+
+
+26 #iâdeà
+__Ãed_mb¡©e_t
+
+
+27 \ 1
+       #_WCHAR_H
+ 1
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+31 #ifdeà
+_WCHAR_H
+
+
+33 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+34 #ifdeà
+__USE_UNIX98
+
+
+35 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+37 \ 2
+       ~<¡dio.h
+>
+
+39 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+40 \ 2
+       ~<¡d¬g.h
+>
+
+43 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+44 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+45 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+47 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+48 \ 2
+       ~<¡ddef.h
+>
+
+50 \ 2
+       ~<b\99s/wch¬.h
+>
+
+54 #iâdeà
+_WINT_T
+
+
+59 \ 1
+       #_WINT_T
+
+
+       )
+
+60 \e\1d\12
+       tw\9at_t
+;
+
+64 #ià
+def\9aed
+__ýlu¥lus
+ && def\9aed 
+_GLIBCPP_USE_NAMESPACES
+ \
+
+65 && 
+def\9aed
+__WINT_TYPE__
+
+
+66 
+__BEGIN_NAMESPACE_STD
+
+
+67 \e
+__WINT_TYPE__
+       tw\9at_t
+;
+
+68 
+       g__END_NAMESPACE_STD
+
+
+73 #iâdeà
+__mb¡©e_t_def\9aed
+
+
+74 \ 1
+       #__mb¡©e_t_def\9aed
+ 1
+
+       )
+
+78 \12
+       m__couÁ
+;
+
+81 
+w\9at_t
+       m__wch
+;
+
+82 \ 5
+       m__wchb
+[4];
+
+83 } 
+       m__v®ue
+;
+
+84 } 
+       t__mb¡©e_t
+;
+
+86 #undeà
+__Ãed_mb¡©e_t
+
+
+91 #ifdeà
+_WCHAR_H
+
+
+93 
+__BEGIN_NAMESPACE_C99
+
+
+95 \e
+__mb¡©e_t
+       tmb¡©e_t
+;
+
+96 
+       g__END_NAMESPACE_C99
+
+
+97 #ifdeà
+__USE_GNU
+
+
+98 
+       $__USING_NAMESPACE_C99
+(
+mb¡©e_t
+)
+
+101 #iâdeà
+WCHAR_MIN
+
+
+103 \ 1
+       #WCHAR_MIN
+__WCHAR_MIN
+
+
+       )
+
+104 \ 1
+       #WCHAR_MAX
+__WCHAR_MAX
+
+
+       )
+
+107 #iâdeà
+WEOF
+
+
+108 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+113 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+
+
+114 \ 2
+       ~<wùy³.h
+>
+
+118 
+__BEGIN_DECLS
+
+
+120 
+__BEGIN_NAMESPACE_STD
+
+
+123 \19
+tm
+;
+
+127 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+128 
+__END_NAMESPACE_STD
+
+
+131 
+__BEGIN_NAMESPACE_C99
+
+
+133 \r
+wch¬_t
+ *
+       $wcsýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+134 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+136 \r
+wch¬_t
+ *
+       $wc¢ýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+137 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+138 
+__THROW
+;
+
+141 \r
+wch¬_t
+ *
+       $wcsÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+142 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+144 \r
+wch¬_t
+ *
+       $wc¢ÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+145 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+146 
+__THROW
+;
+
+149 \r\12
+       $wcscmp
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+)
+
+150 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+152 \r\12
+       $wc¢cmp
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+153 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+154 
+__END_NAMESPACE_C99
+
+
+156 #ifdeà
+__USE_GNU
+
+
+158 \r\12
+       $wcsÿ£cmp
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+161 \r\12
+       $wc¢ÿ£cmp
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+,
+
+162 
+size_t
+__n
+__THROW
+;
+
+166 \ 2
+       ~<xloÿË.h
+>
+
+168 \r\12
+       $wcsÿ£cmp_l
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+,
+
+169 
+__loÿË_t
+__loc
+__THROW
+;
+
+171 \r\12
+       $wc¢ÿ£cmp_l
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+,
+
+172 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+175 
+__BEGIN_NAMESPACE_C99
+
+
+178 \r\12
+       $wcscÞl
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+182 \r
+size_t
+       $wcsxäm
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+183 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+184 
+__END_NAMESPACE_C99
+
+
+186 #ifdeà
+__USE_GNU
+
+
+192 \r\12
+       $wcscÞl_l
+ (
+__cڡ
+wch¬_t
+ *
+__s1
+, __cÚ¡ wch¬_\88*
+__s2
+,
+
+193 
+__loÿË_t
+__loc
+__THROW
+;
+
+198 \r
+size_t
+       $wcsxäm_l
+ (
+wch¬_t
+ *
+__s1
+, 
+__cڡ
+ wch¬_\88*
+__s2
+,
+
+199 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+202 \r
+wch¬_t
+ *
+       $wcsdup
+ (
+__cڡ
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+205 
+__BEGIN_NAMESPACE_C99
+
+
+207 \r
+wch¬_t
+ *
+       $wcschr
+ (
+__cڡ
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+208 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+210 \r
+wch¬_t
+ *
+       $wc¤chr
+ (
+__cڡ
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+211 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+212 
+__END_NAMESPACE_C99
+
+
+214 #ifdeà
+__USE_GNU
+
+
+217 \r
+wch¬_t
+ *
+       $wcschºul
+ (
+__cڡ
+wch¬_t
+ *
+__s
+, wch¬_\88
+__wc
+)
+
+218 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+221 
+__BEGIN_NAMESPACE_C99
+
+
+224 \r
+size_t
+       $wcsc¥n
+ (
+__cڡ
+wch¬_t
+ *
+__wcs
+, __cÚ¡ wch¬_\88*
+__»jeù
+)
+
+225 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+228 \r
+size_t
+       $wcs¥n
+ (
+__cڡ
+wch¬_t
+ *
+__wcs
+, __cÚ¡ wch¬_\88*
+__acû±
+)
+
+229 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+231 \r
+wch¬_t
+ *
+       $wc¥brk
+ (
+__cڡ
+wch¬_t
+ *
+__wcs
+, __cÚ¡ wch¬_\88*
+__acû±
+)
+
+232 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+234 \r
+wch¬_t
+ *
+       $wcs¡r
+ (
+__cڡ
+wch¬_t
+ *
+__hay¡ack
+, __cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+235 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+238 \r
+wch¬_t
+ *
+       $wc¡ok
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+239 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__d\96im
+,
+
+240 
+wch¬_t
+ **
+__»¡riù
+__±r
+__THROW
+;
+
+243 \r
+size_t
+       $wc¦\92
+ (
+__cڡ
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+244 
+__END_NAMESPACE_C99
+
+
+246 #ifdeà
+__USE_XOPEN
+
+
+248 \r
+wch¬_t
+ *
+       $wcswcs
+ (
+__cڡ
+wch¬_t
+ *
+__hay¡ack
+, __cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+249 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+252 #ifdeà
+__USE_GNU
+
+
+254 \r
+size_t
+       $wc¢Ën
+ (
+__cڡ
+wch¬_t
+ *
+__s
+, 
+size_t
+__maxËn
+)
+
+255 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+259 
+__BEGIN_NAMESPACE_C99
+
+
+261 \r
+wch¬_t
+ *
+       $wmemchr
+ (
+__cڡ
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+)
+
+262 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+265 \r\12
+       $wmemcmp
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+266 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+)
+
+267 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+270 \r
+wch¬_t
+ *
+       $wmemýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+271 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+275 \r
+wch¬_t
+ *
+       $wmemmove
+ (
+wch¬_t
+ *
+__s1
+, 
+__cڡ
+ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+276 
+__THROW
+;
+
+279 \r
+wch¬_t
+ *
+       $wmem£t
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+__THROW
+;
+
+280 
+__END_NAMESPACE_C99
+
+
+282 #ifdeà
+__USE_GNU
+
+
+285 \r
+wch¬_t
+ *
+       $wmempýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+286 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+)
+
+287 
+__THROW
+;
+
+291 
+__BEGIN_NAMESPACE_C99
+
+
+294 \r
+w\9at_t
+       $btowc
+ (\12
+__c
+__THROW
+;
+
+298 \r\12
+       $wùob
+ (
+w\9at_t
+__c
+__THROW
+;
+
+302 \r\12
+       $mbs\9a\99
+ (
+__cڡ
+mb¡©e_t
+ *
+__ps
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+306 \r
+size_t
+       $mb¹owc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+307 
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+308 
+mb¡©e_t
+ *
+__p
+__THROW
+;
+
+311 \r
+size_t
+       $wütomb
+ (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wc
+,
+
+312 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+315 \r
+size_t
+       $__mb¾\92
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+316 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+317 \r
+size_t
+       $mb¾\92
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+318 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+319 
+__END_NAMESPACE_C99
+
+
+321 #ifdeà
+__USE_EXTERN_INLINES
+
+
+323 \r
+__\9al\9ae
+size_t
+
+
+324 
+       `__NTH
+ (
+       $mb¾\92
+ (
+__cڡ
\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+325 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+326 { \15 (
+__ps
+ !ð
+NULL
+
+
+327 ? 
+       `mb¹owc
+ (
+NULL
+, 
+__s
+, 
+__n
+, 
+__ps
+è: 
+       `__mb¾\92
+ (__s, __n, NULL)); 
+       }
+}
+
+330 
+__BEGIN_NAMESPACE_C99
+
+
+333 \r
+size_t
+       $mb¤towcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+334 
+__cڡ
\ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+335 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+339 \r
+size_t
+       $wc¤tombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+340 
+__cڡ
+wch¬_t
+ **
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+341 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+342 
+__END_NAMESPACE_C99
+
+
+345 #ifdef 
+__USE_GNU
+
+
+348 \r
+size_t
+       $mb¢¹owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+349 
+__cڡ
\ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+350 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+354 \r
+size_t
+       $wc¢¹ombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+355 
+__cڡ
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+356 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+357 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+362 #ifdeà
+__USE_XOPEN
+
+
+364 \r\12
+       $wcwidth
+ (
+wch¬_t
+__c
+__THROW
+;
+
+368 \r\12
+       $wcswidth
+ (
+__cڡ
+wch¬_t
+ *
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+372 
+__BEGIN_NAMESPACE_C99
+
+
+375 \r\b
+       $wc¡od
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+376 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+378 #ifdeà
+__USE_ISOC99
+
+
+380 \r\ e
+       $wc¡of
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+381 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+382 \r\13\b
+       $wc¡Þd
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+383 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+389 \r\13\12
+       $wc¡Þ
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+390 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+__THROW
+;
+
+394 \r\1d\13\12
+       $wc¡oul
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+395 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+396 
+__THROW
+;
+
+398 #ià
+def\9aed
+__USE_ISOC99
+ || (def\9aed 
+__GNUC__
+ && def\9aed 
+__USE_GNU
+)
+
+401 
+__ex\8bnsiÚ__
+
+
+402 \r\13\13\12
+       $wc¡Þl
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+403 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+404 
+__THROW
+;
+
+408 
+__ex\8bnsiÚ__
+
+
+409 \r\1d\13\13\12
+       $wc¡ouÎ
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+410 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+411 \12
+__ba£
+__THROW
+;
+
+413 
+__END_NAMESPACE_C99
+
+
+415 #ià
+def\9aed
+__GNUC__
+ && def\9aed 
+__USE_GNU
+
+
+418 
+__ex\8bnsiÚ__
+
+
+419 \r\13\13\12
+       $wc¡oq
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+420 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+421 
+__THROW
+;
+
+425 
+__ex\8bnsiÚ__
+
+
+426 \r\1d\13\13\12
+       $wc¡ouq
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+427 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+428 \12
+__ba£
+__THROW
+;
+
+431 #ifdeà
+__USE_GNU
+
+
+445 \ 2
+       ~<xloÿË.h
+>
+
+449 \r\13\12
+       $wc¡Þ_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+450 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+451 
+__loÿË_t
+__loc
+__THROW
+;
+
+453 \r\1d\13\12
+       $wc¡oul_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+454 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+455 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+457 
+__ex\8bnsiÚ__
+
+
+458 \r\13\13\12
+       $wc¡Þl_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+459 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+460 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+462 
+__ex\8bnsiÚ__
+
+
+463 \r\1d\13\13\12
+       $wc¡ouÎ_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+464 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+465 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+466 
+__THROW
+;
+
+468 \r\b
+       $wc¡od_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+469 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+470 
+__THROW
+;
+
+472 \r\ e
+       $wc¡of_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+473 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+474 
+__THROW
+;
+
+476 \r\13\b
+       $wc¡Þd_l
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+477 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+478 
+__loÿË_t
+__loc
+__THROW
+;
+
+484 \r\b
+       $__wc¡od_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+485 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__group
+)
+
+486 
+__THROW
+;
+
+487 \r\ e
+       $__wc¡of_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+488 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__group
+)
+
+489 
+__THROW
+;
+
+490 \r\13\b
+       $__wc¡Þd_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+491 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+492 \12
+__group
+__THROW
+;
+
+494 #iâdeà
+__wc¡Þ_\9a\8bº®_def\9aed
+
+
+495 \r\13\12
+       $__wc¡Þ_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+496 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+497 \12
+__ba£
+, \12
+__group
+__THROW
+;
+
+498 \ 1
+       #__wc¡Þ_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+500 #iâdeà
+__wc¡oul_\9a\8bº®_def\9aed
+
+
+501 \r\1d\13\12
+       $__wc¡oul_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Åt
+,
+
+502 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+503 \12
+__ba£
+, \12
+__group
+__THROW
+;
+
+504 \ 1
+       #__wc¡oul_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+506 #iâdeà
+__wc¡Þl_\9a\8bº®_def\9aed
+
+
+507 
+__ex\8bnsiÚ__
+
+
+508 \r\13\13\12
+       $__wc¡Þl_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+509 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+510 \12
+__ba£
+, \12
+__group
+__THROW
+;
+
+511 \ 1
+       #__wc¡Þl_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+513 #iâdeà
+__wc¡ouÎ_\9a\8bº®_def\9aed
+
+
+514 
+__ex\8bnsiÚ__
+
+
+515 \r\1d\13\13\12
+       $__wc¡ouÎ_\9a\8bº®
+ (
+__cڡ
+wch¬_t
+ *
+
+516 
+__»¡riù
+__Ō
+,
+
+517 
+wch¬_t
+ **
+
+518 
+__»¡riù
+__\92d±r
+,
+
+519 \12
+__ba£
+,
+
+520 \12
+__group
+__THROW
+;
+
+521 \ 1
+       #__wc¡ouÎ_\9a\8bº®_def\9aed
+ 1
+
+       )
+
+525 #ià
+def\9aed
+__OPTIMIZE__
+ && 
+__GNUC__
+ >= 2
+
+527 
+__BEGIN_NAMESPACE_C99
+
+
+529 \r
+__\9al\9ae
\b
+
+530 
+       `__NTH
+ (
+       $wc¡od
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+531 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+))
+
+532 { \15 
+       `__wc¡od_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0); 
+       }
+}
+
+533 \r
+__\9al\9ae
\13\12
+
+534 
+__NTH
+ (
+       $wc¡Þ
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+535 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+))
+
+536 { \15 
+       `__wc¡Þ_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0); 
+       }
+}
+
+537 \r
+__\9al\9ae
\1d\13\12
+
+538 
+__NTH
+ (
+       $wc¡oul
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+539 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+))
+
+540 { \15 
+       `__wc¡oul_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0); 
+       }
+}
+
+541 
+__END_NAMESPACE_C99
+
+
+543 #ifdeà
+__USE_GNU
+
+
+544 \r
+__\9al\9ae
\ e
+
+545 
+__NTH
+ (
+       $wc¡of
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+546 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+))
+
+547 { \15 
+       `__wc¡of_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0); 
+       }
+}
+
+548 \r
+__\9al\9ae
\13\b
+
+549 
+__NTH
+ (
+       $wc¡Þd
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+550 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+))
+
+551 { \15 
+       `__wc¡Þd_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 0); 
+       }
+}
+
+554 
+__ex\8bnsiÚ__
+
+
+555 \r
+__\9al\9ae
\13\13\12
+
+556 
+__NTH
+ (
+       $wc¡oq
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+557 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+))
+
+558 { \15 
+       `__wc¡Þl_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0); 
+       }
+}
+
+559 
+__ex\8bnsiÚ__
+
+
+560 \r
+__\9al\9ae
\1d\13\13\12
+
+561 
+__NTH
+ (
+       $wc¡ouq
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+562 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+))
+
+563 { \15 
+       `__wc¡ouÎ_\9a\8bº®
+ (
+__Ō
+, 
+__\92d±r
+, 
+__ba£
+, 0); 
+       }
+}
+
+568 #ifdef 
+__USE_GNU
+
+
+571 \r
+wch¬_t
+ *
+       $wýýy
+ (
+wch¬_t
+ *
+__de¡
+, 
+__cڡ
+ wch¬_\88*
+__¤c
+__THROW
+;
+
+575 \r
+wch¬_t
+ *
+       $wýnýy
+ (
+wch¬_t
+ *
+__de¡
+, 
+__cڡ
+ wch¬_\88*
+__¤c
+, 
+size_t
+__n
+)
+
+576 
+__THROW
+;
+
+581 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+582 
+__BEGIN_NAMESPACE_C99
+
+
+585 \r\12
+       $fwide
+ (
+__FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+592 \r\12
+       `fw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+593 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+599 \r\12
+       `w´\9atf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+602 \r\12
+       $sw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+603 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+604 
+__THROW
+ ;
+
+610 \r\12
+       `vfw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+611 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+612 
+__gnuc_va_li¡
+__¬g
+)
+
+618 \r\12
+       `vw´\9atf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+619 
+__gnuc_va_li¡
+__¬g
+)
+
+623 \r\12
+       $vsw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+624 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+625 
+__gnuc_va_li¡
+__¬g
+)
+
+626 
+__THROW
+ ;
+
+633 \r\12
+       `fwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+634 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+640 \r\12
+       `wsÿnf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+643 \r\12
+       $swsÿnf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+644 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+645 
+__THROW
+ ;
+
+647 
+__END_NAMESPACE_C99
+
+
+650 #ifdeà
+__USE_ISOC99
+
+
+651 
+__BEGIN_NAMESPACE_C99
+
+
+657 \r\12
+       `vfwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+658 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+659 
+__gnuc_va_li¡
+__¬g
+)
+
+665 \r\12
+       `vwsÿnf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+666 
+__gnuc_va_li¡
+__¬g
+)
+
+669 \r\12
+       $vswsÿnf
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+670 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+671 
+__gnuc_va_li¡
+__¬g
+)
+
+672 
+__THROW
+ ;
+
+674 
+__END_NAMESPACE_C99
+
+
+678 
+__BEGIN_NAMESPACE_C99
+
+
+683 \r
+w\9at_t
+       `fg\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+684 \r
+w\9at_t
+       `g\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+690 \r
+w\9at_t
+       `g\91wch¬
+ (\1e);
+
+697 \r
+w\9at_t
+       `åutwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+698 \r
+w\9at_t
+       `putwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+704 \r
+w\9at_t
+       `putwch¬
+ (
+wch¬_t
+__wc
+);
+
+712 \r
+wch¬_t
+ *
+       `fg\91ws
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+713 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+719 \r\12
+       `åutws
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+720 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+727 \r
+w\9at_t
+       `ung\91wc
+ (w\9at_\88
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+728 
+__END_NAMESPACE_C99
+
+
+731 #ifdeà
+__USE_GNU
+
+
+739 \r
+w\9at_t
+       `g\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+740 \r
+w\9at_t
+       `g\91wch¬_uÆocked
+ (\1e);
+
+748 \r
+w\9at_t
+       `fg\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+756 \r
+w\9at_t
+       `åutwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+765 \r
+w\9at_t
+       `putwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+766 \r
+w\9at_t
+       `putwch¬_uÆocked
+ (
+wch¬_t
+__wc
+);
+
+775 \r
+wch¬_t
+ *
+       `fg\91ws_uÆocked
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+776 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+784 \r\12
+       `åutws_uÆocked
+ (
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+785 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+789 
+__BEGIN_NAMESPACE_C99
+
+
+793 \r
+size_t
+       $wcsáime
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+794 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+795 
+__cڡ
\19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+796 
+__END_NAMESPACE_C99
+
+
+798 #ifdeà
+__USE_GNU
+
+
+799 \ 2
+       ~<xloÿË.h
+>
+
+803 \r
+size_t
+       $wcsáime_l
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+804 
+__cڡ
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+805 
+__cڡ
\19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+806 
+__loÿË_t
+__loc
+__THROW
+;
+
+815 #ià
+def\9aed
+__USE_UNIX98
+ && !def\9aed 
+__USE_GNU
+
+
+816 \ 1
+       #__Ãed_iswxxx
+
+
+       )
+
+817 \ 2
+       ~<wùy³.h
+>
+
+820 
+__END_DECLS
+
+
+       @/usr/include/asm/sigcontext.h
+
+5 #iâdeà
+__i386STUB__SIGCONTEXT_H__
+
+
+6 \ 1
+       #__i386STUB__SIGCONTEXT_H__
+
+
+       )
+
+8 #ifdeà
+__x86_64__
+
+
+9 \ 2
+       ~<asm-x86_64/sigcڋxt.h
+>
+
+11 \ 2
+       ~<asm-i386/sigcڋxt.h
+>
+
+       @/usr/include/byteswap.h
+
+19 #iâdeà
+_BYTESWAP_H
+
+
+20 \ 1
+       #_BYTESWAP_H
+ 1
+
+       )
+
+23 \ 2
+       ~<b\99s/by\8bsw­.h
+>
+
+30 \ 1
+       #bsw­_16
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+33 \ 1
+       #bsw­_32
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+35 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+37 \ 1
+       #bsw­_64
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+       @/usr/include/pthread.h
+
+15 #iâdeà
+_PTHREAD_H
+
+
+16 \ 1
+       #_PTHREAD_H
+ 1
+
+       )
+
+18 \ 2
+       ~<ã©u»s.h
+>
+
+20 \ 2
+       ~<sched.h
+>
+
+21 \ 2
+       ~<time.h
+>
+
+23 \ 1
+       #__Ãed_sig£t_t
+
+
+       )
+
+24 \ 2
+       ~<sigÇl.h
+>
+
+25 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+26 \ 2
+       ~<b\99s/\9a\99¥\9a.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+33 \ 1
+       #PTHREAD_MUTEX_INITIALIZER
+ \
+
+34 {0, 0, 0, 
+PTHREAD_MUTEX_TIMED_NP
+, 
+__LOCK_ALT_INITIALIZER
+}
+
+       )
+
+35 #ifdeà
+__USE_GNU
+
+
+36 \ 1
+       #PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ \
+
+37 {0, 0, 0, 
+PTHREAD_MUTEX_RECURSIVE_NP
+, 
+__LOCK_ALT_INITIALIZER
+}
+
+       )
+
+38 \ 1
+       #PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+ \
+
+39 {0, 0, 0, 
+PTHREAD_MUTEX_ERRORCHECK_NP
+, 
+__LOCK_ALT_INITIALIZER
+}
+
+       )
+
+40 \ 1
+       #PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ \
+
+41 {0, 0, 0, 
+PTHREAD_MUTEX_ADAPTIVE_NP
+, 
+__LOCK_ALT_INITIALIZER
+}
+
+       )
+
+44 \ 1
+       #PTHREAD_COND_INITIALIZER
+ {
+__LOCK_ALT_INITIALIZER
+, 0, "", 0}
+
+       )
+
+46 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+47 \ 1
+       #PTHREAD_RWLOCK_INITIALIZER
+ \
+
+48 { 
+__LOCK_ALT_INITIALIZER
+, 0, 
+NULL
+, NULL, NULL, \
+
+49 
+PTHREAD_RWLOCK_DEFAULT_NP
+, 
+PTHREAD_PROCESS_PRIVATE
+ }
+
+       )
+
+51 #ifdeà
+__USE_GNU
+
+
+52 \ 1
+       #PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+ \
+
+53 { 
+__LOCK_ALT_INITIALIZER
+, 0, 
+NULL
+, NULL, NULL, \
+
+54 
+PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+, 
+PTHREAD_PROCESS_PRIVATE
+ }
+
+       )
+
+61 
+       mPTHREAD_CREATE_JOINABLE
+,
+
+62 \ 1
+       #PTHREAD_CREATE_JOINABLE
+PTHREAD_CREATE_JOINABLE
+
+
+       )
+
+63 
+       mPTHREAD_CREATE_DETACHED
+
+
+64 \ 1
+       #PTHREAD_CREATE_DETACHED
+PTHREAD_CREATE_DETACHED
+
+
+       )
+
+69 
+       mPTHREAD_INHERIT_SCHED
+,
+
+70 \ 1
+       #PTHREAD_INHERIT_SCHED
+PTHREAD_INHERIT_SCHED
+
+
+       )
+
+71 
+       mPTHREAD_EXPLICIT_SCHED
+
+
+72 \ 1
+       #PTHREAD_EXPLICIT_SCHED
+PTHREAD_EXPLICIT_SCHED
+
+
+       )
+
+77 
+       mPTHREAD_SCOPE_SYSTEM
+,
+
+78 \ 1
+       #PTHREAD_SCOPE_SYSTEM
+PTHREAD_SCOPE_SYSTEM
+
+
+       )
+
+79 
+       mPTHREAD_SCOPE_PROCESS
+
+
+80 \ 1
+       #PTHREAD_SCOPE_PROCESS
+PTHREAD_SCOPE_PROCESS
+
+
+       )
+
+85 
+       mPTHREAD_MUTEX_TIMED_NP
+,
+
+86 
+       mPTHREAD_MUTEX_RECURSIVE_NP
+,
+
+87 
+       mPTHREAD_MUTEX_ERRORCHECK_NP
+,
+
+88 
+       mPTHREAD_MUTEX_ADAPTIVE_NP
+
+
+89 #ifdeà
+__USE_UNIX98
+
+
+91 
+       mPTHREAD_MUTEX_NORMAL
+ = 
+PTHREAD_MUTEX_TIMED_NP
+,
+
+92 
+       mPTHREAD_MUTEX_RECURSIVE
+ = 
+PTHREAD_MUTEX_RECURSIVE_NP
+,
+
+93 
+       mPTHREAD_MUTEX_ERRORCHECK
+ = 
+PTHREAD_MUTEX_ERRORCHECK_NP
+,
+
+94 
+       mPTHREAD_MUTEX_DEFAULT
+ = 
+PTHREAD_MUTEX_NORMAL
+
+
+96 #ifdeà
+__USE_GNU
+
+
+98 , 
+       mPTHREAD_MUTEX_FAST_NP
+ = 
+PTHREAD_MUTEX_ADAPTIVE_NP
+
+
+104 
+       mPTHREAD_PROCESS_PRIVATE
+,
+
+105 \ 1
+       #PTHREAD_PROCESS_PRIVATE
+PTHREAD_PROCESS_PRIVATE
+
+
+       )
+
+106 
+       mPTHREAD_PROCESS_SHARED
+
+
+107 \ 1
+       #PTHREAD_PROCESS_SHARED
+PTHREAD_PROCESS_SHARED
+
+
+       )
+
+110 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+113 
+       mPTHREAD_RWLOCK_PREFER_READER_NP
+,
+
+114 
+       mPTHREAD_RWLOCK_PREFER_WRITER_NP
+,
+
+115 
+       mPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+,
+
+116 
+       mPTHREAD_RWLOCK_DEFAULT_NP
+ = 
+PTHREAD_RWLOCK_PREFER_WRITER_NP
+
+
+120 \ 1
+       #PTHREAD_ONCE_INIT
+ 0
+
+       )
+
+124 #ifdeà
+__USE_XOPEN2K
+
+
+126 \ 1
+       #PTHREAD_BARRIER_SERIAL_THREAD
+ -1
+
+       )
+
+131 \19
+       s_±h»ad_þ\97nup_bufãr
+
+
+133 \1e(*
+       m__rout\9ae
+) (\1e*);
+
+134 \1e*
+       m__¬g
+;
+
+135 \12
+       m__ÿnûÉy³
+;
+
+136 \19
+_±h»ad_þ\97nup_bufãr
+ *
+       m__´ev
+;
+
+143 
+       mPTHREAD_CANCEL_ENABLE
+,
+
+144 \ 1
+       #PTHREAD_CANCEL_ENABLE
+PTHREAD_CANCEL_ENABLE
+
+
+       )
+
+145 
+       mPTHREAD_CANCEL_DISABLE
+
+
+146 \ 1
+       #PTHREAD_CANCEL_DISABLE
+PTHREAD_CANCEL_DISABLE
+
+
+       )
+
+150 
+       mPTHREAD_CANCEL_DEFERRED
+,
+
+151 \ 1
+       #PTHREAD_CANCEL_DEFERRED
+PTHREAD_CANCEL_DEFERRED
+
+
+       )
+
+152 
+       mPTHREAD_CANCEL_ASYNCHRONOUS
+
+
+153 \ 1
+       #PTHREAD_CANCEL_ASYNCHRONOUS
+PTHREAD_CANCEL_ASYNCHRONOUS
+
+
+       )
+
+155 \ 1
+       #PTHREAD_CANCELED
+ ((\1e*è-1)
+
+       )
+
+163 \r\12
+±h»ad_ü\97\8b
+ (
+±h»ad_t
+ *
+__»¡riù
+__th»adp
+,
+
+164 
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+165 \1e*(*
+__¡¬t_rout\9ae
+) (\1e*),
+
+166 \1e*
+__»¡riù
+__¬g
+__THROW
+;
+
+169 \r
+±h»ad_t
+       $±h»ad_£lf
+ (\1eè
+__THROW
+;
+
+172 \r\12
+       $±h»ad_equ®
+ (
+±h»ad_t
+__th»ad1
+,\85th»ad_\88
+__th»ad2
+__THROW
+;
+
+175 \r\1e
+       $±h»ad_ex\99
+ (\1e*
+__»tv®
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+180 \r\12
+       `±h»ad_jo\9a
+ (
+±h»ad_t
+__th
+, \1e**
+__th»ad_»tuº
+);
+
+186 \r\12
+       $±h»ad_d\91ach
+ (
+±h»ad_t
+__th
+__THROW
+;
+
+194 \r\12
+       $±h»ad_©\8c_\9a\99
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+197 \r\12
+       $±h»ad_©\8c_de¡roy
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+200 \r\12
+       $±h»ad_©\8c_£td\91ach¡©e
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+201 \12
+__d\91ach¡©e
+__THROW
+;
+
+204 \r\12
+       $±h»ad_©\8c_g\91d\91ach¡©e
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+205 \12*
+__d\91ach¡©e
+__THROW
+;
+
+208 \r\12
+       $±h»ad_©\8c_£tsched·¿m
+ (
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+209 
+__cڡ
\19
+sched_·¿m
+ *
+__»¡riù
+
+
+210 
+__·¿m
+__THROW
+;
+
+213 \r\12
+       $±h»ad_©\8c_g\91sched·¿m
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+214 
+__©\8c
+,
+
+215 \19
+sched_·¿m
+ *
+__»¡riù
+__·¿m
+)
+
+216 
+__THROW
+;
+
+219 \r\12
+       $±h»ad_©\8c_£tschedpÞicy
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \12
+__pÞicy
+)
+
+220 
+__THROW
+;
+
+223 \r\12
+       $±h»ad_©\8c_g\91schedpÞicy
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+224 
+__©\8c
+, \12*
+__»¡riù
+__pÞicy
+)
+
+225 
+__THROW
+;
+
+228 \r\12
+       $±h»ad_©\8c_£t\9ah\94\99sched
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+229 \12
+__\9ah\94\99
+__THROW
+;
+
+232 \r\12
+       $±h»ad_©\8c_g\91\9ah\94\99sched
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+233 
+__©\8c
+, \12*
+__»¡riù
+__\9ah\94\99
+)
+
+234 
+__THROW
+;
+
+237 \r\12
+       $±h»ad_©\8c_£tscÝe
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \12
+__scÝe
+)
+
+238 
+__THROW
+;
+
+241 \r\12
+       $±h»ad_©\8c_g\91scÝe
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+242 \12*
+__»¡riù
+__scÝe
+__THROW
+;
+
+244 #ifdeà
+__USE_UNIX98
+
+
+246 \r\12
+       $±h»ad_©\8c_£tgu¬dsize
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+247 
+size_t
+__gu¬dsize
+__THROW
+;
+
+250 \r\12
+       $±h»ad_©\8c_g\91gu¬dsize
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+251 
+__©\8c
+, 
+size_t
+ *
+__»¡riù
+__gu¬dsize
+)
+
+252 
+__THROW
+;
+
+259 \r\12
+       $±h»ad_©\8c_£t¡ackaddr
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+260 \1e*
+__¡ackaddr
+__THROW
+;
+
+263 \r\12
+       $±h»ad_©\8c_g\91¡ackaddr
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+264 
+__©\8c
+, \1e**
+__»¡riù
+__¡ackaddr
+)
+
+265 
+__THROW
+;
+
+267 #ifdeà
+__USE_XOPEN2K
+
+
+271 \r\12
+       $±h»ad_©\8c_£t¡ack
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \1e*
+__¡ackaddr
+,
+
+272 
+size_t
+__¡acksize
+__THROW
+;
+
+275 \r\12
+       $±h»ad_©\8c_g\91¡ack
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+276 \1e**
+__»¡riù
+__¡ackaddr
+,
+
+277 
+size_t
+ *
+__»¡riù
+__¡acksize
+__THROW
+;
+
+283 \r\12
+       $±h»ad_©\8c_£t¡acksize
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+284 
+size_t
+__¡acksize
+__THROW
+;
+
+287 \r\12
+       $±h»ad_©\8c_g\91¡acksize
+ (
+__cڡ
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+288 
+__©\8c
+, 
+size_t
+ *
+__»¡riù
+__¡acksize
+)
+
+289 
+__THROW
+;
+
+291 #ifdeà
+__USE_GNU
+
+
+295 \r\12
+       $±h»ad_g\91©\8c
+ (
+±h»ad_t
+__th
+, 
+±h»ad_©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+302 \r\12
+       $±h»ad_£tsched·¿m
+ (
+±h»ad_t
+__\8frg\91_th»ad
+, \12
+__pÞicy
+,
+
+303 
+__cڡ
\19
+sched_·¿m
+ *
+__·¿m
+)
+
+304 
+__THROW
+;
+
+307 \r\12
+       $±h»ad_g\91sched·¿m
+ (
+±h»ad_t
+__\8frg\91_th»ad
+,
+
+308 \12*
+__»¡riù
+__pÞicy
+,
+
+309 \19
+sched_·¿m
+ *
+__»¡riù
+__·¿m
+)
+
+310 
+__THROW
+;
+
+312 #ifdeà
+__USE_UNIX98
+
+
+314 \r\12
+       $±h»ad_g\91cÚcu¼\92cy
+ (\1eè
+__THROW
+;
+
+317 \r\12
+       $±h»ad_£tcÚcu¼\92cy
+ (\12
+__Ëv\96
+__THROW
+;
+
+320 #ifdeà
+__USE_GNU
+
+
+325 \r\12
+       $±h»ad_y\9bld
+ (\1eè
+__THROW
+;
+
+332 \r\12
+       $±h»ad_mu\8bx_\9a\99
+ (
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+333 
+__cڡ
+±h»ad_mu\8b\8c_t
+ *
+__»¡riù
+
+
+334 
+__mu\8bx_©\8c
+__THROW
+;
+
+337 \r\12
+       $±h»ad_mu\8bx_de¡roy
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+__THROW
+;
+
+340 \r\12
+       $±h»ad_mu\8bx_\8cylock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+__THROW
+;
+
+343 \r\12
+       $±h»ad_mu\8bx_lock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+__THROW
+;
+
+345 #ifdeà
+__USE_XOPEN2K
+
+
+347 \r\12
+       $±h»ad_mu\8bx_timedlock
+ (
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+348 
+__cڡ
\19
+time¥ec
+ *
+__»¡riù
+
+
+349 
+__ab¡ime
+__THROW
+;
+
+353 \r\12
+       $±h»ad_mu\8bx_uÆock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+__THROW
+;
+
+360 \r\12
+       $±h»ad_mu\8b\8c_\9a\99
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+__THROW
+;
+
+363 \r\12
+       $±h»ad_mu\8b\8c_de¡roy
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+__THROW
+;
+
+366 \r\12
+       $±h»ad_mu\8b\8c_g\91psh¬ed
+ (
+__cڡ
+±h»ad_mu\8b\8c_t
+ *
+
+367 
+__»¡riù
+__©\8c
+,
+
+368 \12*
+__»¡riù
+__psh¬ed
+__THROW
+;
+
+371 \r\12
+       $±h»ad_mu\8b\8c\8dsh¬ed
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+372 \12
+__psh¬ed
+__THROW
+;
+
+374 #ifdeà
+__USE_UNIX98
+
+
+378 \r\12
+       $±h»ad_mu\8b\8c\89
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+, \12
+__k\9ad
+)
+
+379 
+__THROW
+;
+
+382 \r\12
+       $±h»ad_mu\8b\8c_g\91ty³
+ (
+__cڡ
+±h»ad_mu\8b\8c_t
+ *
+__»¡riù
+
+
+383 
+__©\8c
+, \12*
+__»¡riù
+__k\9ad
+__THROW
+;
+
+391 \r\12
+       $±h»ad_cÚd_\9a\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+392 
+__cڡ
+±h»ad_cÚd©\8c_t
+ *
+__»¡riù
+
+
+393 
+__cÚd_©\8c
+__THROW
+;
+
+396 \r\12
+       $±h»ad_cÚd_de¡roy
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+__THROW
+;
+
+399 \r\12
+       $±h»ad_cÚd_sigÇl
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+__THROW
+;
+
+402 \r\12
+       $±h»ad_cÚd_brßdÿ¡
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+__THROW
+;
+
+406 \r\12
+       `±h»ad_cÚd_wa\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+407 
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+);
+
+413 \r\12
+       `±h»ad_cÚd_timedwa\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+414 
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+415 
+__cڡ
\19
+time¥ec
+ *
+__»¡riù
+
+
+416 
+__ab¡ime
+);
+
+421 \r\12
+       $±h»ad_cÚd©\8c_\9a\99
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+424 \r\12
+       $±h»ad_cÚd©\8c_de¡roy
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+427 \r\12
+       $±h»ad_cÚd©\8c_g\91psh¬ed
+ (
+__cڡ
+±h»ad_cÚd©\8c_t
+ *
+
+428 
+__»¡riù
+__©\8c
+,
+
+429 \12*
+__»¡riù
+__psh¬ed
+__THROW
+;
+
+432 \r\12
+       $±h»ad_cÚd©\8c\8dsh¬ed
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+,
+
+433 \12
+__psh¬ed
+__THROW
+;
+
+436 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+441 \r\12
+       $±h»ad_rwlock_\9a\99
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+442 
+__cڡ
+±h»ad_rwlock©\8c_t
+ *
+__»¡riù
+
+
+443 
+__©\8c
+__THROW
+;
+
+446 \r\12
+       $±h»ad_rwlock_de¡roy
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+449 \r\12
+       $±h»ad_rwlock_rdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+452 \r\12
+       $±h»ad_rwlock_\8cyrdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+454 #ifdeà
+__USE_XOPEN2K
+
+
+456 \r\12
+       $±h»ad_rwlock_timedrdlock
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+457 
+__cڡ
\19
+time¥ec
+ *
+__»¡riù
+
+
+458 
+__ab¡ime
+__THROW
+;
+
+462 \r\12
+       $±h»ad_rwlock_w¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+465 \r\12
+       $±h»ad_rwlock_\8cyw¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+467 #ifdeà
+__USE_XOPEN2K
+
+
+469 \r\12
+       $±h»ad_rwlock_timedw¾ock
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+470 
+__cڡ
\19
+time¥ec
+ *
+__»¡riù
+
+
+471 
+__ab¡ime
+__THROW
+;
+
+475 \r\12
+       $±h»ad_rwlock_uÆock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+__THROW
+;
+
+481 \r\12
+       $±h»ad_rwlock©\8c_\9a\99
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+484 \r\12
+       $±h»ad_rwlock©\8c_de¡roy
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+__THROW
+;
+
+487 \r\12
+       $±h»ad_rwlock©\8c_g\91psh¬ed
+ (
+__cڡ
+±h»ad_rwlock©\8c_t
+ *
+
+488 
+__»¡riù
+__©\8c
+,
+
+489 \12*
+__»¡riù
+__psh¬ed
+__THROW
+;
+
+492 \r\12
+       $±h»ad_rwlock©\8c\8dsh¬ed
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+,
+
+493 \12
+__psh¬ed
+__THROW
+;
+
+496 \r\12
+       $±h»ad_rwlock©\8c_g\91k\9ad_Å
+ (
+__cڡ
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+,
+
+497 \12*
+__´ef
+__THROW
+;
+
+500 \r\12
+       $±h»ad_rwlock©\8c_£tk\9ad_Å
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+,
+
+501 \12
+__´ef
+__THROW
+;
+
+504 #ifdeà
+__USE_XOPEN2K
+
+
+510 \r\12
+       $±h»ad_¥\9a_\9a\99
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+, \12
+__psh¬ed
+)
+
+511 
+__THROW
+;
+
+514 \r\12
+       $±h»ad_¥\9a_de¡roy
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+__THROW
+;
+
+517 \r\12
+       $±h»ad_¥\9a_lock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+__THROW
+;
+
+520 \r\12
+       $±h»ad_¥\9a_\8cylock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+__THROW
+;
+
+523 \r\12
+       $±h»ad_¥\9a_uÆock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+__THROW
+;
+
+528 \r\12
+       $±h»ad_b¬r\9br_\9a\99
+ (
+±h»ad_b¬r\9br_t
+ *
+__»¡riù
+__b¬r\9br
+,
+
+529 
+__cڡ
+±h»ad_b¬r\9b¿\89r_t
+ *
+__»¡riù
+
+
+530 
+__©\8c
+, \1d\12
+__couÁ
+__THROW
+;
+
+532 \r\12
+       $±h»ad_b¬r\9br_de¡roy
+ (
+±h»ad_b¬r\9br_t
+ *
+__b¬r\9br
+__THROW
+;
+
+534 \r\12
+       $±h»ad_b¬r\9b¿\89r_\9a\99
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+__THROW
+;
+
+536 \r\12
+       $±h»ad_b¬r\9b¿\89r_de¡roy
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+__THROW
+;
+
+538 \r\12
+       $±h»ad_b¬r\9b¿\89r_g\91psh¬ed
+ (
+__cڡ
+±h»ad_b¬r\9b¿\89r_t
+ *
+
+539 
+__»¡riù
+__©\8c
+,
+
+540 \12*
+__»¡riù
+__psh¬ed
+__THROW
+;
+
+542 \r\12
+       $±h»ad_b¬r\9b¿\89r_£\8dsh¬ed
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+,
+
+543 \12
+__psh¬ed
+__THROW
+;
+
+545 \r\12
+       $±h»ad_b¬r\9br_wa\99
+ (
+±h»ad_b¬r\9br_t
+ *
+__b¬r\9br
+__THROW
+;
+
+557 \r\12
+       `±h»ad_key_ü\97\8b
+ (
+±h»ad_key_t
+ *
+__key
+,
+
+558 \1e(*
+__de¡r_funùiÚ
+è(\1e*)è
+__THROW
+;
+
+561 \r\12
+       $±h»ad_key_d\96\91e
+ (
+±h»ad_key_t
+__key
+__THROW
+;
+
+564 \r\12
+       $±h»ad_£t¥ecific
+ (
+±h»ad_key_t
+__key
+,
+
+565 
+__cڡ
\1e*
+__po\9a\8br
+__THROW
+;
+
+568 \r\1e*
+       $±h»ad_g\91¥ecific
+ (
+±h»ad_key_t
+__key
+__THROW
+;
+
+580 \r\12
+       `±h»ad_Úû
+ (
+±h»ad_Úû_t
+ *
+__Úû_cÚ\8cÞ
+,
+
+581 \1e(*
+__\9a\99_rout\9ae
+) (\1e));
+
+588 \r\12
+       `±h»ad_£tÿnûl¡©e
+ (\12
+__¡©e
+, \12*
+__Þd¡©e
+);
+
+592 \r\12
+       `±h»ad_£tÿnûÉy³
+ (\12
+__ty³
+, \12*
+__Þdty³
+);
+
+595 \r\12
+       `±h»ad_ÿnûl
+ (
+±h»ad_t
+__ÿnûÉh»ad
+);
+
+600 \r\1e
+       `±h»ad_\8b¡ÿnûl
+ (\1e);
+
+610 \ 1
+       #±h»ad_þ\97nup_push
+(
+rout\9ae
+,
+¬g
+) \
+
+611 { \19
+_±h»ad_þ\97nup_bufãr
+_bufãr
+; \
+
+612 
+       `_±h»ad_þ\97nup_push
+ (&
+_bufãr
+, (
+rout\9ae
+), (
+¬g
+));
+
+       )
+
+614 \r\1e
+       `_±h»ad_þ\97nup_push
+ (\19
+_±h»ad_þ\97nup_bufãr
+ *
+__bufãr
+,
+
+615 \1e(*
+__rout\9ae
+) (\1e*),
+
+616 \1e*
+__¬g
+__THROW
+;
+
+621 \ 1
+       #±h»ad_þ\97nup_pÝ
+(
+execu\8b
+) \
+
+622 
+       `_±h»ad_þ\97nup_pÝ
+ (&
+_bufãr
+, (
+execu\8b
+)); 
+       }
+
+       )
+}
+
+624 \r\1e
+       $_±h»ad_þ\97nup_pÝ
+ (\19
+_±h»ad_þ\97nup_bufãr
+ *
+__bufãr
+,
+
+625 \12
+__execu\8b
+__THROW
+;
+
+630 #ifdeà
+__USE_GNU
+
+
+631 \ 1
+       #±h»ad_þ\97nup_push_deãr_Å
+(
+rout\9ae
+,
+¬g
+) \
+
+632 { \19
+_±h»ad_þ\97nup_bufãr
+_bufãr
+; \
+
+633 
+       `_±h»ad_þ\97nup_push_deãr
+ (&
+_bufãr
+, (
+rout\9ae
+), (
+¬g
+));
+
+       )
+
+635 \r\1e
+       `_±h»ad_þ\97nup_push_deãr
+ (\19
+_±h»ad_þ\97nup_bufãr
+ *
+__bufãr
+,
+
+636 \1e(*
+__rout\9ae
+) (\1e*),
+
+637 \1e*
+__¬g
+__THROW
+;
+
+643 \ 1
+       #±h»ad_þ\97nup_pÝ_»¡Üe_Å
+(
+execu\8b
+) \
+
+644 
+       `_±h»ad_þ\97nup_pÝ_»¡Üe
+ (&
+_bufãr
+, (
+execu\8b
+)); 
+       }
+
+       )
+}
+
+646 \r\1e
+       $_±h»ad_þ\97nup_pÝ_»¡Üe
+ (\19
+_±h»ad_þ\97nup_bufãr
+ *
+__bufãr
+,
+
+647 \12
+__execu\8b
+__THROW
+;
+
+651 #ifdeà
+__USE_XOPEN2K
+
+
+653 \r\12
+       $±h»ad_g\91ýuþockid
+ (
+±h»ad_t
+__th»ad_id
+,
+
+654 
+__þockid_t
+ *
+__þock_id
+__THROW
+;
+
+659 \ 2
+       ~<b\99s/sigth»ad.h
+>
+
+675 \r\12
+       `±h»ad_©fÜk
+ (\1e(*
+__´\95¬e
+) (\1e),
+
+676 \1e(*
+__·»Á
+) (\1e),
+
+677 \1e(*
+__ch\9ed
+è(\1e
+__THROW
+;
+
+682 \r\1e
+       $±h»ad_k\9el_Ùh\94_th»ads_Å
+ (\1eè
+__THROW
+;
+
+684 
+__END_DECLS
+
+
+       @/usr/include/wctype.h
+
+24 #iâdeà
+_WCTYPE_H
+
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<b\99s/ty³s.h
+>
+
+29 #iâdeà
+__Ãed_iswxxx
+
+
+30 \ 1
+       #_WCTYPE_H
+ 1
+
+       )
+
+34 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+35 \ 2
+       ~<¡ddef.h
+>
+
+36 #iâdeà
+_WINT_T
+
+
+41 \ 1
+       #_WINT_T
+
+
+       )
+
+42 \e\1d\12
+       tw\9at_t
+;
+
+44 #ifdeà
+__USE_ISOC99
+
+
+45 
+       $__USING_NAMESPACE_C99
+(
+w\9at_t
+)
+
+47 
+__END_NAMESPACE_C99
+
+
+52 #iâdeà
+WEOF
+
+
+53 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+56 #undeà
+__Ãed_iswxxx
+
+
+61 #iâdeà
+__iswxxx_def\9aed
+
+
+62 \ 1
+       #__iswxxx_def\9aed
+ 1
+
+       )
+
+64 
+__BEGIN_NAMESPACE_C99
+
+
+67 \e\1d\13\12
+       twùy³_t
+;
+
+68 
+__END_NAMESPACE_C99
+
+
+70 #iâdeà
+_ISwb\99
+
+
+75 \ 2
+       ~<\92d\9fn.h
+>
+
+76 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+77 \ 1
+       #_ISwb\99
+(
+b\99
+è(1 << (b\99))
+
+       )
+
+79 \ 1
+       #_ISwb\99
+(
+b\99
+) \
+
+80 ((
+b\99
+) < 8 ? (\12) ((1UL << (bit)) << 24) \
+
+81 : ((
+b\99
+) < 16 ? (\12) ((1UL << (bit)) << 8) \
+
+82 : ((
+b\99
+) < 24 ? (\12) ((1UL << (bit)) >> 8) \
+
+83 : (\12è((1UL << (
+b\99
+)è>> 24))))
+
+       )
+
+88 
+__ISwuµ\94
+ = 0,
+
+89 
+__ISwlow\94
+ = 1,
+
+90 
+__ISw®pha
+ = 2,
+
+91 
+__ISwdig\99
+ = 3,
+
+92 
+__ISwxdig\99
+ = 4,
+
+93 
+__ISw¥aû
+ = 5,
+
+94 
+__ISw´\9at
+ = 6,
+
+95 
+__ISwg¿ph
+ = 7,
+
+96 
+__ISwbÏnk
+ = 8,
+
+97 
+__ISwú\8cl
+ = 9,
+
+98 
+__ISwpunù
+ = 10,
+
+99 
+__ISw®num
+ = 11,
+
+101 
+_ISwuµ\94
+ = 
+       `_ISwb\99
+ (
+__ISwuµ\94
+),
+
+102 
+_ISwlow\94
+ = 
+       `_ISwb\99
+ (
+__ISwlow\94
+),
+
+103 
+_ISw®pha
+ = 
+       `_ISwb\99
+ (
+__ISw®pha
+),
+
+104 
+_ISwdig\99
+ = 
+       `_ISwb\99
+ (
+__ISwdig\99
+),
+
+105 
+_ISwxdig\99
+ = 
+       `_ISwb\99
+ (
+__ISwxdig\99
+),
+
+106 
+_ISw¥aû
+ = 
+       `_ISwb\99
+ (
+__ISw¥aû
+),
+
+107 
+_ISw´\9at
+ = 
+       `_ISwb\99
+ (
+__ISw´\9at
+),
+
+108 
+_ISwg¿ph
+ = 
+       `_ISwb\99
+ (
+__ISwg¿ph
+),
+
+109 
+_ISwbÏnk
+ = 
+       `_ISwb\99
+ (
+__ISwbÏnk
+),
+
+110 
+_ISwú\8cl
+ = 
+       `_ISwb\99
+ (
+__ISwú\8cl
+),
+
+111 
+_ISwpunù
+ = 
+       `_ISwb\99
+ (
+__ISwpunù
+),
+
+112 
+_ISw®num
+ = 
+       `_ISwb\99
+ (
+__ISw®num
+)
+
+117 
+__BEGIN_DECLS
+
+
+119 
+__BEGIN_NAMESPACE_C99
+
+
+126 \r\12
+       $isw®num
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+132 \r\12
+       $isw®pha
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+135 \r\12
+       $iswú\8cl
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+139 \r\12
+       $iswdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+143 \r\12
+       $iswg¿ph
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+148 \r\12
+       $iswlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+151 \r\12
+       $isw´\9at
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+156 \r\12
+       $iswpunù
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+161 \r\12
+       $isw¥aû
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+166 \r\12
+       $iswuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+171 \r\12
+       $iswxdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+176 #ifdeà
+__USE_ISOC99
+
+
+177 \r\12
+       $iswbÏnk
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+186 \r
+wùy³_t
+       $wùy³
+ (
+__cڡ
\ 5*
+__´Ý\94ty
+__THROW
+;
+
+190 \r\12
+       $iswùy³
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+__THROW
+;
+
+191 
+__END_NAMESPACE_C99
+
+
+198 
+__BEGIN_NAMESPACE_C99
+
+
+201 \e
+__cڡ
+       t__\9at32_t
+ *
+       twù¿ns_t
+;
+
+202 
+__END_NAMESPACE_C99
+
+
+203 #ifdeà
+__USE_GNU
+
+
+204 
+       $__USING_NAMESPACE_C99
+(
+wù¿ns_t
+)
+
+207 
+__BEGIN_NAMESPACE_C99
+
+
+209 \r
+w\9at_t
+       $towlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+212 \r
+w\9at_t
+       $towuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+213 
+__END_NAMESPACE_C99
+
+
+215 
+__END_DECLS
+
+
+222 #ifdeà
+_WCTYPE_H
+
+
+228 
+__BEGIN_DECLS
+
+
+230 
+__BEGIN_NAMESPACE_C99
+
+
+233 \r
+wù¿ns_t
+       $wù¿ns
+ (
+__cڡ
\ 5*
+__´Ý\94ty
+__THROW
+;
+
+236 \r
+w\9at_t
+       $towù¿ns
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+__THROW
+;
+
+237 
+__END_NAMESPACE_C99
+
+
+239 #ifdeà
+__USE_GNU
+
+
+241 \ 2
+       ~<xloÿË.h
+>
+
+245 \r\12
+       $isw®num_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+251 \r\12
+       $isw®pha_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+254 \r\12
+       $iswú\8cl_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+258 \r\12
+       $iswdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+262 \r\12
+       $iswg¿ph_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+267 \r\12
+       $iswlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+270 \r\12
+       $isw´\9at_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+275 \r\12
+       $iswpunù_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+280 \r\12
+       $isw¥aû_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+285 \r\12
+       $iswuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+290 \r\12
+       $iswxdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+295 \r\12
+       $iswbÏnk_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+299 \r
+wùy³_t
+       $wùy³_l
+ (
+__cڡ
\ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+300 
+__THROW
+;
+
+304 \r\12
+       $iswùy³_l
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+, 
+__loÿË_t
+__loÿË
+)
+
+305 
+__THROW
+;
+
+313 \r
+w\9at_t
+       $towlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+316 \r
+w\9at_t
+       $towuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+320 \r
+wù¿ns_t
+       $wù¿ns_l
+ (
+__cڡ
\ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+321 
+__THROW
+;
+
+324 \r
+w\9at_t
+       $towù¿ns_l
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+,
+
+325 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+329 
+__END_DECLS
+
+
+       @/usr/include/asm-i386/sigcontext.h
+
+1 #iâdeà
+_ASMi386_SIGCONTEXT_H
+
+
+2 \ 1
+       #_ASMi386_SIGCONTEXT_H
+
+
+       )
+
+19 \19
+       s_å»g
+ {
+
+20 \1d\16
+       msignifiÿnd
+[4];
+
+21 \1d\16
+       mexpڒt
+;
+
+24 \19
+       s_åx»g
+ {
+
+25 \1d\16
+       msignifiÿnd
+[4];
+
+26 \1d\16
+       mexpڒt
+;
+
+27 \1d\16
+       m·dd\9ag
+[3];
+
+30 \19
+       s_xmm»g
+ {
+
+31 \1d\13
+       m\96em\92t
+[4];
+
+34 \19
+       s_塩e
+ {
+
+36 \1d\13
+       mcw
+;
+
+37 \1d\13
+       msw
+;
+
+38 \1d\13
+       m\8fg
+;
+
+39 \1d\13
+       m\9doff
+;
+
+40 \1d\13
+       mcs£l
+;
+
+41 \1d\13
+       md©aoff
+;
+
+42 \1d\13
+       md©a£l
+;
+
+43 \19
+_å»g
+       m_¡
+[8];
+
+44 \1d\16
+       m¡©us
+;
+
+45 \1d\16
+       mmagic
+;
+
+48 \1d\13
+       m_fx¤_\92v
+[6];
+
+49 \1d\13
+       mmxc¤
+;
+
+50 \1d\13
+       m»£rved
+;
+
+51 \19
+_åx»g
+       m_fx¤_¡
+[8];
+
+52 \19
+_xmm»g
+       m_xmm
+[8];
+
+53 \1d\13
+       m·dd\9ag
+[56];
+
+56 \ 1
+       #X86_FXSR_MAGIC
+ 0x0000
+
+       )
+
+58 \19
+       ssigcڋxt
+ {
+
+59 \1d\16
+       mgs
+, 
+       m__gsh
+;
+
+60 \1d\16
+       mfs
+, 
+       m__fsh
+;
+
+61 \1d\16
+       mes
+, 
+       m__esh
+;
+
+62 \1d\16
+       mds
+, 
+       m__dsh
+;
+
+63 \1d\13
+       medi
+;
+
+64 \1d\13
+       mesi
+;
+
+65 \1d\13
+       mebp
+;
+
+66 \1d\13
+       me¥
+;
+
+67 \1d\13
+       mebx
+;
+
+68 \1d\13
+       medx
+;
+
+69 \1d\13
+       mecx
+;
+
+70 \1d\13
+       m\97x
+;
+
+71 \1d\13
+       m\8c­no
+;
+
+72 \1d\13
+       m\94r
+;
+
+73 \1d\13
+       me\9d
+;
+
+74 \1d\16
+       mcs
+, 
+       m__csh
+;
+
+75 \1d\13
+       meæags
+;
+
+76 \1d\13
+       me¥_©_sigÇl
+;
+
+77 \1d\16
+       mss
+, 
+       m__ssh
+;
+
+78 \19
+_塩e
+ * 
+       m塩e
+;
+
+79 \1d\13
+       mÞdmask
+;
+
+80 \1d\13
+       mü2
+;
+
+       @/usr/include/asm-x86_64/sigcontext.h
+
+1 #iâdeà
+_ASM_X86_64_SIGCONTEXT_H
+
+
+2 \ 1
+       #_ASM_X86_64_SIGCONTEXT_H
+
+
+       )
+
+4 \ 2
+       ~<asm/ty³s.h
+>
+
+6 #iâdeà
+_BITS_SIGCONTEXT_H
+
+
+11 \19
+       s_塩e
+ {
+
+12 
+__u16
+       mcwd
+;
+
+13 
+__u16
+       mswd
+;
+
+14 
+__u16
+       mtwd
+;
+
+15 
+__u16
+       mfÝ
+;
+
+16 
+__u64
+       mr\9d
+;
+
+17 
+__u64
+       mrdp
+;
+
+18 
+__u32
+       mmxc¤
+;
+
+19 
+__u32
+       mmxc¤_mask
+;
+
+20 
+__u32
+       m¡_¥aû
+[32];
+
+21 
+__u32
+       mxmm_¥aû
+[64];
+
+22 
+__u32
+       m»£rved2
+[24];
+
+25 \19
+       ssigcڋxt
+ {
+
+26 \1d\13
+       mr8
+;
+
+27 \1d\13
+       mr9
+;
+
+28 \1d\13
+       mr10
+;
+
+29 \1d\13
+       mr11
+;
+
+30 \1d\13
+       mr12
+;
+
+31 \1d\13
+       mr13
+;
+
+32 \1d\13
+       mr14
+;
+
+33 \1d\13
+       mr15
+;
+
+34 \1d\13
+       mrdi
+;
+
+35 \1d\13
+       mrsi
+;
+
+36 \1d\13
+       mrbp
+;
+
+37 \1d\13
+       mrbx
+;
+
+38 \1d\13
+       mrdx
+;
+
+39 \1d\13
+       m¿x
+;
+
+40 \1d\13
+       mrcx
+;
+
+41 \1d\13
+       mr¥
+;
+
+42 \1d\13
+       mr\9d
+;
+
+43 \1d\13
+       meæags
+;
+
+44 \1d\16
+       mcs
+;
+
+45 \1d\16
+       mgs
+;
+
+46 \1d\16
+       mfs
+;
+
+47 \1d\16
+       m__·d0
+;
+
+48 \1d\13
+       m\94r
+;
+
+49 \1d\13
+       m\8c­no
+;
+
+50 \1d\13
+       mÞdmask
+;
+
+51 \1d\13
+       mü2
+;
+
+52 \19
+_塩e
+ *
+       m塩e
+;
+
+53 \1d\13
+       m»£rved1
+[8];
+
+       @/usr/include/bits/byteswap.h
+
+20 #ià!
+def\9aed
+_BYTESWAP_H
+ && !def\9aed 
+_NETINET_IN_H
+
+
+24 #iâdeà
+_BITS_BYTESWAP_H
+
+
+25 \ 1
+       #_BITS_BYTESWAP_H
+ 1
+
+       )
+
+28 \ 1
+       #__bsw­_cÚ¡ªt_16
+(
+x
+) \
+
+29 ((((
+x
+è>> 8è& 0xffè| (((xè& 0xffè<< 8))
+
+       )
+
+31 #ifdeà
+__GNUC__
+
+
+32 #ià
+__GNUC__
+ >= 2
+
+33 \ 1
+       #__bsw­_16
+(
+x
+) \
+
+34 (
+__ex\8bnsiÚ__
+ \
+
+35 ({ \14\1d\16\12
+__v
+, 
+__x
+ = (
+x
+); \
+
+36 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+37 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_16
+ (
+__x
+); \
+
+39 
+       `__asm__
+ ("rorw $8, %w0" \
+
+40 : "ô" (
+__v
+) \
+
+41 : "0" (
+__x
+) \
+
+43 
+__v
+; }))
+
+       )
+
+46 \ 1
+       #__bsw­_16
+(
+x
+) \
+
+47 (
+__ex\8bnsiÚ__
+ \
+
+48 ({ \14\1d\16\12
+__x
+ = (
+x
+); 
+       `__bsw­_cÚ¡ªt_16
+ (__x); }))
+
+       )
+
+51 \18
+__\9al\9ae
\1d\16\12
+
+52 
+       $__bsw­_16
+ (\1d\16\12
+__bsx
+)
+
+54 \15 
+       `__bsw­_cÚ¡ªt_16
+ (
+__bsx
+);
+
+55 
+       }
+}
+
+59 \ 1
+       #__bsw­_cÚ¡ªt_32
+(
+x
+) \
+
+60 ((((
+x
+) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+
+61 (((
+x
+è& 0x0000ff00è<< 8è| (((xè& 0x000000ffè<< 24))
+
+       )
+
+63 #ifdeà
+__GNUC__
+
+
+64 #ià
+__GNUC__
+ >= 2
+
+67 #ià!
+def\9aed
+__i486__
+ && !def\9aed 
+__³Áium__
+ && !def\9aed 
+__³Áium´o__
+ \
+
+68 && !
+def\9aed
+       g__³Áium4__
+
+
+69 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+70 (
+__ex\8bnsiÚ__
+ \
+
+71 ({ \14\1d\12
+__v
+, 
+__x
+ = (
+x
+); \
+
+72 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+73 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_32
+ (
+__x
+); \
+
+75 
+       `__asm__
+ ("rorw $8, %w0;" \
+
+78 : "ô" (
+__v
+) \
+
+79 : "0" (
+__x
+) \
+
+81 
+__v
+; }))
+
+       )
+
+83 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+84 (
+__ex\8bnsiÚ__
+ \
+
+85 ({ \14\1d\12
+__v
+, 
+__x
+ = (
+x
+); \
+
+86 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+87 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_32
+ (
+__x
+); \
+
+89 
+       `__asm__
+ ("bsw­ %0" : "ô" (
+__v
+è: "0" (
+__x
+)); \
+
+90 
+__v
+; }))
+
+       )
+
+93 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+94 (
+__ex\8bnsiÚ__
+ \
+
+95 ({ \14\1d\12
+__x
+ = (
+x
+); 
+       `__bsw­_cÚ¡ªt_32
+ (__x); }))
+
+       )
+
+98 \18
+__\9al\9ae
\1d\12
+
+99 
+       $__bsw­_32
+ (\1d\12
+__bsx
+)
+
+101 \15 
+       `__bsw­_cÚ¡ªt_32
+ (
+__bsx
+);
+
+102 
+       }
+}
+
+106 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+108 \ 1
+       #__bsw­_cÚ¡ªt_64
+(
+x
+) \
+
+109 ((((
+x
+) & 0xff00000000000000ull) >> 56) \
+
+110 | (((
+x
+) & 0x00ff000000000000ull) >> 40) \
+
+111 | (((
+x
+) & 0x0000ff0000000000ull) >> 24) \
+
+112 | (((
+x
+) & 0x000000ff00000000ull) >> 8) \
+
+113 | (((
+x
+) & 0x00000000ff000000ull) << 8) \
+
+114 | (((
+x
+) & 0x0000000000ff0000ull) << 24) \
+
+115 | (((
+x
+) & 0x000000000000ff00ull) << 40) \
+
+116 | (((
+x
+è& 0x00000000000000ffuÎè<< 56))
+
+       )
+
+118 \ 1
+       #__bsw­_64
+(
+x
+) \
+
+119 (
+__ex\8bnsiÚ__
+ \
+
+120 ({ uniÚ { 
+__ex\8bnsiÚ__
\1d\13\13\12
+__Î
+; \
+
+121 \1d\13\12
+__l
+[2]; } 
+__w
+, 
+__r
+; \
+
+122 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+x
+)) \
+
+123 
+__r
+.
+__Î
+ = 
+       `__bsw­_cÚ¡ªt_64
+ (
+x
+); \
+
+126 
+__w
+.
+__Î
+ = (
+x
+); \
+
+127 
+__r
+.
+__l
+[0] = 
+       `__bsw­_32
+ (
+__w
+.__l[1]); \
+
+128 
+__r
+.
+__l
+[1] = 
+       `__bsw­_32
+ (
+__w
+.__l[0]); \
+
+130 
+__r
+.
+__Î
+; }))
+
+       )
+
+       @/usr/include/bits/initspin.h
+
+23 \ 1
+       #__LT_SPINLOCK_INIT
+ 0
+
+       )
+
+26 \ 1
+       #__LOCK_INITIALIZER
+ ((\19
+_±h»ad_ç¡lock
+){ 0, 
+__LT_SPINLOCK_INIT
+ })
+
+       )
+
+27 \ 1
+       #__LOCK_ALT_INITIALIZER
+ { 0, 
+__LT_SPINLOCK_INIT
+ }
+
+       )
+
+28 \ 1
+       #__ALT_LOCK_INITIALIZER
+ { 0, 
+__LT_SPINLOCK_INIT
+ }
+
+       )
+
+29 \ 1
+       #__ATOMIC_INITIALIZER
+ { 0, 
+__LT_SPINLOCK_INIT
+ }
+
+       )
+
+       @/usr/include/sched.h
+
+20 #iâdef 
+_SCHED_H
+
+
+21 \ 1
+       #_SCHED_H
+ 1
+
+       )
+
+23 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+29 \ 2
+       ~<time.h
+>
+
+32 \ 2
+       ~<b\99s/sched.h
+>
+
+34 \ 1
+       #sched_´iÜ\99y
+__sched_´iÜ\99y
+
+
+       )
+
+37 
+__BEGIN_DECLS
+
+
+40 \r\12
+       $sched_£\8d¬am
+ (
+__pid_t
+__pid
+, 
+__cڡ
\19
+sched_·¿m
+ *
+__·¿m
+)
+
+41 
+__THROW
+;
+
+44 \r\12
+       $sched_g\91·¿m
+ (
+__pid_t
+__pid
+, \19
+sched_·¿m
+ *
+__·¿m
+__THROW
+;
+
+47 \r\12
+       $sched_£tscheduËr
+ (
+__pid_t
+__pid
+, \12
+__pÞicy
+,
+
+48 
+__cڡ
\19
+sched_·¿m
+ *
+__·¿m
+__THROW
+;
+
+51 \r\12
+       $sched_g\91scheduËr
+ (
+__pid_t
+__pid
+__THROW
+;
+
+54 \r\12
+       $sched_y\9bld
+ (\1eè
+__THROW
+;
+
+57 \r\12
+       $sched_g\91_´iÜ\99y_max
+ (\12
+__®gÜ\99hm
+__THROW
+;
+
+60 \r\12
+       $sched_g\91_´iÜ\99y_m\9a
+ (\12
+__®gÜ\99hm
+__THROW
+;
+
+63 \r\12
+       $sched_¼_g\91_\9a\8brv®
+ (
+__pid_t
+__pid
+, \19
+time¥ec
+ *
+__t
+__THROW
+;
+
+66 #ifdeà
+__USE_GNU
+
+
+68 \ 1
+       #CPU_SETSIZE
+__CPU_SETSIZE
+
+
+       )
+
+69 \ 1
+       #CPU_SET
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_SET
+ (ýu, cpu£\8d)
+
+       )
+
+70 \ 1
+       #CPU_CLR
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_CLR
+ (ýu, cpu£\8d)
+
+       )
+
+71 \ 1
+       #CPU_ISSET
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_ISSET
+ (ýu, cpu£\8d)
+
+       )
+
+72 \ 1
+       #CPU_ZERO
+(
+ýu£\8d
+       `__CPU_ZERO
+ (ýu£\8d)
+
+       )
+
+76 \r\12
+       $sched_£\8fff\9a\99y
+ (
+__pid_t
+__pid
+, 
+size_t
+__ýu£tsize
+,
+
+77 
+__cڡ
+ýu_£t_t
+ *
+__ýu£t
+__THROW
+;
+
+80 \r\12
+       $sched_g\91aff\9a\99y
+ (
+__pid_t
+__pid
+, 
+size_t
+__ýu£tsize
+,
+
+81 
+ýu_£t_t
+ *
+__ýu£t
+__THROW
+;
+
+84 
+__END_DECLS
+
+
+       @
+1
+.
+1
+/usr/include
+211
+4897
+alloc.c
+alternate.c
+bootparams.c
+chooser.c
+chooser.h
+choosers/simple.c
+choosers/simple.h
+choosers/textmenu.c
+choosers/textmenu.h
+config.c
+config.h
+devschemes/simple.c
+elf.h
+elilo.c
+elilo.h
+elilo_debug.h
+fileops.c
+fileops.h
+fs/ext2_fs.h
+fs/ext2_fs_i.h
+fs/ext2_fs_sb.h
+fs/ext2_private.h
+fs/ext2fs.c
+fs/ext2fs.h
+fs/fs.h
+fs/localfs.c
+fs/localfs.h
+fs/netfs.c
+fs/netfs.h
+getopt.c
+getopt.h
+glue_ext2fs.c
+glue_ext2fs.h
+glue_localfs.c
+glue_localfs.h
+glue_netfs.c
+glue_netfs.h
+gunzip.c
+gzip.h
+ia32/bin_to_h.c
+ia32/bzimage.c
+ia32/config.c
+ia32/gzip.c
+ia32/gzip_loader.c
+ia32/plain_loader.c
+ia32/private.h
+ia32/sysdeps.h
+ia32/system.c
+ia64/config.c
+ia64/fpswa.c
+ia64/gzip.c
+ia64/gzip_loader.c
+ia64/plain_loader.c
+ia64/private.h
+ia64/setjmp.h
+ia64/sysdeps.h
+ia64/system.c
+inflate.c
+initrd.c
+loader.c
+loader.h
+strops.c
+strops.h
+sysdeps.h
+tools/eliloalt.c
+util.c
+vars.c
+vars.h
+/usr/include/asm/atomic.h
+/usr/include/asm/bitops.h
+/usr/include/asm/byteorder.h
+/usr/include/asm/semaphore.h
+/usr/include/dirent.h
+/usr/include/errno.h
+/usr/include/fcntl.h
+/usr/include/linux/adfs_fs_sb.h
+/usr/include/linux/cache.h
+/usr/include/linux/config.h
+/usr/include/linux/efs_fs_i.h
+/usr/include/linux/efs_fs_sb.h
+/usr/include/linux/fcntl.h
+/usr/include/linux/ioctl.h
+/usr/include/linux/iso_fs_i.h
+/usr/include/linux/iso_fs_sb.h
+/usr/include/linux/kdev_t.h
+/usr/include/linux/limits.h
+/usr/include/linux/linkage.h
+/usr/include/linux/list.h
+/usr/include/linux/mount.h
+/usr/include/linux/net.h
+/usr/include/linux/nfs_fs_i.h
+/usr/include/linux/nfs_fs_sb.h
+/usr/include/linux/pipe_fs_i.h
+/usr/include/linux/quota.h
+/usr/include/linux/stat.h
+/usr/include/linux/stddef.h
+/usr/include/linux/types.h
+/usr/include/linux/udf_fs_i.h
+/usr/include/linux/udf_fs_sb.h
+/usr/include/linux/wait.h
+/usr/include/setjmp.h
+/usr/include/stdint.h
+/usr/include/stdio.h
+/usr/include/stdlib.h
+/usr/include/string.h
+/usr/include/sys/types.h
+/usr/include/unistd.h
+/usr/include/alloca.h
+/usr/include/asm-i386/atomic.h
+/usr/include/asm-i386/bitops.h
+/usr/include/asm-i386/byteorder.h
+/usr/include/asm-i386/semaphore.h
+/usr/include/asm-x86_64/atomic.h
+/usr/include/asm-x86_64/bitops.h
+/usr/include/asm-x86_64/byteorder.h
+/usr/include/asm-x86_64/semaphore.h
+/usr/include/asm/cache.h
+/usr/include/asm/fcntl.h
+/usr/include/asm/ioctl.h
+/usr/include/asm/linkage.h
+/usr/include/asm/types.h
+/usr/include/bits/confname.h
+/usr/include/bits/dirent.h
+/usr/include/bits/environments.h
+/usr/include/bits/errno.h
+/usr/include/bits/fcntl.h
+/usr/include/bits/posix1_lim.h
+/usr/include/bits/posix_opt.h
+/usr/include/bits/pthreadtypes.h
+/usr/include/bits/setjmp.h
+/usr/include/bits/sigset.h
+/usr/include/bits/stdio.h
+/usr/include/bits/stdio2.h
+/usr/include/bits/stdio_lim.h
+/usr/include/bits/string.h
+/usr/include/bits/string2.h
+/usr/include/bits/string3.h
+/usr/include/bits/sys_errlist.h
+/usr/include/bits/types.h
+/usr/include/bits/waitflags.h
+/usr/include/bits/waitstatus.h
+/usr/include/bits/wchar.h
+/usr/include/bits/wordsize.h
+/usr/include/endian.h
+/usr/include/features.h
+/usr/include/libio.h
+/usr/include/linux/backing-dev.h
+/usr/include/linux/err_kernel_only.h
+/usr/include/linux/errno.h
+/usr/include/linux/fs.h
+/usr/include/linux/kernel.h
+/usr/include/linux/nfs.h
+/usr/include/linux/posix_types.h
+/usr/include/sys/select.h
+/usr/include/sys/stat.h
+/usr/include/sys/sysmacros.h
+/usr/include/sys/wait.h
+/usr/include/time.h
+/usr/include/xlocale.h
+/usr/include/_G_config.h
+/usr/include/asm-i386/cache.h
+/usr/include/asm-i386/fcntl.h
+/usr/include/asm-i386/ioctl.h
+/usr/include/asm-i386/linkage.h
+/usr/include/asm-i386/types.h
+/usr/include/asm-x86_64/cache.h
+/usr/include/asm-x86_64/fcntl.h
+/usr/include/asm-x86_64/ioctl.h
+/usr/include/asm-x86_64/linkage.h
+/usr/include/asm-x86_64/types.h
+/usr/include/asm/errno.h
+/usr/include/asm/posix_types.h
+/usr/include/bits/endian.h
+/usr/include/bits/local_lim.h
+/usr/include/bits/sched.h
+/usr/include/bits/select.h
+/usr/include/bits/siginfo.h
+/usr/include/bits/stat.h
+/usr/include/bits/stdio-lock.h
+/usr/include/bits/time.h
+/usr/include/bits/typesizes.h
+/usr/include/gnu/stubs.h
+/usr/include/linux/byteorder/little_endian.h
+/usr/include/signal.h
+/usr/include/sys/cdefs.h
+/usr/include/sys/resource.h
+/usr/include/asm-i386/errno.h
+/usr/include/asm-i386/posix_types.h
+/usr/include/asm-x86_64/errno.h
+/usr/include/asm-x86_64/posix_types.h
+/usr/include/bits/libc-lock.h
+/usr/include/bits/resource.h
+/usr/include/bits/sigaction.h
+/usr/include/bits/sigcontext.h
+/usr/include/bits/signum.h
+/usr/include/bits/sigstack.h
+/usr/include/bits/sigthread.h
+/usr/include/gconv.h
+/usr/include/linux/byteorder/generic.h
+/usr/include/linux/byteorder/swab.h
+/usr/include/sys/ucontext.h
+/usr/include/wchar.h
+/usr/include/asm/sigcontext.h
+/usr/include/byteswap.h
+/usr/include/pthread.h
+/usr/include/wctype.h
+/usr/include/asm-i386/sigcontext.h
+/usr/include/asm-x86_64/sigcontext.h
+/usr/include/bits/byteswap.h
+/usr/include/bits/initspin.h
+/usr/include/sched.h
index fdc11311dd148e911b08dfae79eb377a06d7ae92..3de7501ddc3bd4b7474867220dd7683632596399 100644 (file)
@@ -1,18 +1,20 @@
        --------------------------------------------------------------------
-       ELILO.EFI: Linux boot loader for EFI/IA-64 and EFI/IA-32 based systems
+       ELILO.EFI: Linux boot loader for
+                       EFI/IA-64,EFI/IA-32 and EFI/x86_64 based systems
        --------------------------------------------------------------------
                       Stephane Eranian <eranian@hpl.hp.com>
 
                                 August 2003
 
                   Copyright (C) 2000-2003 Hewlett-Packard Co.
+                  Copyright (C) 2006-2010 Intel Co.
 
 
 I/ Introduction
    ------------
 
-This document describes how to use ELILO on for both IA-64 and IA-32 EFI-based platforms.
-This document describes ELILO version 3.4
+This document describes how to use ELILO on for IA-64, IA-32 and x86_64 EFI-based platforms.
+This document describes ELILO version 3.7
 
 II/ Command line options
     --------------------
@@ -81,6 +83,9 @@ II/ Command line options
        for more information on device naming schemes. The slash character '/' can be used as 
        a directory separator on any file systems including the EFI file system (FAT32).
 
+       For x86_64:
+       ----------
+       No new options.
 
 III/ Configuration File
      ------------------
@@ -94,7 +99,7 @@ III/ Configuration File
           where AABBCCDD is the hexadecimal representation
           of the IP address assigned during the DHCP phase.
 
-       2/ elilo-ia64.conf or elilo-ia32.conf
+       2/ elilo-ia64.conf or elilo-ia32.conf or elilo-x86_64.conf
           The choice depends on the client platform. This step allows
           the same DHCP/PXE server to provide files for both types of clients.
 
@@ -236,6 +241,9 @@ III/ Configuration File
     the user can also specify a kernel file that is not specified in the config file. In any case,
     some of the global options (such as append) are always concatenated to whatever the user type.
 
+    x86_64 specific options:
+    -----------------------
+       None yet.
 
 IV/ Booting from the local system
     -----------------------------
@@ -447,6 +455,29 @@ XII/ Booting on EFI/ia32 platforms
        be booted (plain vmlinux will not work). Similarly, existing initial ramdisks can 
        be used without modifications. 
 
+XIII/ Booting on EFI/x86_64 platforms
+     -----------------------------
+
+       To use elilo on x86_64, you can put it on a floppy and
+       on a FAT32 partition (msdos partition). You can also
+       netboot if your network adapter has support for UNDI/PXE.
+
+       Elilo/x86_64 requires efi64 enabled linux kernel (> 2.6.21).
+       You need to compile the kernel with CONFIG_EFI option.
+       x86_64 platforms with UEFI 2.0 firmware deprecate UGA protocol
+       and therefore only the Graphics Output Protocol (GOP) is supported. For
+       such platforms, the kernel must be configured with EFI_FB option. This
+       will enable early boot messages on the console. The elilo for x86_64
+       attempts to query the firmware for GOP and if it fails it defaults to
+       text mode. Elilo ONLY takes compressed kernel image which are
+       typically obtained via a 'make bzImage'. Plain elf/x86_64 kernel can't 
+       be booted (plain vmlinux will not work). Similarly, existing initial
+       ramdisks can be used without modifications. 
+
+       The x86_64 implementation converts the EFI memory map into E820 map and
+       passes it in the bootparameter supplied to the OS. For details on
+       bootparameter, see x86_64/sysdeps.h.
+
 IX/ Credits
     -------
 
@@ -457,6 +488,9 @@ IX/ Credits
        Richard Hirst    <rhirst@linuxcare.com>
        Chris Ahna       <christopher.j.ahna@intel.com>
        Mike Johnston    <michael.johnston@intel.com>
+       Fenghua Yu       <fenghua.yu@intel.com>
+       Bibo Mao         <bibo.mao@intel.com>
+       Chandramouli Narayanan <mouli@linux.intel.com>
 
 X/ Bug reports
    -----------
@@ -468,6 +502,10 @@ X/ Bug reports
 XIII/ Reference
       ---------
 
+       UEFI 2.0 specifications are available from the following web site:
+
+               http://www.uefi.org/home
+
        EFI v1.02 specifications are available from the following web site:
 
        http://developer.intel.com/technology/efi/
diff --git a/elf.h b/elf.h
index ad367f570502782bbd9feeb76e2600415cc7f928..8289e0da93cee62750eea463964623218e526ead 100644 (file)
--- a/elf.h
+++ b/elf.h
@@ -103,6 +103,7 @@ typedef UINT64      Elf64_Word;
 
 #define EM_IA_64       50      /* HP/Intel IA-64 */
 
+#define EM_X86_64       62      /* Intel/AMD x86-64 */
 /*
  * This is an interim value that we will use until the committee comes
  * up with a final number.
diff --git a/elilo.c b/elilo.c
index 6bdd6bd28a86d781f6451b69f906ac962348b4e0..2773f3f469193b195052e5c18d1a42be15bef751 100644 (file)
--- a/elilo.c
+++ b/elilo.c
@@ -1,5 +1,5 @@
 /* 
- * elilo.c - IA-64/IA-32 EFI Linux loader
+ * elilo.c - IA-64/IA-32/x86_64 EFI Linux loader
  *
  *  Copyright (C) 1999-2003 Hewlett-Packard Co.
  *     Contributed by David Mosberger <davidm@hpl.hp.com>.
@@ -8,6 +8,11 @@
  *  Copyright (C) 1999-2000 VA Linux Systems
  *       Contributed by Johannes Erdfelt <jerdfelt@valinux.com>.
  *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
  *  ELILO is free software; you can redistribute it and/or modify
@@ -41,7 +46,7 @@
 #include "loader.h"
 #include "config.h" /* for config_init() */
 
-#define ELILO_VERSION                  L"3.4"
+#define ELILO_VERSION                  L"3.7"
 #define ELILO_SHARED_CMDLINE_OPTS      L"pPMC:aDhd:i:vVc:E"
 
 elilo_config_t elilo_opt;
@@ -244,7 +249,7 @@ do_launch:
        if ((bp=create_boot_params(cmdline, &imem, &mmem, &cookie)) == 0) goto error;
 
        /* terminate bootservices */
-       status = BS->ExitBootServices(image, cookie);
+       status = uefi_call_wrapper(BS->ExitBootServices, 2, image, cookie);
        if (EFI_ERROR(status)) goto bad_exit;
 
        start_kernel(kd.kentry, bp);
@@ -307,7 +312,7 @@ fixupargs(EFI_LOADED_IMAGE *info)
 
 #define FAKE_ELILONAME L"elilo-forced"
 
-       status = BS->HandleProtocol (info->DeviceHandle, &PxeBaseCodeProtocol, (VOID **)&pxe);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, info->DeviceHandle, &PxeBaseCodeProtocol, (VOID **)&pxe);
        if (EFI_ERROR(status)) return;
 
        default_load_options      = info->LoadOptions;
@@ -365,7 +370,7 @@ check_edd30(VOID)
        UINT8           bool = FALSE;
        INTN            ret = -1;
 
-       status = RT->GetVariable(L"EDD30", &edd30_guid, NULL, &l, &bool);
+       status = uefi_call_wrapper(RT->GetVariable, 5, L"EDD30", &edd30_guid, NULL, &l, &bool);
        if (status == EFI_BUFFER_TOO_SMALL || (bool != TRUE && bool != FALSE)) {
                ERR_PRT((L"Warning: EDD30 EFI variable is not boolean value: forcing it to TRUE"));
                return -1;
@@ -395,7 +400,7 @@ force_edd30(VOID)
        UINT8           bool;
 
        bool = TRUE;
-       status = RT->SetVariable(L"EDD30", &edd30_guid, EDD30_ATTR, l, &bool);
+       status = uefi_call_wrapper(RT->SetVariable, 5, L"EDD30", &edd30_guid, EDD30_ATTR, l, &bool);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"can't set EDD30 variable: ignoring it"));
                return -1;
@@ -439,19 +444,18 @@ efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *system_tab)
         * mode.
         * XXX: clean this up !
         */
-       BS->SetWatchdogTimer(0, 0x0, 0, NULL);
+       uefi_call_wrapper(BS->SetWatchdogTimer, 4, 0, 0x0, 0, NULL);
 
        /* initialize memory allocator */
        if (alloc_init() == -1) return EFI_LOAD_ERROR;
 
-       status = BS->HandleProtocol(image, &LoadedImageProtocol, (VOID **) &info);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, image, &LoadedImageProtocol, (VOID **) &info);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"image handle does not support LOADED_IMAGE protocol"));
                return EFI_LOAD_ERROR;
        }
 
        VERB_PRT(5,Print(L"Loaded at 0x%lx size=%d bytes code=%d data=%d\n", info->ImageBase, info->ImageSize, info->ImageCodeType, info->ImageDataType));
-
        /*
         * verify EDD3.0 status. Users may have to reboot 
         */
index 85f348527a5591d9772b819da961b7e7e37baa9d..1a43479f97fcdbbff8a7584c34804d3b62982574 100644 (file)
--- a/fileops.c
+++ b/fileops.c
@@ -1,6 +1,9 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -135,7 +138,7 @@ glue_filesystem(EFI_GUID *proto, EFI_HANDLE dev, fops_fs_glue_t glue)
        VOID *intf = NULL;
        EFI_STATUS status;
 
-       status = BS->HandleProtocol(dev, proto, &intf);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, proto, &intf);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"unable to locate %g: should not happen", proto));
                return NULL; /* should not happen */
@@ -358,6 +361,8 @@ fops_setdefaults(struct config_file *defconf, CHAR16 *kname, UINTN maxlen, CHAR1
 #define FILEOPS_ARCH_DEFAULT_CONFIG    L"elilo-ia64.conf"
 #elif defined (CONFIG_ia32)
 #define FILEOPS_ARCH_DEFAULT_CONFIG    L"elilo-ia32.conf"
+#elif defined (CONFIG_x86_64)
+#define FILEOPS_ARCH_DEFAULT_CONFIG    L"elilo-x86_64.conf"
 #else
 #error "You need to specfy your default arch config file"
 #endif
@@ -455,7 +460,7 @@ add_dev_tab(EFI_GUID *proto, EFI_HANDLE boot_handle, UINTN size, fops_fs_glue_t
        /*
         * get the actual device handles now
         */
-       status = BS->LocateHandle(ByProtocol, proto, NULL, &size, tab);
+       status = uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, proto, NULL, &size, tab);
        if (status != EFI_SUCCESS) {
                ERR_PRT((L"failed to get handles for proto %g size=%d: %r", proto, size, status));
                free(tab);
@@ -536,7 +541,7 @@ find_filesystems(EFI_HANDLE boot_handle)
         */
        for(fs = fs_tab; *fs; fs++) {
                size = 0;
-               BS->LocateHandle(ByProtocol, &(*fs)->proto, NULL, &size, NULL);
+               uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &(*fs)->proto, NULL, &size, NULL);
                total += size;
        }
        if (total == 0) {
@@ -560,7 +565,7 @@ find_filesystems(EFI_HANDLE boot_handle)
        for(fs = fs_tab; *fs; fs++) {
                size = 0;
 
-               BS->LocateHandle(ByProtocol, &(*fs)->proto, NULL, &size, NULL);
+               uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &(*fs)->proto, NULL, &size, NULL);
                if (size == 0) continue;
 
                add_dev_tab(&(*fs)->proto, boot_handle, size, (*fs)->glue);
index 4eaea2736964d9a53985e944357d523680b1b60a..bec47fe8e8652940a67e4a22c40b90db7acf1f19 100644 (file)
@@ -144,7 +144,7 @@ read_bytes(EFI_BLOCK_IO *blkio, UINT32 mediaid, UINTN offset, VOID *addr, UINTN
 
        DBG_PRT((L"readblock(%x, %d, %d, %d, %x)", blkio, mediaid, base, buffer_size, buffer));
 
-       status = blkio->ReadBlocks(blkio, mediaid, base, buffer_size, buffer); 
+       status = uefi_call_wrapper(blkio->ReadBlocks, 5, blkio, mediaid, base, buffer_size, buffer); 
        if (EFI_ERROR(status)) {
                ERR_PRT((L"readblock(%d,%d)=%r", base, buffer_size, status));
                goto error;
@@ -866,13 +866,13 @@ ext2fs_install_one(EFI_HANDLE dev, VOID **intf)
        EFI_BLOCK_IO *blkio;
        ext2fs_t *ext2fs;
 
-       status = BS->HandleProtocol (dev, &Ext2FsProtocol, (VOID **)&ext2fs);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &Ext2FsProtocol, (VOID **)&ext2fs);
        if (status == EFI_SUCCESS) {
                ERR_PRT((L"Warning: found existing %s protocol on device", FS_NAME));
                goto found;
        }
        
-       status = BS->HandleProtocol(dev, &BlockIoProtocol, (VOID **)&blkio);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &BlockIoProtocol, (VOID **)&blkio);
        if (EFI_ERROR(status)) return EFI_INVALID_PARAMETER;
        
        VERB_PRT(5,
@@ -944,7 +944,7 @@ ext2fs_install(VOID)
        EFI_STATUS status;
        VOID *intf;
 
-       BS->LocateHandle(ByProtocol, &BlockIoProtocol, NULL, &size, NULL);
+       uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &BlockIoProtocol, NULL, &size, NULL);
        if (size == 0) return EFI_UNSUPPORTED; /* no device found, oh well */
 
        DBG_PRT((L"size=%d", size));
@@ -955,7 +955,8 @@ ext2fs_install(VOID)
                return EFI_OUT_OF_RESOURCES;
        }
        
-       status = BS->LocateHandle(ByProtocol, &BlockIoProtocol, NULL, &size, (VOID **)dev_tab);
+       status = uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &BlockIoProtocol, NULL, 
+                               &size, (VOID **)dev_tab);
        if (status != EFI_SUCCESS) {
                ERR_PRT((L"failed to get handles: %r", status));
                free(dev_tab);
@@ -984,7 +985,7 @@ ext2fs_uninstall(VOID)
        for(i=0; i < ndev; i++) {
                if (dev_tab[i].intf == NULL) continue;
                e2fs = FS_PRIVATE(dev_tab[i].intf);
-               status = BS->UninstallProtocolInterface(e2fs->dev, &Ext2FsProtocol, dev_tab[i].intf);
+               status = uefi_call_wrapper(BS->UninstallProtocolInterface, 3, e2fs->dev, &Ext2FsProtocol, dev_tab[i].intf);
                if (EFI_ERROR(status)) {
                        ERR_PRT((L"Uninstall %s error: %r", FS_NAME, status));
                        continue;
index 4fdc99fdf4eb8e03e8628e1f8cc8deb611c4abfd..fe1333fee764160bdb28f61b43aaef29087325b0 100644 (file)
@@ -1,6 +1,10 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -61,7 +65,7 @@ static EFI_GUID       LocalFsProtocol = LOCALFS_PROTOCOL;
  * let's be clean here
  */
 typedef union {
-       EFI_HANDLE *dev;
+       EFI_HANDLE dev;
        localfs_t  *intf;
 } dev_tab_t;
 
@@ -94,7 +98,7 @@ localfs_open(localfs_interface_t *this, CHAR16 *name, UINTN *fd)
 
        DBG_PRT((L"localfs_open on %s\n", name));
 
-       status = lfs->volume->Open(lfs->volume, &fh, name, EFI_FILE_MODE_READ, 0);
+       status = uefi_call_wrapper(lfs->volume->Open, 5, lfs->volume, &fh, name, EFI_FILE_MODE_READ, 0);
        if (status == EFI_SUCCESS) {
                *fd = LOCALFS_F2FD(fh);
        } 
@@ -110,7 +114,7 @@ localfs_read(localfs_interface_t *this, UINTN fd, VOID *buf, UINTN *size)
 
        lfs = FS_PRIVATE(this);
 
-       return lfs->volume->Read(LOCALFS_FD2F(fd), size, buf);
+       return uefi_call_wrapper(lfs->volume->Read, 3, LOCALFS_FD2F(fd), size, buf);
 }
 
 static EFI_STATUS
@@ -122,7 +126,7 @@ localfs_close(localfs_interface_t *this, UINTN fd)
 
        lfs = FS_PRIVATE(this);
 
-       return lfs->volume->Close(LOCALFS_FD2F(fd));
+       return uefi_call_wrapper(lfs->volume->Close, 1, LOCALFS_FD2F(fd));
 }
 
 static EFI_STATUS
@@ -140,7 +144,7 @@ localfs_infosize(localfs_interface_t *this, UINTN fd, UINT64 *sz)
 
        *sz = info->FileSize;
 
-       FreePool(info);
+       uefi_call_wrapper(BS->FreePool, 1, info);
 
        return EFI_SUCCESS;
 }
@@ -154,7 +158,7 @@ localfs_seek(localfs_interface_t *this, UINTN fd, UINT64 newpos)
 
        lfs = FS_PRIVATE(this);
 
-       return lfs->volume->SetPosition(LOCALFS_FD2F(fd), newpos);
+       return uefi_call_wrapper(lfs->volume->SetPosition, 2, LOCALFS_FD2F(fd), newpos);
 }
 
 static VOID
@@ -185,16 +189,16 @@ localfs_install_one(EFI_HANDLE dev, VOID **intf)
        EFI_FILE_IO_INTERFACE   *volume;
        EFI_FILE_HANDLE         volume_fh;
 
-       status = BS->HandleProtocol (dev, &LocalFsProtocol, (VOID **)&localfs);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &LocalFsProtocol, (VOID **)&localfs);
        if (status == EFI_SUCCESS) {
                ERR_PRT((L"Warning: found existing %s protocol on device", FS_NAME));
                goto found;
        }
        
-       status = BS->HandleProtocol (dev, &FileSystemProtocol, (VOID **)&volume);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &FileSystemProtocol, (VOID **)&volume);
        if (EFI_ERROR(status)) return EFI_INVALID_PARAMETER;
 
-       status = volume->OpenVolume(volume, &volume_fh);
+       status = uefi_call_wrapper(volume->OpenVolume, 2, volume, &volume_fh);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"cannot open volume"));
                return status;
@@ -221,7 +225,7 @@ found:
                  dp  = DevicePathFromHandle(dev);
                  str = DevicePathToStr(dp);
                  Print(L"attached %s to %s\n", FS_NAME, str);
-                 FreePool(str);
+                 uefi_call_wrapper(BS->FreePool, 1, str);
                });
 
        return EFI_SUCCESS;
@@ -235,7 +239,7 @@ localfs_install(VOID)
        EFI_STATUS status;
        VOID *intf;
 
-       BS->LocateHandle(ByProtocol, &FileSystemProtocol, NULL, &size, NULL);
+       uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &FileSystemProtocol, NULL, &size, NULL);
        if (size == 0) return EFI_UNSUPPORTED; /* no device found, oh well */
 
        DBG_PRT((L"size=%d", size));
@@ -245,8 +249,7 @@ localfs_install(VOID)
                ERR_PRT((L"failed to allocate handle table"));
                return EFI_OUT_OF_RESOURCES;
        }
-       
-       status = BS->LocateHandle(ByProtocol, &FileSystemProtocol, NULL, &size, (VOID **)dev_tab);
+       status = uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &FileSystemProtocol, NULL, &size, (VOID **)dev_tab);
        if (status != EFI_SUCCESS) {
                ERR_PRT((L"failed to get handles: %r", status));
                free(dev_tab);
@@ -275,7 +278,7 @@ localfs_uninstall(VOID)
        for(i=0; i < ndev; i++) {
                if (dev_tab[i].intf == NULL) continue;
                lfs = FS_PRIVATE(dev_tab[i].intf);
-               status = BS->UninstallProtocolInterface(lfs->dev, &LocalFsProtocol, dev_tab[i].intf);
+               status = uefi_call_wrapper(BS->UninstallProtocolInterface, 3, lfs->dev, &LocalFsProtocol, dev_tab[i].intf);
                if (EFI_ERROR(status)) {
                        ERR_PRT((L"Uninstall %s error: %r", FS_NAME, status));
                        continue;
@@ -285,7 +288,7 @@ localfs_uninstall(VOID)
                        dp  = DevicePathFromHandle(lfs->dev);
                        str = DevicePathToStr(dp);
                        Print(L"uninstalled %s on %s\n", FS_NAME, str);
-                       FreePool(str);
+                       uefi_call_wrapper(BS->FreePool, 1, str);
                        });
                free(dev_tab[i].intf);
        }
index 4913785ba8a0139cf9d404cd70ce1771c07ce5bc..063f4e538b632af3eb15289e50d9499c1d9de103 100644 (file)
@@ -1,6 +1,10 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -262,7 +266,7 @@ netfs_start(EFI_PXE_BASE_CODE *pxe)
 {
        EFI_STATUS status;
 
-       status = pxe->Start(pxe, FALSE);
+       status = uefi_call_wrapper(pxe->Start, 2, pxe, FALSE);
        if (EFI_ERROR(status)) return status;
 
        return pxe->Dhcp(pxe, FALSE);
@@ -337,7 +341,7 @@ retry:
         */
        prev_netbufsize = f->netbuf_size;
 
-       status = nfs->pxe->Mtftp(nfs->pxe, EFI_PXE_BASE_CODE_TFTP_READ_FILE, f->netbuf, FALSE,
+       status = uefi_call_wrapper(nfs->pxe->Mtftp, 10, nfs->pxe, EFI_PXE_BASE_CODE_TFTP_READ_FILE, f->netbuf, FALSE,
                            &(f->netbuf_size), 
                            blocksize > 0 ? &blocksize : NULL, 
                            &nfs->srv_ip, 
@@ -627,7 +631,7 @@ netfs_query_layer(netfs_interface_t *this, UINT16 server_type, UINT16 layer, UIN
 
        if (server_type == 0) server_type = find_pxe_server_type(nfs->pxe);
 
-       status = nfs->pxe->Discover(nfs->pxe, server_type, &layer, FALSE, 0);
+       status = uefi_call_wrapper(nfs->pxe->Discover, 5, nfs->pxe, server_type, &layer, FALSE, 0);
        if(status == EFI_SUCCESS) {
                ascii2U(nfs->pxe->Mode->PxeReply.Dhcpv4.BootpBootFile, str, maxlen);
        } 
@@ -680,13 +684,13 @@ netfs_install_one(EFI_HANDLE dev, VOID **intf)
        netfs_t *netfs;
        EFI_PXE_BASE_CODE *pxe;
 
-       status = BS->HandleProtocol (dev, &NetFsProtocol, (VOID **)&netfs);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &NetFsProtocol, (VOID **)&netfs);
        if (status == EFI_SUCCESS) {
                ERR_PRT((L"Warning: found existing %s protocol on device", FS_NAME));
                goto found;
        }
        
-       status = BS->HandleProtocol (dev, &PxeBaseCodeProtocol, (VOID **)&pxe);
+       status = uefi_call_wrapper(BS->HandleProtocol, 3, dev, &PxeBaseCodeProtocol, (VOID **)&pxe);
        if (EFI_ERROR(status)) return EFI_INVALID_PARAMETER;
 
 
@@ -727,7 +731,7 @@ netfs_install(VOID)
        EFI_STATUS status;
        VOID *intf;
 
-       BS->LocateHandle(ByProtocol, &PxeBaseCodeProtocol, NULL, &size, NULL);
+       uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &PxeBaseCodeProtocol, NULL, &size, NULL);
        if (size == 0) return EFI_UNSUPPORTED; /* no device found, oh well */
 
        DBG_PRT((L"size=%d", size));
@@ -738,7 +742,7 @@ netfs_install(VOID)
                return EFI_OUT_OF_RESOURCES;
        }
        
-       status = BS->LocateHandle(ByProtocol, &PxeBaseCodeProtocol, NULL, &size, (VOID **)dev_tab);
+       status = uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol, &PxeBaseCodeProtocol, NULL, &size, (VOID **)dev_tab);
        if (status != EFI_SUCCESS) {
                ERR_PRT((L"failed to get handles: %r", status));
                free(dev_tab);
@@ -767,7 +771,7 @@ netfs_uninstall(VOID)
        for(i=0; i < ndev; i++) {
                if (dev_tab[i].intf == NULL) continue;
                nfs = FS_PRIVATE(dev_tab[i].intf);
-               status = BS->UninstallProtocolInterface(nfs->dev, &NetFsProtocol, dev_tab[i].intf);
+               status = uefi_call_wrapper(BS->UninstallProtocolInterface, 3, nfs->dev, &NetFsProtocol, dev_tab[i].intf);
                if (EFI_ERROR(status)) {
                        ERR_PRT((L"Uninstall %s error: %r", FS_NAME, status));
                        continue;
@@ -780,7 +784,8 @@ netfs_uninstall(VOID)
                        FreePool(str);
                        });
 
-               if (nfs->pxe->Mode->Started == TRUE) nfs->pxe->Stop(nfs->pxe);
+               if (nfs->pxe->Mode->Started == TRUE) 
+                       uefi_call_wrapper(nfs->pxe->Stop, 1, nfs->pxe);
 
                free(dev_tab[i].intf);
        }
index 8a70616e0791e81a9ef8d50ea4685ed88a5c775b..03a17d899afc409d11d940ad73ed58f23250d13a 100644 (file)
--- a/getopt.c
+++ b/getopt.c
@@ -25,7 +25,6 @@
  * 02111-1307, USA.
  */
 
-
 #include <efi.h>
 #include <efilib.h>
 
@@ -36,7 +35,7 @@
 #define BADCH  (INTN)'?'
 #define BADARG (INTN)':'
 
-extern CHAR16 * StrChr(IN const CHAR16 *s, INT16 c);
+extern CHAR16 * StrChr(IN const CHAR16 *s, CHAR16 c);
 
 CHAR16 *Optarg;
 INTN    Optind = 1;
index 5de36298256574621cb70f45bb58b360c8ac74fa..51a38cec02ca5ce353d40f092fa480159fd80e99 100644 (file)
@@ -1,6 +1,10 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -167,6 +171,8 @@ netfs_setdefaults(VOID *intf, config_file_t *config, CHAR16 *kname, UINTN maxlen
 #    define CONFIG_ARCH_EXTENSION L"-ia64.conf\0"
 #  elif defined (CONFIG_ia32)
 #    define CONFIG_ARCH_EXTENSION L"-ia64.conf\0"
+#  elif defined (CONFIG_x86_64)
+#    define CONFIG_ARCH_EXTENSION L"-x86_64.conf\0"
 #  else
 #    error "You need to specfy your default arch config file"
 #  endif            
index b72d106caba72e80e52ec9aea212c3e93a29615b..898854f4ca9f78c849f141eb6d71c5d8987fed0c 100644 (file)
--- a/sysdeps.h
+++ b/sysdeps.h
@@ -1,6 +1,10 @@
 /*
  *  Copyright (C) 2001-2003 Hewlett-Packard Co.
  *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
  *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
@@ -30,6 +34,8 @@
 #include "ia64/sysdeps.h"
 #elif defined CONFIG_ia32
 #include "ia32/sysdeps.h"
+#elif defined CONFIG_x86_64
+#include "x86_64/sysdeps.h"
 #endif
 
 #endif /* __ELILO_SYSDEPS_H__ */
diff --git a/util.c b/util.c
index 85babf4fa82359140ef0037f99dd1e0555c5a4bc..84e76cc56f9c74d882e411a0115448aa0b9c91c5 100644 (file)
--- a/util.c
+++ b/util.c
@@ -5,6 +5,11 @@
  *  Copyright (C) 2001 Silicon Graphics, Inc.
  *     Contributed by Brent Casavant <bcasavan@sgi.com>
  *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
  * This file is part of the ELILO, the EFI Linux boot loader.
  *
  *  ELILO is free software; you can redistribute it and/or modify
 static INTN
 read_keypress(EFI_INPUT_KEY *key)
 {
-       return systab->ConIn->ReadKeyStroke(systab->ConIn, key);
+       return uefi_call_wrapper(systab->ConIn->ReadKeyStroke,
+                               2,
+                               systab->ConIn,
+                               key);
 }
 
 
@@ -55,7 +63,10 @@ check_abort(VOID)
 inline VOID
 reset_input(VOID)
 {
-       systab->ConIn->Reset(systab->ConIn, 1);
+       uefi_call_wrapper(systab->ConIn->Reset,
+                       2,
+                       systab->ConIn,
+                       1);
 }
 
 #if 0
@@ -71,9 +82,9 @@ wait_keypress_abort(VOID)
        Print(L"Hit ENTER to continue or ANY other key to cancel");
 
        /* cleanup buffer first */
-       while (conin->ReadKeyStroke(conin, &key) == EFI_SUCCESS);
+       while (uefi_call_wrapper(conin->ReadKeyStroke, 2, conin, &key) == EFI_SUCCESS);
 
-       while ((status=conin->ReadKeyStroke(conin, &key)) == EFI_NOT_READY );
+       while ((status=uefi_call_wrapper(conin->ReadKeyStroke,2, conin, &key)) == EFI_NOT_READY );
 
        if (EFI_ERROR(status)) return ELILO_LOAD_ERROR;
 
@@ -102,13 +113,13 @@ wait_timeout(UINTN timeout)
        if (timeout == 0) return 0;
 
        /* Create a timeout timer */
-       status = BS->CreateEvent(EVT_TIMER, 0, NULL, NULL, &timer);
+       status = uefi_call_wrapper(BS->CreateEvent, 5, EVT_TIMER, 0, NULL, NULL, &timer);
        if (EFI_ERROR(status)) {
                ERR_PRT((L" waitkey CreateEvent failed %r", status));
                return -1;
        }
        /* In 100ns increments */
-       status = BS->SetTimer(timer, TimerPeriodic, TENTH_SEC);
+       status = uefi_call_wrapper(BS->SetTimer, 3, timer, TimerPeriodic, TENTH_SEC);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"waitkey SetTimer failed %r", status));
                return -1;
@@ -118,7 +129,7 @@ wait_timeout(UINTN timeout)
        list[1] = systab->ConIn->WaitForKey;
 
        do {
-               status = BS->WaitForEvent(2, list, &idx);
+               status = uefi_call_wrapper(BS->WaitForEvent, 3, 2, list, &idx);
                if (EFI_ERROR(status)) {
                        ERR_PRT((L"waitkey WaitForEvent failed %r", status));
                        return -1;
@@ -130,13 +141,13 @@ wait_timeout(UINTN timeout)
         * SetTimer(timer, TimerCancel, 0) is causing problems on IA-32 and gcc3
         * I do not know why it dies with EFI12.35. So let's fake a key stroke.
         */
-       status = BS->SetTimer(timer, TimerCancel, 0);
+       status = uefi_call_wrapper(BS->SetTimer, 3, timer, TimerCancel, 0);
        if (EFI_ERROR(status)) {
                ERR_PRT((L"waitkey SetTimer(TimerCancel) failed %r", status));
                return -1;
        }
 
-       BS->CloseEvent(timer);
+       uefi_call_wrapper(BS->CloseEvent, 1, timer);
 
        return idx ? 1 : 0;
 }
@@ -278,7 +289,7 @@ read_file(UINTN fd, UINTN total_size, CHAR8 *buffer)
 INTN
 get_memmap(mmap_desc_t *desc)
 {
-#define        ELILO_MEMMAP_SIZE_DEFAULT       EFI_PAGE_SIZE
+#define        ELILO_MEMMAP_SIZE_DEFAULT       (EFI_PAGE_SIZE*2)
 #define        ELILO_MEMMAP_INC                (sizeof(EFI_MEMORY_DESCRIPTOR)<<1)
 
        EFI_STATUS status;
@@ -292,7 +303,8 @@ get_memmap(mmap_desc_t *desc)
                        ERR_PRT((L"failed to allocate memory map buffer"));
                        return -1;
                }
-               status = (*BS->GetMemoryMap)(&desc->map_size, desc->md, &desc->cookie, &desc->desc_size, &desc->desc_version);
+               status = uefi_call_wrapper(BS->GetMemoryMap, 5, &desc->map_size, desc->md, 
+                                       &desc->cookie, &desc->desc_size, &desc->desc_version);
                if (status == EFI_SUCCESS) break;
 
                free(desc->md);
diff --git a/x86_64/Makefile b/x86_64/Makefile
new file mode 100644 (file)
index 0000000..4af4b8d
--- /dev/null
@@ -0,0 +1,52 @@
+#
+#  Copyright (C) 2001-2003 Hewlett-Packard Co.
+#      Contributed by Stephane Eranian <eranian@hpl.hp.com>
+#
+# This file is part of the ELILO, the EFI Linux boot loader.
+#
+#  ELILO is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2, or (at your option)
+#  any later version.
+#
+#  ELILO is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with ELILO; see the file COPYING.  If not, write to the Free
+#  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#  02111-1307, USA.
+#
+# Please check out the elilo.txt for complete documentation on how
+# to use this program.
+#
+
+include ../Make.defaults
+include ../Make.rules
+
+TOPDIR=$(CDIR)/..
+
+FILES=system.o config.o bzimage.o plain_loader.o gzip_loader.o gzip.o
+#FILES=system.o config.o plain_loader.o
+
+TARGET=sysdeps.o
+
+all: $(TARGET)
+
+system.o: rmswitch.h
+
+rmswitch.h: bin_to_h.c rmswitch.S
+       $(CC) -o bin_to_h bin_to_h.c
+       $(AS) -o rmswitch.o rmswitch.S
+       $(LD) -Ttext 0x0 -s --oformat binary -o rmswitch rmswitch.o
+       ./bin_to_h <rmswitch >rmswitch.h
+
+$(TARGET): $(FILES)
+       $(LD) -r -o $@ $(FILES)
+
+clean:
+       $(RM) -f $(TARGET) $(FILES)
+       $(RM) -f bin_to_h.o bin_to_h
+       $(RM) -f rmswitch.h rmswitch.o rmswitch
diff --git a/x86_64/bin_to_h.c b/x86_64/bin_to_h.c
new file mode 100644 (file)
index 0000000..2d1dd1b
--- /dev/null
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main(void)
+{
+       unsigned n = 0;
+       int c;
+
+       printf("UINT8 rmswitch_image[] = {\n");
+
+       while ((c = getchar()) != EOF) {
+               printf("0x%02x,%s",
+                       c & 0xFF,
+                       (++n & 0x07) ? " " : "\n");
+       }
+
+       if (n & 0x07) {
+               printf("\n");
+       }
+
+       printf(
+               "};\n"
+               "UINTN rmswitch_size = sizeof rmswitch_image;\n");
+
+       return 0;
+}
diff --git a/x86_64/bzimage.c b/x86_64/bzimage.c
new file mode 100644 (file)
index 0000000..2eb4f46
--- /dev/null
@@ -0,0 +1,224 @@
+/*
+ *  Copyright (C) 2001-2003 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Mike Johnston <johnston@intel.com>
+ *     Contributed by Chris Ahna <christopher.j.ahna@intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#include <efi.h>
+#include <efilib.h>
+
+#include "elilo.h"
+#include "loader.h"
+
+boot_params_t *param_start = NULL;
+UINTN param_size = 0;
+
+UINTN kernel_size = 0x400000;  /* 4M (largest x86 bzImage kernel image) */
+
+static INTN
+bzImage_probe(CHAR16 *kname)
+{
+       EFI_STATUS efi_status;
+       UINTN size;
+       fops_fd_t fd;
+       UINT8 bootsect[512];
+
+       DBG_PRT((L"probe_bzImage_boot()\n"));
+
+       if (!kname) {
+               ERR_PRT((L"kname == %xh", kname));
+               free_kmem();
+               return -1;
+       }
+
+       /* 
+        * Open kernel image. 
+        */
+       DBG_PRT((L"opening %s...\n", kname));
+
+       efi_status = fops_open(kname, &fd);
+       if (EFI_ERROR(efi_status)) {
+               ERR_PRT((L"Could not open %s.", kname));
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Read boot sector.
+        */
+
+       DBG_PRT((L"\nreading boot sector...\n"));
+
+       size = sizeof bootsect;
+       efi_status = fops_read(fd, bootsect, &size);
+       if (EFI_ERROR(efi_status) || size != sizeof bootsect) {
+               ERR_PRT((L"Could not read boot sector from %s.", kname));
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Verify boot sector signature.
+        */
+
+       if (bootsect[0x1FE] != 0x55 || bootsect[0x1FF] != 0xAA) {
+               ERR_PRT((L"%s is not a bzImage kernel image.\n", kname));
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Check for out of range setup data size.
+        * Will almost always be 7, but we will accept 1 to 64.
+        */
+
+       DBG_PRT((L"bootsect[1F1h] == %d setup sectors\n", bootsect[0x1F1]));
+
+       if (bootsect[0x1F1] < 1 || bootsect[0x1F1] > 64) {
+               ERR_PRT((L"%s is not a valid bzImage kernel image.",
+                       kname));
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Allocate and read setup data.
+        */
+
+       DBG_PRT((L"reading setup data...\n"));
+
+       param_size = (bootsect[0x1F1] + 1) * 512;
+       param_start = alloc(param_size, EfiLoaderData);
+
+       DBG_PRT((L"param_size=%d param_start=%x", param_size, param_start));
+
+       if (!param_start) {
+               ERR_PRT((L"Could not allocate %d bytes of setup data.",
+                       param_size));
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+
+       CopyMem(param_start, bootsect, sizeof bootsect);
+
+       size = param_size - 512;
+       efi_status = fops_read(fd, ((UINT8 *)param_start) + 512, &size);
+
+       if (EFI_ERROR(efi_status) || size != param_size - 512) {
+               ERR_PRT((L"Could not read %d bytes of setup data.",
+                       param_size - 512));
+               free(param_start);
+               param_start = NULL;
+               param_size = 0;
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Check for setup data signature.
+        */
+
+       { 
+               UINT8 *c = ((UINT8 *)param_start)+514;
+               DBG_PRT((L"param_start(c=%x): %c-%c-%c-%c", 
+                       c, (CHAR16)c[0],(CHAR16) c[1], (CHAR16)c[2], (CHAR16)c[3]));
+       }
+       if (CompareMem(((UINT8 *)param_start) + 514, "HdrS", 4)) {
+               ERR_PRT((L"%s does not have a setup signature.",
+                       kname));
+               free(param_start);
+               param_start = NULL;
+               param_size = 0;
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+       /*
+        * Allocate memory for kernel.
+        */
+
+       if (alloc_kmem(kernel_start, EFI_SIZE_TO_PAGES(kernel_size))) {
+               ERR_PRT((L"Could not allocate kernel memory."));
+               return -1;
+       } else {
+               VERB_PRT(3, Print(L"kernel_start: 0x%x  kernel_size: %d\n", 
+                       kernel_start, kernel_size));
+       }
+       /*
+        * Now read the rest of the kernel image into memory.
+        */
+
+       DBG_PRT((L"reading kernel image...\n"));
+
+       size = kernel_size;
+       efi_status = fops_read(fd, kernel_start, &size);
+       if (EFI_ERROR(efi_status) || size < 0x10000) {
+               ERR_PRT((L"Error reading kernel image %s.", kname));
+               free(param_start);
+               param_start = NULL;
+               param_size = 0;
+               fops_close(fd);
+               free_kmem();
+               return -1;
+       }
+
+       DBG_PRT((L"kernel image read:  %d bytes, %d Kbytes\n", size, size / 1024));
+
+       /*
+        * Boot sector, setup data and kernel image loaded.
+        */
+
+       fops_close(fd);
+       return 0;
+}
+
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+static INTN
+bzImage_load(CHAR16 *kname, kdesc_t *kd)
+{
+       DBG_PRT((L"load_bzImage_boot()\n"));
+
+       if (!kname || !kd) {
+               ERR_PRT((L"kname=0x%x  kd=0x%x", kname, kd));
+               free(param_start);
+               param_start = NULL;
+               param_size = 0;
+               free_kmem();
+               return -1;
+       }
+       kd->kstart = kd->kentry = kernel_start;
+       kd->kend = ((UINT8 *)kd->kstart) + kernel_size;
+
+       DBG_PRT((L"kstart=0x%x  kentry=0x%x  kend=0x%x\n", kd->kstart, kd->kentry, kd->kend));
+
+       return 0;
+}
+
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+loader_ops_t bzimage_loader = {
+       NULL,
+       L"bzImage_loader",
+       &bzImage_probe,
+       &bzImage_load
+};
diff --git a/x86_64/config.c b/x86_64/config.c
new file mode 100644 (file)
index 0000000..e8d4620
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ *  Copyright (C) 2001-2003 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Chris Ahna <christopher.j.ahna@intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#include <efi.h>
+#include <efilib.h>
+
+#include "elilo.h"
+#include "config.h"
+#include "private.h"
+
+typedef struct {
+       UINTN legacy_free_boot;
+} x86_64_global_config_t;
+
+
+static x86_64_global_config_t x86_64_gconf;
+
+static config_option_t sysdeps_global_options[]={
+       {OPT_BOOL,      OPT_GLOBAL, L"legacy-free",     NULL,   NULL,   &x86_64_gconf.legacy_free_boot}
+};
+
+/*
+ * X86_64 operations that need to be done only once and just before 
+ * entering the main loop of the loader
+ * Return:
+ *      0 if sucessful
+ *     -1 otherwise (will abort execution)
+ */
+INTN
+sysdeps_preloop_actions(EFI_HANDLE dev, CHAR16 **argv, INTN argc, INTN index, EFI_HANDLE image)
+{
+       return 0;
+}
+       
+#define X86_64_CMDLINE_OPTIONS L""
+
+CHAR16 *
+sysdeps_get_cmdline_opts(VOID)
+{
+       return X86_64_CMDLINE_OPTIONS;
+}
+
+INTN
+sysdeps_getopt(INTN c, INTN optind, CHAR16 *optarg)
+{
+       return -1;
+}
+
+VOID
+sysdeps_print_cmdline_opts(VOID)
+{
+}
+
+
+INTN
+x86_64_use_legacy_free_boot(VOID)
+{
+       return x86_64_gconf.legacy_free_boot ? 1 : 0;
+}
+
+INTN
+sysdeps_register_options(VOID)
+{
+       INTN ret;
+
+       ret = register_config_options(sysdeps_global_options, 
+                                     sizeof(sysdeps_global_options)/sizeof(config_option_t),
+                                     OPTIONS_GROUP_GLOBAL);
+#if 0
+       /* no per image options yet */
+       if (ret == -1 ) return ret;
+
+       ret = register_config_options(sysdeps_image_options, 
+                                     sizeof(sysdeps_image_options)/sizeof(config_option_t),
+                                     OPTIONS_GROUP_IMAGE);
+#endif
+
+       return ret;
+}
diff --git a/x86_64/gzip.c b/x86_64/gzip.c
new file mode 100644 (file)
index 0000000..fdac155
--- /dev/null
@@ -0,0 +1,557 @@
+/*
+ *  Copyright (C) 2001-2002 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *
+ *  Copyright (C) 2001 Silicon Graphics, Inc.
+ *      Contributed by Brent Casavant <bcasavan@sgi.com>
+ *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#include <efi.h>
+#include <efilib.h>
+
+#include "elf.h"
+#include "elilo.h"
+#include "gzip.h"
+#include "private.h"
+
+#define memzero(s, n)  Memset((VOID *)(s), 0, (n))
+#define memcpy(a,b,n)  Memcpy((VOID *)(a),(b),(n))
+
+/* size of output buffer */
+#define WSIZE 0x8000           /* Window size must be at least 32k, */
+                               /* and a power of two */
+/* size of input buffer */
+#define INBUFSIZE 0x8000
+
+/*
+ * gzip declarations
+ */
+
+#define OF(args)  args
+#define FUNC_STATIC static
+
+typedef unsigned char  uch;
+typedef unsigned short ush;
+typedef unsigned long  ulg;
+
+
+typedef struct segment {
+       unsigned long addr;     /* start address */
+               unsigned long offset;   /* file offset   */
+               unsigned long size;     /* file size     */
+       unsigned long bss_sz;   /* BSS size      */
+       UINT8   flags;  /* indicates whether to load or not */
+} segment_t;
+
+#define CHUNK_FL_VALID         0x1
+#define CHUNK_FL_LOAD          0x2
+
+#define CHUNK_CAN_LOAD(n)      chunks[(n)].flags |= CHUNK_FL_LOAD
+#define CHUNK_NO_LOAD(n)       chunks[(n)].flags &= ~CHUNK_FL_LOAD
+#define CHUNK_IS_LOAD(n)       (chunks[(n)].flags & CHUNK_FL_LOAD)
+
+#define CHUNK_VALIDATE(n)      chunks[(n)].flags |= CHUNK_FL_VALID
+#define CHUNK_INVALIDATE(n)    chunks[(n)].flags = 0
+#define CHUNK_IS_VALID(n)      (chunks[(n)].flags & CHUNK_FL_VALID)
+
+/*
+ * static parameters to gzip helper functions
+ * we cannot use paramters because API was not
+ * designed that way
+ */
+static segment_t *chunks;      /* holds the list of segments */
+static segment_t *cur_chunk;
+static UINTN nchunks;
+static UINTN chunk;                 /* current segment */
+static UINTN input_fd;
+static VOID *kernel_entry, *kernel_base, *kernel_end;
+
+static uch *inbuf;             /* input buffer (compressed data) */
+static uch *window;                    /* output buffer (uncompressed data) */
+static unsigned long file_offset;      /* position in the file */
+
+static unsigned insize = 0;  /* valid bytes in inbuf */
+static unsigned inptr  = 0;   /* index of next byte to be processed in inbuf */
+static unsigned outcnt = 0;  /* bytes in output buffer */
+
+/* gzip flag byte */
+#define ASCII_FLAG   0x01 /* bit 0 set: file probably ASCII text */
+#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
+#define EXTRA_FIELD  0x04 /* bit 2 set: extra field present */
+#define ORIG_NAME    0x08 /* bit 3 set: original file name present */
+#define COMMENT      0x10 /* bit 4 set: file comment present */
+#define ENCRYPTED    0x20 /* bit 5 set: file is encrypted */
+#define RESERVED     0xC0 /* bit 6,7:   reserved */
+
+#define get_byte()  (inptr < insize ? inbuf[inptr++] : fill_inbuf())
+
+/* Diagnostic functions */
+#ifdef INFLATE_DEBUG
+#  define Assert(cond,msg) {if(!(cond)) error(msg);}
+int stderr;
+#  define Trace(x) Print(L"line %d:\n", __LINE__);
+#  define Tracev(x) {if (verbose) Print(L"line %d:\n", __LINE__) ;}
+#  define Tracevv(x) {if (verbose>1) Print(L"line %d:\n", __LINE__)  ;}
+#  define Tracec(c,x) {if (verbose && (c))  Print(L"line %d:\n", __LINE__) ;}
+#  define Tracecv(c,x) {if (verbose>1 && (c))  Print(L"line %d:\n", __LINE__) ;}
+#else
+#  define Assert(cond,msg)
+#  define Trace(x)
+#  define Tracev(x)
+#  define Tracevv(x)
+#  define Tracec(c,x)
+#  define Tracecv(c,x)
+#endif
+
+static int  fill_inbuf(void);
+static void flush_window(void);
+static void error(char *m);
+static long bytes_out;
+static void error(char *m);
+static int error_return;
+
+static void *
+gzip_malloc(int size)
+{
+       return (void *)alloc(size, 0);
+}
+
+static void
+gzip_free(void *where)
+{      
+       return free(where);
+}
+
+#include "inflate.c"
+
+/*
+ * Fill the input buffer and return the first byte in it. This is called
+ * only when the buffer is empty and at least one byte is really needed.
+ */
+int
+fill_inbuf(void)
+{
+       INTN expected, nread;
+       EFI_STATUS status;
+
+       expected = nread = INBUFSIZE;
+
+       status = fops_read(input_fd, inbuf, &nread);
+       if (EFI_ERROR(status)) {
+               error("elilo: Read failed");
+       }
+       DBG_PRT((L"%s : read %d bytes of %d bytes\n", LD_NAME, nread, expected));
+
+       insize = nread;
+       inptr = 1;
+
+       return inbuf[0];
+}
+
+/* ===========================================================================
+ * Write the output window window[0..outcnt-1] and update crc and bytes_out.
+ * (Used for the decompressed data only.)
+ */
+
+/*
+ * Run a set of bytes through the crc shift register.  If s is a NULL
+ * pointer, then initialize the crc shift register contents instead.
+ * Return the current crc in either case.
+ *
+ * Input:
+ *     S       pointer to bytes to pump through.
+ *     N       number of bytes in S[].
+ */
+unsigned long
+updcrc(unsigned char *s, unsigned n)
+{
+       register unsigned long c;
+       /* crc is defined in inflate.c */
+
+       if (!s) {
+               c = 0xffffffffL;
+       } else {
+               c = crc;
+               while (n--) {
+                       c = crc_32_tab[((int)c ^ (*s++)) & 0xff] ^ (c >> 8);
+               }
+       }
+       crc = c;
+       return c ^ 0xffffffffUL;       /* (instead of ~c for 64-bit machines) */
+}
+
+
+/*
+ * Clear input and output buffers
+ */
+void
+clear_bufs(void)
+{
+       outcnt = 0;
+       inptr = 0;
+       chunk = 0;
+       cur_chunk = NULL;
+       file_offset = 0;
+}
+
+
+static INTN
+is_valid_header(Elf64_Ehdr *ehdr)
+{
+       UINT16 type, machine;
+
+       type    = ehdr->e_type;
+       machine = ehdr->e_machine;
+       
+       VERB_PRT(3, Print(L"class=%d type=%d data=%d machine=%d\n", 
+               ehdr->e_ident[EI_CLASS],
+               type,
+               ehdr->e_ident[EI_DATA],
+               machine));
+
+       return    ehdr->e_ident[EI_MAG0]  == 0x7f 
+              && ehdr->e_ident[EI_MAG1]  == 'E'
+              && ehdr->e_ident[EI_MAG2]  == 'L'
+              && ehdr->e_ident[EI_MAG3]  == 'F'
+              && ehdr->e_ident[EI_CLASS] == ELFCLASS64 
+              && type                    == ET_EXEC    /* must be executable */
+              && machine                 == EM_X86_64 ? 0 : -1;
+}
+
+/*
+ * will invalidate loadble segments which overlap with others
+ */ 
+void
+check_overlap(int i)
+{
+       int j;
+       unsigned long iend = chunks[i].addr + chunks[i].size;
+
+       for(j=0; j < nchunks; j++) {
+               if (j ==i) continue;
+               if (chunks[i].addr >= chunks[j].addr && iend < (chunks[j].addr + chunks[j].size)) {
+                       DBG_PRT((L"%s : segment %d fully included in segment %d\n", LD_NAME, i, j));
+                       CHUNK_INVALIDATE(i); /* nullyify segment */
+                       break;
+               }
+       }
+}
+
+void
+analyze_chunks(void)
+{
+       INTN i;
+
+       for (i=0; i < nchunks; i++) {
+               if (CHUNK_IS_VALID(i) && !CHUNK_IS_LOAD(i)) 
+                       check_overlap(i);
+       }
+}
+
+
+/*
+ * The decompression code calls this function after decompressing the
+ * first block of the object file.  The first block must contain all
+ * the relevant header information.
+ */
+int
+first_block (const char *buf, long blocksize)
+{
+       Elf64_Ehdr *elf;
+       Elf64_Phdr *phdrs;
+       UINTN total_size, pages;
+       UINTN low_addr, max_addr;
+       UINTN offs = 0;
+       UINT16 phnum;
+       UINTN paddr, memsz;
+       INTN i;
+
+       elf  = (Elf64_Ehdr *)buf;
+       
+       if (is_valid_header(elf) == -1) 
+               return -1;
+
+       offs  = elf->e_phoff;
+       phnum = elf->e_phnum;
+
+       VERB_PRT(3, { 
+               Print(L"Entry point 0x%lx\n", elf->e_entry);
+               Print(L"%d program headers\n", phnum);
+               Print(L"%d segment headers\n", elf->e_shnum);
+       });
+
+       if (offs + phnum * sizeof(*phdrs) > (unsigned) blocksize) {
+               ERR_PRT((L"%s : ELF program headers not in first block (%ld)\n", LD_NAME, offs));
+               return -1;
+       }
+
+       kernel_entry = (VOID *)(elf->e_entry & PADDR_MASK);
+
+       phdrs = (Elf64_Phdr *) (buf + offs);
+       low_addr = ~0;
+       max_addr = 0;
+
+       /*
+        * allocate chunk table
+        * Convention: a segment that does not need loading will
+        * have chunk[].addr = 0.
+        */
+       chunks = (void *)alloc(sizeof(struct segment)*phnum, 0);
+       if (chunks == NULL) {
+               ERR_PRT((L"%s : failed alloc chunks %r\n", LD_NAME));
+               return -1;
+       }
+       nchunks = phnum;
+       /*
+        * find lowest and higest virtual addresses
+        * don't assume FULLY sorted !
+        */
+       for (i = 0; i < phnum; ++i) {
+               /* 
+                * record chunk no matter what because no load may happen
+                * anywhere in archive, not just as the last segment
+                */
+               paddr = (phdrs[i].p_paddr & PADDR_MASK);
+               memsz = phdrs[i].p_memsz,
+
+               chunks[i].addr   = paddr;
+               chunks[i].offset = phdrs[i].p_offset;
+               chunks[i].size   = phdrs[i].p_filesz;
+               chunks[i].bss_sz = phdrs[i].p_memsz - phdrs[i].p_filesz;
+
+               CHUNK_VALIDATE(i);
+
+               if (phdrs[i].p_type != PT_LOAD) {
+                       CHUNK_NO_LOAD(i); /* mark no load chunk */
+                       DBG_PRT((L"%s : skipping segment %ld\n", LD_NAME, i));
+                       continue;
+               }
+
+               CHUNK_CAN_LOAD(i); /* mark no load chunk */
+
+               VERB_PRT(3, 
+               Print(L"\n%s : segment %ld vaddr [0x%lx-0x%lx] offset %ld filesz %ld "
+                       "memsz=%ld bss_sz=%ld\n",
+                       LD_NAME, 1+i, chunks[i].addr, chunks[i].addr+phdrs[i].p_filesz, 
+                       chunks[i].offset, chunks[i].size, memsz, chunks[i].bss_sz));
+               
+               if (paddr < low_addr) 
+                       low_addr = paddr;
+               if (paddr + memsz > max_addr) 
+                       max_addr = paddr + memsz;
+       }
+
+       if (low_addr & (EFI_PAGE_SIZE - 1)) {
+               ERR_PRT((L"%s : low_addr not page aligned 0x%lx\n", LD_NAME, low_addr));
+               goto error;
+       }
+       analyze_chunks();
+
+       DBG_PRT((L"%s : %d program headers entry=0x%lx\nlowest_addr=0x%lx highest_addr=0x%lx\n", 
+                       LD_NAME,
+                       phnum, kernel_entry, low_addr, max_addr));
+
+       total_size = (UINTN)max_addr - (UINTN)low_addr;
+       pages = EFI_SIZE_TO_PAGES(total_size);
+
+       /*
+        * Record end of kernel for initrd
+        */
+       kernel_base = (void *)low_addr;
+       kernel_end  = (void *)(low_addr + (pages << EFI_PAGE_SHIFT));
+
+       /* allocate memory for the kernel */
+       if (alloc_kmem((void *)low_addr, pages) == -1) {
+               ERR_PRT((L"%s : AllocatePages(%d, 0x%lx) for kernel failed\n", 
+                       LD_NAME, pages, low_addr));
+               ERR_PRT((L"%s : Could not load kernel at 0x%lx\n", LD_NAME, low_addr));
+               ERR_PRT((L"%s : Bailing\n", LD_NAME));
+               goto error;
+       }
+       return 0;
+error:
+       if (chunks) 
+               free(chunks);
+       return -1;
+}
+
+/*
+ * Determine which chunk in the Elf file will be coming out of the expand
+ * code next.
+ */
+static void
+nextchunk(void)
+{
+       int i;
+       segment_t *cp;
+
+       cp = NULL;
+       for(i=0; i < nchunks; i++) {
+
+               if (!CHUNK_IS_VALID(i) || !CHUNK_IS_LOAD(i)) continue;
+
+               if (file_offset > chunks[i].offset) continue;
+
+               if (cp == NULL || chunks[i].offset < cp->offset) cp = &chunks[i];
+       }
+       cur_chunk = cp;
+}
+
+
+/*
+ * Write the output window window[0..outcnt-1] holding uncompressed
+ * data and update crc.
+ */
+void
+flush_window(void)
+{
+       static const CHAR8 helicopter[4] = { '|' , '/' , '-' , '\\' };
+       static UINTN heli_count;
+       struct segment *cp;
+       char    *src, *dst;
+       long    cnt;
+
+       if (!outcnt) return;
+
+       DBG_PRT((L"%s : flush_window outnct=%d file_offset=%ld\n", LD_NAME, outcnt, file_offset));
+
+       Print(L"%c\b",helicopter[heli_count++%4]);
+
+       updcrc(window, outcnt);
+
+       /* first time, we extract the headers */
+       if (!bytes_out) {
+               if (first_block(window, outcnt) < 0) 
+                       error("invalid exec header"); 
+               nextchunk();
+       }
+
+       bytes_out += outcnt;
+       src = window;
+tail:
+       /* check if user wants to abort */
+       if (check_abort() == EFI_SUCCESS) goto load_abort;
+
+       cp = cur_chunk;
+       if (cp == NULL || file_offset + outcnt <= cp->offset) {
+               file_offset += outcnt;
+               return;
+       }
+
+       /* Does this window begin before the current chunk? */
+       if (file_offset < cp->offset) {
+               unsigned long skip = cp->offset - file_offset;
+
+               src         += skip;
+               file_offset += skip;
+               outcnt      -= skip;
+       }
+       dst = (char *)cp->addr + (file_offset - cp->offset);
+       cnt = cp->offset + cp->size - file_offset;
+       if (cnt > outcnt) 
+               cnt = outcnt;
+
+       Memcpy(dst, src, cnt);
+
+       file_offset += cnt;
+       outcnt      -= cnt;
+       src         += cnt;
+
+       /* See if we are at the end of this chunk */
+       if (file_offset == cp->offset + cp->size) {
+               if (cp->bss_sz) {
+                       dst = (char *)cp->addr + cp->size;
+                       Memset(dst, 0, cp->bss_sz);
+               }
+               nextchunk();
+               /* handle remaining bytes */
+               if (outcnt) 
+                       goto tail; 
+       }
+       return;
+load_abort:
+       free_kmem();
+       error_return = ELILO_LOAD_ABORTED;
+}
+
+static void
+error(char *x)
+{
+       ERR_PRT((L"%s : %a", LD_NAME, x));
+       /* will eventually exit with error from gunzip() */
+}
+
+INT32
+decompress_kernel(VOID)
+{
+       INT32 ret;
+
+       clear_bufs();
+       makecrc();
+       Print(L"Uncompressing Linux... ");
+       ret = gunzip();
+       if (ret == 0) 
+               Print(L"done\n");
+       return ret == 0 ? 0 : -1;
+}
+
+int
+gunzip_kernel(fops_fd_t fd, kdesc_t *kd)
+{
+       int ret = -1;
+
+       error_return = ELILO_LOAD_ERROR;
+       
+       window = (void *)alloc(WSIZE, 0);
+       if (window == NULL) {
+               ERR_PRT((L"%s : allocate output window failed\n", LD_NAME));
+               return -1;
+       }
+
+       inbuf = (void *)alloc(INBUFSIZE, 0);
+       if (inbuf == NULL) {
+               ERR_PRT((L"%s : allocate input window failedr\n", LD_NAME));
+               goto error;
+       }
+       input_fd   = fd;
+       insize     = 0;
+       bytes_out  = 0;
+
+       ret = decompress_kernel();
+error:
+       if (window) free(window);
+       if (inbuf) free(inbuf);
+
+       if (ret == 0) {
+               kd->kentry = kernel_entry;
+               kd->kend   = kernel_end;
+               kd->kstart = kernel_base;
+               error_return = ELILO_LOAD_SUCCESS;
+       }
+       return error_return;
+}
diff --git a/x86_64/gzip.h b/x86_64/gzip.h
new file mode 100644 (file)
index 0000000..cdf4614
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ *  Copyright (C) 2001-2002 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#ifndef __GZIP_H__
+#define __GZIP_H__
+
+
+int gzip_probe(unsigned char *, unsigned long);
+int gunzip_kernel(fops_fd_t, kdesc_t *);
+
+#define LD_NAME                L"gzip_x86_64"
+
+#endif /* __GZIP_H__ */
diff --git a/x86_64/gzip_loader.c b/x86_64/gzip_loader.c
new file mode 100644 (file)
index 0000000..5bf97c7
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ *  Copyright (C) 2001-2002 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#include <efi.h>
+#include <efilib.h>
+
+#include "elilo.h"
+#include "loader.h"
+#include "gzip.h"
+
+static INTN
+gzip_probe_format(CHAR16 *kname)
+{
+       UINT8 buf[4];
+       EFI_STATUS status;
+       INTN ret = -1;
+       UINTN size;
+       fops_fd_t fd;
+
+       status = fops_open(kname, &fd);
+       if (EFI_ERROR(status)) return -1;
+
+       size = sizeof(buf);
+       status = fops_read(fd, buf, &size);
+
+       if (EFI_ERROR(status) || size != sizeof(buf)) goto error;
+
+       ret = gzip_probe(buf, sizeof(buf));
+error:
+       fops_close(fd);
+       return ret;
+}
+
+
+static INTN
+gzip_load_kernel(CHAR16 *kname, kdesc_t *kd)
+{
+       EFI_STATUS status;
+       INT32 ret;
+       fops_fd_t fd;
+
+       status = fops_open(kname, &fd);
+       if (EFI_ERROR(status)) return ELILO_LOAD_ERROR;
+
+       ret = gunzip_kernel(fd, kd);
+       
+       fops_close(fd);
+
+       return ret; /* could be success, error, or abort */
+}
+
+loader_ops_t gzip_loader={
+       NULL,
+       LD_NAME,
+       gzip_probe_format,
+       gzip_load_kernel
+};
diff --git a/x86_64/inflate.c b/x86_64/inflate.c
new file mode 100644 (file)
index 0000000..5532250
--- /dev/null
@@ -0,0 +1,1205 @@
+#define DEBG(x)
+#define DEBG1(x)
+/* inflate.c -- Not copyrighted 1992 by Mark Adler
+   version c10p1, 10 January 1993 */
+
+/* 
+ * Adapted for booting Linux by Hannu Savolainen 1993
+ * based on gzip-1.0.3 
+ *
+ * Nicolas Pitre <nico@cam.org>, 1999/04/14 :
+ *   Little mods for all variable to reside either into rodata or bss segments
+ *   by marking constant variables with 'const' and initializing all the others
+ *   at run-time only.  This allows for the kernel uncompressor to run
+ *   directly from Flash or ROM memory on embeded systems.
+ */
+
+/*
+   Inflate deflated (PKZIP's method 8 compressed) data.  The compression
+   method searches for as much of the current string of bytes (up to a
+   length of 258) in the previous 32 K bytes.  If it doesn't find any
+   matches (of at least length 3), it codes the next byte.  Otherwise, it
+   codes the length of the matched string and its distance backwards from
+   the current position.  There is a single Huffman code that codes both
+   single bytes (called "literals") and match lengths.  A second Huffman
+   code codes the distance information, which follows a length code.  Each
+   length or distance code actually represents a base value and a number
+   of "extra" (sometimes zero) bits to get to add to the base value.  At
+   the end of each deflated block is a special end-of-block (EOB) literal/
+   length code.  The decoding process is basically: get a literal/length
+   code; if EOB then done; if a literal, emit the decoded byte; if a
+   length then get the distance and emit the referred-to bytes from the
+   sliding window of previously emitted data.
+
+   There are (currently) three kinds of inflate blocks: stored, fixed, and
+   dynamic.  The compressor deals with some chunk of data at a time, and
+   decides which method to use on a chunk-by-chunk basis.  A chunk might
+   typically be 32 K or 64 K.  If the chunk is incompressible, then the
+   "stored" method is used.  In this case, the bytes are simply stored as
+   is, eight bits per byte, with none of the above coding.  The bytes are
+   preceded by a count, since there is no longer an EOB code.
+
+   If the data is compressible, then either the fixed or dynamic methods
+   are used.  In the dynamic method, the compressed data is preceded by
+   an encoding of the literal/length and distance Huffman codes that are
+   to be used to decode this block.  The representation is itself Huffman
+   coded, and so is preceded by a description of that code.  These code
+   descriptions take up a little space, and so for small blocks, there is
+   a predefined set of codes, called the fixed codes.  The fixed method is
+   used if the block codes up smaller that way (usually for quite small
+   chunks), otherwise the dynamic method is used.  In the latter case, the
+   codes are customized to the probabilities in the current block, and so
+   can code it much better than the pre-determined fixed codes.
+   The Huffman codes themselves are decoded using a multi-level table
+   lookup, in order to maximize the speed of decoding plus the speed of
+   building the decoding tables.  See the comments below that precede the
+   lbits and dbits tuning parameters.
+ */
+
+
+/*
+   Notes beyond the 1.93a appnote.txt:
+
+   1. Distance pointers never point before the beginning of the output
+      stream.
+   2. Distance pointers can point back across blocks, up to 32k away.
+   3. There is an implied maximum of 7 bits for the bit length table and
+      15 bits for the actual data.
+   4. If only one code exists, then it is encoded using one bit.  (Zero
+      would be more efficient, but perhaps a little confusing.)  If two
+      codes exist, they are coded using one bit each (0 and 1).
+   5. There is no way of sending zero distance codes--a dummy must be
+      sent if there are none.  (History: a pre 2.0 version of PKZIP would
+      store blocks with no distance codes, but this was discovered to be
+      too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
+      zero distance codes, which is sent as one code of zero bits in
+      length.
+   6. There are up to 286 literal/length codes.  Code 256 represents the
+      end-of-block.  Note however that the static length tree defines
+      288 codes just to fill out the Huffman codes.  Codes 286 and 287
+      cannot be used though, since there is no length base or extra bits
+      defined for them.  Similarly, there are up to 30 distance codes.
+      However, static trees define 32 codes (all 5 bits) to fill out the
+      Huffman codes, but the last two had better not show up in the data.
+   7. Unzip can check dynamic Huffman blocks for complete code sets.
+      The exception is that a single code would not be complete (see #4).
+   8. The five bits following the block type is really the number of
+      literal codes sent minus 257.
+   9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+      (1+6+6).  Therefore, to output three times the length, you output
+      three codes (1+1+1), whereas to output four times the same length,
+      you only need two codes (1+3).  Hmm.
+  10. In the tree reconstruction algorithm, Code = Code + Increment
+      only if BitLength(i) is not zero.  (Pretty obvious.)
+  11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
+  12. Note: length code 284 can represent 227-258, but length code 285
+      really is 258.  The last length deserves its own, short code
+      since it gets used a lot in very redundant files.  The length
+      258 is special since 258 - 3 (the min match length) is 255.
+  13. The literal/length and distance code bit lengths are read as a
+      single stream of lengths.  It is possible (and advantageous) for
+      a repeat code (16, 17, or 18) to go across the boundary between
+      the two sets of lengths.
+ */
+
+#ifdef RCSID
+static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
+#endif
+
+#ifndef FUNC_STATIC
+
+#if defined(STDC_HEADERS) || defined(HAVE_STDLIB_H)
+#  include <sys/types.h>
+#  include <stdlib.h>
+#endif
+
+#include "gzip.h"
+#define FUNC_STATIC
+#endif /* !FUNC_STATIC */
+       
+#define slide window
+
+/* Huffman code lookup table entry--this entry is four bytes for machines
+   that have 16-bit pointers (e.g. PC's in the small or medium model).
+   Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
+   means that v is a literal, 16 < e < 32 means that v is a pointer to
+   the next table, which codes e - 16 bits, and lastly e == 99 indicates
+   an unused code.  If a code with e == 99 is looked up, this implies an
+   error in the data. */
+struct huft {
+  uch e;                /* number of extra bits or operation */
+  uch b;                /* number of bits in this code or subcode */
+  union {
+    ush n;              /* literal, length base, or distance base */
+    struct huft *t;     /* pointer to next level of table */
+  } v;
+};
+
+
+/* Function prototypes */
+FUNC_STATIC int huft_build OF((unsigned *, unsigned, unsigned, 
+               const ush *, const ush *, struct huft **, int *));
+FUNC_STATIC int huft_free OF((struct huft *));
+FUNC_STATIC int inflate_codes OF((struct huft *, struct huft *, int, int));
+FUNC_STATIC int inflate_stored OF((void));
+FUNC_STATIC int inflate_fixed OF((void));
+FUNC_STATIC int inflate_dynamic OF((void));
+FUNC_STATIC int inflate_block OF((int *));
+FUNC_STATIC int inflate OF((void));
+
+
+/* The inflate algorithm uses a sliding 32 K byte window on the uncompressed
+   stream to find repeated byte strings.  This is implemented here as a
+   circular buffer.  The index is updated simply by incrementing and then
+   ANDing with 0x7fff (32K-1). */
+/* It is left to other modules to supply the 32 K area.  It is assumed
+   to be usable as if it were declared "uch slide[32768];" or as just
+   "uch *slide;" and then malloc'ed in the latter case.  The definition
+   must be in unzip.h, included above. */
+/* unsigned wp;             current position in slide */
+#define wp outcnt
+#define flush_output(w) (wp=(w),flush_window())
+
+/* Tables for deflate from PKZIP's appnote.txt. */
+static const unsigned border[] = {    /* Order of the bit length code lengths */
+        16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
+static const ush cplens[] = {         /* Copy lengths for literal codes 257..285 */
+        3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+        35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
+        /* note: see note #13 above about the 258 in this list. */
+static const ush cplext[] = {         /* Extra bits for literal codes 257..285 */
+        0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
+        3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 99, 99}; /* 99==invalid */
+static const ush cpdist[] = {         /* Copy offsets for distance codes 0..29 */
+        1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+        257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+        8193, 12289, 16385, 24577};
+static const ush cpdext[] = {         /* Extra bits for distance codes */
+        0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
+        7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
+        12, 12, 13, 13};
+
+
+
+/* Macros for inflate() bit peeking and grabbing.
+   The usage is:
+   
+        NEEDBITS(j)
+        x = b & mask_bits[j];
+        DUMPBITS(j)
+
+   where NEEDBITS makes sure that b has at least j bits in it, and
+   DUMPBITS removes the bits from b.  The macros use the variable k
+   for the number of bits in b.  Normally, b and k are register
+   variables for speed, and are initialized at the beginning of a
+   routine that uses these macros from a global bit buffer and count.
+
+   If we assume that EOB will be the longest code, then we will never
+   ask for bits with NEEDBITS that are beyond the end of the stream.
+   So, NEEDBITS should not read any more bytes than are needed to
+   meet the request.  Then no bytes need to be "returned" to the buffer
+   at the end of the last block.
+
+   However, this assumption is not true for fixed blocks--the EOB code
+   is 7 bits, but the other literal/length codes can be 8 or 9 bits.
+   (The EOB code is shorter than other codes because fixed blocks are
+   generally short.  So, while a block always has an EOB, many other
+   literal/length codes have a significantly lower probability of
+   showing up at all.)  However, by making the first table have a
+   lookup of seven bits, the EOB code will be found in that first
+   lookup, and so will not require that too many bits be pulled from
+   the stream.
+ */
+
+FUNC_STATIC ulg bb;                         /* bit buffer */
+FUNC_STATIC unsigned bk;                    /* bits in bit buffer */
+
+FUNC_STATIC const ush mask_bits[] = {
+    0x0000,
+    0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
+    0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
+};
+
+#define NEXTBYTE()  (uch)get_byte()
+#define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
+#define DUMPBITS(n) {b>>=(n);k-=(n);}
+
+
+/*
+   Huffman code decoding is performed using a multi-level table lookup.
+   The fastest way to decode is to simply build a lookup table whose
+   size is determined by the longest code.  However, the time it takes
+   to build this table can also be a factor if the data being decoded
+   is not very long.  The most common codes are necessarily the
+   shortest codes, so those codes dominate the decoding time, and hence
+   the speed.  The idea is you can have a shorter table that decodes the
+   shorter, more probable codes, and then point to subsidiary tables for
+   the longer codes.  The time it costs to decode the longer codes is
+   then traded against the time it takes to make longer tables.
+
+   This results of this trade are in the variables lbits and dbits
+   below.  lbits is the number of bits the first level table for literal/
+   length codes can decode in one step, and dbits is the same thing for
+   the distance codes.  Subsequent tables are also less than or equal to
+   those sizes.  These values may be adjusted either when all of the
+   codes are shorter than that, in which case the longest code length in
+   bits is used, or when the shortest code is *longer* than the requested
+   table size, in which case the length of the shortest code in bits is
+   used.
+
+   There are two different values for the two tables, since they code a
+   different number of possibilities each.  The literal/length table
+   codes 286 possible values, or in a flat code, a little over eight
+   bits.  The distance table codes 30 possible values, or a little less
+   than five bits, flat.  The optimum values for speed end up being
+   about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+   The optimum values may differ though from machine to machine, and
+   possibly even between compilers.  Your mileage may vary.
+ */
+
+
+FUNC_STATIC const int lbits = 9;          /* bits in base literal/length lookup table */
+FUNC_STATIC const int dbits = 6;          /* bits in base distance lookup table */
+
+
+/* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
+#define BMAX 16         /* maximum bit length of any code (16 for explode) */
+#define N_MAX 288       /* maximum number of codes in any set */
+
+
+FUNC_STATIC unsigned hufts;         /* track memory usage */
+
+
+FUNC_STATIC int huft_build(b, n, s, d, e, t, m)
+unsigned *b;            /* code lengths in bits (all assumed <= BMAX) */
+unsigned n;             /* number of codes (assumed <= N_MAX) */
+unsigned s;             /* number of simple-valued codes (0..s-1) */
+const ush *d;                 /* list of base values for non-simple codes */
+const ush *e;                 /* list of extra bits for non-simple codes */
+struct huft **t;        /* result: starting table */
+int *m;                 /* maximum lookup bits, returns actual */
+/* Given a list of code lengths and a maximum table size, make a set of
+   tables to decode that set of codes.  Return zero on success, one if
+   the given code set is incomplete (the tables are still built in this
+   case), two if the input is invalid (all zero length codes or an
+   oversubscribed set of lengths), and three if not enough memory. */
+{
+  unsigned a;                   /* counter for codes of length k */
+  unsigned c[BMAX+1];           /* bit length count table */
+  unsigned f;                   /* i repeats in table every f entries */
+  int g;                        /* maximum code length */
+  int h;                        /* table level */
+  register unsigned i;          /* counter, current code */
+  register unsigned j;          /* counter */
+  register int k;               /* number of bits in current code */
+  int l;                        /* bits per table (returned in m) */
+  register unsigned *p;         /* pointer into c[], b[], or v[] */
+  register struct huft *q;      /* points to current table */
+  struct huft r;                /* table entry for structure assignment */
+  struct huft *u[BMAX];         /* table stack */
+  unsigned v[N_MAX];            /* values in order of bit length */
+  register int w;               /* bits before this table == (l * h) */
+  unsigned x[BMAX+1];           /* bit offsets, then code stack */
+  unsigned *xp;                 /* pointer into x */
+  int y;                        /* number of dummy codes added */
+  unsigned z;                   /* number of entries in current table */
+
+DEBG("huft1 ");
+
+  /* Generate counts for each bit length */
+  memzero(c, sizeof(c));
+
+  p = b;  i = n;
+  do {
+    Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"), 
+           n-i, *p));
+    c[*p]++;                    /* assume all entries <= BMAX */
+    p++;                      /* Can't combine with above line (Solaris bug) */
+  } while (--i);
+  if (c[0] == n)                /* null input--all zero length codes */
+  {
+    *t = (struct huft *)NULL;
+    *m = 0;
+    return 0;
+  }
+
+DEBG("huft2 ");
+
+  /* Find minimum and maximum length, bound *m by those */
+  l = *m;
+  for (j = 1; j <= BMAX; j++)
+    if (c[j])
+      break;
+  k = j;                        /* minimum code length */
+  if ((unsigned)l < j)
+    l = j;
+  for (i = BMAX; i; i--)
+    if (c[i])
+      break;
+  g = i;                        /* maximum code length */
+  if ((unsigned)l > i)
+    l = i;
+  *m = l;
+
+DEBG("huft3 ");
+
+  /* Adjust last length count to fill out codes, if needed */
+  for (y = 1 << j; j < i; j++, y <<= 1)
+    if ((y -= c[j]) < 0)
+      return 2;                 /* bad input: more codes than bits */
+  if ((y -= c[i]) < 0)
+    return 2;
+  c[i] += y;
+
+DEBG("huft4 ");
+
+  /* Generate starting offsets into the value table for each length */
+  x[1] = j = 0;
+  p = c + 1;  xp = x + 2;
+  while (--i) {                 /* note that i == g from above */
+    *xp++ = (j += *p++);
+  }
+
+DEBG("huft5 ");
+
+  /* Make a table of values in order of bit lengths */
+  p = b;  i = 0;
+  do {
+    if ((j = *p++) != 0)
+      v[x[j]++] = i;
+  } while (++i < n);
+
+DEBG("h6 ");
+
+  /* Generate the Huffman codes and for each, make the table entries */
+  x[0] = i = 0;                 /* first Huffman code is zero */
+  p = v;                        /* grab values in bit order */
+  h = -1;                       /* no tables yet--level -1 */
+  w = -l;                       /* bits decoded == (l * h) */
+  u[0] = (struct huft *)NULL;   /* just to keep compilers happy */
+  q = (struct huft *)NULL;      /* ditto */
+  z = 0;                        /* ditto */
+DEBG("h6a ");
+
+  /* go through the bit lengths (k already is bits in shortest code) */
+  for (; k <= g; k++)
+  {
+DEBG("h6b ");
+    a = c[k];
+    while (a--)
+    {
+DEBG("h6b1 ");
+      /* here i is the Huffman code of length k bits for value *p */
+      /* make tables up to required level */
+      while (k > w + l)
+      {
+DEBG1("1 ");
+        h++;
+        w += l;                 /* previous table always l bits */
+
+        /* compute minimum size table less than or equal to l bits */
+        z = (z = g - w) > (unsigned)l ? l : z;  /* upper limit on table size */
+        if ((f = 1 << (j = k - w)) > a + 1)     /* try a k-w bit table */
+        {                       /* too few codes for k-w bit table */
+DEBG1("2 ");
+          f -= a + 1;           /* deduct codes from patterns left */
+          xp = c + k;
+          while (++j < z)       /* try smaller tables up to z bits */
+          {
+            if ((f <<= 1) <= *++xp)
+              break;            /* enough codes to use up j bits */
+            f -= *xp;           /* else deduct codes from patterns */
+          }
+        }
+DEBG1("3 ");
+        z = 1 << j;             /* table entries for j-bit table */
+
+        /* allocate and link in new table */
+        if ((q = (struct huft *)gzip_malloc((z + 1)*sizeof(struct huft))) ==
+            (struct huft *)NULL)
+        {
+          if (h)
+            huft_free(u[0]);
+          return 3;             /* not enough memory */
+        }
+DEBG1("4 ");
+        hufts += z + 1;         /* track memory usage */
+        *t = q + 1;             /* link to list for huft_free() */
+        *(t = &(q->v.t)) = (struct huft *)NULL;
+        u[h] = ++q;             /* table starts after link */
+
+DEBG1("5 ");
+        /* connect to last table, if there is one */
+        if (h)
+        {
+          x[h] = i;             /* save pattern for backing up */
+          r.b = (uch)l;         /* bits to dump before this table */
+          r.e = (uch)(16 + j);  /* bits in this table */
+          r.v.t = q;            /* pointer to this table */
+          j = i >> (w - l);     /* (get around Turbo C bug) */
+          u[h-1][j] = r;        /* connect to last table */
+        }
+DEBG1("6 ");
+      }
+DEBG("h6c ");
+
+      /* set up table entry in r */
+      r.b = (uch)(k - w);
+      if (p >= v + n)
+        r.e = 99;               /* out of values--invalid code */
+      else if (*p < s)
+      {
+        r.e = (uch)(*p < 256 ? 16 : 15);    /* 256 is end-of-block code */
+        r.v.n = (ush)(*p);             /* simple code is just the value */
+       p++;                           /* one compiler does not like *p++ */
+      }
+      else
+      {
+        r.e = (uch)e[*p - s];   /* non-simple--look up in lists */
+        r.v.n = d[*p++ - s];
+      }
+DEBG("h6d ");
+
+      /* fill code-like entries with r */
+      f = 1 << (k - w);
+      for (j = i >> w; j < z; j += f)
+        q[j] = r;
+
+      /* backwards increment the k-bit code i */
+      for (j = 1 << (k - 1); i & j; j >>= 1)
+        i ^= j;
+      i ^= j;
+
+      /* backup over finished tables */
+      while ((i & ((1 << w) - 1)) != x[h])
+      {
+        h--;                    /* don't need to update q */
+        w -= l;
+      }
+DEBG("h6e ");
+    }
+DEBG("h6f ");
+  }
+
+DEBG("huft7 ");
+
+  /* Return true (1) if we were given an incomplete table */
+  return y != 0 && g != 1;
+}
+
+
+
+FUNC_STATIC int huft_free(t)
+struct huft *t;         /* table to free */
+/* Free the malloc'ed tables built by huft_build(), which makes a linked
+   list of the tables it made, with the links in a dummy first entry of
+   each table. */
+{
+  register struct huft *p, *q;
+
+
+  /* Go through linked list, freeing from the malloced (t[-1]) address. */
+  p = t;
+  while (p != (struct huft *)NULL)
+  {
+    q = (--p)->v.t;
+    gzip_free((char*)p);
+    p = q;
+  } 
+  return 0;
+}
+
+
+FUNC_STATIC int inflate_codes(tl, td, bl, bd)
+struct huft *tl, *td;   /* literal/length and distance decoder tables */
+int bl, bd;             /* number of bits decoded by tl[] and td[] */
+/* inflate (decompress) the codes in a deflated (compressed) block.
+   Return an error code or zero if it all goes ok. */
+{
+  register unsigned e;  /* table entry flag/number of extra bits */
+  unsigned n, d;        /* length and index for copy */
+  unsigned w;           /* current window position */
+  struct huft *t;       /* pointer to table entry */
+  unsigned ml, md;      /* masks for bl and bd bits */
+  register ulg b;       /* bit buffer */
+  register unsigned k;  /* number of bits in bit buffer */
+
+
+  /* make local copies of globals */
+  b = bb;                       /* initialize bit buffer */
+  k = bk;
+  w = wp;                       /* initialize window position */
+
+  /* inflate the coded data */
+  ml = mask_bits[bl];           /* precompute masks for speed */
+  md = mask_bits[bd];
+  for (;;)                      /* do until end of block */
+  {
+    NEEDBITS((unsigned)bl)
+    if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+      do {
+        if (e == 99)
+          return 1;
+        DUMPBITS(t->b)
+        e -= 16;
+        NEEDBITS(e)
+      } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+    DUMPBITS(t->b)
+    if (e == 16)                /* then it's a literal */
+    {
+      slide[w++] = (uch)t->v.n;
+      Tracevv((stderr, "%c", slide[w-1]));
+      if (w == WSIZE)
+      {
+        flush_output(w);
+        w = 0;
+      }
+    }
+    else                        /* it's an EOB or a length */
+    {
+      /* exit if end of block */
+      if (e == 15)
+        break;
+
+      /* get length of block to copy */
+      NEEDBITS(e)
+      n = t->v.n + ((unsigned)b & mask_bits[e]);
+      DUMPBITS(e);
+
+      /* decode distance of block to copy */
+      NEEDBITS((unsigned)bd)
+      if ((e = (t = td + ((unsigned)b & md))->e) > 16)
+        do {
+          if (e == 99)
+            return 1;
+          DUMPBITS(t->b)
+          e -= 16;
+          NEEDBITS(e)
+        } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+      DUMPBITS(t->b)
+      NEEDBITS(e)
+      d = w - t->v.n - ((unsigned)b & mask_bits[e]);
+      DUMPBITS(e)
+      Tracevv((stderr,"\\[%d,%d]", w-d, n));
+
+      /* do the copy */
+      do {
+        n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
+#if !defined(NOMEMCPY) && !defined(INFLATE_DEBUG)
+        if (w - d >= e)         /* (this test assumes unsigned comparison) */
+        {
+          memcpy(slide + w, slide + d, e);
+          w += e;
+          d += e;
+        }
+        else                      /* do it slow to avoid memcpy() overlap */
+#endif /* !NOMEMCPY */
+          do {
+            slide[w++] = slide[d++];
+           Tracevv((stderr, "%c", slide[w-1]));
+          } while (--e);
+        if (w == WSIZE)
+        {
+          flush_output(w);
+          w = 0;
+        }
+      } while (n);
+    }
+  }
+
+
+  /* restore the globals from the locals */
+  wp = w;                       /* restore global window pointer */
+  bb = b;                       /* restore global bit buffer */
+  bk = k;
+
+  /* done */
+  return 0;
+}
+
+
+
+FUNC_STATIC int inflate_stored()
+/* "decompress" an inflated type 0 (stored) block. */
+{
+  unsigned n;           /* number of bytes in block */
+  unsigned w;           /* current window position */
+  register ulg b;       /* bit buffer */
+  register unsigned k;  /* number of bits in bit buffer */
+
+DEBG("<stor");
+
+  /* make local copies of globals */
+  b = bb;                       /* initialize bit buffer */
+  k = bk;
+  w = wp;                       /* initialize window position */
+
+
+  /* go to byte boundary */
+  n = k & 7;
+  DUMPBITS(n);
+
+
+  /* get the length and its complement */
+  NEEDBITS(16)
+  n = ((unsigned)b & 0xffff);
+  DUMPBITS(16)
+  NEEDBITS(16)
+  if (n != (unsigned)((~b) & 0xffff))
+    return 1;                   /* error in compressed data */
+  DUMPBITS(16)
+
+
+  /* read and output the compressed data */
+  while (n--)
+  {
+    NEEDBITS(8)
+    slide[w++] = (uch)b;
+    if (w == WSIZE)
+    {
+      flush_output(w);
+      w = 0;
+    }
+    DUMPBITS(8)
+  }
+
+
+  /* restore the globals from the locals */
+  wp = w;                       /* restore global window pointer */
+  bb = b;                       /* restore global bit buffer */
+  bk = k;
+
+  DEBG(">");
+  return 0;
+}
+
+
+
+FUNC_STATIC int inflate_fixed()
+/* decompress an inflated type 1 (fixed Huffman codes) block.  We should
+   either replace this with a custom decoder, or at least precompute the
+   Huffman tables. */
+{
+  int i;                /* temporary variable */
+  struct huft *tl;      /* literal/length code table */
+  struct huft *td;      /* distance code table */
+  int bl;               /* lookup bits for tl */
+  int bd;               /* lookup bits for td */
+  unsigned l[288];      /* length list for huft_build */
+
+DEBG("<fix");
+
+  /* set up literal table */
+  for (i = 0; i < 144; i++)
+    l[i] = 8;
+  for (; i < 256; i++)
+    l[i] = 9;
+  for (; i < 280; i++)
+    l[i] = 7;
+  for (; i < 288; i++)          /* make a complete, but wrong code set */
+    l[i] = 8;
+  bl = 7;
+  if ((i = huft_build(l, 288, 257, cplens, cplext, &tl, &bl)) != 0)
+    return i;
+
+
+  /* set up distance table */
+  for (i = 0; i < 30; i++)      /* make an incomplete code set */
+    l[i] = 5;
+  bd = 5;
+  if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
+  {
+    huft_free(tl);
+
+    DEBG(">");
+    return i;
+  }
+
+
+  /* decompress until an end-of-block code */
+  if (inflate_codes(tl, td, bl, bd))
+    return 1;
+
+
+  /* free the decoding tables, return */
+  huft_free(tl);
+  huft_free(td);
+  return 0;
+}
+
+
+
+FUNC_STATIC int inflate_dynamic()
+/* decompress an inflated type 2 (dynamic Huffman codes) block. */
+{
+  int i;                /* temporary variables */
+  unsigned j;
+  unsigned l;           /* last length */
+  unsigned m;           /* mask for bit lengths table */
+  unsigned n;           /* number of lengths to get */
+  struct huft *tl;      /* literal/length code table */
+  struct huft *td;      /* distance code table */
+  int bl;               /* lookup bits for tl */
+  int bd;               /* lookup bits for td */
+  unsigned nb;          /* number of bit length codes */
+  unsigned nl;          /* number of literal/length codes */
+  unsigned nd;          /* number of distance codes */
+#ifdef PKZIP_BUG_WORKAROUND
+  unsigned ll[288+32];  /* literal/length and distance code lengths */
+#else
+  unsigned ll[286+30];  /* literal/length and distance code lengths */
+#endif
+  register ulg b;       /* bit buffer */
+  register unsigned k;  /* number of bits in bit buffer */
+
+DEBG("<dyn");
+
+  /* make local bit buffer */
+  b = bb;
+  k = bk;
+
+
+  /* read in table lengths */
+  NEEDBITS(5)
+  nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
+  DUMPBITS(5)
+  NEEDBITS(5)
+  nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
+  DUMPBITS(5)
+  NEEDBITS(4)
+  nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
+  DUMPBITS(4)
+#ifdef PKZIP_BUG_WORKAROUND
+  if (nl > 288 || nd > 32)
+#else
+  if (nl > 286 || nd > 30)
+#endif
+    return 1;                   /* bad lengths */
+
+DEBG("dyn1 ");
+
+  /* read in bit-length-code lengths */
+  for (j = 0; j < nb; j++)
+  {
+    NEEDBITS(3)
+    ll[border[j]] = (unsigned)b & 7;
+    DUMPBITS(3)
+  }
+  for (; j < 19; j++)
+    ll[border[j]] = 0;
+
+DEBG("dyn2 ");
+
+  /* build decoding table for trees--single level, 7 bit lookup */
+  bl = 7;
+  if ((i = huft_build(ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
+  {
+    if (i == 1)
+      huft_free(tl);
+    return i;                   /* incomplete code set */
+  }
+
+DEBG("dyn3 ");
+
+  /* read in literal and distance code lengths */
+  n = nl + nd;
+  m = mask_bits[bl];
+  i = l = 0;
+  while ((unsigned)i < n)
+  {
+    NEEDBITS((unsigned)bl)
+    j = (td = tl + ((unsigned)b & m))->b;
+    DUMPBITS(j)
+    j = td->v.n;
+    if (j < 16)                 /* length of code in bits (0..15) */
+      ll[i++] = l = j;          /* save last length in l */
+    else if (j == 16)           /* repeat last length 3 to 6 times */
+    {
+      NEEDBITS(2)
+      j = 3 + ((unsigned)b & 3);
+      DUMPBITS(2)
+      if ((unsigned)i + j > n)
+        return 1;
+      while (j--)
+        ll[i++] = l;
+    }
+    else if (j == 17)           /* 3 to 10 zero length codes */
+    {
+      NEEDBITS(3)
+      j = 3 + ((unsigned)b & 7);
+      DUMPBITS(3)
+      if ((unsigned)i + j > n)
+        return 1;
+      while (j--)
+        ll[i++] = 0;
+      l = 0;
+    }
+    else                        /* j == 18: 11 to 138 zero length codes */
+    {
+      NEEDBITS(7)
+      j = 11 + ((unsigned)b & 0x7f);
+      DUMPBITS(7)
+      if ((unsigned)i + j > n)
+        return 1;
+      while (j--)
+        ll[i++] = 0;
+      l = 0;
+    }
+  }
+
+DEBG("dyn4 ");
+
+  /* free decoding table for trees */
+  huft_free(tl);
+
+DEBG("dyn5 ");
+
+  /* restore the global bit buffer */
+  bb = b;
+  bk = k;
+
+DEBG("dyn5a ");
+
+  /* build the decoding tables for literal/length and distance codes */
+  bl = lbits;
+  if ((i = huft_build(ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
+  {
+DEBG("dyn5b ");
+    if (i == 1) {
+      error(" incomplete literal tree\n");
+      huft_free(tl);
+    }
+    return i;                   /* incomplete code set */
+  }
+DEBG("dyn5c ");
+  bd = dbits;
+  if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
+  {
+DEBG("dyn5d ");
+    if (i == 1) {
+      error(" incomplete distance tree\n");
+#ifdef PKZIP_BUG_WORKAROUND
+      i = 0;
+    }
+#else
+      huft_free(td);
+    }
+    huft_free(tl);
+    return i;                   /* incomplete code set */
+#endif
+  }
+
+DEBG("dyn6 ");
+
+  /* decompress until an end-of-block code */
+  if (inflate_codes(tl, td, bl, bd))
+    return 1;
+
+DEBG("dyn7 ");
+
+  /* free the decoding tables, return */
+  huft_free(tl);
+  huft_free(td);
+
+  DEBG(">");
+  return 0;
+}
+
+
+
+FUNC_STATIC int inflate_block(e)
+int *e;                 /* last block flag */
+/* decompress an inflated block */
+{
+  unsigned t;           /* block type */
+  register ulg b;       /* bit buffer */
+  register unsigned k;  /* number of bits in bit buffer */
+
+  DEBG("<blk");
+
+  /* make local bit buffer */
+  b = bb;
+  k = bk;
+
+
+  /* read in last block bit */
+  NEEDBITS(1)
+  *e = (int)b & 1;
+  DUMPBITS(1)
+
+
+  /* read in block type */
+  NEEDBITS(2)
+  t = (unsigned)b & 3;
+  DUMPBITS(2)
+
+
+  /* restore the global bit buffer */
+  bb = b;
+  bk = k;
+
+  /* inflate that block type */
+  if (t == 2)
+    return inflate_dynamic();
+  if (t == 0)
+    return inflate_stored();
+  if (t == 1)
+    return inflate_fixed();
+
+  DEBG(">");
+
+  /* bad block type */
+  return 2;
+}
+
+
+
+FUNC_STATIC int inflate()
+/* decompress an inflated entry */
+{
+  int e;                /* last block flag */
+  int r;                /* result code */
+  unsigned h;           /* maximum struct huft's malloc'ed */
+
+  /* initialize window, bit buffer */
+  wp = 0;
+  bk = 0;
+  bb = 0;
+
+
+  /* decompress until the last block */
+  h = 0;
+  do {
+    hufts = 0;
+    if ((r = inflate_block(&e)) != 0) {
+      return r;
+    }
+    if (hufts > h)
+      h = hufts;
+  } while (!e);
+
+  /* Undo too much lookahead. The next read will be byte aligned so we
+   * can discard unused bits in the last meaningful byte.
+   */
+  while (bk >= 8) {
+    bk -= 8;
+    inptr--;
+  }
+
+  /* flush out slide */
+  flush_output(wp);
+
+
+  /* return success */
+#ifdef INFLATE_DEBUG
+#ifdef EFI_COMPILE
+  Print(L"<%d> ", h);
+#else
+  printf("<%d> ", h);
+#endif
+#endif /* INFLATE_DEBUG */
+  return 0;
+}
+
+/**********************************************************************
+ *
+ * The following are support routines for inflate.c
+ *
+ **********************************************************************/
+
+static ulg crc_32_tab[256];
+static ulg crc;                /* initialized in makecrc() so it'll reside in bss */
+#define CRC_VALUE (crc ^ 0xffffffffUL)
+
+/*
+ * Code to compute the CRC-32 table. Borrowed from 
+ * gzip-1.0.3/makecrc.c.
+ */
+
+static void
+makecrc(void)
+{
+/* Not copyrighted 1990 Mark Adler     */
+
+  unsigned long c;      /* crc shift register */
+  unsigned long e;      /* polynomial exclusive-or pattern */
+  int i;                /* counter for all possible eight bit values */
+  int k;                /* byte being shifted into crc apparatus */
+
+  /* terms of polynomial defining this crc (except x^32): */
+  static const int p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
+
+  /* Make exclusive-or pattern from polynomial */
+  e = 0;
+  for (i = 0; i < sizeof(p)/sizeof(int); i++)
+    e |= 1L << (31 - p[i]);
+
+  crc_32_tab[0] = 0;
+
+  for (i = 1; i < 256; i++)
+  {
+    c = 0;
+    for (k = i | 256; k != 1; k >>= 1)
+    {
+      c = c & 1 ? (c >> 1) ^ e : c >> 1;
+      if (k & 1)
+        c ^= e;
+    }
+    crc_32_tab[i] = c;
+  }
+
+  /* this is initialized here so this code could reside in ROM */
+  crc = (ulg)0xffffffffUL; /* shift register contents */
+}
+
+/* gzip flag byte */
+#define ASCII_FLAG   0x01 /* bit 0 set: file probably ASCII text */
+#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
+#define EXTRA_FIELD  0x04 /* bit 2 set: extra field present */
+#define ORIG_NAME    0x08 /* bit 3 set: original file name present */
+#define COMMENT      0x10 /* bit 4 set: file comment present */
+#define ENCRYPTED    0x20 /* bit 5 set: file is encrypted */
+#define RESERVED     0xC0 /* bit 6,7:   reserved */
+
+/*
+ * check for valid gzip signature
+ * return:
+ *     0 : valid gzip archive
+ *     -1: invalid gzip archive
+ */
+int
+gzip_probe(uch *buf, unsigned long size)
+{
+       /* FIXME this is wrong here!  FIXME!!!!*/ 
+    if (size < 4) return -1;
+
+    if (buf[0] != 037 ||
+       ((buf[1] != 0213) && (buf[1] != 0236))) return -1;
+
+    /* We only support method #8, DEFLATED */
+    if (buf[2] != 8) return -1;
+    
+    if ((buf[3] & ENCRYPTED) != 0) return -1;
+
+    if ((buf[3] & CONTINUATION) != 0) return -1;
+
+    if ((buf[3] & RESERVED) != 0) return -1;
+
+    return 0;
+}
+
+
+/*
+ * Do the uncompression!
+ */
+static int gunzip(void)
+{
+    uch flags;
+    unsigned char magic[2]; /* magic header */
+    char method;
+    ulg orig_crc = 0;       /* original crc */
+    ulg orig_len = 0;       /* original uncompressed length */
+    int res;
+
+    magic[0] = (unsigned char)get_byte();
+    magic[1] = (unsigned char)get_byte();
+    method = (unsigned char)get_byte();
+
+    if (magic[0] != 037 ||
+       ((magic[1] != 0213) && (magic[1] != 0236))) {
+           error("bad gzip magic numbers");
+           return -1;
+    }
+
+    /* We only support method #8, DEFLATED */
+    if (method != 8)  {
+           error("internal error, invalid method");
+           return -1;
+    }
+
+    flags  = (uch)get_byte();
+    if ((flags & ENCRYPTED) != 0) {
+           error("Input is encrypted\n");
+           return -1;
+    }
+    if ((flags & CONTINUATION) != 0) {
+           error("Multi part input\n");
+           return -1;
+    }
+    if ((flags & RESERVED) != 0) {
+           error("Input has invalid flags\n");
+           return -1;
+    }
+    (ulg)get_byte();   /* Get timestamp */
+    ((ulg)get_byte()) << 8;
+    ((ulg)get_byte()) << 16;
+    ((ulg)get_byte()) << 24;
+
+    (void)get_byte();  /* Ignore extra flags for the moment */
+    (void)get_byte();  /* Ignore OS type for the moment */
+
+    if ((flags & EXTRA_FIELD) != 0) {
+           unsigned len = (unsigned)get_byte();
+           len |= ((unsigned)get_byte())<<8;
+           while (len--) (void)get_byte();
+    }
+
+    /* Get original file name if it was truncated */
+    if ((flags & ORIG_NAME) != 0) {
+           /* Discard the old name */
+           while (get_byte() != 0) /* null */ ;
+    } 
+
+    /* Discard file comment if any */
+    if ((flags & COMMENT) != 0) {
+           while (get_byte() != 0) /* null */ ;
+    }
+
+    /* Decompress */
+    if ((res = inflate())) {
+           switch (res) {
+           case 0:
+                   break;
+           case 1:
+                   error("invalid compressed format (err=1)");
+                   break;
+           case 2:
+                   error("invalid compressed format (err=2)");
+                   break;
+           case 3:
+                   error("out of memory");
+                   break;
+           default:
+                   error("invalid compressed format (other)");
+           }
+           return -1;
+    }
+           
+    /* Get the crc and original length */
+    /* crc32  (see algorithm.doc)
+     * uncompressed input size modulo 2^32
+     */
+    orig_crc = (ulg) get_byte();
+    orig_crc |= (ulg) get_byte() << 8;
+    orig_crc |= (ulg) get_byte() << 16;
+    orig_crc |= (ulg) get_byte() << 24;
+    
+    orig_len = (ulg) get_byte();
+    orig_len |= (ulg) get_byte() << 8;
+    orig_len |= (ulg) get_byte() << 16;
+    orig_len |= (ulg) get_byte() << 24;
+    
+    /* Validate decompression */
+    if (orig_crc != CRC_VALUE) {
+           error("crc error");
+           return -1;
+    }
+    if (orig_len != bytes_out) {
+           error("length error");
+           return -1;
+    }
+    return 0;
+}
+
+
diff --git a/x86_64/plain_loader.c b/x86_64/plain_loader.c
new file mode 100644 (file)
index 0000000..13cc9e5
--- /dev/null
@@ -0,0 +1,302 @@
+/*
+ *  Copyright (C) 2001-2002 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *
+ *  Copyright (C) 2001 Silicon Graphics, Inc.
+ *      Contributed by Brent Casavant <bcasavan@sgi.com>
+ *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#include <efi.h>
+#include <efilib.h>
+
+#include "elilo.h"
+#include "loader.h"
+#include "elf.h"
+#include "private.h"
+
+#define LD_NAME L"plain_elf64"
+
+static INTN
+is_valid_header(Elf64_Ehdr *ehdr)
+{
+       UINT16 type, machine;
+
+       type    = ehdr->e_type;
+       machine = ehdr->e_machine;
+
+       DBG_PRT((L"class=%d type=%d data=%d machine=%d\n", 
+               ehdr->e_ident[EI_CLASS],
+               type,
+               ehdr->e_ident[EI_DATA],
+               machine));
+
+       return    ehdr->e_ident[EI_MAG0]  == 0x7f 
+              && ehdr->e_ident[EI_MAG1]  == 'E'
+              && ehdr->e_ident[EI_MAG2]  == 'L'
+              && ehdr->e_ident[EI_MAG3]  == 'F'
+              && ehdr->e_ident[EI_CLASS] == ELFCLASS64 
+              && type                    == ET_EXEC    /* must be executable */
+              && machine                 == EM_X86_64? 0 : -1;
+}
+
+static INTN
+plain_probe(CHAR16 *kname)
+{
+       Elf64_Ehdr ehdr;
+       EFI_STATUS status;
+       INTN ret = -1;
+       fops_fd_t fd;
+       UINTN size = sizeof(ehdr);
+
+       status = fops_open(kname, &fd);
+       if (EFI_ERROR(status)) 
+               return -1;
+
+       VERB_PRT(3, {
+               Print(L"plain_probe: kname=%s\n", kname);
+       });
+       status = fops_read(fd, &ehdr, &size);
+       if (EFI_ERROR(status) || size != sizeof(ehdr)) 
+               goto error;
+
+       ret = is_valid_header(&ehdr);
+error:
+       fops_close(fd);
+       return ret;
+}
+
+
+static INTN
+load_elf(fops_fd_t fd, kdesc_t *kd)
+{
+       Elf64_Ehdr ehdr;
+       Elf64_Phdr *phdrs;
+       EFI_STATUS status;
+       INTN ret = ELILO_LOAD_ERROR;
+       UINTN i, total_size = 0;
+       UINTN pages, size, bss_sz, osize;
+       VOID *low_addr = (VOID *)~0;
+       VOID *max_addr = (VOID *)0;
+       UINTN paddr, memsz, filesz;
+       UINT16 phnum;
+
+       Print(L"Loading Linux... ");
+
+       size = sizeof(ehdr);
+
+       status = fops_read(fd, &ehdr, &size);
+       if (EFI_ERROR(status) || size < sizeof(ehdr)) 
+               return ELILO_LOAD_ERROR;
+
+       if (is_valid_header(&ehdr) == -1) {
+               ERR_PRT((L"%s : not a 64-bit ELF image\n", LD_NAME));
+               return ELILO_LOAD_ERROR;
+       }        
+       VERB_PRT(3, {
+               Print(L"ELF Header information: \n");
+               Print(L"\tEntry point 0x%x\n", (ehdr.e_entry & PADDR_MASK));
+               Print(L"\t%d program headers\n", ehdr.e_phnum);
+               Print(L"\t%d segment headers\n", ehdr.e_shnum);
+       });
+
+       phnum = ehdr.e_phnum;
+
+       if (fops_seek(fd, ehdr.e_phoff) < 0) {
+               ERR_PRT((L"%s : seek to %d for phdrs failed", LD_NAME, ehdr.e_phoff));
+               return ELILO_LOAD_ERROR;
+       }
+       size = osize = (phnum * sizeof(Elf64_Phdr));
+
+       DBG_PRT((L"%s : allocate %d bytes for %d pheaders each of size:%d phentsize=%d\n", 
+               LD_NAME, size, phnum, sizeof(Elf64_Phdr), ehdr.e_phentsize));
+
+       phdrs = (Elf64_Phdr *)alloc(size, 0); 
+       if (phdrs == NULL) {
+               ERR_PRT((L"%s : allocate for phdrs failed", LD_NAME));
+               return ELILO_LOAD_ERROR;
+       }
+       status = fops_read(fd, phdrs, &size);
+       if (EFI_ERROR(status) || size != osize) {
+               ERR_PRT((L"%s : phdr load failed", LD_NAME, status));
+               goto out;
+       }
+       /*
+        * First pass to figure out total memory footprint
+        */
+       for (i = 0; i < phnum; i++) {
+
+               paddr = (phdrs[i].p_paddr & PADDR_MASK);
+               memsz = phdrs[i].p_memsz;
+
+               DBG_PRT((L"Phdr %d paddr [0x%x-0x%x] offset 0x%x"
+                       " filesz 0x%x memsz=0x%x bss_sz=0x%x p_type=0x%x\n",
+                       1+i, paddr, paddr+phdrs[i].p_filesz, phdrs[i].p_offset, 
+                       phdrs[i].p_filesz, memsz, 
+                       (memsz - phdrs[i].p_filesz), phdrs[i].p_type));
+       
+               if (phdrs[i].p_type != PT_LOAD)
+                       continue;
+               if (paddr < (UINTN)low_addr) 
+                       low_addr = (VOID *)paddr;
+               if (paddr + memsz > (UINTN)max_addr) 
+                       max_addr = (VOID *)paddr + memsz;
+       }
+
+       if ((UINTN)low_addr & (EFI_PAGE_SIZE - 1)) {
+               ERR_PRT((L"%s : kernel low address 0x%x not page aligned\n", 
+                       LD_NAME, low_addr));
+               goto out;
+       }
+       /* how many bytes are needed to hold the kernel? */
+       total_size = (UINTN)max_addr - (UINTN)low_addr;
+
+       /* round up to get required number of pages */
+       pages = EFI_SIZE_TO_PAGES(total_size);
+
+       /* keep track of location where kernel starts and ends */
+       kd->kstart = low_addr;
+       kd->kend   = (low_addr + (pages << EFI_PAGE_SHIFT));
+       kd->kentry = (VOID *)(ehdr.e_entry & PADDR_MASK);
+       
+       VERB_PRT(3, {
+               Print(L"Lowest PhysAddr: 0x%x\nTotalMemSize:%d bytes (%d pages)\n",
+                       low_addr, total_size, pages);
+               Print(L"Kernel entry @ 0x%x\n", kd->kentry);
+       });
+       
+       /* now allocate memory for the kernel at the exact requested spot */
+       if (alloc_kmem(low_addr, pages) == -1) {
+               ERR_PRT((L"%s : AllocatePages(%d, 0x%lx) for kernel failed\n", 
+                       LD_NAME, pages, low_addr));
+               ERR_PRT((L"%s : Could not alloc %d pages for the kernel at 0x%lx "
+                       " and relocation is not not been implemented!\n", 
+                       LD_NAME, pages, low_addr));
+               goto load_abort;
+       }
+       /* Pure paranoia.  Clear the memory first.  Just in case... */
+       Memset(low_addr, 0, (pages << EFI_PAGE_SHIFT));
+
+       VERB_PRT(1, Print(L"Press any key to interrupt\n"));
+
+       /* 
+        * Walk through the program headers
+        * and actually load data into physical memory
+        */
+
+       for (i = 0; i < phnum; i++) {
+               /* Check for pure loadable segment; ignore if not loadable */
+               if (phdrs[i].p_type != PT_LOAD)
+                       continue;
+
+               VERB_PRT(3, Print(L"poffs: 0x%x (phdrs[%d].p_offset)\n", 
+                       phdrs[i].p_offset, i));
+
+               filesz = phdrs[i].p_filesz;
+               low_addr = (VOID *)((UINTN) phdrs[i].p_paddr & PADDR_MASK);
+
+                /* Move to the right position */
+               if (fops_seek(fd, phdrs[i].p_offset) < 0)
+                       goto out_kernel;
+
+                /* How many BSS bytes to clear */
+               bss_sz = phdrs[i].p_memsz - filesz;
+
+               VERB_PRT(4, {
+                       Print(L"\nHeader #%d\n", i);
+                       Print(L"Offset in file 0x%x\n", phdrs[i].p_offset);
+                       Print(L"Physical addr 0x%x\n", low_addr);
+                       Print(L"BSS size 0x%x bytes\n", bss_sz);
+               });
+
+               /*
+                * Read actual segment into memory
+                */
+               ret = fops_read(fd, low_addr, &filesz);
+               if (ret == ELILO_LOAD_ABORTED) goto load_abort;
+               if (ret == ELILO_LOAD_ERROR) goto out;
+
+               /*
+                * Clear bss section
+                */
+               if (bss_sz) 
+                       Memset((VOID *)low_addr+filesz, 0, bss_sz);
+       }
+
+       free(phdrs);
+       return ELILO_LOAD_SUCCESS;
+
+load_abort:
+       Print(L"..Aborted\n");
+       ret = ELILO_LOAD_ABORTED;
+out_kernel:
+       /* free kernel memory */
+       free_kmem();
+out:
+       free(phdrs);
+       return ret;
+}
+
+static INTN
+plain_load_kernel(CHAR16 *kname, kdesc_t *kd)
+{      
+       INTN ret;
+       fops_fd_t fd;
+       EFI_STATUS status;
+
+       /*
+        * Moving the open here simplifies the load_elf() error handling
+        */
+       status = fops_open(kname, &fd);
+       if (EFI_ERROR(status)) return ELILO_LOAD_ERROR;
+
+       Print(L"Loading %s...", kname);
+
+       ret = load_elf(fd, kd);
+       
+       fops_close(fd);
+       return ret;
+}
+
+loader_ops_t plain_loader={
+       NULL,
+       LD_NAME,
+       plain_probe,
+       plain_load_kernel
+};
+
+/*void plain_loader_init()
+{
+       loader_ops_t plain={
+        NULL,
+        LD_NAME,
+        plain_probe,
+        plain_load_kernel
+       };
+       *plain_loader=*plain;
+}*/
+
diff --git a/x86_64/private.h b/x86_64/private.h
new file mode 100644 (file)
index 0000000..ddb1d52
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ *  Copyright (C) 2001-2003 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *
+ *  Copyright (C) 2006-2009 Intel Corporation
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+#ifndef __ELILO_PRIVATE_X86_64_H__
+#define __ELILO_PRIVATE_X86_64_H__
+
+#endif /* __ELILO_PRIVATE_X86_64_H__ */
+
diff --git a/x86_64/rmswitch.S b/x86_64/rmswitch.S
new file mode 100644 (file)
index 0000000..24fd402
--- /dev/null
@@ -0,0 +1,118 @@
+#
+# Switch from protected mode to real mode and jump to setup.S
+# image located at %cx:0.
+#
+# This module must be placed into physical memory at 0:7C00h.
+# EFI has some real mode thunking code at 2000:0h.
+#
+# Processor and non-maskable interrupts should be disabled
+# before control is passed to this module.
+#
+
+.global _start
+
+.code32
+.text
+_start:
+       #
+       # Load identity mapped GDT & real mode IDT.
+       # Add 7C00h to the addresses since this is linked to start
+       # at 0h and it is being placed at 7C00h.
+       #
+
+       lgdt    %cs:gdt_48 + 0x7C00
+       lidt    %cs:idt_48 + 0x7C00
+
+       #
+       # Turn off PG bit in CR0 and set CR3 to zero.
+       #
+
+       movl    %cr0, %eax
+       andl    $0x7FFFFFFF, %eax
+       movl    %eax, %cr0
+
+       xorl    %eax, %eax
+       movl    %eax, %cr3
+
+       #
+       # Reload CS.
+       # Now we add 7B00h because we need to force the segment
+       # address and selector to be the same.
+       #
+
+       .byte   0xEA
+       .long   pm_reload + 0x7B00
+       .word   0x10
+
+pm_reload:
+
+.code16
+
+       #
+       # Reload DS, ES, FS, GS & SS.
+       #
+
+       movw    $0x18, %ax
+       movw    %ax, %ds
+       movw    %ax, %es
+       movw    %ax, %fs
+       movw    %ax, %gs
+       movw    %ax, %ss
+
+       #
+       # Switch to real mode.  Clear PE bit in CR0.
+       #
+
+       movl    %cr0, %eax
+       andl    $0xFFFFFFFE, %eax
+       movl    %eax, %cr0
+
+       #
+       # Reload CS.
+       #
+
+       .byte   0xEA
+       .word   rm_reload + 0x7C00
+       .word   0
+
+rm_reload:
+
+       #
+       # Reload SS & SP.
+       #
+
+       xorw    %ax, %ax
+       movw    %ax, %ss
+       movw    $0x7BFE, %sp
+
+       #
+       # Start running setup.S
+       #
+
+       .byte   0xEA
+       .word   0
+       .word   0x9020
+
+       #
+       # GDT & IDT stuff for switching into real mode.
+       #
+
+gdt:   .word   0, 0, 0, 0              # unused (00h)
+       .word   0, 0, 0, 0              # dummy (08h)
+       .word   0xFFFF, 0x100           # code (10h)
+       .word   0x9A00, 0
+       .word   0xFFFF, 0x180           # data (18h)
+       .word   0x9200, 0
+
+gdt_48:        .word   0x08 * 0x400
+       .long   gdt + 0x7C00
+
+idt_48:        .word   0x400
+       .long   0
+
+       #
+       # Be careful not to exceed 1F0h or the the bootsect.S
+       # parameters will be lost!
+       #
+
+.end
diff --git a/x86_64/sysdeps.h b/x86_64/sysdeps.h
new file mode 100644 (file)
index 0000000..df86f44
--- /dev/null
@@ -0,0 +1,451 @@
+/*
+ *  Copyright (C) 2001-2003 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Mike Johnston <johnston@intel.com>
+ *     Contributed by Chris Ahna <christopher.j.ahna@intel.com>
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by Chandramouli Narayanan <mouli@linux.intel.com>
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+/*
+ * This file is used to define all the x86_64-specific data structures
+ * and constant used by the generic ELILO
+ */
+#ifndef __ELILO_SYSDEPS_X86_64_H__
+#define __ELILO_SYSDEPS_X86_64_H__
+
+#define ELILO_ARCH     "x86_64" /* ASCII string */
+#define PADDR_MASK     0xfffffff
+
+/* for now use library versions */
+#define Memset(a,v,n)  SetMem((a),(n),(v))
+#define Memcpy(a,b,n)  CopyMem((a),(b),(n))
+
+/* Put initrd to far away from kernel image to avoid conflict.
+ * May need to adjust this number if it is not big enough.
+ */
+#define INITRD_START   (50*1024*1024)
+
+/*
+ * This version must match the one in the kernel.
+ *
+ * This table was put together using information from the
+ * following Linux kernel source files:
+ *   linux/include/tty.h
+ *   linux/arch/i386/kernel/setup.c
+ *   linux/arch/i386/boot/bootsect.S
+ *   linux/arch/i386/boot/setup.S
+ *   linux/arch/i386/boot/video.S
+ *
+ * New fields in this structure for EFI and ELILO are:
+ *   efi_loader_sig
+ *   efi_st_addr
+ *
+ * A new bit, LDRFLAG_BOOT_PARAM_RELOC, in the loader_flags
+ * field is also defined in this file.
+ */
+
+#pragma pack(1)
+
+/* Definitions for converting EFI memory map to E820 map for Linux 
+ * These definitions are from include/linux/asm-x86_64/e820.h
+ * The structure x86_64_boot_params below is updated to accommodate E820 map 
+ * EFI memory map is converted to E820 map in this structure and passed
+ * to Linux. This way the OS does not need to do the conversion.
+ */
+#define E820_RAM        1
+#define E820_RESERVED   2
+#define E820_ACPI       3
+#define E820_NVS        4
+#define E820_EXEC_CODE  5
+#define E820_MAX       128
+
+struct e820entry {
+       UINT64 addr;    /* start of memory segment */
+       UINT64 size;    /* size of memory segment */
+       UINT32 type;    /* type of memory segment */
+} __attribute__((packed));
+
+
+typedef union x86_64_boot_params {
+       UINT8 raw[0x2000];
+       struct {
+/* Cursor position before passing control to kernel. */
+/* 0x00 */     UINT8 orig_cursor_col;          /* LDR */
+/* 0x01 */     UINT8 orig_cursor_row;          /* LDR */
+
+/* Available contiguous extended memory in KB. */
+/* 0x02 */     UINT16 ext_mem_k;               /* LDR */
+
+/* Video page, mode and screen width before passing control to kernel. */
+/* 0x04 */     UINT16 orig_video_page;         /* LDR */
+/* 0x06 */     UINT8 orig_video_mode;          /* LDR */
+/* 0x07 */     UINT8 orig_video_cols;          /* LDR */
+
+/* 0x08 */     UINT16 unused_1;                /* unused */
+
+/* %%TBD */
+/* 0x0A */     UINT16 orig_ega_bx;             /* LDR */
+
+/* 0x0C */     UINT16 unused_2;                /* unused */
+
+/* Screen height before passing control to kernel. */
+/* 0x0E */     UINT8 orig_video_rows;          /* LDR */
+
+/* %%TBD */
+/* 0x0F */     UINT8 is_vga;                   /* LDR */
+/* 0x10 */     UINT16 orig_video_points;       /* LDR */
+
+/* %%TBD */
+/* 0x12 */     UINT16 lfb_width;               /* LDR */
+/* 0x14 */     UINT16 lfb_height;              /* LDR */
+/* 0x16 */     UINT16 lfb_depth;               /* LDR */
+/* 0x18 */     UINT32 lfb_base;                /* LDR */
+/* 0x1C */     UINT32 lfb_size;                /* LDR */
+
+/* Offset of command line (from start of ia32_boot_param struct). */
+/* The command line magik number must be set for the kernel setup */
+/* code to use the command line offset. */
+/* 0x20 */     UINT16 cmdline_magik;           /* LDR */
+#define CMDLINE_MAGIK          0xA33F
+/* 0x22 */     UINT16 cmdline_offset;          /* LDR */
+
+/* %%TBD */
+/* 0x24 */     UINT16 lfb_line_len;            /* LDR */
+
+/* %%TBD */
+/* 0x26 */     UINT8 lfb_red_size;             /* LDR */
+/* 0x27 */     UINT8 lfb_red_pos;              /* LDR */
+/* 0x28 */     UINT8 lfb_green_size;           /* LDR */
+/* 0x29 */     UINT8 lfb_green_pos;            /* LDR */
+/* 0x2A */     UINT8 lfb_blue_size;            /* LDR */
+/* 0x2B */     UINT8 lfb_blue_pos;             /* LDR */
+/* 0x2C */     UINT8 lfb_rsvd_size;            /* LDR */
+/* 0x2D */     UINT8 lfb_rsvd_pos;             /* LDR */
+
+/* %%TBD */
+/* 0x2E */     UINT16 vesa_seg;                /* LDR */
+/* 0x30 */     UINT16 vesa_off;                /* LDR */
+
+/* %%TBD */
+/* 0x32 */     UINT16 lfb_pages;               /* LDR */
+/* 0x34 */     UINT8 lfb_reserved[0x0C];       /* reserved */
+
+/* %%TBD */
+/* 0x40 */     UINT16 apm_bios_ver;            /* LDR */
+#define NO_APM_BIOS            0x0000
+
+/* %%TBD */
+/* 0x42 */     UINT16 bios_code_seg;           /* LDR */
+/* 0x44 */     UINT32 bios_entry_point;        /* LDR */
+/* 0x48 */     UINT16 bios_code_seg16;         /* LDR */
+/* 0x4A */     UINT16 bios_data_seg;           /* LDR */
+
+/* %%TBD */
+/* 0x4C */     UINT16 apm_bios_flags;          /* LDR */
+#define NO_32BIT_APM_MASK      0xFFFD
+
+/* %%TBD */
+/* 0x4E */     UINT32 bios_code_len;           /* LDR */
+/* 0x52 */     UINT16 bios_data_len;           /* LDR */
+
+/* 0x54 */     UINT8 unused_3[0x2C];           /* unused */
+
+/* %%TBD */
+/* 0x80 */     UINT8 hd0_info[0x10];           /* LDR */
+/* 0x90 */     UINT8 hd1_info[0x10];           /* LDR */
+
+/* %%TBD */
+/* 0xA0 */     UINT16 mca_info_len;            /* LDR */
+/* 0xA2 */     UINT8 mca_info_buf[0x10];       /* LDR */
+
+/* 0xB2 */     UINT8 unused_4[0x106];          /* unused */
+
+/* Address of the EFI system table. */
+/* 0x1B8 */    UINT64 efi_sys_tbl;             /* LDR */
+
+/* EFI boot loader signature. */
+/* 0x1C0 */    UINT8 efi_loader_sig[4];        /* LDR */
+#define EFI_LOADER_SIG         "EFIL"
+
+/* EFI memory descriptor size. */
+/* 0x1C4 */    UINT32 efi_mem_desc_size;       /* LDR */
+
+/* EFI memory descriptor version. */
+/* 0x1C8 */    UINT32 efi_mem_desc_ver;        /* LDR */
+
+/* Address & size of EFI memory map. */
+/* 0x1CC */    UINT32 efi_mem_map_size;        /* LDR */
+/* 0x1D0 */    UINT64 efi_mem_map;             /* LDR */
+
+/* Address & size of loader. */
+/* 0x1D8 */    UINT32 loader_start;            /* LDR */
+/* 0x1DC */    UINT32 loader_size;             /* LDR */
+
+/* Available contiguous extended memory in KB. */
+/* 0x1E0 */    UINT32 alt_mem_k;               /* LDR */
+
+/* 0x1E4 */    UINT32 unused_51;               /* unused */
+/* 0x1E8 */    UINT8 e820_nrmap;
+/* 0x1E9 */    UINT32 unused_52[2];            /* unused */
+
+/* Size of setup code in sectors (1 sector == 512 bytes). */
+/* 0x1F1 */    UINT8 setup_sectors;            /* BLD */
+
+/* %%TBD */
+/* 0x1F2 */    UINT16 mount_root_rdonly;       /* BLD */
+
+/* %%TBD */
+/* 0x1F4 */    UINT16 sys_size;                /* BLD */
+
+/* %%TBD */
+/* 0x1F6 */    UINT16 swap_dev;                /* BLD */
+
+/* %%TBD */
+/* 0x1F8 */    UINT16 ramdisk_flags;           /* BLD */
+#define RAMDISK_PROMPT         0x8000
+#define RAMDISK_LOAD           0x4000
+
+/* %%TBD */
+/* 0x1FA */    UINT16 video_mode_flag;         /* BLD */
+
+/* %%TBD */
+/* 0x1FC */    UINT16 orig_root_dev;           /* BLD */
+
+/* 0x1FE */    UINT8 unused_6;                 /* unused */
+
+/* %%TBD */
+/* 0x1FF */    UINT8 aux_dev_info;             /* LDR */
+#define NO_MOUSE               0x00
+#define FOUND_MOUSE            0xAA
+
+/* Jump past setup data (not used in EFI). */
+/* 0x200 */    UINT16 jump;                    /* BLD */
+
+/* Setup data signature. */
+/* 0x202 */    UINT8 setup_sig[4];             /* BLD */
+#define SETUP_SIG              "HdrS"
+
+/* %%TBD */
+/* 0x206 */    UINT8 hdr_minor;                /* BLD */
+/* 0x207 */    UINT8 hdr_major;                /* BLD */
+
+/* %%TBD */
+/* 0x208 */    UINT32 rm_switch;               /* LDD */
+
+/* %%TBD */
+/* 0x20C */    UINT16 start_sys_seg;           /* BLD */
+
+/* %%TBD */
+/* 0x20E */    UINT16 kernel_verstr_offset;    /* BLD */
+
+/* Loader type & version. */
+/* 0x210 */    UINT8 loader_type;              /* LDR */
+#define LDRTYPE_ELILO                  0x50    /* 5?h == elilo */
+                                               /* ?0h == revision */
+
+/* 0x211 */    UINT8 loader_flags;             /* BLD and LDR */
+#define LDRFLAG_CAN_USE_HEAP           0x80
+#define LDRFLAG_BOOT_PARAM_RELOC       0x40
+
+/* %%TBD */
+/* 0x212 */    UINT16 setup_move_size;         /* BLD */
+
+/* %%TBD */
+/* 0x214 */    UINT32 kernel_start;            /* LDR */
+
+/* %%TBD */
+/* 0x218 */    UINT32 initrd_start;            /* LDR */
+/* 0x21C */    UINT32 initrd_size;             /* LDR */
+
+/* %%TBD */
+/* 0x220 */    UINT32 bootsect_helper;         /* BLD */
+
+/* %%TBD */
+/* 0x224 */    UINT16 heap_end_ptr;            /* LDR */
+
+/* %%TBD */
+/* 0x226 */    UINT16 unused_7;                /* LDR */
+
+/* 0x228 */    UINT32 cmdline_addr;            /* LDR */
+/* 0x22C */    UINT32 unused_8[41];
+/* 0x2D0 */    UINT8  e820_map[2560];
+       } s;
+} boot_params_t;
+#pragma pack()
+
+/*
+ * The stuff below here is for jumping to the kernel.
+ */
+
+/*
+ * Some macros to copy and set memory after EFI has been
+ * stopped.
+ */
+
+#define MEMCPY(to, from, cnt) { \
+       UINT8 *t = (UINT8 *)(to); \
+       UINT8 *f = (UINT8 *)(from); \
+       UINTN n = cnt; \
+       if (t && f && n) { \
+               while (n--) { \
+                       *t++ = *f++; \
+               } \
+       } \
+}
+
+#define MEMSET(ptr, size, val) { \
+       UINT8 *p = (UINT8 *)(ptr); \
+       UINTN n = (UINTN)(size); \
+       UINT8 v = (UINT8)(val); \
+       if (p && n) { \
+               while (n--) { \
+                       *p++ = v; \
+               } \
+       } \
+}
+
+/*
+ * Descriptor table pointer format.
+ */
+#pragma pack(1)
+typedef struct {
+       UINT16 limit;
+       UINT64 base;
+} dt_addr_t;
+#pragma pack()
+
+extern UINTN high_base_mem;
+extern UINTN high_ext_mem;
+
+extern boot_params_t *param_start;
+extern UINTN param_size;
+
+extern VOID *kernel_start;
+extern UINTN kernel_size;
+
+extern VOID *initrd_start;
+extern UINTN initrd_size;
+
+extern dt_addr_t gdt_addr;
+extern dt_addr_t idt_addr;
+
+extern UINT16 init_gdt[];
+extern UINTN sizeof_init_gdt;
+
+extern UINT8 rmswitch_image[];
+extern UINTN rmswitch_size;
+
+extern INTN x86_64_use_legacy_free_boot();
+
+/*
+ * How to jump to kernel code
+ */
+
+
+static inline void
+start_kernel(VOID *kentry, boot_params_t *bp)
+{
+       struct {
+               UINT32  kernel_entry;
+               UINT16  kernel_cs;
+       } jumpvector;
+       UINTN   njump;
+       VOID    *jump_start;
+
+       /*
+        * Disable interrupts.
+        */
+       asm volatile ( "cli" : : );
+
+       /*
+        * Relocate initrd, if present.
+        */
+
+       if (bp->s.initrd_start) {
+               MEMCPY(INITRD_START, bp->s.initrd_start, bp->s.initrd_size);
+               bp->s.initrd_start = INITRD_START;
+       }
+       /*
+        * Copy boot sector, setup data and command line
+        * to final resting place.  We need to copy
+        * BOOT_PARAM_MEMSIZE bytes.
+        */
+
+       MEMCPY(high_base_mem, bp, 0x4000);
+
+       /*
+        * Initialize Linux GDT.
+        */
+
+       MEMSET(gdt_addr.base, gdt_addr.limit, 0);
+       MEMCPY(gdt_addr.base, init_gdt, sizeof_init_gdt);
+
+// fixme: why x86_64_use_legacy_free_boot() goes to _relocate?
+#if 0
+       if (! x86_64_use_legacy_free_boot()) {
+
+               /*
+                * Copy our real mode transition code to 0x7C00.
+                */
+
+               MEMCPY(0x7C00, rmswitch_image, rmswitch_size);
+
+               asm volatile ( "mov $0x7C00, %%rbx" : : );
+               asm volatile ( "jmp *%%rbx" : : );
+       }
+#endif
+
+       /*
+        * Load descriptor table pointers.
+        */
+
+       asm volatile ( "lidt %0" : : "m" (idt_addr) );
+       asm volatile ( "lgdt %0" : : "m" (gdt_addr) );
+
+       /*
+        * rsi := address of boot sector and setup data
+        */
+
+       asm volatile ( "mov %0, %%rsi" : : "m" (high_base_mem) );
+
+       /*
+        * Jump to kernel entry point.
+        */
+       jumpvector.kernel_entry=kentry;
+       jumpvector.kernel_cs=0x10;
+       njump = &jumpvector;
+       jump_start = (VOID *)&jumpvector;
+       //asm volatile ( "mov %0, %%rcx" : : "m" (&jumpvector) );
+       asm volatile ( "mov %0, %%rcx" : : "m" (jump_start) );
+       //asm volatile ( "mov %0, %%rcx" : : "m" (njump) );
+       asm volatile ( "ljmp *(%%rcx)" : :);
+       /* Never come back to here. */
+}
+
+typedef struct sys_img_options {
+       UINT8 nothing_yet;
+} sys_img_options_t;
+
+#endif /* __ELILO_SYSDEPS_X86_64_H__ */
diff --git a/x86_64/system.c b/x86_64/system.c
new file mode 100644 (file)
index 0000000..0755ff4
--- /dev/null
@@ -0,0 +1,772 @@
+/*
+ *  Copyright (C) 2001-2003 Hewlett-Packard Co.
+ *     Contributed by Stephane Eranian <eranian@hpl.hp.com>
+ *     Contributed by Mike Johnston <johnston@intel.com>
+ *     Contributed by Chris Ahna <christopher.j.ahna@intel.com>
+ *     Contributed by Fenghua Yu <fenghua.yu@intel.com>
+ *     Contributed by Bibo Mao <bibo.mao@intel.com>
+ *     Contributed by chandramouli narayanan <mouli@linux.intel.com>
+ *     Edgar Hucek <hostmaster@ed-soft.at>
+ *     
+ *  Updated with code to fill bootparam converting EFI memory map to E820 
+ *  based on a Linux kernel patch provided by Edgar Hucek
+ *  - mouli 06/20/2007
+ *
+ * This file is part of the ELILO, the EFI Linux boot loader.
+ *
+ *  ELILO is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2, or (at your option)
+ *  any later version.
+ *
+ *  ELILO is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with ELILO; see the file COPYING.  If not, write to the Free
+ *  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ *  02111-1307, USA.
+ *
+ * Please check out the elilo.txt for complete documentation on how
+ * to use this program.
+ */
+
+/*
+ * This file contains all the x86_64 specific code expected by generic loader
+ */
+#include <efi.h>
+#include <efilib.h>
+
+#include "elilo.h"
+#include "loader.h"
+#include "rmswitch.h"
+
+extern loader_ops_t bzimage_loader, plain_loader, gzip_loader; 
+
+/*
+ * Descriptor table base addresses & limits for Linux startup.
+ */
+
+dt_addr_t gdt_addr = { 0x800, 0x94000 };
+dt_addr_t idt_addr = { 0, 0 }; 
+
+/*
+ * Initial GDT layout for Linux startup.
+ */
+
+UINT16 init_gdt[] = {
+       /* gdt[0]: dummy */
+       0, 0, 0, 0, 
+       
+       /* gdt[1]: unused */
+       0, 0, 0, 0,
+
+       /* gdt[2]: code */
+       0xFFFF,         /* 4Gb - (0x100000*0x1000 = 4Gb) */
+       0x0000,         /* base address=0 */
+       0x9A00,         /* code read/exec */
+       0x00CF,         /* granularity=4096, 386 (+5th nibble of limit) */
+
+       /* gdt[3]: data */
+       0xFFFF,         /* 4Gb - (0x100000*0x1000 = 4Gb) */
+       0x0000,         /* base address=0 */
+       0x9200,         /* data read/write */
+       0x00CF,         /* granularity=4096, 386 (+5th nibble of limit) */
+};
+
+UINTN sizeof_init_gdt = sizeof init_gdt;
+
+/*
+ * Highest available base memory address.
+ *
+ * For traditional kernels and loaders this is always at 0x90000.
+ * For updated kernels and loaders this is computed by taking the
+ * highest available base memory address and rounding down to the
+ * nearest 64 kB boundary and then subtracting 64 kB.
+ *
+ * A non-compressed kernel is automatically assumed to be an updated
+ * kernel.  A compressed kernel that has bit 6 (0x40) set in the
+ * loader_flags field is also assumed to be an updated kernel.
+ */
+
+UINTN high_base_mem = 0x90000;
+
+/*
+ * Highest available extended memory address.
+ *
+ * This is computed by taking the highest available extended memory
+ * address and rounding down to the nearest EFI_PAGE_SIZE (usually
+ * 4 kB) boundary.  
+ * This is only used for backward compatibility.
+ */
+
+UINTN high_ext_mem = 32 * 1024 * 1024;
+
+/* This starting address will hold true for all of the loader types for now */
+VOID *kernel_start = (VOID *)0x100000; /* 1M */
+
+VOID *initrd_start = NULL;
+UINTN initrd_size = 0;
+
+INTN
+sysdeps_init(EFI_HANDLE dev)
+{
+       DBG_PRT((L"sysdeps_init()\n"));
+
+       /*
+        * Register our loader(s)...
+        */
+
+       loader_register(&bzimage_loader);
+       loader_register(&plain_loader);         
+       loader_register(&gzip_loader); 
+       return 0;
+}
+
+/*
+ * initrd_get_addr()
+ *     Compute a starting address for the initial RAMdisk image.
+ *     For now, this image is placed immediately after the end of
+ *     the kernel memory.  Inside the start_kernel() code, the
+ *     RAMdisk image will be relocated to the top of available
+ *     extended memory.
+ */
+INTN
+sysdeps_initrd_get_addr(kdesc_t *kd, memdesc_t *imem)
+{
+       DBG_PRT((L"initrd_get_addr()\n"));
+
+       if (!kd || !imem) {
+               ERR_PRT((L"kd=0x%x imem=0x%x", kd, imem));
+               return -1;
+       }
+
+       VERB_PRT(3, Print(L"kstart=0x%x  kentry=0x%x  kend=0x%x\n", 
+               kd->kstart, kd->kentry, kd->kend));
+
+       imem->start_addr = kd->kend;
+
+       VERB_PRT(3, Print(L"initrd start_addr=0x%x pgcnt=%d\n", 
+               imem->start_addr, imem->pgcnt));
+
+       return 0;
+}
+
+VOID
+sysdeps_free_boot_params(boot_params_t *bp)
+{
+       mmap_desc_t md;
+
+       ZeroMem(&md, sizeof md);
+       md.md = (VOID *)bp->s.efi_mem_map;
+       free_memmap(&md);
+}
+
+static VOID find_bits(unsigned long mask, UINT8 *first, UINT8* len) {
+       unsigned char bit_pos = 0, bit_len = 0;
+       *first =0;
+       *len = 0;
+       if (mask == 0)
+               return;
+       while (!(mask & 0x1)) {
+               mask = mask >> 1;
+               bit_pos++;
+       }
+       while (mask & 0x1) {
+               mask = mask >> 1;
+               bit_len++;
+       }
+       *first = bit_pos;
+       *len = bit_len;
+}
+
+/*
+ * Get video information.
+ */
+static INTN get_video_info(boot_params_t * bp) {
+        EFI_GUID GopProtocol = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
+        EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop_interface;
+        EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Gop_info;
+        EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE   *Gop_mode;
+        EFI_HANDLE *Gop_handle;
+        EFI_STATUS efi_status;
+        UINTN size, size1;
+        UINT8 i;
+
+       efi_status = uefi_call_wrapper(
+                       BS->LocateHandle,
+                       5,
+                       ByProtocol,
+                       &GopProtocol,
+                       NULL,
+                       &size,
+                       (VOID **)Gop_handle);
+       
+       if (EFI_ERROR(efi_status) && efi_status != EFI_BUFFER_TOO_SMALL) {
+               ERR_PRT((L"LocateHandle GopProtocol failed."));
+               return -1;
+       }
+       Gop_handle = alloc(size, 0);
+       efi_status = uefi_call_wrapper(
+                       BS->LocateHandle,
+                       5,
+                       ByProtocol,
+                       &GopProtocol,
+                       NULL,
+                       &size,
+                       (VOID **)Gop_handle);
+       if (EFI_ERROR(efi_status)) {
+               ERR_PRT((L"LocateHandle GopProtocol failed."));
+               free(Gop_handle);
+               return -1;
+       }
+
+       for (i=0; i < size/sizeof(EFI_HANDLE); i++) {
+               Gop_handle += i;
+               efi_status = uefi_call_wrapper(
+                               BS->HandleProtocol,
+                               3,
+                               *Gop_handle,
+                               &GopProtocol,
+                               &Gop_interface);
+
+               if (EFI_ERROR(efi_status)) {
+                       continue;
+               }
+               Gop_mode = Gop_interface->Mode;
+               efi_status = uefi_call_wrapper(
+                               Gop_interface->QueryMode,
+                               4,
+                               Gop_interface,
+                               Gop_mode->Mode,
+                               &size1,
+                               &Gop_info);
+               if (!EFI_ERROR(efi_status))
+                       break;
+               if (EFI_ERROR(efi_status)) {
+                       continue;
+               }
+       }
+       if (EFI_ERROR(efi_status) || i > (size/sizeof(EFI_HANDLE))) {
+               ERR_PRT((L"HandleProtocol GopProtocol failed."));
+               free(Gop_handle);
+               return -1;
+       }
+               
+       bp->s.is_vga = 0x24;
+       bp->s.orig_cursor_col = 0;
+       bp->s.orig_cursor_row = 0;
+       bp->s.orig_video_page = 0;
+       bp->s.orig_video_mode = 0;
+       bp->s.orig_video_cols = 0;
+       bp->s.orig_video_rows = 0;
+       bp->s.orig_ega_bx = 0;
+       bp->s.orig_video_points = 0;
+
+       bp->s.lfb_width = Gop_info->HorizontalResolution;
+       bp->s.lfb_height = Gop_info->VerticalResolution;
+       bp->s.lfb_base = Gop_mode->FrameBufferBase;
+       bp->s.lfb_size = Gop_mode->FrameBufferSize;
+       bp->s.lfb_pages = 1;
+       bp->s.vesa_seg = 0;
+       bp->s.vesa_off = 0;
+       if (Gop_info->PixelFormat == PixelRedGreenBlueReserved8BitPerColor) {
+               bp->s.lfb_depth = 32;
+               bp->s.lfb_red_size = 8;
+               bp->s.lfb_red_pos = 0;
+               bp->s.lfb_green_size = 8;
+               bp->s.lfb_green_pos = 8;
+               bp->s.lfb_blue_size = 8;
+               bp->s.lfb_blue_pos = 16;
+               bp->s.lfb_rsvd_size = 8;
+               bp->s.lfb_rsvd_pos = 24;
+               bp->s.lfb_line_len = Gop_info->PixelsPerScanLine * 4;
+
+       } else if (Gop_info->PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
+               bp->s.lfb_depth = 32;
+               bp->s.lfb_red_size = 8;
+               bp->s.lfb_red_pos = 16;
+               bp->s.lfb_green_size = 8;
+               bp->s.lfb_green_pos = 8;
+               bp->s.lfb_blue_size = 8;
+               bp->s.lfb_blue_pos = 0;
+               bp->s.lfb_rsvd_size = 8;
+               bp->s.lfb_rsvd_pos = 24;
+               bp->s.lfb_line_len = Gop_info->PixelsPerScanLine * 4;
+       } else if (Gop_info->PixelFormat == PixelBitMask) {
+               find_bits(Gop_info->PixelInformation.RedMask,
+                         &bp->s.lfb_red_pos, &bp->s.lfb_red_size);
+               find_bits(Gop_info->PixelInformation.GreenMask,
+                         &bp->s.lfb_green_pos, &bp->s.lfb_green_size);
+               find_bits(Gop_info->PixelInformation.BlueMask,
+                         &bp->s.lfb_blue_pos, &bp->s.lfb_blue_size);
+               find_bits(Gop_info->PixelInformation.ReservedMask,
+                         &bp->s.lfb_rsvd_pos, &bp->s.lfb_rsvd_size);
+               bp->s.lfb_depth = bp->s.lfb_red_size + bp->s.lfb_green_size +
+                                 bp->s.lfb_blue_size + bp->s.lfb_rsvd_size;
+               bp->s.lfb_line_len = (Gop_info->PixelsPerScanLine * bp->s.lfb_depth) / 8;
+       } else {
+               bp->s.lfb_depth = 4;
+               bp->s.lfb_red_size = 0;
+               bp->s.lfb_red_pos = 0;
+               bp->s.lfb_green_size = 0;
+               bp->s.lfb_green_pos = 0;
+               bp->s.lfb_blue_size = 0;
+               bp->s.lfb_blue_pos = 0;
+               bp->s.lfb_rsvd_size = 0;
+               bp->s.lfb_rsvd_pos = 0;
+               bp->s.lfb_line_len = bp->s.lfb_width / 2;
+       }
+       return 0;
+}
+
+/* Convert EFI memory map to E820 map for the operating system 
+ * This code is based on a Linux kernel patch submitted by Edgar Hucek
+ */
+
+void fill_e820map(boot_params_t *bp, mmap_desc_t *mdesc)
+{
+       int nr_map, i;
+       UINT64 start, end, size;
+       EFI_MEMORY_DESCRIPTOR   *md, *p;
+       struct e820entry *e820_map;
+
+       nr_map = mdesc->map_size/mdesc->desc_size;
+       e820_map = (struct e820entry *)bp->s.e820_map;
+       bp->s.e820_nrmap = nr_map;
+                       
+       for (i = 0, p = mdesc->md; i < nr_map; i++)
+       {
+               md = p;
+               switch (md->Type) {
+               case EfiACPIReclaimMemory:
+                       e820_map->addr = md->PhysicalStart;
+                       e820_map->size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       e820_map->type = E820_ACPI;
+                       break;
+               case EfiRuntimeServicesCode:
+                       e820_map->addr = md->PhysicalStart;
+                       e820_map->size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       e820_map->type = E820_EXEC_CODE;
+                       break;
+               case EfiRuntimeServicesData:
+               case EfiReservedMemoryType:
+               case EfiMemoryMappedIO:
+               case EfiMemoryMappedIOPortSpace:
+               case EfiUnusableMemory:
+               case EfiPalCode:
+                       e820_map->addr = md->PhysicalStart;
+                       e820_map->size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       e820_map->type = E820_RESERVED;
+                       break;
+               case EfiLoaderCode:
+               case EfiLoaderData:
+               case EfiBootServicesCode:
+               case EfiBootServicesData:
+               case EfiConventionalMemory:
+                       start = md->PhysicalStart;
+                       size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       end = start + size;
+                       /* Fix up for BIOS that claims RAM in 640K-1MB region */
+                       if (start < 0x100000ULL && end > 0xA0000ULL) {
+                               if (start < 0xA0000ULL) {
+                                       /* start < 640K
+                                        * set memory map from start to 640K
+                                        */
+                                       e820_map->addr = start;
+                                       e820_map->size = 0xA0000ULL-start;
+                                       e820_map->type = E820_RAM;
+                                       e820_map++;
+                               }
+                               if (end <= 0x100000ULL)
+                                       continue;
+                               /* end > 1MB
+                                * set memory map avoiding 640K to 1MB hole
+                                */
+                               start = 0x100000ULL;
+                               size = end - start;
+                       }
+                       e820_map->addr = start;
+                       e820_map->size = size;
+                       e820_map->type = E820_RAM;
+                       break;
+               case EfiACPIMemoryNVS:
+                       e820_map->addr = md->PhysicalStart;
+                       e820_map->size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       e820_map->type = E820_NVS;
+                       break;
+               default:
+                       /* We should not hit this case */
+                       e820_map->addr = md->PhysicalStart;
+                       size = md->NumberOfPages << EFI_PAGE_SHIFT;
+                       e820_map->type = E820_RESERVED;
+                       break;
+               }
+               e820_map++;
+               p = NextMemoryDescriptor(p, mdesc->desc_size); 
+       }
+       
+}
+/*
+ * x86_64 specific boot parameters initialization routine
+ */
+INTN
+sysdeps_create_boot_params(
+       boot_params_t *bp,
+       CHAR8 *cmdline,
+       memdesc_t *initrd,
+       memdesc_t *vmcode,
+       UINTN *cookie)
+{
+       mmap_desc_t mdesc;
+       EFI_STATUS efi_status;
+       UINTN rows, cols;
+       UINT8 row, col;
+       UINT8 mode;
+       UINT16 hdr_version;
+
+       DBG_PRT((L"fill_boot_params()\n"));
+
+       if (!bp || !cmdline || !initrd || !cookie) {
+               ERR_PRT((L"bp=0x%x  cmdline=0x%x  initrd=0x%x cookie=0x%x",
+                       bp, cmdline, initrd, cookie));
+
+               if (param_start != NULL) {
+                       free(param_start);
+                       param_start = NULL;
+                       param_size = 0;
+               }
+               free_kmem();
+               return -1;
+       }
+
+       /*
+        * Copy temporary boot sector and setup data storage to
+        * elilo allocated boot parameter storage.  We only need
+        * the first two sectors (1K).  The rest of the storage
+        * can be used by the command line.
+        */
+       if (param_start != NULL) {
+               CopyMem(bp, param_start, 0x2000);
+               free(param_start);
+               param_start = NULL;
+               param_size = 0;
+       }
+       /*
+        * Save off our header revision information.
+        */
+       hdr_version = (bp->s.hdr_major << 8) | bp->s.hdr_minor;
+
+       /*
+        * Clear out unused memory in boot sector image.
+        */
+       bp->s.unused_1 = 0;
+       bp->s.unused_2 = 0;
+       ZeroMem(bp->s.unused_3, sizeof bp->s.unused_3);
+       ZeroMem(bp->s.unused_4, sizeof bp->s.unused_4);
+       ZeroMem(bp->s.unused_51, sizeof bp->s.unused_51);
+       ZeroMem(bp->s.unused_52, sizeof bp->s.unused_52);
+       bp->s.unused_6 = 0;
+       bp->s.unused_7 = 0;
+       ZeroMem(bp->s.unused_8, sizeof bp->s.unused_8);
+
+       /*
+        * Tell kernel this was loaded by an advanced loader type.
+        * If this field is zero, the initrd_start and initrd_size
+        * fields are ignored by the kernel.
+        */
+
+       bp->s.loader_type = LDRTYPE_ELILO;
+
+       /*
+        * Setup command line information.
+        */
+
+       bp->s.cmdline_magik = CMDLINE_MAGIK;
+       bp->s.cmdline_offset = (UINT8 *)cmdline - (UINT8 *)bp;
+
+       /* 
+        * Clear out the cmdline_addr field so the kernel can find 
+        * the cmdline.
+        */
+       bp->s.cmdline_addr = 0x0;
+
+       /*
+        * Setup hard drive parameters.
+        * %%TBD - It should be okay to zero fill the hard drive
+        * info buffers.  The kernel should do its own detection.
+        */
+
+       ZeroMem(bp->s.hd0_info, sizeof bp->s.hd0_info);
+       ZeroMem(bp->s.hd1_info, sizeof bp->s.hd1_info);
+
+       /*
+        * Memory info.
+        */
+
+       bp->s.alt_mem_k = high_ext_mem / 1024;
+
+       if (bp->s.alt_mem_k <= 65535) 
+               bp->s.ext_mem_k = (UINT16)bp->s.alt_mem_k;
+       else 
+               bp->s.ext_mem_k = 65535;
+
+       /*
+        * Initial RAMdisk and root device stuff.
+        */
+
+       DBG_PRT((L"initrd->start_addr=0x%x  initrd->pgcnt=%d\n",
+               initrd->start_addr, initrd->pgcnt));
+
+       /* These RAMdisk flags are not needed, just zero them. */
+       bp->s.ramdisk_flags = 0;
+
+       if (initrd->start_addr && initrd->pgcnt) {
+               /* %%TBD - This will probably have to be changed. */
+               bp->s.initrd_start = (UINT32)initrd->start_addr;
+               bp->s.initrd_size = (UINT32)(initrd->size);
+               /*
+                * This is the RAMdisk root device for RedHat 2.2.x
+                * kernels (major 0x01, minor 0x00).
+                */
+
+               bp->s.orig_root_dev = 0x0100;
+       } else {
+               bp->s.initrd_start = 0;
+               bp->s.initrd_size = 0;
+       }
+
+       /*
+        * APM BIOS info.
+        */
+       bp->s.apm_bios_ver = NO_APM_BIOS;
+       bp->s.bios_code_seg = 0;
+       bp->s.bios_entry_point = 0;
+       bp->s.bios_code_seg16 = 0;
+       bp->s.bios_data_seg = 0;
+       bp->s.apm_bios_flags = 0;
+       bp->s.bios_code_len = 0;
+       bp->s.bios_data_len = 0;
+
+       /*
+        * MCA BIOS info (misnomer).
+        */
+       bp->s.mca_info_len = 0;
+       ZeroMem(bp->s.mca_info_buf, sizeof bp->s.mca_info_buf);
+
+       /*
+        * Pointing device presence.  The kernel will detect this.
+        */
+       bp->s.aux_dev_info = NO_MOUSE;
+
+       /*
+        * EFI loader signature 
+        */
+       CopyMem(bp->s.efi_loader_sig, EFI_LOADER_SIG, 4);
+
+       /*
+        * Kernel entry point.
+        */
+       bp->s.kernel_start = (UINT32)kernel_start;
+
+       /*
+        * When changing stuff in the parameter structure compare
+        * the offsets of the fields with the offsets used in the
+        * boot sector and setup source files.
+        *   arch/x86_64/boot/bootsect.S
+        *   arch/x86_64/boot/setup.S
+        *   arch/x86_64/kernel/setup.c
+        *   include/asm-x86_64/setup.h (2.5/2.6)
+        */
+
+#define CHECK_OFFSET(n, o, f) \
+{ \
+       UINTN p = (UINT8 *)&bp->s.n - (UINT8 *)bp; \
+       UINTN q = (UINTN)(o); \
+       if (p != q) { \
+               test |= 1; \
+               Print(L"%20a:  %3xh  %3xh  ", #n, p, q); \
+               if (*f) { \
+                       Print(f, bp->s.n); \
+               } \
+               Print(L"\n"); \
+       } \
+}
+
+#define WAIT_FOR_KEY() \
+{ \
+       EFI_INPUT_KEY key; \
+       while (uefi_call_wrapper(ST->ConIn->ReadKeyStroke, 2, ST->ConIn, &key) != EFI_SUCCESS) { \
+               ; \
+       } \
+}
+       {
+               UINTN test = 0;
+
+               CHECK_OFFSET(orig_cursor_col, 0x00, L"%xh");
+               CHECK_OFFSET(orig_cursor_row, 0x01, L"%xh");
+               CHECK_OFFSET(ext_mem_k, 0x02, L"%xh");
+               CHECK_OFFSET(orig_video_page, 0x04, L"%xh");
+               CHECK_OFFSET(orig_video_mode, 0x06, L"%xh");
+               CHECK_OFFSET(orig_video_cols, 0x07, L"%xh");
+               CHECK_OFFSET(orig_ega_bx, 0x0A, L"%xh");
+               CHECK_OFFSET(orig_video_rows, 0x0E, L"%xh");
+               CHECK_OFFSET(is_vga, 0x0F, L"%xh");
+               CHECK_OFFSET(orig_video_points, 0x10, L"%xh");
+               CHECK_OFFSET(lfb_width, 0x12, L"%xh");
+               CHECK_OFFSET(lfb_height, 0x14, L"%xh");
+               CHECK_OFFSET(lfb_depth, 0x16, L"%xh");
+               CHECK_OFFSET(lfb_base, 0x18, L"%xh");
+               CHECK_OFFSET(lfb_size, 0x1C, L"%xh");
+               CHECK_OFFSET(cmdline_magik, 0x20, L"%xh");
+               CHECK_OFFSET(cmdline_offset, 0x22, L"%xh");
+               CHECK_OFFSET(lfb_line_len, 0x24, L"%xh");
+               CHECK_OFFSET(lfb_red_size, 0x26, L"%xh");
+               CHECK_OFFSET(lfb_red_pos, 0x27, L"%xh");
+               CHECK_OFFSET(lfb_green_size, 0x28, L"%xh");
+               CHECK_OFFSET(lfb_green_pos, 0x29, L"%xh");
+               CHECK_OFFSET(lfb_blue_size, 0x2A, L"%xh");
+               CHECK_OFFSET(lfb_blue_pos, 0x2B, L"%xh");
+               CHECK_OFFSET(lfb_rsvd_size, 0x2C, L"%xh");
+               CHECK_OFFSET(lfb_rsvd_pos, 0x2D, L"%xh");
+               CHECK_OFFSET(vesa_seg, 0x2E, L"%xh");
+               CHECK_OFFSET(vesa_off, 0x30, L"%xh");
+               CHECK_OFFSET(lfb_pages, 0x32, L"%xh");
+               CHECK_OFFSET(lfb_reserved, 0x34, L"");
+               CHECK_OFFSET(apm_bios_ver, 0x40, L"%xh");
+               CHECK_OFFSET(bios_code_seg, 0x42, L"%xh");
+               CHECK_OFFSET(bios_entry_point, 0x44, L"%xh");
+               CHECK_OFFSET(bios_code_seg16, 0x48, L"%xh");
+               CHECK_OFFSET(bios_data_seg, 0x4A, L"%xh");
+               CHECK_OFFSET(apm_bios_flags, 0x4C, L"%xh");
+               CHECK_OFFSET(bios_code_len, 0x4E, L"%xh");
+               CHECK_OFFSET(bios_data_len, 0x52, L"%xh");
+               CHECK_OFFSET(hd0_info, 0x80, L"");
+               CHECK_OFFSET(hd1_info, 0x90, L"");
+               CHECK_OFFSET(mca_info_len, 0xA0, L"%xh");
+               CHECK_OFFSET(mca_info_buf, 0xA2, L"");
+               CHECK_OFFSET(efi_sys_tbl, 0x1B8, L"%xh");
+               CHECK_OFFSET(efi_loader_sig, 0x1C0, L"'%-4.4a'");
+               CHECK_OFFSET(efi_mem_desc_size, 0x1C4, L"%xh");
+               CHECK_OFFSET(efi_mem_desc_ver, 0x1C8, L"%xh");
+               CHECK_OFFSET(efi_mem_map_size, 0x1CC, L"%xh");
+               CHECK_OFFSET(efi_mem_map, 0x1D0, L"%xh");
+               CHECK_OFFSET(loader_start, 0x1D8, L"%xh");
+               CHECK_OFFSET(loader_size, 0x1DC, L"%xh");
+               CHECK_OFFSET(alt_mem_k, 0x1E0, L"%xh");
+               CHECK_OFFSET(setup_sectors, 0x1F1, L"%xh");
+               CHECK_OFFSET(mount_root_rdonly, 0x1F2, L"%xh");
+               CHECK_OFFSET(sys_size, 0x1F4, L"%xh");
+               CHECK_OFFSET(swap_dev, 0x1F6, L"%xh");
+               CHECK_OFFSET(ramdisk_flags, 0x1F8, L"%xh");
+               CHECK_OFFSET(video_mode_flag, 0x1FA, L"%xh");
+               CHECK_OFFSET(orig_root_dev, 0x1FC, L"%xh");
+               CHECK_OFFSET(aux_dev_info, 0x1FF, L"%xh");
+               CHECK_OFFSET(jump, 0x200, L"%xh");
+               CHECK_OFFSET(setup_sig, 0x202, L"'%-4.4a'");
+               CHECK_OFFSET(hdr_minor, 0x206, L"%xh");
+               CHECK_OFFSET(hdr_major, 0x207, L"%xh");
+               CHECK_OFFSET(rm_switch, 0x208, L"%xh");
+               CHECK_OFFSET(start_sys_seg, 0x20C, L"%xh");
+               CHECK_OFFSET(kernel_verstr_offset, 0x20E, L"%xh");
+               CHECK_OFFSET(loader_type, 0x210, L"%xh");
+               CHECK_OFFSET(loader_flags, 0x211, L"%xh");
+               CHECK_OFFSET(setup_move_size, 0x212, L"%xh");
+               CHECK_OFFSET(kernel_start, 0x214, L"%xh");
+               CHECK_OFFSET(initrd_start, 0x218, L"%xh");
+               CHECK_OFFSET(initrd_size, 0x21C, L"%xh");
+               CHECK_OFFSET(bootsect_helper, 0x220, L"%xh");
+               CHECK_OFFSET(heap_end_ptr, 0x224, L"%xh");
+               CHECK_OFFSET(cmdline_addr, 0x228, L"%xh");
+
+               if (test) {
+                       ERR_PRT((L"Boot sector and/or setup parameter alignment error."));
+                       free_kmem();
+                       return -1;
+               }
+       }
+
+       /*
+        * Get video information.
+        * Do this last so that any other cursor positioning done
+        * in the fill routine gets accounted for.
+        */
+
+       if (!get_video_info(bp)) goto do_memmap;
+               
+       /* Do the old text mode */
+       efi_status = uefi_call_wrapper(
+               ST->ConOut->QueryMode,
+               4,
+               ST->ConOut,
+               ST->ConOut->Mode->Mode,
+               &cols,
+               &rows);
+
+       if (EFI_ERROR(efi_status)) {
+               ERR_PRT((L"QueryMode failed.  Fake it."));
+               mode = 3;
+               rows = 25;
+               cols = 80;
+               row = 24;
+               col = 0;
+       } else {
+               mode = (UINT8)ST->ConOut->Mode->Mode;
+               col = (UINT8)ST->ConOut->Mode->CursorColumn;
+               row = (UINT8)ST->ConOut->Mode->CursorRow;
+       }
+
+       bp->s.orig_cursor_col = col;
+       bp->s.orig_cursor_row = row;
+       bp->s.orig_video_page = 0;
+       bp->s.orig_video_mode = mode;
+       bp->s.orig_video_cols = (UINT8)cols;
+       bp->s.orig_video_rows = (UINT8)rows;
+
+       bp->s.orig_ega_bx = 0;
+       bp->s.is_vga = 0;
+       bp->s.orig_video_points = 16; 
+
+       bp->s.lfb_width = 0;
+       bp->s.lfb_height = 0;
+       bp->s.lfb_depth = 0;
+       bp->s.lfb_base = 0;
+       bp->s.lfb_size = 0;
+       bp->s.lfb_line_len = 0;
+       bp->s.lfb_red_size = 0;
+       bp->s.lfb_red_pos = 0;
+       bp->s.lfb_green_size = 0;
+       bp->s.lfb_green_pos = 0;
+       bp->s.lfb_blue_size = 0;
+       bp->s.lfb_blue_pos = 0;
+       bp->s.lfb_rsvd_size = 0;
+       bp->s.lfb_rsvd_pos = 0;
+       bp->s.lfb_pages = 0;
+       bp->s.vesa_seg = 0;
+       bp->s.vesa_off = 0;
+
+do_memmap:
+       /*
+        * Get memory map description and cookie for ExitBootServices()
+        */
+
+       if (get_memmap(&mdesc)) {
+               ERR_PRT((L"Could not get memory map."));
+               free_kmem();
+               return -1;
+       }
+       *cookie = mdesc.cookie;
+       bp->s.efi_mem_map = (UINTN)mdesc.md;
+       bp->s.efi_mem_map_size = mdesc.map_size;
+       bp->s.efi_mem_desc_size = mdesc.desc_size;
+       bp->s.efi_mem_desc_ver = mdesc.desc_version;
+       bp->s.efi_sys_tbl = (UINTN)systab;
+       /* Now that we have EFI memory map, convert it to E820 map 
+        * and update the bootparam accordingly
+        */
+       fill_e820map(bp, &mdesc);
+       
+       return 0;
+}