|
Zephyr Project API
3.2.0
A Scalable Open Source RTOS
|
#include <ppp.h>
Data Fields | |
| struct k_work_delayable | timer |
| struct { | |
| int(* config_info_ack )(struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length) | |
| struct net_pkt *(* config_info_add )(struct ppp_fsm *fsm) | |
| int(* config_info_len )(struct ppp_fsm *fsm) | |
| int(* config_info_nack )(struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length, bool rejected) | |
| int(* config_info_req )(struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length, struct net_pkt *ret_pkt) | |
| int(* config_info_rej )(struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length) | |
| void(* config_info_reset )(struct ppp_fsm *fsm) | |
| void(* up )(struct ppp_fsm *fsm) | |
| void(* down )(struct ppp_fsm *fsm) | |
| void(* starting )(struct ppp_fsm *fsm) | |
| void(* finished )(struct ppp_fsm *fsm) | |
| void(* proto_reject )(struct ppp_fsm *fsm) | |
| void(* retransmit )(struct ppp_fsm *fsm) | |
| enum net_verdict(* proto_extension )(struct ppp_fsm *fsm, enum ppp_packet_type code, uint8_t id, struct net_pkt *pkt) | |
| } | cb |
| struct { | |
| const struct ppp_my_option_info * info | |
| struct ppp_my_option_data * data | |
| size_t count | |
| } | my_options |
| uint32_t | flags |
| uint32_t | retransmits |
| uint32_t | nack_loops |
| uint32_t | recv_nack_loops |
| char | terminate_reason [32] |
| uint16_t | protocol |
| enum ppp_state | state |
| const char * | name |
| uint8_t | id |
| uint8_t | req_id |
| uint8_t | ack_received: 1 |
Generic PPP Finite State Machine
| uint8_t ppp_fsm::ack_received |
Have received valid Ack, Nack or Reject to a Request
| struct { ... } ppp_fsm::cb |
Acknowledge Configuration Information
| int(* ppp_fsm::config_info_len) (struct ppp_fsm *fsm) |
Length of Configuration Information
| int(* ppp_fsm::config_info_nack) (struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length, bool rejected) |
Negative Acknowledge Configuration Information
Reject Configuration Information
| int(* ppp_fsm::config_info_req) (struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length, struct net_pkt *ret_pkt) |
Request peer's Configuration Information
| void(* ppp_fsm::config_info_reset) (struct ppp_fsm *fsm) |
Reset Configuration Information
| size_t ppp_fsm::count |
Number of negotiated options
| struct ppp_my_option_data* ppp_fsm::data |
Options negotiation data
| void(* ppp_fsm::down) (struct ppp_fsm *fsm) |
FSM leaves OPENED state
| void(* ppp_fsm::finished) (struct ppp_fsm *fsm) |
Quitting this protocol
| uint32_t ppp_fsm::flags |
Option bits
| uint8_t ppp_fsm::id |
Current id
| const struct ppp_my_option_info* ppp_fsm::info |
Options information
| struct { ... } ppp_fsm::my_options |
| uint32_t ppp_fsm::nack_loops |
Number of NACK loops since last ACK
| const char* ppp_fsm::name |
Protocol/layer name of this FSM (for debugging)
| enum net_verdict(* ppp_fsm::proto_extension) (struct ppp_fsm *fsm, enum ppp_packet_type code, uint8_t id, struct net_pkt *pkt) |
Any code that is not understood by PPP is passed to this FSM for further processing.
| void(* ppp_fsm::proto_reject) (struct ppp_fsm *fsm) |
We received Protocol-Reject
| uint16_t ppp_fsm::protocol |
PPP protocol number for this FSM
| uint32_t ppp_fsm::recv_nack_loops |
Number of NACKs received
| uint8_t ppp_fsm::req_id |
Current request id
| void(* ppp_fsm::retransmit) (struct ppp_fsm *fsm) |
Retransmit
| uint32_t ppp_fsm::retransmits |
Number of re-transmissions left
| void(* ppp_fsm::starting) (struct ppp_fsm *fsm) |
Starting this protocol
| enum ppp_state ppp_fsm::state |
Current state of PPP link
| char ppp_fsm::terminate_reason[32] |
Reason for closing protocol
| struct k_work_delayable ppp_fsm::timer |
Timeout timer
| void(* ppp_fsm::up) (struct ppp_fsm *fsm) |
FSM goes to OPENED state