* Copyright 2003-2005, Haiku Inc.
* Distributed under the terms of the MIT License.
*/
#ifndef _PPP_DEFS__H
#define _PPP_DEFS__H
#include <SupportDefs.h>
#include <directories.h>
typedef uint32 ppp_interface_id;
#define PPP_USERNAME_KEY "Username"
#define PPP_PASSWORD_KEY "Password"
#define PPP_ASK_BEFORE_CONNECTING_KEY "AskBeforeConnecting"
#define PPP_DISONNECT_AFTER_IDLE_SINCE_KEY "DisonnectAfterIdleSince"
#define PPP_MODE_KEY "Mode"
#define PPP_CONNECT_RETRIES_LIMIT_KEY "ConnectRetriesLimit"
#define PPP_CONNECT_RETRY_DELAY_KEY "ConnectRetryDelay"
#define PPP_AUTO_RECONNECT_KEY "AutoReconnect"
#define PPP_RECONNECT_DELAY_KEY "ReconnectDelay"
#define PPP_LOAD_MODULE_KEY "LoadModule"
#define PPP_PROTOCOL_KEY "Protocol"
#define PPP_DEVICE_KEY "Device"
#define PPP_AUTHENTICATOR_KEY "Authenticator"
#define PPP_MULTILINK_KEY "Multilink-Protocol"
#define PPP_CLIENT_MODE_VALUE "Client"
#define PPP_SERVER_MODE_VALUE "Server"
#define NETWORK_MODULES_ROOT "network"
#define PPP_MODULES_PATH NETWORK_MODULES_ROOT "/ppp"
#define PTP_INTERFACE_SETTINGS_PATH \
kUserSettingsDirectory "/kernel/drivers/ptpnet"
#define PTP_SETTINGS_PATH \
kUserSettingsDirectory "/kernel/drivers/ptpnet.settings"
#define PPP_LCP_PROTOCOL 0xC021
#define PPP_ERROR_BASE B_ERRORS_END + 1
enum ppp_interface_filter {
PPP_ALL_INTERFACES,
PPP_REGISTERED_INTERFACES,
PPP_UNREGISTERED_INTERFACES
};
enum ppp_return_values {
PPP_UNHANDLED = PPP_ERROR_BASE,
PPP_DISCARDED,
PPP_REJECTED,
PPP_NO_CONNECTION
};
enum ppp_pfc_options {
PPP_REQUEST_PFC = 0x01,
PPP_ALLOW_PFC = 0x02,
PPP_FORCE_PFC_REQUEST = 0x04,
PPP_FREEZE_PFC_OPTIONS = 0x80
};
enum ppp_pfc_state {
PPP_PFC_DISABLED,
PPP_PFC_ACCEPTED,
PPP_PFC_REJECTED
};
enum ppp_protocol_flags {
PPP_NO_FLAGS = 0x00,
PPP_ALWAYS_ALLOWED = 0x01,
PPP_NOT_IMPORTANT = 0x02,
All protocol values will also be checked against Protocol() & 0x7FFF.
*/
PPP_INCLUDES_NCP = 0x04
};
enum ppp_phase {
PPP_AUTHENTICATION_PHASE = 15,
PPP_NCP_PHASE = 20,
PPP_ESTABLISHED_PHASE = 25,
PPP_DOWN_PHASE = 0,
PPP_TERMINATION_PHASE = 1,
PPP_ESTABLISHMENT_PHASE = 2
};
enum ppp_level {
PPP_DEVICE_LEVEL = 0,
PPP_INTERFACE_LEVEL = 1,
PPP_MULTILINK_LEVEL = 2,
PPP_ENCRYPTION_LEVEL = 5,
PPP_COMPRESSION_LEVEL = 10,
PPP_PROTOCOL_LEVEL = 1000
};
enum ppp_mode {
PPP_CLIENT_MODE = 0,
PPP_SERVER_MODE
};
enum ppp_side {
PPP_NO_SIDE,
PPP_LOCAL_SIDE,
PPP_PEER_SIDE,
PPP_BOTH_SIDES
};
enum ppp_authentication_status {
PPP_AUTHENTICATION_FAILED = -1,
PPP_NOT_AUTHENTICATED = 0,
PPP_AUTHENTICATION_SUCCESSFUL = 1,
PPP_AUTHENTICATING = 0xFF
};
enum ppp_state {
PPP_INITIAL_STATE,
PPP_STARTING_STATE,
PPP_CLOSED_STATE,
PPP_STOPPED_STATE,
PPP_CLOSING_STATE,
PPP_STOPPING_STATE,
PPP_REQ_SENT_STATE,
PPP_ACK_RCVD_STATE,
PPP_ACK_SENT_STATE,
PPP_OPENED_STATE
};
#endif