]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Efi/Protocol/Arp/Arp.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / Arp / Arp.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 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 Arp.h
15
16 Abstract:
17
18 UEFI Arp protocol definition.
19
20 --*/
21
22 #ifndef _ARP_H_
23 #define _ARP_H_
24
25 #include EFI_PROTOCOL_DEFINITION (ServiceBinding)
26
27 #define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID \
28 { 0xf44c00ee, 0x1f2c, 0x4a00, {0xaa, 0x9, 0x1c, 0x9f, 0x3e, 0x8, 0x0, 0xa3} }
29
30 #define EFI_ARP_PROTOCOL_GUID \
31 { 0xf4b427bb, 0xba21, 0x4f16, {0xbc, 0x4e, 0x43, 0xe4, 0x16, 0xab, 0x61, 0x9c} }
32
33 EFI_FORWARD_DECLARATION (EFI_ARP_PROTOCOL);
34
35 typedef struct _EFI_ARP_FIND_DATA {
36 UINT32 Size;
37 BOOLEAN DenyFlag;
38 BOOLEAN StaticFlag;
39 UINT16 HwAddressType;
40 UINT16 SwAddressType;
41 UINT8 HwAddressLength;
42 UINT8 SwAddressLength;
43 } EFI_ARP_FIND_DATA;
44
45
46 //****************************************************
47 // EFI_ARP_CONFIG_DATA
48 //****************************************************
49 typedef struct EFI_ARP_CONFIG_DATA {
50 UINT16 SwAddressType; // Host byte order
51 UINT8 SwAddressLength;
52 VOID *StationAddress; // Network byte order
53 UINT32 EntryTimeOut;
54 UINT32 RetryCount;
55 UINT32 RetryTimeOut;
56 } EFI_ARP_CONFIG_DATA;
57
58
59 typedef
60 EFI_STATUS
61 (EFIAPI *EFI_ARP_CONFIGURE) (
62 IN EFI_ARP_PROTOCOL *This,
63 IN EFI_ARP_CONFIG_DATA *ConfigData OPTIONAL
64 );
65
66
67 typedef
68 EFI_STATUS
69 (EFIAPI *EFI_ARP_ADD) (
70 IN EFI_ARP_PROTOCOL *This,
71 IN BOOLEAN DenyFlag,
72 IN VOID *TargetSwAddress OPTIONAL,
73 IN VOID *TargetHwAddress OPTIONAL,
74 IN UINT32 TimeoutValue,
75 IN BOOLEAN Overwrite
76 );
77
78 typedef
79 EFI_STATUS
80 (EFIAPI *EFI_ARP_FIND) (
81 IN EFI_ARP_PROTOCOL *This,
82 IN BOOLEAN BySwAddress,
83 IN VOID *AddressBuffer OPTIONAL,
84 OUT UINT32 *EntryLength OPTIONAL,
85 OUT UINT32 *EntryCount OPTIONAL,
86 OUT EFI_ARP_FIND_DATA **Entries OPTIONAL,
87 IN BOOLEAN Refresh
88 );
89
90
91 typedef
92 EFI_STATUS
93 (EFIAPI *EFI_ARP_DELETE) (
94 IN EFI_ARP_PROTOCOL *This,
95 IN BOOLEAN BySwAddress,
96 IN VOID *AddressBuffer OPTIONAL
97 );
98
99 typedef
100 EFI_STATUS
101 (EFIAPI *EFI_ARP_FLUSH) (
102 IN EFI_ARP_PROTOCOL *This
103 );
104
105 typedef
106 EFI_STATUS
107 (EFIAPI *EFI_ARP_REQUEST) (
108 IN EFI_ARP_PROTOCOL *This,
109 IN VOID *TargetSwAddress OPTIONAL,
110 IN EFI_EVENT ResolvedEvent OPTIONAL,
111 OUT VOID *TargetHwAddress
112 );
113
114 typedef
115 EFI_STATUS
116 (EFIAPI *EFI_ARP_CANCEL) (
117 IN EFI_ARP_PROTOCOL *This,
118 IN VOID *TargetSwAddress OPTIONAL,
119 IN EFI_EVENT ResolvedEvent OPTIONAL
120 );
121
122 struct _EFI_ARP_PROTOCOL {
123 EFI_ARP_CONFIGURE Configure;
124 EFI_ARP_ADD Add;
125 EFI_ARP_FIND Find;
126 EFI_ARP_DELETE Delete;
127 EFI_ARP_FLUSH Flush;
128 EFI_ARP_REQUEST Request;
129 EFI_ARP_CANCEL Cancel;
130 };
131
132
133 extern EFI_GUID gEfiArpServiceBindingProtocolGuid;
134 extern EFI_GUID gEfiArpProtocolGuid;
135
136 #endif