]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Efi/Protocol/DebugPort/DebugPort.h
e29e4b42de69198bb385d1ebb6fa49c89d657b11
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / DebugPort / DebugPort.h
1 /*++
2
3 Copyright (c) 2004, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 DebugPort.h
15
16 Abstract:
17
18 --*/
19
20 #ifndef _DEBUG_PORT_H_
21 #define _DEBUG_PORT_H_
22
23 #include "EfiApi.h"
24
25 //
26 // DebugPortIo protocol {EBA4E8D2-3858-41EC-A281-2647BA9660D0}
27 //
28 #define EFI_DEBUGPORT_PROTOCOL_GUID \
29 { \
30 0xEBA4E8D2, 0x3858, 0x41EC, {0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0} \
31 }
32
33 extern EFI_GUID gEfiDebugPortProtocolGuid;
34
35 EFI_FORWARD_DECLARATION (EFI_DEBUGPORT_PROTOCOL);
36
37 //
38 // DebugPort member functions
39 //
40 typedef
41 EFI_STATUS
42 (EFIAPI *EFI_DEBUGPORT_RESET) (
43 IN EFI_DEBUGPORT_PROTOCOL * This
44 );
45
46 typedef
47 EFI_STATUS
48 (EFIAPI *EFI_DEBUGPORT_WRITE) (
49 IN EFI_DEBUGPORT_PROTOCOL * This,
50 IN UINT32 Timeout,
51 IN OUT UINTN *BufferSize,
52 IN VOID *Buffer
53 );
54
55 typedef
56 EFI_STATUS
57 (EFIAPI *EFI_DEBUGPORT_READ) (
58 IN EFI_DEBUGPORT_PROTOCOL * This,
59 IN UINT32 Timeout,
60 IN OUT UINTN *BufferSize,
61 OUT VOID *Buffer
62 );
63
64 typedef
65 EFI_STATUS
66 (EFIAPI *EFI_DEBUGPORT_POLL) (
67 IN EFI_DEBUGPORT_PROTOCOL * This
68 );
69
70 //
71 // DebugPort protocol definition
72 //
73 struct _EFI_DEBUGPORT_PROTOCOL {
74 EFI_DEBUGPORT_RESET Reset;
75 EFI_DEBUGPORT_WRITE Write;
76 EFI_DEBUGPORT_READ Read;
77 EFI_DEBUGPORT_POLL Poll;
78 };
79
80 //
81 // DEBUGPORT variable definitions...
82 //
83 #define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
84 #define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
85 #define gEfiDebugPortVariableGuid gEfiDebugPortProtocolGuid
86
87 //
88 // DebugPort device path definitions...
89 //
90 #define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
91 #define gEfiDebugPortDevicePathGuid gEfiDebugPortProtocolGuid
92
93 typedef struct {
94 EFI_DEVICE_PATH_PROTOCOL Header;
95 EFI_GUID Guid;
96 } DEBUGPORT_DEVICE_PATH;
97
98 #endif /* _DEBUG_PORT_H_ */