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