Home | History | Annotate | Line # | Download | only in inc
      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