// /** @file
// Modules that produces the logic Block I/O protocol for every partition via the physical Block I/O.
//
// This module produces the logical Block I/O device that represents
// the bytes from Start to End of the Parent Block I/O device.
// The partition of physical BlockIo device supported is one of legacy MBR, GPT,
// and "El Torito" partitions.
//
// Caution: This module requires additional review when modified.
// This driver will have external input - disk partition.
// This external input must be validated carefully to avoid security issue like
// buffer overflow, integer overflow.
//
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Produces the logic Block I/O protocol for every partition via the physical Block I/O."

#string STR_MODULE_DESCRIPTION          #language en-US "This module produces the logical Block I/O device that represents the bytes from Start to End of the Parent Block I/O device. The partition of physical BlockIO device supported is one of legacy MBR, GPT, and \"El Torito\" partitions.<BR><BR>"

