Commit graph

28 commits

Author SHA1 Message Date
Swatantra Yadav
f14e5f4d28 Documentation/netutils: add comprehensive guide for webclient
Provide a complete documentation page for the webclient network utility
in Documentation/applications/netutils/webclient/index.rst, replacing
the previous 7-line placeholder stub.

Includes:
- Architecture overview (NSH wget engine + programmatic C API)
- Key features (HTTP/1.0, HTTP/1.1, chunked encoding, pluggable TLS,
  non-blocking I/O, proxy tunneling)
- Detailed Kconfig configuration table and dependencies
- NSH wget syntax, options, and real-world usage examples
- C API reference for simple helpers (wget, wget_post) and the
  context-based API (struct webclient_context)
- Complete, runnable C application example for file downloads

Addresses #11081

Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>
2026-10-09 18:26:40 +08:00
Swatantra Yadav
a4b6b8b8bf Documentation/netutils: add comprehensive guide for ftpd
Provide a complete documentation guide for the ftpd (FTP server) network
utility in Documentation/applications/netutils/ftpd/index.rst, replacing
the previous 6-line placeholder stub.

Includes:
- Protocol architecture overview (control/data connection separation, multi-session worker pthreads, VFS mapping)
- Security considerations regarding unencrypted plaintext FTP credentials, mandatory credential hardening, home directory isolation, and encrypted password authentication
- Comprehensive supported RFC 959 / RFC 2428 / RFC 3659 FTP commands reference table
- Configuration options table and networking prerequisites (CONFIG_NETUTILS_FTPD, worker stack size, buffer sizes)
- NSH terminal usage (ftpd -4 / -6, ftpd_stop) with address-family flag requirements and configured account placeholders
- External client connection walkthroughs (FTP CLI, cURL) using configured account and anonymous workflows
- Public C API reference for types, account flags, and lifecycle functions (ftpd_open, ftpd_adduser, ftpd_session, ftpd_close)
- Complete, runnable C application example demonstrating multi-user server setup, signal-driven termination (SIGINT/SIGTERM) with atomic sig_atomic_t state, POSIX kill stop routine, and credential placeholders
- Embedded design and resource tuning guidelines (stack sizing, flash/SD card I/O buffering, and NAT passive mode)

Addresses #11081

Assisted-by: Google Gemini
Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>
2026-10-09 12:08:21 +08:00
Swatantra Yadav
4ef1d60544 Documentation/netutils: add comprehensive guide for dhcpc
Provide a complete documentation guide for the dhcpc (DHCP client) network
utility in Documentation/applications/netutils/dhcpc/index.rst, replacing
the previous 7-line placeholder stub.

Includes:
- Protocol architecture overview and RFC 2131 / RFC 1542 finite state machine
  (DISCOVER, OFFER, REQUEST, ACK, RELEASE)
- Security considerations regarding plaintext DHCPv4, rogue servers, and network isolation
- Configuration options table and networking prerequisites including CONFIG_NET_BROADCAST
- NSH usage for dynamic interface configuration (ifconfig <ifname> dhcp) and verification
- Public C API reference for data structures (struct dhcpc_state) and lifecycle
  functions with documented POSIX ERROR/errno contracts (dhcpc_open, dhcpc_request,
  dhcpc_request_async, dhcpc_release, dhcpc_close)
- Complete, runnable C application examples demonstrating synchronous interface
  configuration and graceful lease release
- Embedded design and tuning guidelines (lease renewal scheduling, wireless
  retransmission tuning, and SO_BINDTODEVICE multihomed operation)

Addresses #11081

Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>
2026-10-09 12:06:15 +08:00
Swatantra Yadav
5b597668f0 Documentation/netutils: add comprehensive guide for tftpc
Provide a complete documentation guide for the tftpc (TFTP client) network
utility in Documentation/applications/netutils/tftpc/index.rst, replacing
the previous 5-line placeholder stub.

Includes:
- Architecture overview (NSH get/put engine + programmatic C APIs)
- Key features (RFC 1350, octet/netascii modes, streaming callbacks, dynamic TID port negotiation)
- Configuration options table and networking prerequisites
- NSH get and put command synopses, option flags, and terminal examples
- C API reference for filesystem helpers (tftpget, tftpput) and streaming callbacks (tftpget_cb, tftpput_cb)
- Complete, runnable C application example demonstrating callback-based streaming downloads

Addresses #11081

Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>
2026-10-08 15:55:47 -03:00
Vinicius May
f6ecf80ebb Documentation: brand new layout for NuttX documentation.
The documentation grew one page at a time, so the tree follows the
history of who wrote what and not the shape of NuttX. Scheduling is
spread over three places, a driver page can sit above the subsystem
that owns it, and the front page lists everything at the same level.
That is a lot to face when all you want to know is where the scheduler
lives.

This change files every page under the code it describes. It is a move,
not a rewrite: outside the ten pages named below, every page keeps the
text that is already in master, and no page's text is deleted.

What it does:

* Groups the table of contents into nine chapters.
* Moves the OS subsystems under os/: scheduling, memory, drivers,
  filesystem, networking, IPC, interrupts, libs, time.
* Renames the platform pages to the names the source tree uses, and
  derives their tags from the tree instead of by hand.
* Splits guides/ by subject.
* Adds Documentation/redirects.py, with a rule for every page that left
  its old path, so old URLs keep working. The redirect page also carries
  a link's #anchor across to the new page.

Ten pages have text that is new or rewritten. Nine of them are the
landing page of a chapter, which has to exist for the new structure:

    index                  the front page
    os/index               OS Design
    os/scheduling/index    Scheduling
    os/interrupts/index    Interrupts
    os/ipc/index           IPC
    os/time/index          Time and timers
    about/index            About
    developing/index       Developing NuttX
    ReleaseNotes/index     Release notes

The tenth is os/libs/libbuiltin, the only page here with technical
content: libs/libbuiltin/ had no page at all. Five SVG diagrams come
with these pages, hand-written XML with no editor metadata.

Nothing outside Documentation/ is touched.

How it was checked:

* Sphinx builds with -W: no warnings, and no document left outside a
  toctree.
* A script, offered in the PR, proves the narrow claim this rests on.
  For every page outside the ten named above it erases what a move
  touches -- link target, path, tag line, toctree block, table border --
  from the whole old text and the whole new text, and requires the two
  to be byte for byte identical. It also requires every sentence of a
  deleted page to turn up somewhere, and every page that left its old
  path to have a redirect, from a URL that existed, to where its content
  went. It exits non-zero and names the page if any of that is not true,
  and it tests added pages too, so forgetting to declare one cannot make
  it pass.
* An independent audit checked 133 factual claims on these ten pages
  against the tree, one shell command per claim: 130 confirmed, 1
  refuted and fixed here, 2 not checkable.
* tools/checkpatch.sh is clean over the range.

The diff is large because moving a page changes every link that points
to it. Most of it is pure renames, and board pages that gained one tag
line.

Assisted-by: Claude:claude-opus-5
2026-10-08 01:40:54 +08:00
raiden00pl
2a34f57dce Documentation: add S2OPC documentation
add S2OPC documentation

Assisted-by: Claude Code
Signed-off-by: raiden00pl <raiden00@railab.me>
2026-09-14 18:30:38 -03:00
Felipe Moura
4a927bc7e0 Documentation/applications: document Dropbear scp file transfers
Document how to transfer files with scp on the Dropbear server port,
which requires the legacy protocol (scp -O) since the port has no SFTP
server. Recent OpenSSH clients default to SFTP and fail otherwise.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-07-10 15:37:54 -03:00
wangjianyu3
21e9d0cafa Documentation/rexecd: document command-line options including -t
Fill in the previously empty rexecd page with a description of the
daemon, its listening port/RPMsg name, usage, and all command-line
options (-4/-6/-r/-t), including the new -t threadless option that
serves each connection inline without a per-connection worker thread.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-06-30 20:19:16 +08:00
Felipe Moura
d8a7dee73e Documentation/netutils/dropbear: add Dropbear SSH server documentation
Add application-level documentation for the Dropbear SSH server port,
covering prerequisites, configuration options, usage and troubleshooting.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-06-24 08:37:03 -03:00
Xiang Xiao
c32b683085 !compiler: drop CONFIG_HAVE_LONG_LONG and require long long support
Every compiler supported by NuttX provides the "long long" types,
so the CONFIG_HAVE_LONG_LONG indirection is no longer useful.
Remove the option from include/nuttx/compiler.h and treat
"long long" as unconditionally available across the OS.

In addition to deleting the guard itself, this commit unconditionally
enables the long-long flavored helpers that used to be gated behind
it:

  - libs/libc/fixedmath: drop the soft-emulated b32/ub32 routines
    in lib_fixedmath.c (-261 lines) and trim the matching
    prototypes, Make.defs and CMakeLists.txt entries; keep only
    the long-long backed implementations.
  - include/sys/endian.h, include/strings.h, libs/libc/string
    /lib_ffsll.c, lib_flsll.c: always expose the 64-bit byte-swap
    and ffsll/flsll variants.
  - libs/libm/libm/lib_llround{,f,l}.c: drop the empty stubs.
  - libs/libc/stdlib (atoll, llabs, lldiv, strtoll/ull, rand48,
    strtold), libs/libc/stream (libvsprintf, libvscanf,
    libbsprintf, ultoa_invert), libs/libc/misc (crc64, crc64emac),
    libs/libc/inttypes/strtoimax, libs/libc/lzf, libs/libc/libc.csv,
    libs/libc/string (memset, vikmemcpy): remove the
    #ifdef CONFIG_HAVE_LONG_LONG branches.
  - include/{stddef.h,stdlib.h,fixedmath.h,sys/epoll.h,cxx/cstdlib,
    nuttx/audio/audio.h,nuttx/crc64.h,nuttx/lib/math.h,
    nuttx/lib/math32.h,nuttx/lib/stdbit.h}: same guard cleanup.
  - drivers/note/note_driver.c, fs/spiffs/src/spiffs.h,
    sched/irq/irq_procfs.c: drop their local guards as well.
  - Documentation/applications/netutils/ntpclient/index.rst:
    refresh the documentation snippet.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-05-19 16:21:28 +08:00
Arjav Patel
ea161e4fa9 documentation: Document MQTT-C with Mbed TLS usage.
Add Kconfig guidance, mqttc_pub TLS options and default port, the
mqttc_mbedtls_pub example, and cross-links between the mqttc example and mbedtls overview pages

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-04-14 16:05:54 +08:00
Jiri Vlasak
4710b2f632 doc/apps: Add BARE 2026-01-22 03:48:35 +08:00
zhangshuai39
4b5bd23957 netlib: Supplement the netlib_check_httpconnectivity documentation
A brief introduction to the interface functions, parameters, and return values.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2026-01-09 17:11:04 +08:00
gaohedong
863c20544c net/vlan: add a documentation for vconfig
Users can add or delete Vlan interfaces through the vconfig tool. This document describes the usage of vconfig.

Signed-off-by: gaohedong <gaohedong@xiaomi.com>
2026-01-07 22:25:47 +08:00
zhangshuai39
6b4bb6b20f netlib: Supplement the netlib_check_ifconnectivity documentation
A brief introduction to the interface functions, parameters, and return values.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2026-01-07 17:26:35 +08:00
zhangshuai39
4eb222f0a7 netlib: Supplementing the netlib_check_ipconnectivity documentation
A brief introduction to the interface functions, parameters, and return values.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-29 19:14:59 +08:00
zhangshuai39
776a6a5d0b netlib: Add IOB statistics interface description
Includes an introduction to the interface, and details about the input parameters and return values.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-25 08:37:26 -03:00
zhangshuai39
1ec63f72ac paho_mqtt: Add paho_mqtt repository description file
The description includes an introduction to paho_mqtt, configuration management, tool usage, etc.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-25 13:14:50 +08:00
zhangshuai39
994a786336 netlib: Introduction to IP conflict detection functions
The documentation includes descriptions of the IP conflict function's prototype, parameters, and return value.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-24 16:53:13 +08:00
nuttxs
65e318421d netdb/lib_dnsdelserver.c: support delete the DNS server address
by index or address

 - dns_del_nameserver()
 - dns_del_nameserver_by_index()

Update the "DNS function" section in 11_network.rst, and create
the netlib API documentation in netlib/index.rst

Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
2025-11-08 16:17:40 -03:00
Filipe Cavalcanti
bd1f46878c documentation: add documentation for NTP Client
Add missing documentation for the NTP client implementation.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-09-05 23:47:44 +02:00
Alan Carvalho de Assis
468e9fcde5 Documentation: Fix typos
I used codespell to find typos in the documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2023-10-29 10:35:51 +08:00
raiden00pl
962d46186d Documentation/netutils: ignore header for TOC 2023-10-25 00:25:58 +08:00
raiden00pl
d1ebe6cd24 Documentation: add dummy apps descriptions
The apps description is empty for now but allows to generate nice tables of content with all nuttx-apps functionalities.
2023-10-25 00:25:58 +08:00
raiden00pl
abdcc8d17c Documentation: unify applications/xxx/index.rst 2023-10-24 10:29:01 -03:00
raiden00pl
a9a1d719da Documentaion: migrate netutils/readme 2023-10-24 10:29:01 -03:00
raiden00pl
e93eb76017 Documentation: list all supported libs tools and apps 2023-10-23 19:52:53 +08:00
raiden00pl
131f4151b7 Documentation: reflects the structure of nuttx-apps 2023-10-23 19:52:53 +08:00