[rtems commit] Revert "cpukit/include: Remove telnetd.h"

Vijay Kumar Banerjee vijay at rtems.org
Tue Apr 13 18:40:58 UTC 2021


Module:    rtems
Branch:    master
Commit:    0cbbceff16bbae5df4ab3910ba445b1de368ea44
Changeset: http://git.rtems.org/rtems/commit/?id=0cbbceff16bbae5df4ab3910ba445b1de368ea44

Author:    Vijay Kumar Banerjee <vijay at rtems.org>
Date:      Tue Apr 13 11:58:48 2021 -0600

Revert "cpukit/include: Remove telnetd.h"

This reverts commit 8383572963e261ea384cddfa43cd9606e7c23cdd.

---

 cpukit/include/rtems/telnetd.h | 137 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/cpukit/include/rtems/telnetd.h b/cpukit/include/rtems/telnetd.h
new file mode 100644
index 0000000..1f8e1c5
--- /dev/null
+++ b/cpukit/include/rtems/telnetd.h
@@ -0,0 +1,137 @@
+/*
+ *  Original Author: Fernando RUIZ CASAS (fernando.ruiz at 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 at 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



More information about the vc mailing list