/*++

Copyright (c) 2006, Intel Corporation                                                         
All rights reserved. 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.             

Module Name:

  PrimaryConsoleOutDevice.h
    
Abstract:

--*/

#ifndef _PRIMARY_CONSOLE_OUT_DEVICE_H_
#define _PRIMARY_CONSOLE_OUT_DEVICE_H_

#define EFI_PRIMARY_CONSOLE_OUT_DEVICE_GUID    \
  { 0x62bdf38a, 0xe3d5, 0x492c, {0x95, 0xc, 0x23, 0xa7, 0xf6, 0x6e, 0x67, 0x2e } }

extern EFI_GUID gEfiPrimaryConsoleOutDeviceGuid;

#endif
