]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/IScsiDxe/IScsiTcp4Io.h
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.c:
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiTcp4Io.h
CommitLineData
6a690e23 1/*++\r
2\r
9cb8724d 3Copyright (c) 2004 - 2008, Intel Corporation\r
7a444476 4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
6a690e23 11\r
12Module Name:\r
13\r
14 IScsiTcp4Io.h\r
15\r
16Abstract:\r
17\r
18 iSCSI Tcp4 IO related definitions.\r
19\r
20--*/\r
21\r
22#ifndef _ISCSI_TCP4_IO_H_\r
23#define _ISCSI_TCP4_IO_H_\r
24\r
25#include <Library/NetLib.h>\r
9cb8724d 26#include <Protocol/Tcp4.h>\r
6a690e23 27\r
28typedef struct _TCP4_IO_CONFIG_DATA {\r
29 EFI_IPv4_ADDRESS LocalIp;\r
30 EFI_IPv4_ADDRESS SubnetMask;\r
31 EFI_IPv4_ADDRESS Gateway;\r
32\r
33 EFI_IPv4_ADDRESS RemoteIp;\r
34 UINT16 RemotePort;\r
35} TCP4_IO_CONFIG_DATA;\r
36\r
37typedef struct _TCP4_IO {\r
38 EFI_HANDLE Image;\r
39 EFI_HANDLE Controller;\r
40\r
41 EFI_HANDLE Handle;\r
42 EFI_TCP4_PROTOCOL *Tcp4;\r
43\r
44 EFI_TCP4_CONNECTION_TOKEN ConnToken;\r
45 EFI_TCP4_IO_TOKEN TxToken;\r
46 EFI_TCP4_IO_TOKEN RxToken;\r
47 EFI_TCP4_CLOSE_TOKEN CloseToken;\r
48\r
49 BOOLEAN IsConnDone;\r
50 BOOLEAN IsTxDone;\r
51 BOOLEAN IsRxDone;\r
52 BOOLEAN IsCloseDone;\r
53} TCP4_IO;\r
54\r
55EFI_STATUS\r
56Tcp4IoCreateSocket (\r
57 IN EFI_HANDLE Image,\r
58 IN EFI_HANDLE Controller,\r
59 IN TCP4_IO_CONFIG_DATA *ConfigData,\r
60 IN TCP4_IO *Tcp4Io\r
61 );\r
62\r
63VOID\r
64Tcp4IoDestroySocket (\r
65 IN TCP4_IO *Tcp4Io\r
66 );\r
67\r
68EFI_STATUS\r
69Tcp4IoConnect (\r
70 IN TCP4_IO *Tcp4Io,\r
71 IN EFI_EVENT Timeout\r
72 );\r
73\r
74VOID\r
75Tcp4IoReset (\r
76 IN TCP4_IO *Tcp4Io\r
77 );\r
78\r
79EFI_STATUS\r
80Tcp4IoTransmit (\r
81 IN TCP4_IO *Tcp4Io,\r
82 IN NET_BUF *Packet\r
83 );\r
84\r
85EFI_STATUS\r
86Tcp4IoReceive (\r
87 IN TCP4_IO *Tcp4Io,\r
88 IN NET_BUF *Packet,\r
89 IN BOOLEAN AsyncMode,\r
90 IN EFI_EVENT Timeout\r
91 );\r
92\r
93#endif\r