Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
ppp_fsm Struct Reference

#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
 

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 { ... } ppp_fsm::cb

◆ 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 { ... } ppp_fsm::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: