Zephyr Project API 3.7.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 | |
FSM callbacks. | ||
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 | |
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 |
FSM callbacks.
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 |
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.