1 1.1 jakllsch /* $NetBSD: efitcp.h,v 1.1.1.1 2014/04/01 16:16:07 jakllsch Exp $ */ 2 1.1 jakllsch 3 1.1 jakllsch #ifndef _EFI_TCP_H 4 1.1 jakllsch #define _EFI_TCP_H 5 1.1 jakllsch 6 1.1 jakllsch /*++ 7 1.1 jakllsch Copyright (c) 2013 Intel Corporation 8 1.1 jakllsch 9 1.1 jakllsch --*/ 10 1.1 jakllsch 11 1.1 jakllsch #define EFI_TCP4_SERVICE_BINDING_PROTOCOL \ 12 1.1 jakllsch { 0x00720665, 0x67eb, 0x4a99, {0xba, 0xf7, 0xd3, 0xc3, 0x3a, 0x1c,0x7c, 0xc9}} 13 1.1 jakllsch 14 1.1 jakllsch #define EFI_TCP4_PROTOCOL \ 15 1.1 jakllsch { 0x65530bc7, 0xa359, 0x410f, {0xb0, 0x10, 0x5a, 0xad, 0xc7, 0xec, 0x2b, 0x62}} 16 1.1 jakllsch 17 1.1 jakllsch #define EFI_TCP6_SERVICE_BINDING_PROTOCOL \ 18 1.1 jakllsch { 0xec20eb79, 0x6c1a, 0x4664, {0x9a, 0xd, 0xd2, 0xe4, 0xcc, 0x16, 0xd6, 0x64}} 19 1.1 jakllsch 20 1.1 jakllsch #define EFI_TCP6_PROTOCOL \ 21 1.1 jakllsch { 0x46e44855, 0xbd60, 0x4ab7, {0xab, 0xd, 0xa6, 0x79, 0xb9, 0x44, 0x7d, 0x77}} 22 1.1 jakllsch 23 1.1 jakllsch INTERFACE_DECL(_EFI_TCP4); 24 1.1 jakllsch INTERFACE_DECL(_EFI_TCP6); 25 1.1 jakllsch 26 1.1 jakllsch typedef struct { 27 1.1 jakllsch BOOLEAN UseDefaultAddress; 28 1.1 jakllsch EFI_IPv4_ADDRESS StationAddress; 29 1.1 jakllsch EFI_IPv4_ADDRESS SubnetMask; 30 1.1 jakllsch UINT16 StationPort; 31 1.1 jakllsch EFI_IPv4_ADDRESS RemoteAddress; 32 1.1 jakllsch UINT16 RemotePort; 33 1.1 jakllsch BOOLEAN ActiveFlag; 34 1.1 jakllsch } EFI_TCP4_ACCESS_POINT; 35 1.1 jakllsch 36 1.1 jakllsch typedef struct { 37 1.1 jakllsch UINT32 ReceiveBufferSize; 38 1.1 jakllsch UINT32 SendBufferSize; 39 1.1 jakllsch UINT32 MaxSynBackLog; 40 1.1 jakllsch UINT32 ConnectionTimeout; 41 1.1 jakllsch UINT32 DataRetries; 42 1.1 jakllsch UINT32 FinTimeout; 43 1.1 jakllsch UINT32 TimeWaitTimeout; 44 1.1 jakllsch UINT32 KeepAliveProbes; 45 1.1 jakllsch UINT32 KeepAliveTime; 46 1.1 jakllsch UINT32 KeepAliveInterval; 47 1.1 jakllsch BOOLEAN EnableNagle; 48 1.1 jakllsch BOOLEAN EnableTimeStamp; 49 1.1 jakllsch BOOLEAN EnableWindowScaling; 50 1.1 jakllsch BOOLEAN EnableSelectiveAck; 51 1.1 jakllsch BOOLEAN EnablePAthMtuDiscovery; 52 1.1 jakllsch } EFI_TCP4_OPTION; 53 1.1 jakllsch 54 1.1 jakllsch typedef struct { 55 1.1 jakllsch // Receiving Filters 56 1.1 jakllsch // I/O parameters 57 1.1 jakllsch UINT8 TypeOfService; 58 1.1 jakllsch UINT8 TimeToLive; 59 1.1 jakllsch 60 1.1 jakllsch // Access Point 61 1.1 jakllsch EFI_TCP4_ACCESS_POINT AccessPoint; 62 1.1 jakllsch 63 1.1 jakllsch // TCP Control Options 64 1.1 jakllsch EFI_TCP4_OPTION *ControlOption; 65 1.1 jakllsch } EFI_TCP4_CONFIG_DATA; 66 1.1 jakllsch 67 1.1 jakllsch typedef enum { 68 1.1 jakllsch Tcp4StateClosed = 0, 69 1.1 jakllsch Tcp4StateListen = 1, 70 1.1 jakllsch Tcp4StateSynSent = 2, 71 1.1 jakllsch Tcp4StateSynReceived = 3, 72 1.1 jakllsch Tcp4StateEstablished = 4, 73 1.1 jakllsch Tcp4StateFinWait1 = 5, 74 1.1 jakllsch Tcp4StateFinWait2 = 6, 75 1.1 jakllsch Tcp4StateClosing = 7, 76 1.1 jakllsch Tcp4StateTimeWait = 8, 77 1.1 jakllsch Tcp4StateCloseWait = 9, 78 1.1 jakllsch Tcp4StateLastAck = 10 79 1.1 jakllsch } EFI_TCP4_CONNECTION_STATE; 80 1.1 jakllsch 81 1.1 jakllsch typedef 82 1.1 jakllsch EFI_STATUS 83 1.1 jakllsch (EFIAPI *EFI_TCP4_GET_MODE_DATA) ( 84 1.1 jakllsch IN struct _EFI_TCP4 *This, 85 1.1 jakllsch OUT EFI_TCP4_CONNECTION_STATE *Tcp4State OPTIONAL, 86 1.1 jakllsch OUT EFI_TCP4_CONFIG_DATA *Tcp4ConfigData OPTIONAL, 87 1.1 jakllsch OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL, 88 1.1 jakllsch OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, 89 1.1 jakllsch OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL 90 1.1 jakllsch ); 91 1.1 jakllsch 92 1.1 jakllsch typedef 93 1.1 jakllsch EFI_STATUS 94 1.1 jakllsch (EFIAPI *EFI_TCP4_CONFIGURE) ( 95 1.1 jakllsch IN struct _EFI_TCP4 *This, 96 1.1 jakllsch IN EFI_TCP4_CONFIG_DATA *TcpConfigData OPTIONAL 97 1.1 jakllsch ); 98 1.1 jakllsch 99 1.1 jakllsch typedef 100 1.1 jakllsch EFI_STATUS 101 1.1 jakllsch (EFIAPI *EFI_TCP4_ROUTES) ( 102 1.1 jakllsch IN struct _EFI_TCP4 *This, 103 1.1 jakllsch IN BOOLEAN DeleteRoute, 104 1.1 jakllsch IN EFI_IPv4_ADDRESS *SubnetAddress, 105 1.1 jakllsch IN EFI_IPv4_ADDRESS *SubnetMask, 106 1.1 jakllsch IN EFI_IPv4_ADDRESS *GatewayAddress 107 1.1 jakllsch ); 108 1.1 jakllsch 109 1.1 jakllsch typedef struct { 110 1.1 jakllsch EFI_EVENT Event; 111 1.1 jakllsch EFI_STATUS Status; 112 1.1 jakllsch } EFI_TCP4_COMPLETION_TOKEN; 113 1.1 jakllsch 114 1.1 jakllsch typedef struct { 115 1.1 jakllsch EFI_TCP4_COMPLETION_TOKEN CompletionToken; 116 1.1 jakllsch } EFI_TCP4_CONNECTION_TOKEN; 117 1.1 jakllsch 118 1.1 jakllsch typedef 119 1.1 jakllsch EFI_STATUS 120 1.1 jakllsch (EFIAPI *EFI_TCP4_CONNECT) ( 121 1.1 jakllsch IN struct _EFI_TCP4 *This, 122 1.1 jakllsch IN EFI_TCP4_CONNECTION_TOKEN *ConnectionToken 123 1.1 jakllsch ); 124 1.1 jakllsch 125 1.1 jakllsch typedef struct { 126 1.1 jakllsch EFI_TCP4_COMPLETION_TOKEN CompletionToken; 127 1.1 jakllsch EFI_HANDLE NewChildHandle; 128 1.1 jakllsch } EFI_TCP4_LISTEN_TOKEN; 129 1.1 jakllsch 130 1.1 jakllsch typedef 131 1.1 jakllsch EFI_STATUS 132 1.1 jakllsch (EFIAPI *EFI_TCP4_ACCEPT) ( 133 1.1 jakllsch IN struct _EFI_TCP4 *This, 134 1.1 jakllsch IN EFI_TCP4_LISTEN_TOKEN *ListenToken 135 1.1 jakllsch ); 136 1.1 jakllsch 137 1.1 jakllsch #define EFI_CONNECTION_FIN EFIERR(104) 138 1.1 jakllsch #define EFI_CONNECTION_RESET EFIERR(105) 139 1.1 jakllsch #define EFI_CONNECTION_REFUSED EFIERR(106) 140 1.1 jakllsch 141 1.1 jakllsch typedef struct { 142 1.1 jakllsch UINT32 FragmentLength; 143 1.1 jakllsch VOID *FragmentBuffer; 144 1.1 jakllsch } EFI_TCP4_FRAGMENT_DATA; 145 1.1 jakllsch 146 1.1 jakllsch typedef struct { 147 1.1 jakllsch BOOLEAN UrgentFlag; 148 1.1 jakllsch UINT32 DataLength; 149 1.1 jakllsch UINT32 FragmentCount; 150 1.1 jakllsch EFI_TCP4_FRAGMENT_DATA FragmentTable[1]; 151 1.1 jakllsch } EFI_TCP4_RECEIVE_DATA; 152 1.1 jakllsch 153 1.1 jakllsch typedef struct { 154 1.1 jakllsch BOOLEAN Push; 155 1.1 jakllsch BOOLEAN Urgent; 156 1.1 jakllsch UINT32 DataLength; 157 1.1 jakllsch UINT32 FragmentCount; 158 1.1 jakllsch EFI_TCP4_FRAGMENT_DATA FragmentTable[1]; 159 1.1 jakllsch } EFI_TCP4_TRANSMIT_DATA; 160 1.1 jakllsch 161 1.1 jakllsch typedef struct { 162 1.1 jakllsch EFI_TCP4_COMPLETION_TOKEN CompletionToken; 163 1.1 jakllsch union { 164 1.1 jakllsch EFI_TCP4_RECEIVE_DATA *RxData; 165 1.1 jakllsch EFI_TCP4_TRANSMIT_DATA *TxData; 166 1.1 jakllsch } Packet; 167 1.1 jakllsch } EFI_TCP4_IO_TOKEN; 168 1.1 jakllsch 169 1.1 jakllsch typedef 170 1.1 jakllsch EFI_STATUS 171 1.1 jakllsch (EFIAPI *EFI_TCP4_TRANSMIT) ( 172 1.1 jakllsch IN struct _EFI_TCP4 *This, 173 1.1 jakllsch IN EFI_TCP4_IO_TOKEN *Token 174 1.1 jakllsch ); 175 1.1 jakllsch 176 1.1 jakllsch typedef 177 1.1 jakllsch EFI_STATUS 178 1.1 jakllsch (EFIAPI *EFI_TCP4_RECEIVE) ( 179 1.1 jakllsch IN struct _EFI_TCP4 *This, 180 1.1 jakllsch IN EFI_TCP4_IO_TOKEN *Token 181 1.1 jakllsch ); 182 1.1 jakllsch 183 1.1 jakllsch typedef struct { 184 1.1 jakllsch EFI_TCP4_COMPLETION_TOKEN CompletionToken; 185 1.1 jakllsch BOOLEAN AbortOnClose; 186 1.1 jakllsch } EFI_TCP4_CLOSE_TOKEN; 187 1.1 jakllsch 188 1.1 jakllsch typedef 189 1.1 jakllsch EFI_STATUS 190 1.1 jakllsch (EFIAPI *EFI_TCP4_CLOSE)( 191 1.1 jakllsch IN struct _EFI_TCP4 *This, 192 1.1 jakllsch IN EFI_TCP4_CLOSE_TOKEN *CloseToken 193 1.1 jakllsch ); 194 1.1 jakllsch 195 1.1 jakllsch typedef 196 1.1 jakllsch EFI_STATUS 197 1.1 jakllsch (EFIAPI *EFI_TCP4_CANCEL)( 198 1.1 jakllsch IN struct _EFI_TCP4 *This, 199 1.1 jakllsch IN EFI_TCP4_COMPLETION_TOKEN *Token OPTIONAL 200 1.1 jakllsch ); 201 1.1 jakllsch 202 1.1 jakllsch typedef 203 1.1 jakllsch EFI_STATUS 204 1.1 jakllsch (EFIAPI *EFI_TCP4_POLL) ( 205 1.1 jakllsch IN struct _EFI_TCP4 *This 206 1.1 jakllsch ); 207 1.1 jakllsch 208 1.1 jakllsch typedef struct _EFI_TCP4 { 209 1.1 jakllsch EFI_TCP4_GET_MODE_DATA GetModeData; 210 1.1 jakllsch EFI_TCP4_CONFIGURE Configure; 211 1.1 jakllsch EFI_TCP4_ROUTES Routes; 212 1.1 jakllsch EFI_TCP4_CONNECT Connect; 213 1.1 jakllsch EFI_TCP4_ACCEPT Accept; 214 1.1 jakllsch EFI_TCP4_TRANSMIT Transmit; 215 1.1 jakllsch EFI_TCP4_RECEIVE Receive; 216 1.1 jakllsch EFI_TCP4_CLOSE Close; 217 1.1 jakllsch EFI_TCP4_CANCEL Cancel; 218 1.1 jakllsch EFI_TCP4_POLL Poll; 219 1.1 jakllsch } EFI_TCP4; 220 1.1 jakllsch 221 1.1 jakllsch typedef enum { 222 1.1 jakllsch Tcp6StateClosed = 0, 223 1.1 jakllsch Tcp6StateListen = 1, 224 1.1 jakllsch Tcp6StateSynSent = 2, 225 1.1 jakllsch Tcp6StateSynReceived = 3, 226 1.1 jakllsch Tcp6StateEstablished = 4, 227 1.1 jakllsch Tcp6StateFinWait1 = 5, 228 1.1 jakllsch Tcp6StateFinWait2 = 6, 229 1.1 jakllsch Tcp6StateClosing = 7, 230 1.1 jakllsch Tcp6StateTimeWait = 8, 231 1.1 jakllsch Tcp6StateCloseWait = 9, 232 1.1 jakllsch Tcp6StateLastAck = 10 233 1.1 jakllsch } EFI_TCP6_CONNECTION_STATE; 234 1.1 jakllsch 235 1.1 jakllsch typedef struct { 236 1.1 jakllsch EFI_IPv6_ADDRESS StationAddress; 237 1.1 jakllsch UINT16 StationPort; 238 1.1 jakllsch EFI_IPv6_ADDRESS RemoteAddress; 239 1.1 jakllsch UINT16 RemotePort; 240 1.1 jakllsch BOOLEAN ActiveFlag; 241 1.1 jakllsch } EFI_TCP6_ACCESS_POINT; 242 1.1 jakllsch 243 1.1 jakllsch typedef struct { 244 1.1 jakllsch UINT32 ReceiveBufferSize; 245 1.1 jakllsch UINT32 SendBufferSize; 246 1.1 jakllsch UINT32 MaxSynBackLog; 247 1.1 jakllsch UINT32 ConnectionTimeout; 248 1.1 jakllsch UINT32 DataRetries; 249 1.1 jakllsch UINT32 FinTimeout; 250 1.1 jakllsch UINT32 TimeWaitTimeout; 251 1.1 jakllsch UINT32 KeepAliveProbes; 252 1.1 jakllsch UINT32 KeepAliveTime; 253 1.1 jakllsch UINT32 KeepAliveInterval; 254 1.1 jakllsch BOOLEAN EnableNagle; 255 1.1 jakllsch BOOLEAN EnableTimeStamp; 256 1.1 jakllsch BOOLEAN EnableWindbowScaling; 257 1.1 jakllsch BOOLEAN EnableSelectiveAck; 258 1.1 jakllsch BOOLEAN EnablePathMtuDiscovery; 259 1.1 jakllsch } EFI_TCP6_OPTION; 260 1.1 jakllsch 261 1.1 jakllsch typedef struct { 262 1.1 jakllsch UINT8 TrafficClass; 263 1.1 jakllsch UINT8 HopLimit; 264 1.1 jakllsch EFI_TCP6_ACCESS_POINT AccessPoint; 265 1.1 jakllsch EFI_TCP6_OPTION *ControlOption; 266 1.1 jakllsch } EFI_TCP6_CONFIG_DATA; 267 1.1 jakllsch 268 1.1 jakllsch typedef 269 1.1 jakllsch EFI_STATUS 270 1.1 jakllsch (EFIAPI *EFI_TCP6_GET_MODE_DATA) ( 271 1.1 jakllsch IN struct _EFI_TCP6 *This, 272 1.1 jakllsch OUT EFI_TCP6_CONNECTION_STATE *Tcp6State OPTIONAL, 273 1.1 jakllsch OUT EFI_TCP6_CONFIG_DATA *Tcp6ConfigData OPTIONAL, 274 1.1 jakllsch OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL, 275 1.1 jakllsch OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, 276 1.1 jakllsch OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL 277 1.1 jakllsch ); 278 1.1 jakllsch 279 1.1 jakllsch typedef 280 1.1 jakllsch EFI_STATUS 281 1.1 jakllsch (EFIAPI *EFI_TCP6_CONFIGURE) ( 282 1.1 jakllsch IN struct _EFI_TCP6 *This, 283 1.1 jakllsch IN EFI_TCP6_CONFIG_DATA *Tcp6ConfigData OPTIONAL 284 1.1 jakllsch ); 285 1.1 jakllsch 286 1.1 jakllsch typedef struct { 287 1.1 jakllsch EFI_EVENT Event; 288 1.1 jakllsch EFI_STATUS Status; 289 1.1 jakllsch } EFI_TCP6_COMPLETION_TOKEN; 290 1.1 jakllsch 291 1.1 jakllsch typedef struct { 292 1.1 jakllsch EFI_TCP6_COMPLETION_TOKEN CompletionToken; 293 1.1 jakllsch } EFI_TCP6_CONNECTION_TOKEN; 294 1.1 jakllsch 295 1.1 jakllsch typedef 296 1.1 jakllsch EFI_STATUS 297 1.1 jakllsch (EFIAPI *EFI_TCP6_CONNECT) ( 298 1.1 jakllsch IN struct _EFI_TCP6 *This, 299 1.1 jakllsch IN EFI_TCP6_CONNECTION_TOKEN *ConnectionToken 300 1.1 jakllsch ); 301 1.1 jakllsch 302 1.1 jakllsch typedef struct { 303 1.1 jakllsch EFI_TCP6_COMPLETION_TOKEN CompletionToken; 304 1.1 jakllsch EFI_HANDLE NewChildHandle; 305 1.1 jakllsch } EFI_TCP6_LISTEN_TOKEN; 306 1.1 jakllsch 307 1.1 jakllsch typedef 308 1.1 jakllsch EFI_STATUS 309 1.1 jakllsch (EFIAPI *EFI_TCP6_ACCEPT) ( 310 1.1 jakllsch IN struct _EFI_TCP6 *This, 311 1.1 jakllsch IN EFI_TCP6_LISTEN_TOKEN *ListenToken 312 1.1 jakllsch ); 313 1.1 jakllsch 314 1.1 jakllsch typedef struct { 315 1.1 jakllsch UINT32 FragmentLength; 316 1.1 jakllsch VOID *FragmentBuffer; 317 1.1 jakllsch } EFI_TCP6_FRAGMENT_DATA; 318 1.1 jakllsch 319 1.1 jakllsch typedef struct { 320 1.1 jakllsch BOOLEAN UrgentFlag; 321 1.1 jakllsch UINT32 DataLength; 322 1.1 jakllsch UINT32 FragmentCount; 323 1.1 jakllsch EFI_TCP6_FRAGMENT_DATA FragmentTable[1]; 324 1.1 jakllsch } EFI_TCP6_RECEIVE_DATA; 325 1.1 jakllsch 326 1.1 jakllsch typedef struct { 327 1.1 jakllsch BOOLEAN Push; 328 1.1 jakllsch BOOLEAN Urgent; 329 1.1 jakllsch UINT32 DataLength; 330 1.1 jakllsch UINT32 FragmentCount; 331 1.1 jakllsch EFI_TCP6_FRAGMENT_DATA FragmentTable[1]; 332 1.1 jakllsch } EFI_TCP6_TRANSMIT_DATA; 333 1.1 jakllsch 334 1.1 jakllsch typedef struct { 335 1.1 jakllsch EFI_TCP6_COMPLETION_TOKEN CompletionToken; 336 1.1 jakllsch union { 337 1.1 jakllsch EFI_TCP6_RECEIVE_DATA *RxData; 338 1.1 jakllsch EFI_TCP6_TRANSMIT_DATA *TxData; 339 1.1 jakllsch } Packet; 340 1.1 jakllsch } EFI_TCP6_IO_TOKEN; 341 1.1 jakllsch 342 1.1 jakllsch typedef 343 1.1 jakllsch EFI_STATUS 344 1.1 jakllsch (EFIAPI *EFI_TCP6_TRANSMIT) ( 345 1.1 jakllsch IN struct _EFI_TCP6 *This, 346 1.1 jakllsch IN EFI_TCP6_IO_TOKEN *Token 347 1.1 jakllsch ); 348 1.1 jakllsch 349 1.1 jakllsch typedef 350 1.1 jakllsch EFI_STATUS 351 1.1 jakllsch (EFIAPI *EFI_TCP6_RECEIVE) ( 352 1.1 jakllsch IN struct _EFI_TCP6 *This, 353 1.1 jakllsch IN EFI_TCP6_IO_TOKEN *Token 354 1.1 jakllsch ); 355 1.1 jakllsch 356 1.1 jakllsch typedef struct { 357 1.1 jakllsch EFI_TCP6_COMPLETION_TOKEN CompletionToken; 358 1.1 jakllsch BOOLEAN AbortOnClose; 359 1.1 jakllsch } EFI_TCP6_CLOSE_TOKEN; 360 1.1 jakllsch 361 1.1 jakllsch typedef 362 1.1 jakllsch EFI_STATUS 363 1.1 jakllsch (EFIAPI *EFI_TCP6_CLOSE)( 364 1.1 jakllsch IN struct _EFI_TCP6 *This, 365 1.1 jakllsch IN EFI_TCP6_CLOSE_TOKEN *CloseToken 366 1.1 jakllsch ); 367 1.1 jakllsch 368 1.1 jakllsch typedef 369 1.1 jakllsch EFI_STATUS 370 1.1 jakllsch (EFIAPI *EFI_TCP6_CANCEL)( 371 1.1 jakllsch IN struct _EFI_TCP6 *This, 372 1.1 jakllsch IN EFI_TCP6_COMPLETION_TOKEN *Token OPTIONAL 373 1.1 jakllsch ); 374 1.1 jakllsch 375 1.1 jakllsch typedef 376 1.1 jakllsch EFI_STATUS 377 1.1 jakllsch (EFIAPI *EFI_TCP6_POLL) ( 378 1.1 jakllsch IN struct _EFI_TCP6 *This 379 1.1 jakllsch ); 380 1.1 jakllsch 381 1.1 jakllsch typedef struct _EFI_TCP6 { 382 1.1 jakllsch EFI_TCP6_GET_MODE_DATA GetModeData; 383 1.1 jakllsch EFI_TCP6_CONFIGURE Configure; 384 1.1 jakllsch EFI_TCP6_CONNECT Connect; 385 1.1 jakllsch EFI_TCP6_ACCEPT Accept; 386 1.1 jakllsch EFI_TCP6_TRANSMIT Transmit; 387 1.1 jakllsch EFI_TCP6_RECEIVE Receive; 388 1.1 jakllsch EFI_TCP6_CLOSE Close; 389 1.1 jakllsch EFI_TCP6_CANCEL Cancel; 390 1.1 jakllsch EFI_TCP6_POLL Poll; 391 1.1 jakllsch } EFI_TCP6; 392 1.1 jakllsch 393 1.1 jakllsch #endif /* _EFI_TCP_H */ 394