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