Mistake on this page?
Report an issue in GitHub or email us
NanostackPPPInterface.h
1 /*
2  * Copyright (c) 2019 ARM Limited. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  * Licensed under the Apache License, Version 2.0 (the License); you may
5  * not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef NANOSTACKPPPINTERFACE_H
18 #define NANOSTACKPPPINTERFACE_H
19 
20 #include "MeshInterfaceNanostack.h"
21 #include "PPPInterface.h"
22 #include "NanostackPPPPhy.h"
23 
25 public:
26  nsapi_error_t bringup(bool dhcp, const char *ip,
27  const char *netmask, const char *gw,
28  nsapi_ip_stack_t stack = DEFAULT_STACK,
29  bool blocking = true) override;
30  nsapi_error_t bringdown() override;
31 
33  void set_link_state_changed_callback(link_state_cb_t link_state_cb);
34 
35  char *get_interface_name(char *buf);
36 private:
37  friend class Nanostack;
38  PPPInterface(NanostackPPPPhy &phy) : Interface(phy) {}
39  nsapi_error_t initialize();
40  void link_state_changed(bool up);
41  nsapi_error_t connect_enet_tasklet();
42  link_state_cb_t link_state_cb = nullptr;
43  bool link_state_up = false;
44  bool enet_tasklet_connected = false;
45 };
46 
47 #endif
PPP PHY driver class for Nanostack.
signed int nsapi_error_t
Type used to represent error codes.
Definition: nsapi_types.h:95
char * get_interface_name(char *buf)
Returns interface name.
nsapi_error_t bringdown() override
Disconnect interface from the network.
nsapi_error_t bringup(bool dhcp, const char *ip, const char *netmask, const char *gw, nsapi_ip_stack_t stack=DEFAULT_STACK, bool blocking=true) override
Connect the interface to the network.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.