Telematics SDK - Interface Specification
v1.37.0
|
Data Structures | |
class | telux::data::net::IBridgeManager |
IBridgeManager provides APIs to enable/disable and set/get/delete software bridges for various WLAN and Ethernet interfaces. More... | |
class | telux::data::net::IFirewallManager |
FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules. More... | |
class | telux::data::net::IFirewallEntry |
Firewall entry class is used for configuring firewall rules. More... | |
struct | telux::data::net::L2tpSessionConfig |
struct | telux::data::net::L2tpTunnelConfig |
struct | telux::data::net::L2tpSysConfig |
class | telux::data::net::IL2tpManager |
L2tpManager is a primary interface for configuring L2TP Service. More... | |
struct | telux::data::net::NatConfig |
class | telux::data::net::INatManager |
NatManager is a primary interface for configuring static network address translation(SNAT) and DMZ (demilitarized zone) More... | |
class | telux::data::net::ISocksManager |
SocksManager is a primary interface for configuring legacy Socks proxy server. More... | |
class | telux::data::net::IVlanManager |
VlanManager is a primary interface for configuring VLAN (Virtual Local Area Network). it provide APIs for create, query, remove VLAN interfaces and associate or disassociate with profile IDs. More... | |
Enumerations | |
enum | telux::data::net::L2tpProtocol { telux::data::net::L2tpProtocol::NONE = 0, telux::data::net::L2tpProtocol::IP = 0x01, telux::data::net::L2tpProtocol::UDP = 0x02 } |
class telux::data::net::IBridgeManager |
IBridgeManager provides APIs to enable/disable and set/get/delete software bridges for various WLAN and Ethernet interfaces.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | enableBridge (bool enable, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | addBridge (BridgeInfo config, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestBridgeInfo (BridgeInfoResponseCb callback)=0 |
virtual telux::common::Status | removeBridge (std::string ifaceName, telux::common::ResponseCallback callback=nullptr)=0 |
virtual | ~IBridgeManager () |
|
virtual |
Destructor for IBridgeManager
|
pure virtual |
Checks if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
pure virtual |
Enable/Disable the software bridge in the system. It will affect all the configured software bridges for various interfaces.
[in] | enable | TRUE to enable, FALSE to disable the bridge |
[in] | callback | Optional callback to get the response for enableBridge |
|
pure virtual |
Add software bridge configuration for an interface.
[in] | config | configuration for an interface |
[in] | callback | Optional callback to get the response for addBridge |
|
pure virtual |
Request information about all the software bridge configurations in the system
[in] | callback | Response callback with list of bridge configurations |
|
pure virtual |
Delete a software bridge configuration for an interface.
[in] | ifaceName | Name of the interface whose configuration needs to be deleted |
[in] | callback | Optional callback to get the response for removeBridge |
class telux::data::net::IFirewallManager |
FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | setFirewall (int profileId, bool enable, bool allowPackets, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestFirewallStatus (int profileId, FirewallStatusCb callback, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | addFirewallEntry (int profileId, std::shared_ptr< IFirewallEntry > entry, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestFirewallEntries (int profileId, FirewallEntriesCb callback, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | removeFirewallEntry (int profileId, uint32_t handle, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | enableDmz (int profileId, const std::string ipAddr, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | disableDmz (int profileId, const telux::data::IpFamilyType ipType, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestDmzEntry (int profileId, DmzEntriesCb dmzCb, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~IFirewallManager () |
|
virtual |
Destructor for IFirewallManager
|
pure virtual |
Checks if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
pure virtual |
Sets firewall configuration to enable or disable and update configuration to drop or accept the packets matching the rules.
[in] | profileId | Profile identifier on which firewall will be set. |
[in] | enable | Indicates whether the firewall is enabled |
[in] | allowPackets | Indicates whether to accept or drop packets matching the rules |
[in] | callback | optional callback to get the response setFirewall |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request status of firewall
[in] | profileId | Profile identifier for which firewall status is requested. |
[in] | callback | callback to get the response of requestFirewallStatus |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Adds the firewall rule
[in] | profileId | Profile identifier on which firewall rule will be added. |
[in] | entry | Firewall entry based on protocol type |
[in] | callback | optional callback to get the response addFirewallEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request Firewall rules
[in] | profileId | Profile identifier on which firewall entries are retrieved. |
[in] | callback | callback to get the response requestFirewallEntries. |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Remove firewall entry
[in] | profileId | Profile identifier on which firewall entry will be removed. |
[in] | handle | handle of Firewall entry to be removed. To retrieve the handle, first use requestFirewallEntries() to get the list of entries added in the system. And then use IFirewallEntry::getHandle() |
[in] | callback | callback to get the response removeFirewallEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Enable demilitarized zone (DMZ)
[in] | profileId | Profile identifier on which DMZ will be enabled. |
[in] | ipAddr | IP address for which DMZ will be enabled |
[in] | callback | optional callback to get the response addDmz |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Disable demilitarized zone (DMZ)
[in] | profileId | Profile identifier on which DMZ will be disabled. |
[in] | ipType | Specify IP type of the DMZ to be disabled |
[in] | callback | optional callback to get the response removeDmz |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request DMZ entry that was previously set using enableDmz API
[in] | profileId | Profile identifier on which DMZ entries are requested. |
[in] | dmzCb | callback to get the response requestDmzEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::IFirewallEntry |
Firewall entry class is used for configuring firewall rules.
Public Member Functions | |
virtual std::shared_ptr < IIpFilter > | getIProtocolFilter ()=0 |
virtual telux::data::Direction | getDirection ()=0 |
virtual telux::data::IpFamilyType | getIpFamilyType ()=0 |
virtual uint32_t | getHandle ()=0 |
virtual | ~IFirewallEntry () |
Static Public Attributes | |
static const uint32_t | INVALID_HANDLE = 0 |
|
virtual |
Destructor for IFirewallEntry
|
pure virtual |
Get IProtocol filter type
|
pure virtual |
Get firewall direction
|
pure virtual |
Get Ip FamilyType
|
pure virtual |
Get the unique handle identifying this Firewall entry in the system
|
static |
struct telux::data::net::L2tpSessionConfig |
struct telux::data::net::L2tpTunnelConfig |
L2TP tunnel configuration
Data Fields | ||
---|---|---|
L2tpProtocol | prot |
Encapsulation protocols |
uint32_t | locId |
Local tunnel id |
uint32_t | peerId |
Peer tunnel id |
uint32_t | localUdpPort |
Local udp port - if UDP encapsulation is used |
uint32_t | peerUdpPort |
Peer udp port - if IP encapsulation is used |
string | peerIpv6Addr |
Peer IPv6 Address - for Ipv6 tunnels |
string | peerIpv4Addr |
Peer IPv4 Address - for Ipv4 tunnels |
string | locIface |
interface name to create L2TP tunnel on |
IpFamilyType | ipType |
Ip family type telux::data::IpFamilyType |
vector< L2tpSessionConfig > | sessionConfig |
List of L2tp tunnel sessions |
struct telux::data::net::L2tpSysConfig |
L2TP Configuration
Data Fields | ||
---|---|---|
vector< L2tpTunnelConfig > | configList |
List of L2tp tunnel configurations |
bool | enableMtu |
Enable MTU size setting on underlying interfaces to avoid segmentation |
bool | enableTcpMss |
Enable TCP MSS clampping on L2TP interfaces to avoid segmentation |
uint32_t | mtuSize |
Current MTU size in bytes |
class telux::data::net::IL2tpManager |
L2tpManager is a primary interface for configuring L2TP Service.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | setConfig (bool enable, bool enableMss, bool enableMtu, telux::common::ResponseCallback callback=nullptr, uint32_t mtuSize=0)=0 |
virtual telux::common::Status | addTunnel (const L2tpTunnelConfig &l2tpTunnelConfig, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestConfig (L2tpConfigCb l2tpConfigCb)=0 |
virtual telux::common::Status | removeTunnel (uint32_t tunnelId, telux::common::ResponseCallback callback=nullptr)=0 |
virtual | ~IL2tpManager () |
|
virtual |
Destructor for IL2tpManager
|
pure virtual |
Checks if the L2tp manager subsystem is ready.
|
pure virtual |
Wait for L2tp manager subsystem to be ready.
|
pure virtual |
Enable L2TP for unmanaged Tunnel State
[in] | enable | Enable/Disable L2TP for unmanaged tunnels. |
[in] | enableMss | Enable/Disable TCP MSS to be clamped on L2TP interfaces to avoid Segmentation |
[in] | enableMtu | Enable/Disable MTU size to be set on underlying interfaces to avoid fragmentation |
[in] | callback | optional callback to get the response setConfig |
[in] | mtuSize | optional MTU size in bytes. If not set, MTU size will be set to default 1422 bytes |
|
pure virtual |
Set L2TP Configuration for one tunnel
[in] | l2tpTunnelConfig | Configuration to be set telux::net::L2tpTunnelConfig |
[in] | callback | Optional callback to get the response addTunnel |
|
pure virtual |
Get Current L2TP Configuration
[in] | l2tpConfigCb | Asynchronous callback to get current L2TP configurations |
|
pure virtual |
Remove L2TP Tunnel
[in] | tunnelId | Tunnel ID to be removed |
[in] | callback | optional callback to get the response removeConfig |
struct telux::data::net::NatConfig |
Structure represents Network Address Translation (NAT) configuration
Data Fields | ||
---|---|---|
string | addr |
Private IP address |
uint16_t | port |
Private port |
uint16_t | globalPort |
Global port |
IpProtocol | proto |
IP protocol telux::net::IpProtocol |
class telux::data::net::INatManager |
NatManager is a primary interface for configuring static network address translation(SNAT) and DMZ (demilitarized zone)
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | addStaticNatEntry (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | removeStaticNatEntry (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestStaticNatEntries (int profileId, StaticNatEntriesCb snatEntriesCb, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~INatManager () |
|
virtual |
Destructor for INatManager
|
pure virtual |
Checks if the NAT manager subsystem is ready.
|
pure virtual |
Wait for NAT manager subsystem to be ready.
|
pure virtual |
Adds a static Network Address Translation (NAT) entry in the NAT table, these entries are persistent across object, connection and reboot lifetimes. To remove an entry it needs a explicit call to removeStaticNatEntry() API, it supports both IPv4 and IPv6
[in] | profileId | Profile identifier to which static entry will be mapped to. |
[in] | snatConfig | snatConfiguration telux::net::NatConfig |
[in] | callback | optional callback to get the response addStaticNatEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Removes a static Network Address Translation (NAT) entry in the NAT table, it supports both IPv4 and IPv6
[in] | profileId | Profile identifier to which static entry will be removed from. |
[in] | snatConfig | snatConfiguration telux::net::NatConfig |
[in] | callback | optional callback to get the response removeStaticNatEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request list of static nat entries available in the NAT table
[in] | profileId | Profile identifier to which static entries will be retrieved. |
[in] | snatEntriesCb | Asynchronous callback to get the list of static Network Address Translation (NAT) entries |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::ISocksManager |
SocksManager is a primary interface for configuring legacy Socks proxy server.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | enableSocks (bool enable, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~ISocksManager () |
|
virtual |
Destructor for Socks Manager
|
pure virtual |
Checks if the SocksManager subsystem is ready.
|
pure virtual |
Wait for SocksManager subsystem to be ready.
|
pure virtual |
Enable or Disable Socks proxy service.
[in] | enble | true: enable proxy, false: disable proxy |
[in] | callback | optional callback to get the operation error code if any |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::IVlanManager |
VlanManager is a primary interface for configuring VLAN (Virtual Local Area Network). it provide APIs for create, query, remove VLAN interfaces and associate or disassociate with profile IDs.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | createVlan (const VlanConfig &vlanConfig, CreateVlanCb callback=nullptr)=0 |
virtual telux::common::Status | removeVlan (int16_t vlanId, InterfaceType ifaceType, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | queryVlanInfo (QueryVlanResponseCb callback)=0 |
virtual telux::common::Status | bindWithProfile (int profileId, int vlanId, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | unbindFromProfile (int profileId, int vlanId, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | queryVlanMappingList (VlanMappingResponseCb callback, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~IVlanManager () |
|
virtual |
Destructor for IVlanManager
|
pure virtual |
Checks if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
pure virtual |
Create a VLAN associated with multiple interfaces
[in] | vlanConfig | vlan configuration |
[out] | callback | optional callback to get the response createVlan |
|
pure virtual |
Remove VLAN configuration
[in] | vlanId | VLAN ID |
[in] | ifaceType | telux::net::InterfaceType |
[out] | callback | optional callback to get the response removeVlan |
|
pure virtual |
Query information about all the VLANs in the system
[out] | callback | Response callback with list of configured VLANs |
|
pure virtual |
Bind a Vlan with a particular profile ID and slot ID. When a WWAN network interface is brought up using IDataConnectionManager::startDataCall on that profile ID and slot ID, that interface will be accessible from this Vlan
[in] | profileId | profile id for vlan association |
[in] | vlanId | sets vlan id |
[out] | callback | callback to get the response of associateWithProfileId API |
[in] | slotId | Specify slot id which has the sim that contains profile id. |
|
pure virtual |
Unbind VLAN id from given slot id and profile id
[in] | profileId | profile id for vlan association |
[in] | vlanId | vlan id |
[in] | callback | callback to get the response of associateWithProfileId API |
[in] | slotId | Specify slot id which has the sim that contains profile id . |
|
pure virtual |
Query VLAN mapping of profile id and vlan id on specified sim
[in] | callback | callback to get the response of queryVlanMappingList API |
[in] | slotId | Specify slot id which has the sim that contains profile id mapping to vlan id. |
|
pure virtual |
Get the associated operation type for this instance.
|
strong |