NeKernel dev
Loading...
Searching...
No Matches
NetworkDevice.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#ifndef __INC_NETWORK_DEVICE_H__
8#define __INC_NETWORK_DEVICE_H__
9
10#include <KernelKit/DeviceMgr.h>
11#include <NetworkKit/IP.h>
12
14
15namespace Kernel {
17class NetworkDevice;
18
23 public:
26 void (*cleanup)(void) = nullptr);
27
28 ~NetworkDevice() override;
29
30 public:
32 NetworkDevice(const NetworkDevice&) = default;
33
34 public:
35 const Char* Name() const override;
36 Boolean Name(const Char* newStr);
37
38 private:
39 Void (*fCleanup)(void);
40};
41
49
52
55
58
61
64
67
70
73
76
79} // namespace Kernel
80
82
83#endif // !__INC_NETWORK_DEVICE_H__
#define NE_DEVICE
Definition DeviceMgr.h:27
Device contract interface, represents an HW device.
Definition DeviceMgr.h:42
NetworkDevice & operator=(const NetworkDevice &)=default
NetworkDevice(void(*out)(DeviceInterface< NetworkDeviceCommand > *, NetworkDeviceCommand), void(*in)(DeviceInterface< NetworkDeviceCommand > *, NetworkDeviceCommand), void(*cleanup)(void)=nullptr)
NetworkDevice(const NetworkDevice &)=default
const Char * Name() const override
Boolean Name(const Char *newStr)
Void(* fCleanup)(void)
Definition NetworkDevice.h:39
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
void Void
Definition Config.h:87
NetworkDevice PPPNetworkDevice
PPP device.
Definition NetworkDevice.h:57
NetworkDevice BTNetworkDevice
Bluetooth device.
Definition NetworkDevice.h:69
NetworkDevice PrinterNetworkDevice
Printer device.
Definition NetworkDevice.h:72
__SIZE_TYPE__ SizeT
Definition Config.h:60
NetworkDevice GPRSNetworkDevice
GRPS device.
Definition NetworkDevice.h:63
NetworkDevice UDPNetworkDevice
UDP device.
Definition NetworkDevice.h:54
NetworkDevice LTENetworkDevice
LTE device.
Definition NetworkDevice.h:78
__UINT32_TYPE__ UInt32
Definition Config.h:44
void * VoidPtr
Definition Config.h:33
Device NetworkDevice
Definition Device.h:33
bool Boolean
Definition Config.h:49
NetworkDevice GSMNetworkDevice
GSM device.
Definition NetworkDevice.h:66
NetworkDevice IPCNetworkDevice
IPC device.
Definition NetworkDevice.h:60
NetworkDevice DBGNetworkDevice
Debug device.
Definition NetworkDevice.h:75
NetworkDevice TCPNetworkDevice
TCP device.
Definition NetworkDevice.h:51
Definition NetworkDevice.h:42
UInt32 CommandType
Definition NetworkDevice.h:44
VoidPtr CommandBuffer
Definition NetworkDevice.h:46
SizeT CommandSizeBuffer
Definition NetworkDevice.h:47
UInt32 CommandName
Definition NetworkDevice.h:43
UInt32 CommandFlags
Definition NetworkDevice.h:45