]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/Arp.h
Initial import.
[mirror_edk2.git] / MdePkg / Include / Protocol / Arp.h
CommitLineData
878ddf1f 1/** @file\r
2 Copyright (c) 2006, Intel Corporation \r
3 All rights reserved. This program and the accompanying materials \r
4 are licensed and made available under the terms and conditions of the BSD License \r
5 which accompanies this distribution. The full text of the license may be found at \r
6 http://opensource.org/licenses/bsd-license.php \r
7 \r
8 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
9 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
10 \r
11 Module Name: Arp.h\r
12 \r
13**/\r
14\r
15#ifndef __EFI_ARP_PROTOCOL_H__\r
16#define __EFI_ARP_PROTOCOL_H__\r
17\r
18#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID \\r
19 { \\r
20 0xf44c00ee, 0x1f2c, 0x4a00, {0xaa, 0x9, 0x1c, 0x9f, 0x3e, 0x8, 0x0, 0xa3 } \\r
21 }\r
22\r
23#define EFI_ARP_PROTOCOL_GUID \\r
24 { \\r
25 0xf4b427bb, 0xba21, 0x4f16, {0xbc, 0x4e, 0x43, 0xe4, 0x16, 0xab, 0x61, 0x9c } \\r
26 }\r
27\r
28typedef struct _EFI_ARP_PROTOCOL EFI_ARP_PROTOCOL;\r
29\r
30typedef struct {\r
31UINT32 Size;\r
32BOOLEAN DenyFlag;\r
33BOOLEAN StaticFlag;\r
34UINT16 HwAddressType;\r
35UINT16 SwAddressType;\r
36UINT8 HwAddressLength;\r
37UINT8 SwAddressLength;\r
38} EFI_ARP_FIND_DATA;\r
39\r
40typedef struct {\r
41 UINT16 SwAddressType; // Host byte order\r
42 UINT8 SwAddressLength;\r
43 VOID *StationAddress; // Network byte order\r
44 UINT32 EntryTimeOut;\r
45 UINT32 RetryCount;\r
46 UINT32 RetryTimeOut;\r
47} EFI_ARP_CONFIG_DATA;\r
48\r
49\r
50/**\r
51 Assigns a station address (protocol type and network address) to this instance of the ARP cache.\r
52\r
53 @param This A pointer to the EFI_ARP_PROTOCOL instance.\r
54 @param ConfigData A pointer to the EFI_ARP_CONFIG_DATA structure.Buffer\r
55\r
56 @retval EFI_SUCCESS The new station address was successfully registered.\r
57 @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
58 @retval EFI_ACCESS_DENIED The SwAddressType, SwAddressLength, or\r
59 StationAddress is different from the one that is already\r
60 registered.\r
61 @retval EFI_OUT_OF_RESOURCES Storage for the new StationAddress could not be allocated.\r
62\r
63**/\r
64typedef \r
65EFI_STATUS\r
66(EFIAPI *EFI_ARP_CONFIGURE) (\r
67 IN EFI_ARP_PROTOCOL *This,\r
68 IN EFI_ARP_CONFIG_DATA *ConfigData OPTIONAL\r
69 )\r
70; \r
71\r
72/**\r
73 Inserts an entry to the ARP cache.\r
74\r
75 @param This A pointer to the EFI_ARP_PROTOCOL instance. \r
76