From 2e711f2b4b59398a18d21ea34bdb064c459fdd45 Mon Sep 17 00:00:00 2001 From: Martin Erik Werner Date: Tue, 3 Sep 2019 01:48:28 +0200 Subject: Address several issues from compiling examples Compiling the code from examples "code-block:: c" along with public includes and a bsp exposed a few issues amongst a lot of false positives. Address some of these: * Terminate struct declarations with ';'. Mainly for pedantic correctness. * Show ptrdiff_t instead of size_t for the sbrk() prototype, matching the current argument type in rtems. * Replace some occurrences of unsigned16 with uint16_t. * Fix odd type declaration, "uint8_t char*" -> "char*". * Use appropriate helper to get chain head instead of invalid access to nonexistent struct member. * Remove several excess '\' escapes. * Use RTEMS_SELF instead of undefined SELF. * Use rtems_task instead of void for task functions. * Add missing stack size parameter in task creation. * Use rtems_interrupt_level instead of undefined rtems_interrupt. * Correct return value format for rtems_object_id_get_api() rtems_object_id_get_index() (enum and uint16_t) and also fix corresponding print formatting. * Correct return value documentation for rtems_object_id_get_class(), rtems_object_id_get_node() and rtems_object_id_get_index() int -> uint32_t. * Use RTEMS_SUCCESSFUL instead of undefined RTEMS_STATUS_SUCCESSFUL and fix return value variable name in rate monotonic examples. * Use RTEMS_TIMEOUT instead of undefined TIMEOUT and RTEMS_PERIOD_STATUS instead of undefined STATUS. * Add missing fields to ftpd configuration. * Correct parameter types in ftpd hook prototype, unsigned char * -> void *. * Fix various code-block:: attributes, c -> makefile and c -> shell. * Add missing parenthesis in socket buffer memory calculation example. * Remove typedef in declaration of mq_attr since it is defiend without typedef in reality. * Update siginfo_t declaration to match current reality. * Update shell user command definition example to include mode, uid and gid. --- networking/network_servers.rst | 10 ++++++++-- networking/networking_driver.rst | 4 ++-- networking/using_networking_rtems_app.rst | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) (limited to 'networking') diff --git a/networking/network_servers.rst b/networking/network_servers.rst index dcf2739..941a6e2 100644 --- a/networking/network_servers.rst +++ b/networking/network_servers.rst @@ -60,7 +60,13 @@ Example hooks structure and configuration structure folllow. 40, /* FTPD task priority */ 512*1024, /* Maximum hook 'file' size */ 0, /* Use default port */ - ftp_hooks /* Local ftp hooks */ + ftp_hooks, /* Local ftp hooks */ + 0, /* Use / as root */ + 1, /* Max. connections */ + 0, /* Infinite idle timeout */ + 0, /* Read-write access */ + 0, /* Ignore login check */ + true /* Say hello */ }; Specifying 0 for the well-known port causes FTPD to use the UNIX standard FTPD @@ -75,7 +81,7 @@ The prototype for the ``untar`` hook (and hooks, in general) is: .. code-block:: c - int Untar_FromMemory(unsigned char *tar_buf, unsigned long size); + int Untar_FromMemory(void *tar_buf, size_t size); An example FTP transcript which exercises this hook is: diff --git a/networking/networking_driver.rst b/networking/networking_driver.rst index e7a7017..c161c2b 100644 --- a/networking/networking_driver.rst +++ b/networking/networking_driver.rst @@ -99,14 +99,14 @@ to be compiled with the appropriate flags. This can be accomplished by adding is inside the RTEMS source tree or is built using the RTEMS application Makefiles, then adding the following line accomplishes this: -.. code-block:: c +.. code-block:: makefile DEFINES += -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ This is equivalent to the following list of definitions. Early versions of the RTEMS BSD network stack required that all of these be defined. -.. code-block:: c +.. code-block:: makefile -D_COMPILING_BSD_KERNEL_ -DKERNEL -DINET -DNFS \ -DDIAGNOSTIC -DBOOTP_COMPAT diff --git a/networking/using_networking_rtems_app.rst b/networking/using_networking_rtems_app.rst index 3d117dc..0d3e245 100644 --- a/networking/using_networking_rtems_app.rst +++ b/networking/using_networking_rtems_app.rst @@ -14,7 +14,7 @@ Including the required managers The FreeBSD networking code requires several RTEMS managers in the application: -.. code-block:: c +.. code-block:: makefile MANAGERS = io event semaphore @@ -25,7 +25,7 @@ The networking tasks allocate a lot of memory. For most applications the heap should be at least 256 kbytes. The amount of memory set aside for the heap can be adjusted by setting the ``CFLAGS_LD`` definition as shown below: -.. code-block:: c +.. code-block:: makefile CFLAGS_LD += -Wl,--defsym -Wl,HeapSize=0x80000 @@ -210,7 +210,7 @@ the first two entries in this structure. .. code-block:: c - 40 * (1024 + sizeof(struct sockaddr_in) + 40 * (1024 + sizeof(struct sockaddr_in)) ``unsigned long tcp_tx_buf_size`` This configuration parameter specifies the maximum amount of buffer memory -- cgit v1.2.3