ppp.h File Reference
PPP (Point-to-Point Protocol) More...
Go to the source code of this file.
Data Structures | |
struct | _PppPacket |
LCP/NCP packet header. More... | |
struct | PppSettings |
PPP settings. More... | |
struct | PppFsm |
PPP finite state machine. More... | |
struct | PppConfig |
PPP configuration options. More... | |
struct | _PppContext |
PPP context. More... | |
Typedefs | |
typedef error_t(* | PppRandCallback )(uint8_t *data, size_t length) |
Random data generation callback function. | |
typedef bool_t(* | PppAuthCallback )(NetInterface *interface, const char_t *username) |
PPP authentication callback function. | |
Enumerations | |
enum | PppPhase { PPP_PHASE_DEAD = 0, PPP_PHASE_ESTABLISH = 1, PPP_PHASE_AUTHENTICATE = 2, PPP_PHASE_NETWORK = 3, PPP_PHASE_TERMINATE = 4 } |
PPP phases. More... | |
enum | PppState |
LCP/NCP states. More... | |
enum | PppProtocol { PPP_PROTOCOL_IP = 0x0021, PPP_PROTOCOL_IPV6 = 0x0057, PPP_PROTOCOL_IPCP = 0x8021, PPP_PROTOCOL_IPV6CP = 0x8057, PPP_PROTOCOL_LCP = 0xC021, PPP_PROTOCOL_PAP = 0xC023, PPP_PROTOCOL_LQR = 0xC025, PPP_PROTOCOL_CHAP = 0xC223 } |
Protocol field values. More... | |
enum | PppCode { PPP_CODE_CONFIGURE_REQ = 1, PPP_CODE_CONFIGURE_ACK = 2, PPP_CODE_CONFIGURE_NAK = 3, PPP_CODE_CONFIGURE_REJ = 4, PPP_CODE_TERMINATE_REQ = 5, PPP_CODE_TERMINATE_ACK = 6, PPP_CODE_CODE_REJ = 7, PPP_CODE_PROTOCOL_REJ = 8, PPP_CODE_ECHO_REQ = 9, PPP_CODE_ECHO_REP = 10, PPP_CODE_DISCARD_REQ = 11 } |
Code field values. More... | |
enum | PppAuthProtocol |
PPP authentication protocols. More... | |
Functions | |
void | pppGetDefaultSettings (PppSettings *settings) |
Initialize settings with default values. | |
error_t | pppInit (PppContext *context, const PppSettings *settings) |
PPP initialization. | |
error_t | pppSetTimeout (NetInterface *interface, systime_t timeout) |
Set timeout value for blocking operations. | |
error_t | pppSetAuthInfo (NetInterface *interface, const char_t *username, const char_t *password) |
Set PPP authentication information. | |
bool_t | pppCheckPassword (NetInterface *interface, const char_t *password) |
Password verification. | |
error_t | pppSendAtCommand (NetInterface *interface, const char_t *data) |
Send AT command. | |
error_t | pppReceiveAtCommand (NetInterface *interface, char_t *data, size_t size) |
Wait for an incoming AT command. | |
error_t | pppConnect (NetInterface *interface) |
Establish a PPP connection. | |
error_t | pppClose (NetInterface *interface) |
Close a PPP connection. | |
void | pppTick (NetInterface *interface) |
PPP timer handler. | |
void | pppProcessFrame (NetInterface *interface, uint8_t *frame, size_t length) |
Process an incoming PPP frame. | |
error_t | pppSendFrame (NetInterface *interface, NetBuffer *buffer, size_t offset, uint16_t protocol) |
Send a PPP frame. | |
size_t | pppParseFrameHeader (const uint8_t *frame, size_t length, uint16_t *protocol) |
Parse PPP frame header. | |
uint16_t | pppCalcFcs (const uint8_t *data, size_t length) |
FCS calculation. | |
uint16_t | pppCalcFcsEx (const NetBuffer *buffer, size_t offset, size_t length) |
Calculate FCS over a multi-part buffer. | |
NetBuffer * | pppAllocBuffer (size_t length, size_t *offset) |
Allocate a buffer to hold a PPP frame. |
Detailed Description
PPP (Point-to-Point Protocol)
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version:
- 1.7.6
Definition in file ppp.h.
Typedef Documentation
typedef bool_t(* PppAuthCallback)(NetInterface *interface, const char_t *username) |
typedef error_t(* PppRandCallback)(uint8_t *data, size_t length) |
Enumeration Type Documentation
enum PppAuthProtocol |
enum PppCode |
Code field values.
- Enumerator:
enum PppPhase |
enum PppProtocol |
Protocol field values.
- Enumerator:
Function Documentation
NetBuffer* pppAllocBuffer | ( | size_t | length, |
size_t * | offset | ||
) |
uint16_t pppCalcFcs | ( | const uint8_t * | data, |
size_t | length | ||
) |
uint16_t pppCalcFcsEx | ( | const NetBuffer * | buffer, |
size_t | offset, | ||
size_t | length | ||
) |
bool_t pppCheckPassword | ( | NetInterface * | interface, |
const char_t * | password | ||
) |
error_t pppClose | ( | NetInterface * | interface ) |
error_t pppConnect | ( | NetInterface * | interface ) |
void pppGetDefaultSettings | ( | PppSettings * | settings ) |
error_t pppInit | ( | PppContext * | context, |
const PppSettings * | settings | ||
) |
size_t pppParseFrameHeader | ( | const uint8_t * | frame, |
size_t | length, | ||
uint16_t * | protocol | ||
) |
Parse PPP frame header.
- Parameters:
-
[in] frame Pointer to the PPP frame [in] length Length of the frame, in bytes [out] protocol Value of the Protocol field
- Returns:
- If the PPP header was successfully parsed, the function returns the size of the PPP header, in bytes. If a parsing error occurred, zero is returned
void pppProcessFrame | ( | NetInterface * | interface, |
uint8_t * | frame, | ||
size_t | length | ||
) |
error_t pppReceiveAtCommand | ( | NetInterface * | interface, |
char_t * | data, | ||
size_t | size | ||
) |
error_t pppSendAtCommand | ( | NetInterface * | interface, |
const char_t * | data | ||
) |
error_t pppSetAuthInfo | ( | NetInterface * | interface, |
const char_t * | username, | ||
const char_t * | password | ||
) |
error_t pppSetTimeout | ( | NetInterface * | interface, |
systime_t | timeout | ||
) |
Generated on Tue Jul 12 2022 17:10:21 by
