This interface should be used to abstract low level access to networking hardware All operations receive a void *
hardware pointer which an ppp device provides when it is registered with a stack.
More...
#include <ppp_service.h>
Public Types | |
typedef 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. More... | |
typedef 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. More... | |
Public Member Functions | |
uint32_t | get_mtu_size () override |
Return maximum transmission unit. More... | |
uint32_t | get_align_preference () const override |
Gets memory buffer alignment preference. More... | |
void | get_ifname (char *name, uint8_t size) const override |
Return interface name. More... | |
bool | link_out (net_stack_mem_buf_t *buf, nsapi_ip_stack_t ip_stack) override |
Sends the packet over the link. More... | |
bool | power_up () override |
Initializes the hardware. More... | |
void | power_down () override |
Deinitializes the hardware. More... | |
void | set_link_input_cb (ppp_link_input_cb_t input_cb) override |
Sets a callback that needs to be called for packets received for that interface. More... | |
void | set_link_state_cb (ppp_link_state_change_cb_t state_cb) override |
Sets a callback that needs to be called on link status changes for given interface. More... | |
void | set_memory_manager (NetStackMemoryManager &mem_mngr) override |
Sets memory manager that is used to handle memory buffers. More... | |
void | set_stream (mbed::FileHandle *stream) override |
Sets file stream used to communicate with modem. More... | |
void | set_ip_stack (nsapi_ip_stack_t ip_stack) override |
Sets IP protocol versions of IP stack. More... | |
void | set_credentials (const char *uname, const char *password) override |
Sets user name and password for PPP protocol. More... | |
const nsapi_addr_t * | get_ip_address (nsapi_version_t version) override |
Gets local IP address. More... | |
const nsapi_addr_t * | get_netmask () override |
Get the local network mask. More... | |
const nsapi_addr_t * | get_gateway () override |
Get the local gateway. More... | |
const nsapi_addr_t * | get_dns_server (uint8_t index) override |
Gets DNS server address. More... | |
void | link_state (bool up) |
Link state indication from PPP. More... | |
void | link_input (net_stack_mem_buf_t *buf) |
Received IP packet from PPP to stack. More... | |
events::EventQueue * | event_queue_get () |
Handle to PPP event queue. More... | |
void | resource_lock () |
Lock PPP resource. More... | |
void | resource_unlock () |
Unlock PPP resource. More... | |
Static Public Member Functions | |
static PPP & | get_default_instance () |
Return the default on-board PPP. More... | |
This interface should be used to abstract low level access to networking hardware All operations receive a void *
hardware pointer which an ppp device provides when it is registered with a stack.
Definition at line 37 of file ppp_service.h.
typedef 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.
buf | Received data |
Definition at line 49 of file ppp_service.h.
typedef 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.
up | Link status |
Definition at line 57 of file ppp_service.h.
events::EventQueue* event_queue_get | ( | ) |
Handle to PPP event queue.
|
overridevirtual |
Gets memory buffer alignment preference.
Gets preferred memory buffer alignment of the ppp device.
Implements PPP.
|
staticinherited |
|
overridevirtual |
|
overridevirtual |
Get the local gateway.
Implements PPP.
|
overridevirtual |
Return interface name.
name | Pointer to where the name should be written |
size | Maximum number of characters to copy |
Implements PPP.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Get the local network mask.
Implements PPP.
void link_input | ( | net_stack_mem_buf_t * | buf | ) |
Received IP packet from PPP to stack.
buf | Received packet |
|
overridevirtual |
Sends the packet over the link.
That cannot be called from an interrupt context.
buf | Packet to be send |
Implements PPP.
void link_state | ( | bool | up | ) |
Link state indication from PPP.
up | Link status |
|
overridevirtual |
Deinitializes the hardware.
Implements PPP.
|
overridevirtual |
void resource_lock | ( | ) |
Lock PPP resource.
void resource_unlock | ( | ) |
Unlock PPP resource.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Sets a callback that needs to be called for packets received for that interface.
input_cb | Function to be register as a callback |
Implements PPP.
|
overridevirtual |
Sets a callback that needs to be called on link status changes for given interface.
state_cb | Function to be register as a callback |
Implements PPP.
|
overridevirtual |
Sets memory manager that is used to handle memory buffers.
mem_mngr | Pointer to memory manager |
Implements PPP.
|
overridevirtual |
Sets file stream used to communicate with modem.
stream | Pointer to file handle |
Implements PPP.