Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

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.
 

Detailed Description

Generic PPP Finite State Machine.

Field Documentation

◆ ack_received

uint8_t ppp_fsm::ack_received

Have received valid Ack, Nack or Reject to a Request.

◆ [struct]

struct { ... } ppp_fsm::cb

FSM callbacks.

◆ config_info_ack

int(* ppp_fsm::config_info_ack) (struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length)

Acknowledge Configuration Information.

◆ config_info_add

struct net_pkt *(* ppp_fsm::config_info_add) (struct ppp_fsm *fsm)

Add Configuration Information.

◆ config_info_len

int(* ppp_fsm::config_info_len) (struct ppp_fsm *fsm)

Length of Configuration Information.

◆ config_info_nack

int(* ppp_fsm::config_info_nack) (struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length, bool rejected)

Negative Acknowledge Configuration Information.

◆ config_info_rej

int(* ppp_fsm::config_info_rej) (struct ppp_fsm *fsm, struct net_pkt *pkt, uint16_t length)

Reject Configuration Information.

◆ config_info_req

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.

◆ config_info_reset

void(* ppp_fsm::config_info_reset) (struct ppp_fsm *fsm)

Reset Configuration Information.

◆ count

size_t ppp_fsm::count

Number of negotiated options.

◆ data

struct ppp_my_option_data* ppp_fsm::data

Options negotiation data.

◆ down

void(* ppp_fsm::down) (struct ppp_fsm *fsm)

FSM leaves OPENED state.

◆ finished

void(* ppp_fsm::finished) (struct ppp_fsm *fsm)

Quitting this protocol.

◆ flags

uint32_t ppp_fsm::flags

Option bits.

◆ id

uint8_t ppp_fsm::id

Current id.

◆ info

const struct ppp_my_option_info* ppp_fsm::info

Options information.

◆ [struct]

struct { ... } ppp_fsm::my_options

My options.

◆ nack_loops

uint32_t ppp_fsm::nack_loops

Number of NACK loops since last ACK.

◆ name

const char* ppp_fsm::name

Protocol/layer name of this FSM (for debugging)

◆ proto_extension

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.

◆ proto_reject

void(* ppp_fsm::proto_reject) (struct ppp_fsm *fsm)

We received Protocol-Reject.

◆ protocol

uint16_t ppp_fsm::protocol

PPP protocol number for this FSM.

◆ recv_nack_loops

uint32_t ppp_fsm::recv_nack_loops

Number of NACKs received.

◆ req_id

uint8_t ppp_fsm::req_id

Current request id.

◆ retransmit

void(* ppp_fsm::retransmit) (struct ppp_fsm *fsm)

Retransmit.

◆ retransmits

uint32_t ppp_fsm::retransmits

Number of re-transmissions left.

◆ starting

void(* ppp_fsm::starting) (struct ppp_fsm *fsm)

Starting this protocol.

◆ state

enum ppp_state ppp_fsm::state

Current state of PPP link.

◆ terminate_reason

char ppp_fsm::terminate_reason[32]

Reason for closing protocol.

◆ timer

struct k_work_delayable ppp_fsm::timer

Timeout timer.

◆ up

void(* ppp_fsm::up) (struct ppp_fsm *fsm)

FSM goes to OPENED state.


The documentation for this struct was generated from the following file: