Home | History | Annotate | Download | only in Protocol
      1 /** @file
      2 
      3   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef __EMBEDDED_EXTERNAL_DEVICE_H__
     16 #define __EMBEDDED_EXTERNAL_DEVICE_H__
     17 
     18 //
     19 // Protocol GUID
     20 //
     21 #define EMBEDDED_EXTERNAL_DEVICE_PROTOCOL_GUID { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }}
     22 
     23 //
     24 // Protocol interface structure
     25 //
     26 typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE;
     27 
     28 //
     29 // Function Prototypes
     30 //
     31 typedef
     32 EFI_STATUS
     33 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_READ) (
     34     IN  EMBEDDED_EXTERNAL_DEVICE  *This,
     35     IN  UINTN                       Register,
     36     IN  UINTN                       Length,
     37     OUT VOID                        *Buffer
     38     )
     39 /*++
     40 
     41 Routine Description:
     42 
     43   Read a set of contiguous external device registers.
     44 
     45 Arguments:
     46 
     47   This        - pointer to protocol
     48   Offset      - starting register number
     49   Length      - number of bytes to read
     50   Buffer      - destination buffer
     51 
     52 Returns:
     53 
     54   EFI_SUCCESS - registers read successfully
     55 
     56 --*/
     57 ;
     58 
     59 typedef
     60 EFI_STATUS
     61 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_WRITE) (
     62     IN EMBEDDED_EXTERNAL_DEVICE *This,
     63     IN UINTN                      Register,
     64     IN UINTN                      Length,
     65     IN VOID                       *Buffer
     66     )
     67 /*++
     68 
     69 Routine Description:
     70 
     71   Write to a set of contiguous external device registers.
     72 
     73 Arguments:
     74 
     75   This        - pointer to protocol
     76   Offset      - starting register number
     77   Length      - number of bytes to write
     78   Buffer      - source buffer
     79 
     80 Returns:
     81 
     82   EFI_SUCCESS - registers written successfully
     83 
     84 --*/
     85 ;
     86 
     87 struct _EMBEDDED_EXTERNAL_DEVICE {
     88   EMBEDDED_EXTERNAL_DEVICE_READ      Read;
     89   EMBEDDED_EXTERNAL_DEVICE_WRITE     Write;
     90 };
     91 
     92 extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid;
     93 
     94 #endif  // __EMBEDDED_EXTERNAL_DEVICE_H__
     95