From 16046e999119dc1f5b5f787e833836617a6fa189 Mon Sep 17 00:00:00 2001 From: Omar Vega Ramos Date: Apr 03 2021 00:47:40 +0000 Subject: systemd-248-1.parabola1: updating version --- diff --git a/libre/systemd/0001-Use-Arch-Linux-device-access-groups.patch b/libre/systemd/0001-Use-Arch-Linux-device-access-groups.patch index ccc9ad2..3abb448 100644 --- a/libre/systemd/0001-Use-Arch-Linux-device-access-groups.patch +++ b/libre/systemd/0001-Use-Arch-Linux-device-access-groups.patch @@ -1,17 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 6 Mar 2018 23:39:47 +0100 Subject: [PATCH] Use Arch Linux' device access groups +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit cdrom → optical dialout → uucp tape → storage --- rules.d/50-udev-default.rules.in | 14 +++++++------- - sysusers.d/basic.conf.in | 6 +++--- + sysusers.d/basic.conf.in | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in -index 191f56f42..f81c4d0fc 100644 +index edfa8bb107..35b8d4ba41 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in @@ -22,7 +22,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" @@ -23,7 +27,7 @@ index 191f56f42..f81c4d0fc 100644 SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" -@@ -57,13 +57,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" +@@ -62,13 +62,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp" SUBSYSTEM=="block", GROUP="disk" @@ -44,10 +48,10 @@ index 191f56f42..f81c4d0fc 100644 KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control" diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in -index 8e358c02d..33e513a36 100644 +index 4be0bd869e..cc3721b58a 100644 --- a/sysusers.d/basic.conf.in +++ b/sysusers.d/basic.conf.in -@@ -24,14 +24,14 @@ g utmp - - - +@@ -24,15 +24,15 @@ g utmp - - - # Hardware access groups g audio - - - @@ -59,6 +63,7 @@ index 8e358c02d..33e513a36 100644 g lp - - - +g optical - - - g render - - - + g sgx - - - -g tape - - - +g storage - - - +g uucp - - - diff --git a/libre/systemd/0002-Disable-SYSTEMD_URLIFY-by-default.patch b/libre/systemd/0002-Disable-SYSTEMD_URLIFY-by-default.patch new file mode 100644 index 0000000..b2f04ee --- /dev/null +++ b/libre/systemd/0002-Disable-SYSTEMD_URLIFY-by-default.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 29 Mar 2021 00:12:34 +0000 +Subject: [PATCH] Disable SYSTEMD_URLIFY by default + +Until https://github.com/gwsw/less/issues/140 is fixed. +--- + src/shared/pretty-print.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/pretty-print.c b/src/shared/pretty-print.c +index 0f02f32760..1d0f9901dd 100644 +--- a/src/shared/pretty-print.c ++++ b/src/shared/pretty-print.c +@@ -28,7 +28,7 @@ bool urlify_enabled(void) { + if (val >= 0) + cached_urlify_enabled = val; + else +- cached_urlify_enabled = colors_enabled(); ++ cached_urlify_enabled = 0; + } + + return cached_urlify_enabled; diff --git a/libre/systemd/0005-FSDG-systemd-resolved-Fallback-hostname-to-gnu-linux.patch b/libre/systemd/0005-FSDG-systemd-resolved-Fallback-hostname-to-gnu-linux.patch index 5e170ce..2c38cc7 100644 --- a/libre/systemd/0005-FSDG-systemd-resolved-Fallback-hostname-to-gnu-linux.patch +++ b/libre/systemd/0005-FSDG-systemd-resolved-Fallback-hostname-to-gnu-linux.patch @@ -12,18 +12,23 @@ diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index 01372fc66b..9155ce5c2e 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c -@@ -387,10 +387,10 @@ static int determine_hostname(char **full_hostname, char **llmnr_hostname, char - static const char *fallback_hostname(void) { +@@ -388,7 +388,7 @@ + static char* fallback_hostname(void) { - /* Determine the fall back hostname. For exposing this system to the outside world, we cannot have it to be -- * "localhost" even if that's the compiled in hostname. In this case, let's revert to "linux" instead. */ -+ * "localhost" even if that's the compiled in hostname. In this case, let's revert to "gnu-linux" instead. */ + /* Determine the fall back hostname. For exposing this system to the outside world, we cannot have it +- * to be "localhost" even if that's the default hostname. In this case, let's revert to "linux" ++ * to be "localhost" even if that's the default hostname. In this case, let's revert to "gnu-linux" + * instead. */ - if (is_localhost(FALLBACK_HOSTNAME)) -- return "linux"; -+ return "gnu-linux"; + _cleanup_free_ char *n = get_default_hostname(); +@@ -396,7 +396,7 @@ + return NULL; - return FALLBACK_HOSTNAME; + if (is_localhost(n)) +- return strdup("linux"); ++ return strdup("gnu-linux"); + + return TAKE_PTR(n); } -- 2.18.0 diff --git a/libre/systemd/PKGBUILD b/libre/systemd/PKGBUILD index 2f4d7ad..4c8f04b 100644 --- a/libre/systemd/PKGBUILD +++ b/libre/systemd/PKGBUILD @@ -11,9 +11,10 @@ pkgname+=('systemd-common' 'systemd-udev') # We split Arch's systemd-libs into systemd-$X, for the following $X: _systemd_libs=('libsystemd' 'libudev' 'nss-systemd' 'nss-myhostname' 'nss-mymachines' 'nss-resolve') pkgname+=("${_systemd_libs[@]/#/systemd-}") -_tag='f948f652768a5279087e13961ebb87f345626e2e' # git rev-parse v${pkgver} -pkgver=247.4 -pkgrel=2 +_tag='e13126bd95857eb9344e030edbb4c603aab63884' # git rev-parse v${_tag_name} +_tag_name=248 +pkgver="${_tag_name/-/}" +pkgrel=1 pkgrel+=.parabola1 arch=('x86_64') arch+=('i686' 'armv7h' 'ppc64le') @@ -23,15 +24,16 @@ makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' 'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers' 'python-lxml' 'quota-tools' 'shadow' 'git' 'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon' - 'bash-completion' 'p11-kit' 'systemd') + 'bash-completion' 'p11-kit' 'systemd' 'libfido2') makedepends_i686=('gnu-efi-libs' 'pkgconf') makedepends_x86_64=('gnu-efi-libs') options=('strip') validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed" - "git+https://github.com/systemd/systemd#tag=v${pkgver%.*}?signed" + "git+https://github.com/systemd/systemd#tag=v${_tag_name%.*}?signed" '0001-Use-Arch-Linux-device-access-groups.patch' + '0002-Disable-SYSTEMD_URLIFY-by-default.patch' 'initcpio-hook-udev' 'initcpio-install-systemd' 'initcpio-install-udev' @@ -56,13 +58,13 @@ source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed" '0004-FSDG-os-release-Default-ID-to-gnu-linux-instead-of-l.patch' '0005-FSDG-systemd-resolved-Fallback-hostname-to-gnu-linux.patch' '0006-FSDG-man-Use-FSDG-operating-systems-as-examples.patch' - '0007-FSDG-bootctl-Say-Systemd-Boot-Manager-instead-of-Lin.patch' - 'systemd-gnu-efi.patch') + '0007-FSDG-bootctl-Say-Systemd-Boot-Manager-instead-of-Lin.patch') sha512sums=('SKIP' 'SKIP' - 'e38c7c422c82953f9c2476a5ab8009d614cbec839e4088bff5db7698ddc84e3d8ed64f32ed323f57b1913c5c9703546f794996cb415ed7cdda930b627962a3c4' + '882e486b6d88c8bafc50088845e41a49686e98981967f72ca1fb4ef07a01767400632f4b648fd31857d2a2a24a8fd65bcc2a8983284dd4fff2380732741d4c41' + '313f3d6cc3d88f718509007e029213a82d84b196afdadc6ef560580acf70ab480aaecd7622f51726cc1af7d7841c6ec5390f72890b055a54fc74722341395651' 'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73' - '8e76f8334b95ce7fee9190f4a1016b16109f3a75b68635fc227b2b4791cf8179ef09b532b66b4ed885ddf98ed76befed3106f3c3088f1819ed8cdf4c13e0805a' + '6e21d05ca620491ee604f29cfa15d3d03565342939a0391f496c42ab4b2cd056070bd0504160c6c931af722d3dcd59197a0032ca95c6dd905ee2018a0f8ae148' 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a' '70b3f1d6aaa9cd4b6b34055a587554770c34194100b17b2ef3aaf4f16f68da0865f6b3ae443b3252d395e80efabd412b763259ffb76c902b60e23b6b522e3cc8' '6c6f579644ea2ebb6b46ee274ab15110718b0de40def8c30173ba8480b045d403f2aedd15b50ad9b96453f4ad56920d1350ff76563755bb9a80b10fa7f64f1d9' @@ -83,17 +85,14 @@ sha512sums=('SKIP' '3536a497e4d6cfae76296be7bf903c7645d6a85f96f57256196282f91d3845876d74ca121efeb81df8d524ec3c53f614157a90d213a5d3c4bb14958be701fff9' 'fd0df3d365892d4d461a78bb0b728201e81c1269af07a38e134fadfc0ffb29aade7642142d128abcf88803b86494d7629ff5990359ef067feea3d476c7238a67' 'e9e884015a40dc796fd8cbd8f79b3b9eebc7e48a332b22d52104c21c492be9982b35b7dd30bc29f2c2d274707ffd043eda059659844a4cd50eb433b8a3f7648c' - '0d6b894149ec8d0612d1be1dee5daa1768345232e450435ddc750e36a8309dd96782a92f0220169c69103b1c4632af708e4a737cb7ba817944c92dcb61379a30' + 'c6a8a56c54415a266dcb57cc24fd91d085ca7298aca6b522e626f41ed216b13c9695ff4d209f7e60d24fb5e65e40ef5151c8d95db6950eda8a4150d28fcd56be' '34acbb7c47b5ccd14adb6982b734cd718d478e3caf3b7f4e15795c3ba39f3c3f03b0a3f8f5a0c29b4342cd923f892daf55dd22598392900946ea8d185c706c78' - '28a5b3fc9e2c5cec9267bb96725c73ee77788514f140c0cf8df765af64bc8130dd02f4863d9128ac45d54256b2ab4f2b06d1a3f65660ce1dfba5727618cd1839' - 'e4e2bb0b0777a297a4c2b32b35a9a7c03e4de2ccf00f44454f1dcf0f441ba41f20d812d4771863612143a7e9b1df5e40e91b05e98de415e354b008fece3ca4da') + '28a5b3fc9e2c5cec9267bb96725c73ee77788514f140c0cf8df765af64bc8130dd02f4863d9128ac45d54256b2ab4f2b06d1a3f65660ce1dfba5727618cd1839') _backports=( ) _reverts=( - # resolved: gracefully handle with packets with too large RR count - 'fdfffdaf20a18a50c9a6d858359cf4af6d2f4c8b' ) prepare() { @@ -114,8 +113,9 @@ prepare() { # Replace cdrom/dialout/tape groups with optical/uucp/storage patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch - # Fix FS#70046 - patch -Np1 -i ../systemd-gnu-efi.patch + + # https://github.com/gwsw/less/issues/140 + patch -Np1 -i ../0002-Disable-SYSTEMD_URLIFY-by-default.patch # apply FSDG patches local _patch @@ -160,9 +160,10 @@ build() { -Ddbuspolicydir=/usr/share/dbus-1/system.d -Ddefault-dnssec=no - -Ddefault-hierarchy=hybrid + -Ddefault-hierarchy=unified -Ddefault-kill-user-processes=false -Ddefault-locale=C + -Dlocalegen-path=/usr/bin/locale-gen -Ddns-over-tls=openssl -Dfallback-hostname='parabola' -Dnologin-path=/usr/bin/nologin @@ -244,7 +245,8 @@ package_systemd() { 'quota-tools: kernel-level quota management' 'systemd-sysvcompat: symlink package to provide sysvinit binaries' 'polkit: allow administration as unprivileged user' - 'curl: machinectl pull-tar and pull-raw') + 'curl: machinectl pull-tar and pull-raw' + 'libfido2: unlocking LUKS2 volumes') backup=(etc/pam.d/systemd-user etc/systemd/coredump.conf etc/systemd/homed.conf @@ -253,6 +255,7 @@ package_systemd() { etc/systemd/journal-upload.conf etc/systemd/logind.conf etc/systemd/networkd.conf + etc/systemd/oomd.conf etc/systemd/pstore.conf etc/systemd/resolved.conf etc/systemd/sleep.conf @@ -353,7 +356,7 @@ package_systemd-libs() { package_systemd-libsystemd() { pkgdesc='systemd client library' - depends=('glibc' 'libcap' 'libcap.so' 'libgcrypt' 'lz4' 'xz' 'zstd') + depends=('glibc' 'libcap' 'libcap.so' 'libgcrypt' 'libp11-kit' 'lz4' 'xz' 'zstd') license=('LGPL2.1') provides=('libsystemd.so') diff --git a/libre/systemd/initcpio-install-systemd b/libre/systemd/initcpio-install-systemd index 1884652..7c2c86c 100644 --- a/libre/systemd/initcpio-install-systemd +++ b/libre/systemd/initcpio-install-systemd @@ -125,6 +125,7 @@ build() { # udev rules and systemd units map add_udev_rule "$rules" \ 50-udev-default.rules \ + 60-fido-id.rules \ 60-persistent-storage.rules \ 64-btrfs.rules \ 80-drivers.rules \ @@ -163,6 +164,17 @@ build() { rescue.target \ emergency.target + # add libraries dlopen()ed by systemd and its tools + for LIB in fido2; do + for FILE in $(find /usr/lib/ -name "lib${LIB}.so*"); do + if [[ -L "${FILE}" ]]; then + add_symlink "${FILE}" + else + add_binary "${FILE}" + fi + done + done + add_symlink "/usr/lib/systemd/system/default.target" "initrd.target" add_symlink "/usr/lib/systemd/system/ctrl-alt-del.target" "reboot.target" diff --git a/libre/systemd/systemd-gnu-efi.patch b/libre/systemd/systemd-gnu-efi.patch deleted file mode 100644 index d7a70f4..0000000 --- a/libre/systemd/systemd-gnu-efi.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff -rauN systemd/src/boot/efi/console.c systemd-gnu-efi-patch/src/boot/efi/console.c ---- systemd/src/boot/efi/console.c 2021-03-18 08:29:47.379875918 +0100 -+++ systemd-gnu-efi-patch/src/boot/efi/console.c 2021-03-18 08:31:44.879432904 +0100 -@@ -9,63 +9,8 @@ - #define SYSTEM_FONT_WIDTH 8 - #define SYSTEM_FONT_HEIGHT 19 - --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \ -- { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } } -- --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; -- --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)( -- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -- BOOLEAN ExtendedVerification --); -- --typedef UINT8 EFI_KEY_TOGGLE_STATE; -- --typedef struct { -- UINT32 KeyShiftState; -- EFI_KEY_TOGGLE_STATE KeyToggleState; --} EFI_KEY_STATE; -- --typedef struct { -- EFI_INPUT_KEY Key; -- EFI_KEY_STATE KeyState; --} EFI_KEY_DATA; -- --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)( -- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -- EFI_KEY_DATA *KeyData --); -- --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)( -- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -- EFI_KEY_TOGGLE_STATE *KeyToggleState --); -- --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)( -- EFI_KEY_DATA *KeyData --); -- --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)( -- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -- EFI_KEY_DATA KeyData, -- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction, -- VOID **NotifyHandle --); -- --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)( -- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -- VOID *NotificationHandle --); -- --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL { -- EFI_INPUT_RESET_EX Reset; -- EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx; -- EFI_EVENT WaitForKeyEx; -- EFI_SET_STATE SetState; -- EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify; -- EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify; --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; -- -+#define EFI_SIMPLE_TEXT_INPUT_EX_GUID &(EFI_GUID) EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID -+ - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) { - EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID; - static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx; -diff -rauN systemd/src/boot/efi/console.h systemd-gnu-efi-patch/src/boot/efi/console.h ---- systemd/src/boot/efi/console.h 2021-03-18 08:29:47.379875918 +0100 -+++ systemd-gnu-efi-patch/src/boot/efi/console.h 2021-03-18 08:32:00.926039744 +0100 -@@ -1,12 +1,8 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - #pragma once - --#define EFI_SHIFT_STATE_VALID 0x80000000 --#define EFI_RIGHT_CONTROL_PRESSED 0x00000004 --#define EFI_LEFT_CONTROL_PRESSED 0x00000008 --#define EFI_RIGHT_ALT_PRESSED 0x00000010 --#define EFI_LEFT_ALT_PRESSED 0x00000020 -- -+#include "missing_efi.h" -+ - #define EFI_CONTROL_PRESSED (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED) - #define EFI_ALT_PRESSED (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED) - #define KEYPRESS(keys, scan, uni) ((((UINT64)keys) << 32) | (((UINT64)scan) << 16) | (uni)) -diff -rauN systemd/src/boot/efi/missing_efi.h systemd-gnu-efi-patch/src/boot/efi/missing_efi.h ---- systemd/src/boot/efi/missing_efi.h 2021-03-18 08:29:47.379875918 +0100 -+++ systemd-gnu-efi-patch/src/boot/efi/missing_efi.h 2021-03-18 08:33:21.632407838 +0100 -@@ -52,4 +52,71 @@ - EFI_RNG_GET_RNG GetRNG; - } EFI_RNG_PROTOCOL; - -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID -+ -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \ -+ { 0xdd9e7534, 0x7762, 0x4698, {0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa} } -+ -+#define EFI_SHIFT_STATE_VALID 0x80000000 -+#define EFI_RIGHT_CONTROL_PRESSED 0x00000004 -+#define EFI_LEFT_CONTROL_PRESSED 0x00000008 -+#define EFI_RIGHT_ALT_PRESSED 0x00000010 -+#define EFI_LEFT_ALT_PRESSED 0x00000020 -+ -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; -+ -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)( -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -+ BOOLEAN ExtendedVerification -+); -+ -+typedef UINT8 EFI_KEY_TOGGLE_STATE; -+ -+typedef struct { -+ UINT32 KeyShiftState; -+ EFI_KEY_TOGGLE_STATE KeyToggleState; -+} EFI_KEY_STATE; -+ -+typedef struct { -+ EFI_INPUT_KEY Key; -+ EFI_KEY_STATE KeyState; -+} EFI_KEY_DATA; -+ -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)( -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -+ EFI_KEY_DATA *KeyData -+); -+ -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)( -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -+ EFI_KEY_TOGGLE_STATE *KeyToggleState -+); -+ -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)( -+ EFI_KEY_DATA *KeyData -+); -+ -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)( -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -+ EFI_KEY_DATA KeyData, -+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction, -+ VOID **NotifyHandle -+); -+ -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)( -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, -+ VOID *NotificationHandle -+); -+ -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL { -+ EFI_INPUT_RESET_EX Reset; -+ EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx; -+ EFI_EVENT WaitForKeyEx; -+ EFI_SET_STATE SetState; -+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify; -+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify; -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; -+ -+#endif -+ - #endif