+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>
#
# 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.
#
# 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
OPTIMFLAGS = -O2
DEBUGFLAGS = -Wall
-CFLAGS = $(OPTIMFLAGS) -fpic -fshort-wchar $(DEBUGFLAGS)
+CFLAGS = $(OPTIMFLAGS) -fpic -fshort-wchar $(DEBUGFLAGS)
LDFLAGS = -nostdlib -znocombreloc
INSTALL = install
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'.')
%.o: %.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+# a rule for .S
+%.o: %.S
+ $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
#
# 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.
#
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 \
- 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:
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
IMPORTANT Information related to the gnu-efi package
+ and x86_64 efi support
----------------------------------------------------
August 2003
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
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).
/*
* 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.
*
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;
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 */
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",
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)
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;
/*
* 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.
*
* - 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));
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));
}
/* 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
/*
* 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.
*
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;
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
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;
}
/*
* 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.
*
#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)
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();
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;
}
}
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;
}
/*
* 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.
*
#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
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");
}
--- /dev/null
+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\91V¬\9fbË
+(
+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\91V¬\9fbË
+(
+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 #\96ià
+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\8cC©
+(
+¬gs
+,
+L
+" ");
+
+330
+ `S\8cC©
+(
+¬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\92t \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\8cC©
+(
+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\8cC©
+(
+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\8cC©
+(
+cmdl\9ae
+,
+devÇme
+);
+
+401 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0])
+
+402
+ `S\8cC©
+(
+cmdl\9ae
+,
+\96\9eo_Ýt
+.
+vmcode
+);
+
+404
+ `S\8cC©
+(
+cmdl\9ae
+,
+kÇme
+);
+
+405
+ `S\8cC©
+(
+cmdl\9ae
+,
+L
+" ");
+
+406
+ `S\8cC©
+(
+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\8cC©
+(
+¬gs
+,
+L
+" ");
+
+441
+ `S\8cC©
+(
+¬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\92t \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\8cC©
+(
+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\8cC©
+(
+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\8cC©
+(
+cmdl\9ae
+,
+devÇme
+);
+
+515 ià(
+\96\9eo_Ýt
+.
+vmcode
+[0])
+
+516
+ `S\8cC©
+(
+cmdl\9ae
+,
+\96\9eo_Ýt
+.
+vmcode
+);
+
+518
+ `S\8cC©
+(
+cmdl\9ae
+,
+kÇme
+);
+
+519
+ `S\8cC©
+(
+cmdl\9ae
+,
+L
+" ");
+
+520
+ `S\8cC©
+(
+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 #\96ià
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+L
+"\\n\87nd \\t\87re\82ot\87llowed in quoted strings");
+
+354 \15
+TOK_ERR
+;
+
+356 *
+h\94e
+++ =
+ch
+;
+
+358
+ `cÚfig_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+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_\94rÜ
+(
+L
+"UnkowÀÝtiÚ\81y³ %d",
+p
+->
+ty³
+);
+
+783 ià(
+»t
+ =ð-1è\10
+\94rÜ
+;
+
+785 ià(
+cu¼\92t_img
+) {
+
+786
+»t
+ =
+ `image_check
+(
+cu¼\92t_img
+);
+
+788
+ `cÚfig_\94rÜ
+(
+L
+"No image defined !");
+
+790 ià(
+»t
+ =ð0è»\88ð
+ `f\9a®_check
+();
+
+791
+\94rÜ
+:
+
+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\8cC©
+(
+ÝtiÚs
+,
+glob®_cÚfig
+.
+roÙ
+);
+
+966 ià(
+glob®_cÚfig
+.
+ÝtiÚs
+[0]) {
+
+967
+ `S\8cC©
+(
+ÝtiÚs
+,
+L
+" ");
+
+968
+ `S\8cC©
+(
+ÝtiÚs
+,
+glob®_cÚfig
+.options);
+
+970 ià(
+glob®_cÚfig
+.
+»adÚly
+è
+ `S\8cC©
+(
+Ý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\8cC©
+(
+ÝtiÚs
+,
+L
+"root=");
+
+990
+ `S\8cC©
+(
+ÝtiÚs
+,
+img
+->
+roÙ
+[0] ? img->roÙ :
+glob®_cÚfig
+.root);
+
+993 ià(
+img
+->
+ÝtiÚs
+[0] ||
+glob®_cÚfig
+.options[0]) {
+
+994
+ `S\8cC©
+(
+ÝtiÚs
+,
+L
+" ");
+
+995
+ `S\8cC©
+(
+ÝtiÚs
+,
+img
+->ÝtiÚs[0] ? img->ÝtiÚs:
+glob®_cÚfig
+.options);
+
+997 ià(
+img
+->
+»adÚly
+ ||
+glob®_cÚfig
+.readonly) {
+
+998
+ `S\8cC©
+(
+Ý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_\94rÜ
+;
+
+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_\94rÜ
+;
+
+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_\94rÜ
+;
+
+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_\94rÜ
+:
+
+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_\94rÜ
+;
+
+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_\94rÜ
+;
+
+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
+\94rÜ
+;
+
+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
+\94rÜ
+:
+
+260
+ `ä\93_kmem
+();
+
+261 ià(
+imem
+.
+¡¬t_addr
+è
+ `ä\93
+(imem.start_addr);
+
+262 ià(
+bp
+è
+ `ä\93_boÙ_·¿ms
+(bp);
+
+263
+ex\99_\94rÜ
+:
+
+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\91V¬\9fbË
+(
+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\91V¬\9fbË
+(
+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\8cC©
+(
+Ý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
+\94rÜ
+;
+
+284
+f
+->
+fÝs
+ = fops;
+
+286 *
+fd
+ =
+ `FDESC_IDX
+(
+f
+);
+
+288 \15
+EFI_SUCCESS
+;
+
+289
+\94rÜ
+:
+
+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 #\96ià
+ `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\99m
+;
+
+149
+__u32
+
+ mbg_\9aode_b\99m
+;
+
+150
+__u32
+
+ mbg_\9aode_\8fbË
+;
+
+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\99m
+;
+
+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Ü\91uº
+))
+
+ )
+
+531 \ 1
+ #NORET_AND
+
+nÜ\91uº
+,
+
+ )
+
+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\99m
+ (\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\99m
+ (\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_\94rÜ
+ (\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\99ms
+;
+
+45 \1d\16
+ ms_lßded_block_b\99ms
+;
+
+46 \1d\13
+ ms_\9aode_b\99m_numb\94
+[
+EXT2_MAX_GROUP_LOADED
+];
+
+47 \19
+bufãr_h\97d
+ *
+ ms_\9aode_b\99m
+[
+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\99m
+[
+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
+
+\94rÜ
+
+
+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_\8fbË
+[
+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
+\94rÜ
+;
+
+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
+\94rÜ
+:
+
+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_\8fbË
+[i].
+\9aumb\94
+,\832fs->\9aode_\8fbË[i].
+ä\93
+));
+
+182 ià(
+e2fs
+->
+\9aode_\8fbË
+[
+i
+].
+ä\93
+) {
+
+183
+\99p
+ = &
+e2fs
+->
+\9aode_\8fbË
+[
+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_\8fbË
+),
+
+197 (
+UINTN
+)(
+e2fs
+->
+gds
+[
+group
+].
+bg_\9aode_\8fbË
+), (UINTN)group, (UINTN)
+\9ao
+));
+
+199
+off£t
+ = ((\13è
+e2fs
+->
+gds
+[
+group
+].
+bg_\9aode_\8fbË
+ *\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_\8fbË
+, (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_\8fbË
+)));
+
+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_\8fbË
+)));
+
+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_\8fbË
+[
+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_\8fbË
+[
+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_\8fbË
+[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_\8fbË
+[
+fd
+].
+\9aode
+;
+
+551
+ `Mem£t
+(
+buf
+, 0, \17(*buf));
+
+554
+buf
+->
+¡_\9ao
+ =
+e2fs
+->
+\9aode_\8fbË
+[
+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_\8fbË
+[
+fd
+].
+\9aode
+.
+i_size
+è\15
+EFI_INVALID_PARAMETER
+;
+
+591
+e2fs
+->
+\9aode_\8fbË
+[
+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_\8fbË
+[
+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_\8fbË
+[
+fd
+].pos;
+
+619
+ `DBG_PRT
+((
+L
+"size=%d i_size=%d couÁ=%d\85os=%ld", *
+size
+,
+e2fs
+->
+\9aode_\8fbË
+[
+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
+\94rÜ
+;
+
+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_\8fbË
+[
+fd
+].
+pos
+ +ð*
+size
+;
+
+645
+»t
+ =
+EFI_SUCCESS
+;
+
+646
+\94rÜ
+:
+
+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_\8fbË
+;
+
+713
+ }
+}
+
+715 \18\1e
+ $ext2_þo£
+(
+ext2fs_´iv_¡©e_t
+ *
+e2fs
+, \12
+fd
+)
+
+718 ià(&
+e2fs
+->
+\9aode_\8fbË
+[
+fd
+].
+\9aode
+ !ðe2fs->
+roÙ_\9aode
+)
+
+719
+ `ext2_\9dut
+(
+e2fs
+, &e2fs->
+\9aode_\8fbË
+[
+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_\8fbË
+[
+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_\8fbË
+[
+i
+].
+ä\93
+ = 1;
+
+834
+e2fs
+->
+\9aode_\8fbË
+[
+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\99iÚ
+ ?
+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\99iÚ
+ =ð
+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/£mhÜ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
+£mhÜ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
+£mhÜ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
+£mhÜe
+
+i_£m
+;
+
+428 \19
+£mhÜ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_mp\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_\94rÜ
+;
+
+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
+£mhÜe
+
+dqio_£m
+;
+
+622 \19
+£mhÜ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_£mhÜe
+
+s_umouÁ
+;
+
+674 \19
+£mhÜ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
+£mhÜe
+
+s_vfs_»Çme_£m
+;
+
+722 \19
+£mhÜ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_\94rÜ
+(\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
+\94rÜ
+)
+
+1161 \15 (\1e*è
+\94rÜ
+;
+
+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\94rÜ
+;
+
+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_\8fbË
+(
+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
+£mhÜe
+ *
+s1
+, \19£mhÜ\90*
+s2
+)
+
+1397 ià(
+s1
+ !ð
+s2
+) {
+
+1398 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1399 \19
+£mhÜe
+ *
+tmp
+ =
+s2
+;
+
+1400
+s2
+ =
+s1
+; s1 =
+tmp
+;
+
+1402
+ `down
+(
+s1
+);
+
+1404
+ `down
+(
+s2
+);
+
+1405
+ }
+}
+
+1416 \18
+\9al\9ae
+ \1e
+ $\8c\9dË_down
+(\19
+£mhÜe
+ *
+s1
+,
+
+1417 \19
+£mhÜe
+ *
+s2
+,
+
+1418 \19
+£mhÜe
+ *
+s3
+)
+
+1420 ià(
+s1
+ !ð
+s2
+) {
+
+1421 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1422 ià((\1d\13è
+s1
+ < (\1d\13è
+s3
+) {
+
+1423 \19
+£mhÜe
+ *
+tmp
+ =
+s3
+;
+
+1424
+s3
+ =
+s1
+; s1 =
+tmp
+;
+
+1426 ià((\1d\13è
+s1
+ < (\1d\13è
+s2
+) {
+
+1427 \19
+£mhÜe
+ *
+tmp
+ =
+s2
+;
+
+1428
+s2
+ =
+s1
+; s1 =
+tmp
+;
+
+1431 ià((\1d\13è
+s1
+ < (\1d\13è
+s3
+) {
+
+1432 \19
+£mhÜe
+ *
+tmp
+ =
+s3
+;
+
+1433
+s3
+ =
+s1
+; s1 =
+tmp
+;
+
+1435 ià((\1d\13è
+s2
+ < (\1d\13è
+s3
+) {
+
+1436 \19
+£mhÜe
+ *
+tmp
+ =
+s3
+;
+
+1437
+s3
+ =
+s2
+; s2 =
+tmp
+;
+
+1440
+ `down
+(
+s1
+);
+
+1441 } \vià((\1d\13è
+s2
+ < (\1d\13è
+s3
+) {
+
+1442 \19
+£mhÜe
+ *
+tmp
+ =
+s3
+;
+
+1443
+s3
+ =
+s2
+; s2 =
+tmp
+;
+
+1445
+ `down
+(
+s2
+);
+
+1446
+ `down
+(
+s3
+);
+
+1447
+ }
+}
+
+1449 \18
+\9al\9ae
+ \1e
+ $doubË_up
+(\19
+£mhÜe
+ *
+s1
+, \19£mhÜ\90*
+s2
+)
+
+1451
+ `up
+(
+s1
+);
+
+1452 ià(
+s1
+ !ð
+s2
+)
+
+1453
+ `up
+(
+s2
+);
+
+1454
+ }
+}
+
+1456 \18
+\9al\9ae
+ \1e
+ $\8c\9dË_up
+(\19
+£mhÜe
+ *
+s1
+,
+
+1457 \19
+£mhÜe
+ *
+s2
+,
+
+1458 \19
+£mhÜ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\99iÚ
+(
+ `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\8cC©
+(
+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 #\96ià
+ `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\8cC©
+(
+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)è
+ `\94rÜ
+(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
+\94rÜ
+(\ 5*
+m
+);
+
+94 \18\13
+ gby\8bs_out
+;
+
+96 \18\1e
+\94rÜ
+(\ 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
+ $\94rÜ
+(\ 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)è
+ `\94rÜ
+(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
+\94rÜ
+(\ 5*
+m
+);
+
+131 \18\13
+ gby\8bs_out
+;
+
+132 \18\1e
+\94rÜ
+(\ 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
+ `\94rÜ
+("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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+394
+\94rÜ
+:
+
+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
+ `\94rÜ
+("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
+ $\94rÜ
+(\ 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
+\94rÜ
+;
+
+538
+\9aput_fd
+ =
+fd
+;
+
+539
+\9asize
+ = 0;
+
+540
+by\8bs_out
+ = 0;
+
+542
+»t
+ =
+ `decom´ess_k\94Ãl
+();
+
+543
+\94rÜ
+:
+
+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
+\94rÜ
+;
+
+52
+»t
+ =
+ `gz\9d_´obe
+(
+buf
+, \17(buf));
+
+53
+\94rÜ
+:
+
+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
+\94rÜ
+;
+
+79
+»t
+ =
+ `is_v®id_h\97d\94
+(&
+ehdr
+);
+
+80
+\94rÜ
+:
+
+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
+
+ mm_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
+
+ mm_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)è
+ `\94rÜ
+(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
+\94rÜ
+(\ 5*
+m
+);
+
+135 \18\13
+ gby\8bs_out
+;
+
+137 \18\1e
+\94rÜ
+(\ 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
+ `\94rÜ
+("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
+ $bsw64
+(
+UINT64
+
+v
+)
+
+231 if(
+\96f_is_big_\92d\9fn
+è
+v
+ =
+ `__\9f64_swab64
+(v);
+
+232 \15
+v
+;
+
+233
+ }
+}
+
+235 \18
+\9al\9ae
+
+UINT32
+
+
+236
+ $bsw32
+(
+UINT32
+
+v
+)
+
+238 if(
+\96f_is_big_\92d\9fn
+è
+v
+ =
+ `__\9f64_swab32
+(v);
+
+239 \15
+v
+;
+
+240
+ }
+}
+
+242 \18
+\9al\9ae
+
+UINT16
+
+
+243
+ $bsw16
+(
+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
+ =
+ `bsw64
+(
+\96f
+->
+e_phoff
+);
+
+333
+phnum
+ =
+ `bsw16
+(
+\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",
+ `bsw64
+(
+\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",
+ `bsw16
+(
+\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*)
+ `bsw64
+(
+\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
+ =
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+382
+memsz
+ =
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_memsz
+),
+
+384
+chunks
+[
+i
+].
+addr
+ =
+·ddr
+;
+
+385
+chunks
+[
+i
+].
+off£t
+ =
+ `bsw64
+(
+phdrs
+[i].
+p_off£t
+);
+
+386
+chunks
+[
+i
+].
+size
+ =
+ `bsw64
+(
+phdrs
+[i].
+p_f\9eesz
+);
+
+387
+chunks
+[
+i
+].
+bss_sz
+ =
+ `bsw64
+(
+phdrs
+[i].
+p_memsz
+è- bsw64Õhdrs[i].
+p_f\9eesz
+);
+
+389
+ `CHUNK_VALIDATE
+(
+i
+);
+
+391 ià(
+ `bsw32
+(
+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à(
+ `bsw32
+(
+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
++
+ `bsw64
+(
+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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+491
+\94rÜ
+:
+
+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è
+ `\94rÜ
+("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
+ $\94rÜ
+(\ 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
+\94rÜ
+;
+
+639
+\9aput_fd
+ =
+fd
+;
+
+640
+\9asize
+ = 0;
+
+641
+by\8bs_out
+ = 0;
+
+643 ià(
+ `£tjmp
+(
+jbuf
+è=ð1è\10
+\94rÜ
+;
+
+646
+»t
+ =
+ `decom´ess_k\94Ãl
+();
+
+648
+\94rÜ
+:
+
+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
+\94rÜ
+;
+
+52
+»t
+ =
+ `gz\9d_´obe
+(
+buf
+, \17(buf));
+
+53
+\94rÜ
+:
+
+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
+ $bsw64
+(
+UINT64
+
+v
+)
+
+49 if(
+\96f_is_big_\92d\9fn
+è
+v
+ =
+ `__\9f64_swab64
+(v);
+
+50 \15
+v
+;
+
+51
+ }
+}
+
+53 \18
+\9al\9ae
+
+UINT32
+
+
+54
+ $bsw32
+(
+UINT32
+
+v
+)
+
+56 if(
+\96f_is_big_\92d\9fn
+è
+v
+ =
+ `__\9f64_swab32
+(v);
+
+57 \15
+v
+;
+
+58
+ }
+}
+
+60 \18
+\9al\9ae
+
+UINT16
+
+
+61
+ $bsw16
+(
+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
+\94rÜ
+;
+
+110
+»t
+ =
+ `is_v®id_h\97d\94
+(&
+ehdr
+);
+
+111
+\94rÜ
+:
+
+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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+148
+sk\9d
+ -=
+n
+;
+
+152
+\94rÜ
+:
+
+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",
+ `bsw64
+(
+ehdr
+.
+e_\92\8cy
+));
+
+196
+ `Pr\9at
+(
+L
+"%d\85rog¿m h\97d\94s\n",
+ `bsw16
+(
+ehdr
+.
+e_phnum
+));
+
+197
+ `Pr\9at
+(
+L
+"%d segm\92\88h\97d\94s\n",
+ `bsw16
+(
+ehdr
+.
+e_shnum
+));
+
+200
+phnum
+ =
+ `bsw16
+(
+ehdr
+.
+e_phnum
+);
+
+202 ià(
+ `sk\9d_by\8bs
+(
+fd
+,
+offs
+,
+ `bsw64
+(
+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
+ =
+ `bsw64
+(
+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
+),
+ `bsw16
+(
+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
+ =
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_·ddr
+);
+
+232
+memsz
+ =
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_memsz
+);
+
+234
+ `DBG_PRT
+((
+L
+"Phdr %d\85addr [0x%lx-0x%lx] offset %ld"
+
+236 1+
+i
+,
+
+237
+·ddr
+,
+
+238
+·ddr
++
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+),
+
+239
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_off£t
+),
+
+240
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+),
+
+241
+memsz
+,
+
+242
+memsz
+ -
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+),
+ `bsw32
+Õhdrs[i].
+p_ty³
+)));
+
+244 ià(
+ `bsw32
+(
+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
+ *)
+ `bsw64
+(
+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à(
+ `bsw32
+(
+phdrs
+[
+i
+].
+p_ty³
+è!ð
+PT_LOAD
+) \ 6;
+
+349
+poffs
+ =
+ `bsw64
+(
+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
+ =
+ `bsw64
+(
+phdrs
+[
+i
+].
+p_f\9eesz
+);
+
+359
+phdrs
+[
+i
+].
+p_·ddr
+ = (
+Elf64_Addr
+è((
+UINTN
+è
+ `bsw64
+Õ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
+ =
+ `bsw64
+(
+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à(
+ `bsw32
+(
+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
+\94rÜ
+;
+
+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
+\94rÜ
+:
+
+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
+ `\94rÜ
+(" 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
+ `\94rÜ
+(" 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
+ `\94rÜ
+("bad gzip magic\82umbers");
+
+1079 ià(
+m\91hod
+ != 8) {
+
+1080
+ `\94rÜ
+("internal\83rror, invalid method");
+
+1084
+æags
+ = (
+uch
+)
+ `g\91_by\8b
+();
+
+1085 ià((
+æags
+ &
+ENCRYPTED
+) != 0) {
+
+1086
+ `\94rÜ
+("Input is\83ncrypted\n");
+
+1089 ià((
+æags
+ &
+CONTINUATION
+) != 0) {
+
+1090
+ `\94rÜ
+("Multi\85art input\n");
+
+1093 ià((
+æags
+ &
+RESERVED
+) != 0) {
+
+1094
+ `\94rÜ
+("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
+ `\94rÜ
+("invalid compressed format (err=1)");
+
+1131
+ `\94rÜ
+("invalid compressed format (err=2)");
+
+1134
+ `\94rÜ
+("out of memory");
+
+1137
+ `\94rÜ
+("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
+ `\94rÜ
+("crc\83rror");
+
+1161 ià(
+Üig_Ën
+ !ð
+by\8bs_out
+) {
+
+1162
+ `\94rÜ
+("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
+\94rÜ
+;
+
+69
+image
+->
+size
+ = size;
+
+72
+image
+->
+pgút
+ =\85gú\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
+\94rÜ
+;
+
+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
+\94rÜ
+;
+
+95
+ `Pr\9at
+(
+L
+"done\n");
+
+97
+image
+->
+¡¬t_addr
+ = start_addr;
+
+99 \15
+ELILO_LOAD_SUCCESS
+;
+
+101
+\94rÜ
+:
+
+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 #\96ià
+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_\94rÜ
+(\ 5*
+fmt
+,...è
+ `__©\8cibu\8b__
+((
+nÜ\91uº
+));
+
+97
+ $ç\8fl_\94rÜ
+(\ 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_\94rÜ
+("This\85rogram must be\84un\87s\84oot\n");
+
+132
+efi_v¬s
+ =
+ `Ý\92d\9c
+(
+EFIVAR_DIR
+);
+
+133 ià(
+efi_v¬s
+ =ð
+NULL
+) {
+
+134
+ `ç\8fl_\94rÜ
+("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_\94rÜ
+("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_\94rÜ
+("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_\94rÜ
+("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_\94rÜ
+("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_\94rÜ
+("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_\94rÜ
+("invalid cmdline\87rgument\n");
+
+226
+l
+ =
+ `¡¾\92
+(
+cmdl\9ae
+);
+
+228 ià(
+l
+ >= 1024) {
+
+229
+ `ç\8fl_\94rÜ
+("Variable content is\81oo\86ong, must be <= 512 characters\n");
+
+232
+fd
+ =
+ `ݒ
+(
+Çme
+,
+O_WRONLY
+);
+
+233 ià(
+fd
+ == -1) {
+
+234
+ `ç\8fl_\94rÜ
+("ÿ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_\94rÜ
+("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_\94rÜ
+("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/£mhÜe.h
+>
+
+11 \ 2
+ ~<asm-i386/£mhÜ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\96i¡
+,
+
+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\96i¡
+,
+
+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\96i¡
+,
+
+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_m2blk
+;
+
+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_mp\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_\8fbË
+ *
+ 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Ü\91uº
+))
+
+ )
+
+39 \ 1
+ #NORET_AND
+
+nÜ\91uº
+,
+
+ )
+
+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/£mhÜ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
+ $£\8dg½
+ (\1eè
+__THROW
+;
+
+598 #ifdeà
+__REDIRECT_NTH
+
+
+599 \r\12
+ `__REDIRECT_NTH
+ (
+£\8dg½
+, (
+__pid_t
+
+__pid
+, __pid_\88
+__pg½
+),
+£\8dgid
+);
+
+601 \ 1
+ #£\8dg½
+
+£\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£\8dg½
+ (\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\99m
+, \1d\13
+i
+,
+
+288 \12
+Ën
+)
+
+290 \1d\13
+\92d
+ =
+i
+ +
+Ën
+;
+
+291 \1f
+i
+ <
+\92d
+) {
+
+292
+ `__£t_b\99
+(
+i
+,
+b\99m
+);
+
+293
+i
+++;
+
+295
+ }
+}
+
+297 \18
+\9al\9ae
+ \1e
+ $__þ\97r_b\99_¡r\9ag
+(\1d\13*
+b\99m
+, \1d\13
+i
+,
+
+298 \12
+Ën
+)
+
+300 \1d\13
+\92d
+ =
+i
+ +
+Ën
+;
+
+301 \1f
+i
+ <
+\92d
+) {
+
+302
+ `__þ\97r_b\99
+(
+i
+,
+b\99m
+);
+
+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\8bx©\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 #\96ià
+__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 #\96ià
+__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 #\96ià
+__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 #\96ià
+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 #\96ià
+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 #\96ià
+__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 #\96ià
+__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 #\96ià
+_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 \ 1cڡ
+
+ )
+
+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_\94rÜ
+,
+
+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\8fbË
+;
+
+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\99iÚ
+è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
+ *
+__\9afÝ
+,
+
+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
+
+__mm64
+
+
+ )
+
+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 #\96ià
+ 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\8bx©\8c_t
+
+__©\8c
+; \
+
+151
+ `__±h»ad_mu\8bx©\8c_\9a\99
+ (&
+__©\8c
+); \
+
+152
+ `__±h»ad_mu\8bx©\8c_£\89y³
+ (&
+__©\8c
+,
+PTHREAD_MUTEX_RECURSIVE_NP
+); \
+
+153
+ `__±h»ad_mu\8bx_\9a\99
+ (&(
+NAME
+).
+mu\8bx
+, &
+__©\8c
+); \
+
+154
+ `__±h»ad_mu\8bx©\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\8bx©\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\8bx©\8c_\9a\99
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+);
+
+308 \r\12
+__±h»ad_mu\8bx©\8c_de¡roy
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+);
+
+310 \r\12
+__±h»ad_mu\8bx©\8c_£\89y³
+ (
+±h»ad_mu\8bx©\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\8bx©\8c_\9a\99
+))
+
+362
+ `w\97k_ex\8bº
+ (
+ $BP_SYM
+ (
+__±h»ad_mu\8bx©\8c_de¡roy
+))
+
+363
+ `w\97k_ex\8bº
+ (
+ $BP_SYM
+ (
+__±h»ad_mu\8bx©\8c_£\89y³
+))
+
+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\8bx©\8c_\9a\99
+
+
+388 #´agm¨
+w\97k
+
+__±h»ad_mu\8bx©\8c_de¡roy
+
+
+389 #´agm¨
+w\97k
+
+__±h»ad_mu\8bx©\8c_£\89y³
+
+
+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\8bx©\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\8bx©\8c_\9a\99
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+è
+__THROW
+;
+
+363 \r\12
+ $±h»ad_mu\8bx©\8c_de¡roy
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+è
+__THROW
+;
+
+366 \r\12
+ $±h»ad_mu\8bx©\8c_g\91psh¬ed
+ (
+__cڡ
+
+±h»ad_mu\8bx©\8c_t
+ *
+
+367
+__»¡riù
+
+__©\8c
+,
+
+368 \12*
+__»¡riù
+
+__psh¬ed
+è
+__THROW
+;
+
+371 \r\12
+ $±h»ad_mu\8bx©\8c_£\8dsh¬ed
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+,
+
+372 \12
+__psh¬ed
+è
+__THROW
+;
+
+374 #ifdeà
+__USE_UNIX98
+
+
+378 \r\12
+ $±h»ad_mu\8bx©\8c_£\89y³
+ (
+±h»ad_mu\8bx©\8c_t
+ *
+__©\8c
+, \12
+__k\9ad
+)
+
+379
+__THROW
+;
+
+382 \r\12
+ $±h»ad_mu\8bx©\8c_g\91ty³
+ (
+__cڡ
+
+±h»ad_mu\8bx©\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\8cno
+;
+
+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\8cno
+;
+
+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
--------------------------------------------------------------------
- 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
--------------------
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
------------------
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.
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
-----------------------------
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
-------
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
-----------
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/
#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.
/*
- * 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>.
* 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
#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;
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);
#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;
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;
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;
* 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
*/
/*
* 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.
*
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 */
#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
/*
* 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);
*/
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) {
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);
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;
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,
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));
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);
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;
/*
* 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.
*
* let's be clean here
*/
typedef union {
- EFI_HANDLE *dev;
+ EFI_HANDLE dev;
localfs_t *intf;
} dev_tab_t;
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);
}
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
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
*sz = info->FileSize;
- FreePool(info);
+ uefi_call_wrapper(BS->FreePool, 1, info);
return EFI_SUCCESS;
}
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
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;
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;
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));
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);
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;
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);
}
/*
* 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.
*
{
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);
*/
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,
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);
}
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;
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));
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);
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;
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);
}
* 02111-1307, USA.
*/
-
#include <efi.h>
#include <efilib.h>
#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;
/*
* 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.
*
# 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
/*
* 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.
*
#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__ */
* 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);
}
inline VOID
reset_input(VOID)
{
- systab->ConIn->Reset(systab->ConIn, 1);
+ uefi_call_wrapper(systab->ConIn->Reset,
+ 2,
+ systab->ConIn,
+ 1);
}
#if 0
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;
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;
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;
* 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;
}
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;
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);
--- /dev/null
+#
+# 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
--- /dev/null
+#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;
+}
--- /dev/null
+/*
+ * 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
+};
--- /dev/null
+/*
+ * 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;
+}
--- /dev/null
+/*
+ * 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;
+}
--- /dev/null
+/*
+ * 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__ */
--- /dev/null
+/*
+ * 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
+};
--- /dev/null
+#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;
+}
+
+
--- /dev/null
+/*
+ * 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;
+}*/
+
--- /dev/null
+/*
+ * 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__ */
+
--- /dev/null
+#
+# 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
--- /dev/null
+/*
+ * 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__ */
--- /dev/null
+/*
+ * 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;
+}