+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004 - 2005, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- UnixBlockIo.h\r
-\r
-Abstract:\r
-\r
- Produce block IO abstractions for real devices on your PC using Posix APIs.\r
- The configuration of what devices to mount or emulate comes from UNIX \r
- environment variables. The variables must be visible to the Microsoft* \r
- Developer Studio for them to work.\r
-\r
- * Other names and brands may be claimed as the property of others.\r
-\r
---*/\r
-\r
-#ifndef _UNIX_BLOCK_IO_H_\r
-#define _UNIX_BLOCK_IO_H_\r
-\r
-#define FILENAME_BUFFER_SIZE 80\r
-\r
-//\r
-// Language supported for driverconfiguration protocol\r
-//\r
-#define LANGUAGESUPPORTED "eng"\r
-\r
-#define UNIX_BLOCK_IO_PRIVATE_SIGNATURE EFI_SIGNATURE_32 ('L', 'X', 'b', 'k')\r
-typedef struct {\r
- UINTN Signature;\r
-\r
- EFI_LOCK Lock;\r
-\r
- char Filename[FILENAME_BUFFER_SIZE];\r
- UINTN ReadMode;\r
- UINTN Mode;\r
-\r
- int fd;
-\r
- UINT64 LastBlock;\r
- UINTN BlockSize;\r
- UINT64 NumberOfBlocks;\r
-\r
- EFI_HANDLE EfiHandle;\r
- EFI_BLOCK_IO_PROTOCOL BlockIo;\r
- EFI_BLOCK_IO_MEDIA Media;\r
-\r
- EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
-\r
- EFI_UNIX_THUNK_PROTOCOL *UnixThunk;\r
-\r
-} UNIX_BLOCK_IO_PRIVATE;\r
-\r
-#define UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS(a) \\r
- CR(a, UNIX_BLOCK_IO_PRIVATE, BlockIo, UNIX_BLOCK_IO_PRIVATE_SIGNATURE)\r
-\r
-#define LIST_BUFFER_SIZE 512\r
-\r
-//\r
-// Block I/O Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gUnixBlockIoDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gUnixBlockIoComponentName;\r
-extern EFI_DRIVER_CONFIGURATION_PROTOCOL gUnixBlockIoDriverConfiguration;\r
-extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL gUnixBlockIoDriverDiagnostics;\r
-\r
-//\r
-// EFI Driver Binding Functions\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-UnixBlockIoDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Handle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- Handle - TODO: add argument description\r
- RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-UnixBlockIoDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Handle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- Handle - TODO: add argument description\r
- RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-UnixBlockIoDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Handle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- This - TODO: add argument description\r
- Handle - TODO: add argument description\r
- NumberOfChildren - TODO: add argument description\r
- ChildHandleBuffer - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
-SetFilePointer64 (\r
- IN UNIX_BLOCK_IO_PRIVATE *Private,\r
- IN INT64 DistanceToMove,\r
- OUT UINT64 *NewFilePointer,\r
- IN INT32 MoveMethod\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Private - TODO: add argument description\r
- DistanceToMove - TODO: add argument description\r
- NewFilePointer - TODO: add argument description\r
- MoveMethod - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-UINTN\r
-Atoi (\r
- CHAR16 *String\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- String - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-#endif\r