mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 02:23:41 +08:00
Import telnetd from RTEMS repository
The files have been taken from RTEMS repository with head commit at bd9e45d91f77657445400bc2c814f251c9e37cef
This commit is contained in:
137
rtemsbsd/include/rtems/telnetd.h
Normal file
137
rtemsbsd/include/rtems/telnetd.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
* Original Author: Fernando RUIZ CASAS (fernando.ruiz@ctv.es)
|
||||
* May 2001
|
||||
* Reworked by Till Straumann and .h overhauled by Joel Sherrill.
|
||||
*
|
||||
* Copyright (c) 2009 embedded brains GmbH and others.
|
||||
*
|
||||
* embedded brains GmbH
|
||||
* Obere Lagerstr. 30
|
||||
* D-82178 Puchheim
|
||||
* Germany
|
||||
* <rtems@embedded-brains.de>
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_TELNETD_H
|
||||
#define _RTEMS_TELNETD_H
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/shell.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
bool rtems_telnetd_login_check(
|
||||
const char *user,
|
||||
const char *passphrase
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief Telnet command type.
|
||||
*/
|
||||
typedef void (*rtems_telnetd_command)(
|
||||
char * /* device name */,
|
||||
void * /* arg */
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief Telnet configuration structure.
|
||||
*/
|
||||
typedef struct {
|
||||
/**
|
||||
* @brief Function invoked for each Telnet connection.
|
||||
*
|
||||
* The first parameter contains the device name. The second parameter
|
||||
* contains the argument pointer of this configuration table.
|
||||
*/
|
||||
rtems_telnetd_command command;
|
||||
|
||||
/**
|
||||
* @brief Argument for command function.
|
||||
*/
|
||||
void *arg;
|
||||
|
||||
/**
|
||||
* @brief Task priority.
|
||||
*
|
||||
* Use 0 for the default value.
|
||||
*/
|
||||
rtems_task_priority priority;
|
||||
|
||||
/**
|
||||
* @brief Task stack size.
|
||||
*
|
||||
* Use 0 for the default value.
|
||||
*/
|
||||
size_t stack_size;
|
||||
|
||||
/**
|
||||
* @brief Login check function.
|
||||
*
|
||||
* Method used for login checks. Use @c NULL to disable a login check.
|
||||
*/
|
||||
rtems_shell_login_check_t login_check;
|
||||
|
||||
/**
|
||||
* @brief This is an obsolete configuration option.
|
||||
*
|
||||
* It must be set to false, otherwise rtems_telnetd_start() will do nothing
|
||||
* and returns with a status of RTEMS_NOT_IMPLEMENTED.
|
||||
*/
|
||||
bool keep_stdio;
|
||||
|
||||
/**
|
||||
* @brief Maximum number of clients which can connect to the system at a
|
||||
* time.
|
||||
*
|
||||
* Use 0 for the default value.
|
||||
*/
|
||||
uint16_t client_maximum;
|
||||
|
||||
/**
|
||||
* @brief Server port number in host byte order.
|
||||
*
|
||||
* Use 0 for the default value.
|
||||
*/
|
||||
uint16_t port;
|
||||
} rtems_telnetd_config_table;
|
||||
|
||||
/**
|
||||
* @brief Starts the Telnet server using the provided configuration.
|
||||
*
|
||||
* @retval RTEMS_SUCCESSFUL Successful operation.
|
||||
* @retval RTEMS_INVALID_ADDRESS The command function in the configuration is
|
||||
* @c NULL.
|
||||
* @retval RTEMS_RESOURCE_IN_USE The server port is already in use.
|
||||
* @retval RTEMS_NOT_IMPLEMENTED The keep stdio configuration option is true.
|
||||
* @retval RTEMS_UNSATISFIED Not enough resources to start the Telnet server or
|
||||
* task priority in configuration is invalid.
|
||||
*/
|
||||
rtems_status_code rtems_telnetd_start(const rtems_telnetd_config_table *config);
|
||||
|
||||
/**
|
||||
* @brief Telnet configuration.
|
||||
*
|
||||
* The application must provide this configuration table. It is used by
|
||||
* rtems_telnetd_initialize() to configure the Telnet subsystem. Do not modify
|
||||
* the entries after the intialization since it is used internally.
|
||||
*/
|
||||
extern rtems_telnetd_config_table rtems_telnetd_config;
|
||||
|
||||
/**
|
||||
* @brief Initializes the Telnet subsystem.
|
||||
*
|
||||
* Uses the application provided @ref rtems_telnetd_config configuration table.
|
||||
*/
|
||||
rtems_status_code rtems_telnetd_initialize(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user