]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.h
Fix a missing doxygen parameter entry.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / Tcp4Main.h
CommitLineData
83cbd279 1/** @file\r
2\r
3Copyright (c) 2005 - 2006, Intel Corporation\r
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
11\r
12Module Name:\r
13\r
14 Tcp4Main.h\r
15\r
16Abstract:\r
17\r
18\r
19**/\r
20\r
21#ifndef _TCP4_MAIN_H_\r
22#define _TCP4_MAIN_H_\r
23\r
24#include "Socket.h"\r
25\r
26#include "Tcp4Proto.h"\r
27#include "Tcp4Driver.h"\r
28\r
29\r
30extern UINT16 mTcp4RandomPort;\r
31\r
32//\r
33// Driver Produced Protocol Prototypes\r
34//\r
35\r
83cbd279 36//\r
37// Function prototype for the Tcp4 socket request handler\r
38//\r
39EFI_STATUS\r
40Tcp4Dispatcher (\r
41 IN SOCKET *Sock,\r
42 IN SOCK_REQUEST Request,\r
43 IN VOID *Data OPTIONAL\r
44 );\r
45\r
46typedef struct _TCP4_MODE_DATA {\r
47 EFI_TCP4_CONNECTION_STATE *Tcp4State;\r
48 EFI_TCP4_CONFIG_DATA *Tcp4ConfigData;\r
49 EFI_IP4_MODE_DATA *Ip4ModeData;\r
50 EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData;\r
51 EFI_SIMPLE_NETWORK_MODE *SnpModeData;\r
52} TCP4_MODE_DATA;\r
53\r
54typedef struct _TCP4_ROUTE_INFO {\r
55 BOOLEAN DeleteRoute;\r
56 EFI_IPv4_ADDRESS *SubnetAddress;\r
57 EFI_IPv4_ADDRESS *SubnetMask;\r
58 EFI_IPv4_ADDRESS *GatewayAddress;\r
59} TCP4_ROUTE_INFO;\r
60\r
61//\r
62// Get the mode data of a TCP instance\r
63//\r
64EFI_STATUS\r
65EFIAPI\r
66Tcp4GetModeData (\r
85511ddf 67 IN CONST EFI_TCP4_PROTOCOL *This,\r
68 OUT EFI_TCP4_CONNECTION_STATE *Tcp4State OPTIONAL,\r
69 OUT EFI_TCP4_CONFIG_DATA *Tcp4ConfigData OPTIONAL,\r
70 OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL,\r
71 OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,\r
72 OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL\r
83cbd279 73 );\r
74\r
75//\r
76// Initialize or reset a TCP instance\r
77//\r
78EFI_STATUS\r
79EFIAPI\r
80Tcp4Configure (\r
85511ddf 81 IN EFI_TCP4_PROTOCOL *This,\r
82 IN EFI_TCP4_CONFIG_DATA *TcpConfigData OPTIONAL\r
83cbd279 83 );\r
84\r
85//\r
86// Add a route entry to the route table\r
87//\r
88EFI_STATUS\r
89EFIAPI\r
90Tcp4Routes (\r
91 IN EFI_TCP4_PROTOCOL *This,\r
92 IN BOOLEAN DeleteRoute,\r
93 IN EFI_IPv4_ADDRESS *SubnetAddress,\r
94 IN EFI_IPv4_ADDRESS *SubnetMask,\r
95 IN EFI_IPv4_ADDRESS *GatewayAddress\r
96 );\r
97\r
98//\r
99// Issue an asynchronous connection establishment\r
100// request to the peer\r
101//\r
102EFI_STATUS\r
103EFIAPI\r
104Tcp4Connect (\r
105 IN EFI_TCP4_PROTOCOL *This,\r
106 IN EFI_TCP4_CONNECTION_TOKEN *ConnectionToken\r
107 );\r
108\r
109//\r
110// Issue an asynchronous listent token to accept an\r
111// incoming connection reques\r
112//\r
113EFI_STATUS\r
114EFIAPI\r
115Tcp4Accept (\r
116 IN EFI_TCP4_PROTOCOL *This,\r
117 IN EFI_TCP4_LISTEN_TOKEN *ListenToken\r
118 );\r
119\r
120//\r
121// Issue an asynchronous IO token to transmit some data\r
122// through this TCP instance\r
123//\r
124EFI_STATUS\r
125EFIAPI\r
126Tcp4Transmit (\r
127 IN EFI_TCP4_PROTOCOL *This,\r
128 IN EFI_TCP4_IO_TOKEN *Token\r
129 );\r
130\r
131//\r
132// Issue an asynchronous IO token to receive some data\r
133// through this TCP instance\r
134//\r
135EFI_STATUS\r
85511ddf 136EFIAPI\r
83cbd279 137Tcp4Receive (\r
138 IN EFI_TCP4_PROTOCOL *This,\r
139 IN EFI_TCP4_IO_TOKEN *Token\r
140 );\r
141\r
142//\r
143// Issue an asynchronous CloseToken to close a TCP\r
144// connection represented by instance\r
145//\r
146EFI_STATUS\r
147EFIAPI\r
148Tcp4Close (\r
149 IN EFI_TCP4_PROTOCOL *This,\r
150 IN EFI_TCP4_CLOSE_TOKEN *CloseToken\r
151 );\r
152\r
153//\r
154// cancle an connect, listent or IO token\r
155//\r
156EFI_STATUS\r
157EFIAPI\r
158Tcp4Cancel (\r
85511ddf 159 IN EFI_TCP4_PROTOCOL *This,\r
160 IN EFI_TCP4_COMPLETION_TOKEN *Token OPTIONAL\r
83cbd279 161 );\r
162\r
163//\r
164// poll data from NIC for receive\r
165//\r
166EFI_STATUS\r
167EFIAPI\r
168Tcp4Poll (\r
169 IN EFI_TCP4_PROTOCOL *This\r
170 );\r
171\r
172#endif\r