23#include "FileHandle.h"
24#include "NetStackMemoryManager.h"
36 virtual ~PPP() =
default;
73 virtual void get_ifname(
char *name, uint8_t size)
const = 0;
84 virtual bool link_out(net_stack_mem_buf_t *buf, nsapi_ip_stack_t ip_stack) = 0;
virtual void set_memory_manager(NetStackMemoryManager &mem_mngr)=0
Sets memory manager that is used to handle memory buffers.
virtual uint32_t get_mtu_size()=0
Return maximum transmission unit.
virtual bool power_up()=0
Initializes the PPP.
virtual void set_link_input_cb(ppp_link_input_cb_t input_cb)=0
Sets a callback that needs to be called for packets received for that interface.
virtual const nsapi_addr_t * get_dns_server(uint8_t index)=0
Gets DNS server address.
virtual const nsapi_addr_t * get_ip_address(nsapi_version_t version)=0
Gets local IP address.
virtual const nsapi_addr_t * get_gateway()=0
Get the local gateway.
virtual void set_ip_stack(nsapi_ip_stack_t ip_stack)=0
Sets IP protocol versions of IP stack.
virtual void get_ifname(char *name, uint8_t size) const =0
Return interface name.
mbed::Callback< void(bool up)> ppp_link_state_change_cb_t
Callback to be registered with PPP interface and to be called for link status changes.
virtual void set_credentials(const char *uname, const char *password)=0
Sets user name and password for PPP protocol.
virtual uint32_t get_align_preference() const =0
Gets memory buffer alignment preference.
virtual bool link_out(net_stack_mem_buf_t *buf, nsapi_ip_stack_t ip_stack)=0
Sends the packet over the link.
virtual const nsapi_addr_t * get_netmask()=0
Get the local network mask.
virtual void set_stream(mbed::FileHandle *stream)=0
Sets file stream used to communicate with modem.
virtual void power_down()=0
Deinitializes the PPP.
mbed::Callback< void(net_stack_mem_buf_t *buf)> ppp_link_input_cb_t
Callback to be registered with PPP interface and to be called for received packets.
static PPP & get_default_instance()
Return the default on-board PPP.
virtual void set_link_state_cb(ppp_link_state_change_cb_t state_cb)=0
Sets a callback that needs to be called on link status changes for given interface.
Callback class based on template specialization.
IP address structure for passing IP addresses by value.