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  virtual 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);
30  virtual nsapi_error_t bringdown();
31 
33  virtual void set_link_state_changed_callback(link_state_cb_t link_state_cb);
34 
35 private:
36  friend class Nanostack;
37  PPPInterface(NanostackPhy &phy) : Interface(phy), link_state_up(false), enet_tasklet_connected(false) {}
38  nsapi_error_t initialize();
39  void link_state_changed(bool up);
40  nsapi_error_t connect_enet_tasklet();
41  link_state_cb_t link_state_cb;
42  bool link_state_up;
43  bool enet_tasklet_connected;
44 };
45 
46 #endif
signed int nsapi_error_t
Type used to represent error codes.
Definition: nsapi_types.h:95
virtual 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)
Connect the interface to the network.
virtual nsapi_error_t bringdown()
Disconnect interface from the network.
PHY driver class for Nanostack.
Definition: NanostackPhy.h:25
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.