TianoCore EDK2 master
Loading...
Searching...
No Matches
TcpDriver.h
Go to the documentation of this file.
1
10#ifndef _TCP_DRIVER_H_
11#define _TCP_DRIVER_H_
12
13#define TCP_DRIVER_SIGNATURE SIGNATURE_32 ('T', 'C', 'P', 'D')
14
15#define TCP_PORT_KNOWN 1024
16#define TCP_PORT_USER_RESERVED 65535
17
18typedef struct _TCP_HEARTBEAT_TIMER {
19 EFI_EVENT TimerEvent;
20 INTN RefCnt;
22
23typedef struct _TCP_SERVICE_DATA {
24 UINT32 Signature;
25 EFI_HANDLE ControllerHandle;
26 EFI_HANDLE DriverBindingHandle;
27 UINT8 IpVersion;
28 IP_IO *IpIo;
29 EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
30 LIST_ENTRY SocketList;
32
33typedef struct _TCP_PROTO_DATA {
34 TCP_SERVICE_DATA *TcpService;
35 TCP_CB *TcpPcb;
37
38#define TCP_SERVICE_FROM_THIS(a) \
39 CR ( \
40 (a), \
41 TCP_SERVICE_DATA, \
42 ServiceBinding, \
43 TCP_DRIVER_SIGNATURE \
44 )
45
46//
47// Function prototype for the driver's entry point
48//
49
61EFIAPI
63 IN EFI_HANDLE ImageHandle,
64 IN EFI_SYSTEM_TABLE *SystemTable
65 );
66
67//
68// Function prototypes for the Driver Binding Protocol
69//
70
85EFIAPI
88 IN EFI_HANDLE ControllerHandle,
89 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
90 );
91
107EFIAPI
110 IN EFI_HANDLE ControllerHandle,
111 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
112 );
113
130EFIAPI
133 IN EFI_HANDLE ControllerHandle,
134 IN UINTN NumberOfChildren,
135 IN EFI_HANDLE *ChildHandleBuffer OPTIONAL
136 );
137
152EFIAPI
155 IN EFI_HANDLE ControllerHandle,
156 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
157 );
158
174EFIAPI
177 IN EFI_HANDLE ControllerHandle,
178 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
179 );
180
197EFIAPI
200 IN EFI_HANDLE ControllerHandle,
201 IN UINTN NumberOfChildren,
202 IN EFI_HANDLE *ChildHandleBuffer OPTIONAL
203 );
204
217 IN SOCKET *This,
218 IN VOID *Context
219 );
220
228VOID
230 IN SOCKET *This,
231 IN VOID *Context
232 );
233
234//
235// Function prototypes for the ServiceBinding Protocol
236//
237
259EFIAPI
262 IN OUT EFI_HANDLE *ChildHandle
263 );
264
284EFIAPI
287 IN EFI_HANDLE ChildHandle
288 );
289
290#endif
UINT64 UINTN
INT64 INTN
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS TcpCreateSocketCallback(IN SOCKET *This, IN VOID *Context)
Definition: TcpDriver.c:823
EFI_STATUS EFIAPI Tcp4DriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
Definition: TcpDriver.c:679
EFI_STATUS EFIAPI TcpDriverEntryPoint(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
Definition: TcpDriver.c:166
EFI_STATUS EFIAPI Tcp6DriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
Definition: TcpDriver.c:763
EFI_STATUS EFIAPI Tcp4DriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
Definition: TcpDriver.c:593
VOID TcpDestroySocketCallback(IN SOCKET *This, IN VOID *Context)
Definition: TcpDriver.c:892
EFI_STATUS EFIAPI TcpServiceBindingDestroyChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle)
Definition: TcpDriver.c:1021
EFI_STATUS EFIAPI Tcp6DriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
Definition: TcpDriver.c:710
EFI_STATUS EFIAPI TcpServiceBindingCreateChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN OUT EFI_HANDLE *ChildHandle)
Definition: TcpDriver.c:946
EFI_STATUS EFIAPI Tcp6DriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
Definition: TcpDriver.c:796
EFI_STATUS EFIAPI Tcp4DriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
Definition: TcpDriver.c:646
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33