[libc-commits] [libc] [libc][docs] Add netinet/in header documentation by referring to POSIX standards (PR #122411)
via libc-commits
libc-commits at lists.llvm.org
Thu Jan 9 19:14:42 PST 2025
https://github.com/StarOne01 created https://github.com/llvm/llvm-project/pull/122411
This pull request introduces the following changes to the project:
1. **Documentation Update**:
- Added a new YAML file `in.yaml` to document network protocol and address macros.
- The `in.yaml` file includes the following macros:
- `IPPROTO_IP`
- `IPPROTO_IPV6`
- `IPPROTO_ICMP`
- `IPPROTO_RAW`
- `IPPROTO_TCP`
- `IPPROTO_UDP`
- `INADDR_ANY`
- `INADDR_BROADCAST`
- `INET_ADDRSTRLEN`
- `IPV6_JOIN_GROUP`
- `IPV6_LEAVE_GROUP`
- `IPV6_MULTICAST_HOPS`
- `IPV6_MULTICAST_IF`
- `IPV6_MULTICAST_LOOP`
- `IPV6_UNICAST_HOPS`
- `IPV6_V6ONLY`
- `IN6_IS_ADDR_UNSPECIFIED`
- `IN6_IS_ADDR_LOOPBACK`
- `IN6_IS_ADDR_MULTICAST`
- `IN6_IS_ADDR_LINKLOCAL`
- `IN6_IS_ADDR_SITELOCAL`
- `IN6_IS_ADDR_V4MAPPED`
- `IN6_IS_ADDR_V4COMPAT`
- `IN6_IS_ADDR_MC_NODELOCAL`
- `IN6_IS_ADDR_MC_LINKLOCAL`
- `IN6_IS_ADDR_MC_SITELOCAL`
- `IN6_IS_ADDR_MC_ORGLOCAL`
- `IN6_IS_ADDR_MC_GLOBAL`
_I guess, all these macros are necessary and should be documented._
2. **CMake Configuration Update**:
- Updated the `CMakeLists.txt` file to create the necessary directory for the `netinet` headers.
- Included the `netinet/in` documentation in the Sphinx build configuration.
3. **Index Update**:
- Updated the `index.rst` file to include a reference to the newly added `netinet/in` documentation.
**Purpose**:
- This pull request adds documentation for network protocol and address macros in the `netinet/in` header.
- Updates the CMake configuration to support the new documentation.
**Testing**:
- Verified that the new YAML file is correctly referenced in the `index.rst`.
- Ensured that the documentation builds without errors and includes the new network interface documentation.
This pull request ensures that the `netinet/in` header macros are documented and included in the project's documentation, and updates the CMake configuration to support these changes.
>From d6c1a374a91879234805e94cae6e41802aa97774 Mon Sep 17 00:00:00 2001
From: Prashanth <TheStarOne01 at proton.me>
Date: Fri, 10 Jan 2025 02:59:55 +0000
Subject: [PATCH] [libc][docs] Add netinet/in header documentation by YAML
definitions and include it in cmake and index.rst file for html page
generation
---
libc/docs/CMakeLists.txt | 2 ++
libc/docs/headers/index.rst | 1 +
libc/utils/docgen/netinet/in.yaml | 57 +++++++++++++++++++++++++++++++
3 files changed, 60 insertions(+)
create mode 100644 libc/utils/docgen/netinet/in.yaml
diff --git a/libc/docs/CMakeLists.txt b/libc/docs/CMakeLists.txt
index 5a3f8275bb932e..a3875fbe592606 100644
--- a/libc/docs/CMakeLists.txt
+++ b/libc/docs/CMakeLists.txt
@@ -18,6 +18,7 @@ if (SPHINX_FOUND)
# shell.
file(MAKE_DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/headers/arpa/"
+ "${CMAKE_CURRENT_BINARY_DIR}/headers/netinet/"
"${CMAKE_CURRENT_BINARY_DIR}/headers/sys/"
)
@@ -40,6 +41,7 @@ if (SPHINX_FOUND)
float
inttypes
locale
+ netinet/in
setjmp
signal
stdbit
diff --git a/libc/docs/headers/index.rst b/libc/docs/headers/index.rst
index 07ab6dd9b26742..6f49cc0aa80e1c 100644
--- a/libc/docs/headers/index.rst
+++ b/libc/docs/headers/index.rst
@@ -14,6 +14,7 @@ Implementation Status
inttypes
locale
math/index.rst
+ netinet/in
search
setjmp
signal
diff --git a/libc/utils/docgen/netinet/in.yaml b/libc/utils/docgen/netinet/in.yaml
new file mode 100644
index 00000000000000..2add3e2141b1be
--- /dev/null
+++ b/libc/utils/docgen/netinet/in.yaml
@@ -0,0 +1,57 @@
+macros:
+ IPPROTO_IP:
+ in-latest-posix: ''
+ IPPROTO_IPV6:
+ in-latest-posix: ''
+ IPPROTO_ICMP:
+ in-latest-posix: ''
+ IPPROTO_RAW:
+ in-latest-posix: ''
+ IPPROTO_TCP:
+ in-latest-posix: ''
+ IPPROTO_UDP:
+ in-latest-posix: ''
+ INADDR_ANY:
+ in-latest-posix: ''
+ INADDR_BROADCAST:
+ in-latest-posix: ''
+ INET_ADDRSTRLEN:
+ in-latest-posix: ''
+ IPV6_JOIN_GROUP:
+ in-latest-posix: ''
+ IPV6_LEAVE_GROUP:
+ in-latest-posix: ''
+ IPV6_MULTICAST_HOPS:
+ in-latest-posix: ''
+ IPV6_MULTICAST_IF:
+ in-latest-posix: ''
+ IPV6_MULTICAST_LOOP:
+ in-latest-posix: ''
+ IPV6_UNICAST_HOPS:
+ in-latest-posix: ''
+ IPV6_V6ONLY:
+ in-latest-posix: ''
+ IN6_IS_ADDR_UNSPECIFIED:
+ in-latest-posix: ''
+ IN6_IS_ADDR_LOOPBACK:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MULTICAST:
+ in-latest-posix: ''
+ IN6_IS_ADDR_LINKLOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_SITELOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_V4MAPPED:
+ in-latest-posix: ''
+ IN6_IS_ADDR_V4COMPAT:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MC_NODELOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MC_LINKLOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MC_SITELOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MC_ORGLOCAL:
+ in-latest-posix: ''
+ IN6_IS_ADDR_MC_GLOBAL:
+ in-latest-posix: ''
\ No newline at end of file
More information about the libc-commits
mailing list