diff options
Diffstat (limited to 'MdePkg/Include/Library/S3IoLib.h')
-rw-r--r-- | MdePkg/Include/Library/S3IoLib.h | 173 |
1 files changed, 83 insertions, 90 deletions
diff --git a/MdePkg/Include/Library/S3IoLib.h b/MdePkg/Include/Library/S3IoLib.h index 5905eaf7191d..f276050d09b8 100644 --- a/MdePkg/Include/Library/S3IoLib.h +++ b/MdePkg/Include/Library/S3IoLib.h @@ -1,18 +1,11 @@ /** @file I/O and MMIO Library Services that do I/O and also enable the I/O operation to be replayed during an S3 resume. This library class maps directly on top - of the IoLib class. + of the IoLib class. - Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> - This program and the accompanying materials - are licensed and made available under the terms and conditions - of the BSD License which accompanies this distribution. The - full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -117,7 +110,7 @@ S3IoAnd8 ( /** Reads an 8-bit I/O port, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 8-bit I/O port, and saves + inclusive OR, writes the result back to the 8-bit I/O port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit I/O port specified by Port, performs a bitwise AND between @@ -179,7 +172,7 @@ S3IoBitFieldRead8 ( Writes Value to the bit field of the I/O register. The bit field is specified by the StartBit and the EndBit. All other bits in the destination I/O - register are preserved. The value written to the I/O port is returned. + register are preserved. The value written to the I/O port is returned. Remaining bits in Value are stripped. If 8-bit I/O port operations are not supported, then ASSERT(). @@ -209,7 +202,7 @@ S3IoBitFieldWrite8 ( /** Reads a bit field in an 8-bit port, performs a bitwise OR, writes the - result back to the bit field in the 8-bit port, and saves the value in the + result back to the bit field in the 8-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit I/O port specified by Port, performs a bitwise OR @@ -245,7 +238,7 @@ S3IoBitFieldOr8 ( /** Reads a bit field in an 8-bit port, performs a bitwise AND, writes the - result back to the bit field in the 8-bit port, and saves the value in the + result back to the bit field in the 8-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit I/O port specified by Port, performs a bitwise AND between @@ -365,7 +358,7 @@ S3IoWrite16 ( /** Reads a 16-bit I/O port, performs a bitwise OR, writes the - result back to the 16-bit I/O port, and saves the value in the S3 script to + result back to the 16-bit I/O port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit I/O port specified by Port, performs a bitwise OR @@ -474,7 +467,7 @@ S3IoBitFieldRead16 ( ); /** - Writes a bit field to an I/O register, and saves the value in the S3 script + Writes a bit field to an I/O register, and saves the value in the S3 script to be replayed on S3 resume. Writes Value to the bit field of the I/O register. The bit field is specified @@ -509,7 +502,7 @@ S3IoBitFieldWrite16 ( /** Reads a bit field in a 16-bit port, performs a bitwise OR, writes the - result back to the bit field in the 16-bit port, and saves the value in the + result back to the bit field in the 16-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit I/O port specified by Port, performs a bitwise OR @@ -545,7 +538,7 @@ S3IoBitFieldOr16 ( /** Reads a bit field in a 16-bit port, performs a bitwise AND, writes the - result back to the bit field in the 16-bit port, and saves the value in the + result back to the bit field in the 16-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit I/O port specified by Port, performs a bitwise AND between @@ -582,7 +575,7 @@ S3IoBitFieldAnd16 ( /** Reads a bit field in a 16-bit port, performs a bitwise AND followed by a bitwise OR, writes the result back to the bit field in the - 16-bit port, and saves the value in the S3 script to be replayed on S3 + 16-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit I/O port specified by Port, performs a bitwise AND followed @@ -666,7 +659,7 @@ S3IoWrite32 ( /** Reads a 32-bit I/O port, performs a bitwise OR, writes the - result back to the 32-bit I/O port, and saves the value in the S3 script to + result back to the 32-bit I/O port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit I/O port specified by Port, performs a bitwise OR @@ -718,7 +711,7 @@ S3IoAnd32 ( /** Reads a 32-bit I/O port, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 32-bit I/O port, and saves + inclusive OR, writes the result back to the 32-bit I/O port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit I/O port specified by Port, performs a bitwise AND between @@ -810,7 +803,7 @@ S3IoBitFieldWrite32 ( /** Reads a bit field in a 32-bit port, performs a bitwise OR, writes the - result back to the bit field in the 32-bit port, and saves the value in the + result back to the bit field in the 32-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit I/O port specified by Port, performs a bitwise OR @@ -846,7 +839,7 @@ S3IoBitFieldOr32 ( /** Reads a bit field in a 32-bit port, performs a bitwise AND, writes the - result back to the bit field in the 32-bit port, and saves the value in the + result back to the bit field in the 32-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit I/O port specified by Port, performs a bitwise AND between @@ -883,7 +876,7 @@ S3IoBitFieldAnd32 ( /** Reads a bit field in a 32-bit port, performs a bitwise AND followed by a bitwise OR, writes the result back to the bit field in the - 32-bit port, and saves the value in the S3 script to be replayed on S3 + 32-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit I/O port specified by Port, performs a bitwise AND followed @@ -967,7 +960,7 @@ S3IoWrite64 ( /** Reads a 64-bit I/O port, performs a bitwise OR, writes the - result back to the 64-bit I/O port, and saves the value in the S3 script to + result back to the 64-bit I/O port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit I/O port specified by Port, performs a bitwise OR @@ -1111,7 +1104,7 @@ S3IoBitFieldWrite64 ( /** Reads a bit field in a 64-bit port, performs a bitwise OR, writes the - result back to the bit field in the 64-bit port, and saves the value in the + result back to the bit field in the 64-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit I/O port specified by Port, performs a bitwise OR @@ -1147,7 +1140,7 @@ S3IoBitFieldOr64 ( /** Reads a bit field in a 64-bit port, performs a bitwise AND, writes the - result back to the bit field in the 64-bit port, and saves the value in the + result back to the bit field in the 64-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit I/O port specified by Port, performs a bitwise AND between @@ -1184,7 +1177,7 @@ S3IoBitFieldAnd64 ( /** Reads a bit field in a 64-bit port, performs a bitwise AND followed by a bitwise OR, writes the result back to the bit field in the - 64-bit port, and saves the value in the S3 script to be replayed on S3 + 64-bit port, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit I/O port specified by Port, performs a bitwise AND followed @@ -1223,7 +1216,7 @@ S3IoBitFieldAndThenOr64 ( ); /** - Reads an 8-bit MMIO register, and saves the value in the S3 script to be + Reads an 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit MMIO register specified by Address. The 8-bit read value is @@ -1244,7 +1237,7 @@ S3MmioRead8 ( ); /** - Writes an 8-bit MMIO register, and saves the value in the S3 script to be + Writes an 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Writes the 8-bit MMIO register specified by Address with the value specified @@ -1268,7 +1261,7 @@ S3MmioWrite8 ( /** Reads an 8-bit MMIO register, performs a bitwise OR, writes the - result back to the 8-bit MMIO register, and saves the value in the S3 script + result back to the 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit MMIO register specified by Address, performs a bitwise @@ -1294,7 +1287,7 @@ S3MmioOr8 ( /** Reads an 8-bit MMIO register, performs a bitwise AND, writes the result - back to the 8-bit MMIO register, and saves the value in the S3 script to be + back to the 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit MMIO register specified by Address, performs a bitwise AND @@ -1320,7 +1313,7 @@ S3MmioAnd8 ( /** Reads an 8-bit MMIO register, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 8-bit MMIO register, and saves + inclusive OR, writes the result back to the 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 8-bit MMIO register specified by Address, performs a bitwise AND @@ -1410,7 +1403,7 @@ S3MmioBitFieldWrite8 ( ); /** - Reads a bit field in an 8-bit MMIO register, performs a bitwise OR, + Reads a bit field in an 8-bit MMIO register, performs a bitwise OR, writes the result back to the bit field in the 8-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. @@ -1571,7 +1564,7 @@ S3MmioWrite16 ( /** Reads a 16-bit MMIO register, performs a bitwise OR, writes the - result back to the 16-bit MMIO register, and saves the value in the S3 script + result back to the 16-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit MMIO register specified by Address, performs a bitwise @@ -1597,7 +1590,7 @@ S3MmioOr16 ( /** Reads a 16-bit MMIO register, performs a bitwise AND, writes the result - back to the 16-bit MMIO register, and saves the value in the S3 script to be + back to the 16-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit MMIO register specified by Address, performs a bitwise AND @@ -1623,7 +1616,7 @@ S3MmioAnd16 ( /** Reads a 16-bit MMIO register, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 16-bit MMIO register, and + inclusive OR, writes the result back to the 16-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit MMIO register specified by Address, performs a bitwise AND @@ -1713,8 +1706,8 @@ S3MmioBitFieldWrite16 ( ); /** - Reads a bit field in a 16-bit MMIO register, performs a bitwise OR, - writes the result back to the bit field in the 16-bit MMIO register, and + Reads a bit field in a 16-bit MMIO register, performs a bitwise OR, + writes the result back to the bit field in the 16-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit MMIO register specified by Address, performs a bitwise @@ -1751,7 +1744,7 @@ S3MmioBitFieldOr16 ( /** Reads a bit field in a 16-bit MMIO register, performs a bitwise AND, and - writes the result back to the bit field in the 16-bit MMIO register and + writes the result back to the bit field in the 16-bit MMIO register and saves the value in the S3 script to be replayed on S3 resume. Reads the 16-bit MMIO register specified by Address, performs a bitwise AND @@ -1828,7 +1821,7 @@ S3MmioBitFieldAndThenOr16 ( ); /** - Reads a 32-bit MMIO register saves the value in the S3 script to be + Reads a 32-bit MMIO register saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address. The 32-bit read value is @@ -1849,7 +1842,7 @@ S3MmioRead32 ( ); /** - Writes a 32-bit MMIO register, and saves the value in the S3 script to be + Writes a 32-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Writes the 32-bit MMIO register specified by Address with the value specified @@ -1873,7 +1866,7 @@ S3MmioWrite32 ( /** Reads a 32-bit MMIO register, performs a bitwise OR, writes the - result back to the 32-bit MMIO register, and saves the value in the S3 script + result back to the 32-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address, performs a bitwise @@ -1899,7 +1892,7 @@ S3MmioOr32 ( /** Reads a 32-bit MMIO register, performs a bitwise AND, writes the result - back to the 32-bit MMIO register, and saves the value in the S3 script to be + back to the 32-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address, performs a bitwise AND @@ -1925,7 +1918,7 @@ S3MmioAnd32 ( /** Reads a 32-bit MMIO register, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 32-bit MMIO register, and + inclusive OR, writes the result back to the 32-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address, performs a bitwise AND @@ -1953,7 +1946,7 @@ S3MmioAndThenOr32 ( ); /** - Reads a bit field of a MMIO register, and saves the value in the S3 script + Reads a bit field of a MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the bit field in a 32-bit MMIO register. The bit field is specified by @@ -1982,7 +1975,7 @@ S3MmioBitFieldRead32 ( ); /** - Writes a bit field to a MMIO register, and saves the value in the S3 script + Writes a bit field to a MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Writes Value to the bit field of the MMIO register. The bit field is @@ -2015,8 +2008,8 @@ S3MmioBitFieldWrite32 ( ); /** - Reads a bit field in a 32-bit MMIO register, performs a bitwise OR, - writes the result back to the bit field in the 32-bit MMIO register, and + Reads a bit field in a 32-bit MMIO register, performs a bitwise OR, + writes the result back to the bit field in the 32-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address, performs a bitwise @@ -2053,7 +2046,7 @@ S3MmioBitFieldOr32 ( /** Reads a bit field in a 32-bit MMIO register, performs a bitwise AND, and - writes the result back to the bit field in the 32-bit MMIO register and + writes the result back to the bit field in the 32-bit MMIO register and saves the value in the S3 script to be replayed on S3 resume. Reads the 32-bit MMIO register specified by Address, performs a bitwise AND @@ -2130,7 +2123,7 @@ S3MmioBitFieldAndThenOr32 ( ); /** - Reads a 64-bit MMIO register, and saves the value in the S3 script to be + Reads a 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit MMIO register specified by Address. The 64-bit read value is @@ -2151,7 +2144,7 @@ S3MmioRead64 ( ); /** - Writes a 64-bit MMIO register, and saves the value in the S3 script to be + Writes a 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Writes the 64-bit MMIO register specified by Address with the value specified @@ -2175,7 +2168,7 @@ S3MmioWrite64 ( /** Reads a 64-bit MMIO register, performs a bitwise OR, writes the - result back to the 64-bit MMIO register, and saves the value in the S3 script + result back to the 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit MMIO register specified by Address, performs a bitwise @@ -2201,7 +2194,7 @@ S3MmioOr64 ( /** Reads a 64-bit MMIO register, performs a bitwise AND, writes the result - back to the 64-bit MMIO register, and saves the value in the S3 script to be + back to the 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit MMIO register specified by Address, performs a bitwise AND @@ -2227,7 +2220,7 @@ S3MmioAnd64 ( /** Reads a 64-bit MMIO register, performs a bitwise AND followed by a bitwise - inclusive OR, writes the result back to the 64-bit MMIO register, and + inclusive OR, writes the result back to the 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit MMIO register specified by Address, performs a bitwise AND @@ -2317,8 +2310,8 @@ S3MmioBitFieldWrite64 ( ); /** - Reads a bit field in a 64-bit MMIO register, performs a bitwise OR, - writes the result back to the bit field in the 64-bit MMIO register, and + Reads a bit field in a 64-bit MMIO register, performs a bitwise OR, + writes the result back to the bit field in the 64-bit MMIO register, and saves the value in the S3 script to be replayed on S3 resume. Reads the 64-bit MMIO register specified by Address, performs a bitwise @@ -2435,11 +2428,11 @@ S3MmioBitFieldAndThenOr64 ( Copies data from MMIO region to system memory by using 8-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from MMIO region specified by starting address StartAddress - to system memory specified by Buffer by using 8-bit access. The total + Copy data from MMIO region specified by starting address StartAddress + to system memory specified by Buffer by using 8-bit access. The total number of bytes to be copied is specified by Length. Buffer is returned. - - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). @@ -2462,13 +2455,13 @@ S3MmioReadBuffer8 ( Copies data from MMIO region to system memory by using 16-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from MMIO region specified by starting address StartAddress - to system memory specified by Buffer by using 16-bit access. The total + Copy data from MMIO region specified by starting address StartAddress + to system memory specified by Buffer by using 16-bit access. The total number of bytes to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 16-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). If Length is not aligned on a 16-bit boundary, then ASSERT(). @@ -2493,13 +2486,13 @@ S3MmioReadBuffer16 ( Copies data from MMIO region to system memory by using 32-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from MMIO region specified by starting address StartAddress - to system memory specified by Buffer by using 32-bit access. The total + Copy data from MMIO region specified by starting address StartAddress + to system memory specified by Buffer by using 32-bit access. The total number of byte to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 32-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). If Length is not aligned on a 32-bit boundary, then ASSERT(). @@ -2524,13 +2517,13 @@ S3MmioReadBuffer32 ( Copies data from MMIO region to system memory by using 64-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from MMIO region specified by starting address StartAddress - to system memory specified by Buffer by using 64-bit access. The total + Copy data from MMIO region specified by starting address StartAddress + to system memory specified by Buffer by using 64-bit access. The total number of byte to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 64-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). If Length is not aligned on a 64-bit boundary, then ASSERT(). @@ -2555,11 +2548,11 @@ S3MmioReadBuffer64 ( Copies data from system memory to MMIO region by using 8-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from system memory specified by Buffer to MMIO region specified - by starting address StartAddress by using 8-bit access. The total number + Copy data from system memory specified by Buffer to MMIO region specified + by starting address StartAddress by using 8-bit access. The total number of byte to be copied is specified by Length. Buffer is returned. - - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT(). @@ -2582,13 +2575,13 @@ S3MmioWriteBuffer8 ( Copies data from system memory to MMIO region by using 16-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from system memory specified by Buffer to MMIO region specified - by starting address StartAddress by using 16-bit access. The total number + Copy data from system memory specified by Buffer to MMIO region specified + by starting address StartAddress by using 16-bit access. The total number of bytes to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 16-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT(). If Length is not aligned on a 16-bit boundary, then ASSERT(). @@ -2614,13 +2607,13 @@ S3MmioWriteBuffer16 ( Copies data from system memory to MMIO region by using 32-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from system memory specified by Buffer to MMIO region specified - by starting address StartAddress by using 32-bit access. The total number + Copy data from system memory specified by Buffer to MMIO region specified + by starting address StartAddress by using 32-bit access. The total number of bytes to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 32-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT(). If Length is not aligned on a 32-bit boundary, then ASSERT(). @@ -2643,16 +2636,16 @@ S3MmioWriteBuffer32 ( ); /** - Copies data from system memory to MMIO region by using 64-bit access, + Copies data from system memory to MMIO region by using 64-bit access, and saves the value in the S3 script to be replayed on S3 resume. - Copy data from system memory specified by Buffer to MMIO region specified - by starting address StartAddress by using 64-bit access. The total number + Copy data from system memory specified by Buffer to MMIO region specified + by starting address StartAddress by using 64-bit access. The total number of bytes to be copied is specified by Length. Buffer is returned. - + If StartAddress is not aligned on a 64-bit boundary, then ASSERT(). - If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). + If Length is greater than (MAX_ADDRESS - StartAddress + 1), then ASSERT(). If Length is greater than (MAX_ADDRESS -Buffer + 1), then ASSERT(). If Length is not aligned on a 64-bit boundary, then ASSERT(). |