diff options
Diffstat (limited to 'po/fr/man7/sock_diag.7.po')
-rw-r--r-- | po/fr/man7/sock_diag.7.po | 269 |
1 files changed, 235 insertions, 34 deletions
diff --git a/po/fr/man7/sock_diag.7.po b/po/fr/man7/sock_diag.7.po index 99de520c..54726c03 100644 --- a/po/fr/man7/sock_diag.7.po +++ b/po/fr/man7/sock_diag.7.po @@ -18,9 +18,9 @@ # Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>, 2021. msgid "" msgstr "" -"Project-Id-Version: manpages-fr\n" -"POT-Creation-Date: 2024-03-01 17:08+0100\n" -"PO-Revision-Date: 2023-06-16 17:53+0200\n" +"Project-Id-Version: manpages-l10n 4.22.0\n" +"POT-Creation-Date: 2024-06-01 06:23+0200\n" +"PO-Revision-Date: 2024-04-24 13:49+0200\n" "Last-Translator: Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language: fr\n" @@ -38,16 +38,16 @@ msgid "sock_diag" msgstr "sock_diag" #. type: TH -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux debian-unstable opensuse-tumbleweed #, no-wrap -msgid "2023-10-31" -msgstr "31 octobre 2023" +msgid "2024-05-02" +msgstr "2 mai 2024" #. type: TH -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux debian-unstable #, no-wrap -msgid "Linux man-pages 6.06" -msgstr "Pages du manuel de Linux 6.06" +msgid "Linux man-pages 6.8" +msgstr "Pages du manuel de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1219,17 +1219,7 @@ msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "struct unix_diag_req {\n" -#| " __u8 sdiag_family;\n" -#| " __u8 sdiag_protocol;\n" -#| " __u16 pad;\n" -#| " __u32 udiag_states;\n" -#| " __u32 udiag_ino;\n" -#| " __u32 udiag_show;\n" -#| " __u32 udiag_cookie[2];\n" -#| "};\n" +#, no-wrap msgid "" "struct inet_diag_msg {\n" " __u8 idiag_family;\n" @@ -1246,14 +1236,19 @@ msgid "" " __u32 idiag_inode;\n" "};\n" msgstr "" -"struct unix_diag_req {\n" -" __u8 sdiag_family;\n" -" __u8 sdiag_protocol;\n" -" __u16 pad;\n" -" __u32 udiag_states;\n" -" __u32 udiag_ino;\n" -" __u32 udiag_show;\n" -" __u32 udiag_cookie[2];\n" +"struct inet_diag_msg {\n" +" __u8 idiag_family;\n" +" __u8 idiag_state;\n" +" __u8 idiag_timer;\n" +" __u8 idiag_retrans;\n" +"\\&\n" +" struct inet_diag_sockid id;\n" +"\\&\n" +" __u32 idiag_expires;\n" +" __u32 idiag_rqueue;\n" +" __u32 idiag_wqueue;\n" +" __u32 idiag_uid;\n" +" __u32 idiag_inode;\n" "};\n" #. type: TP @@ -1840,6 +1835,200 @@ msgid "" " return ret;\n" "}\n" msgstr "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>string.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"#include E<lt>sys/socket.hE<gt>\n" +"#include E<lt>sys/un.hE<gt>\n" +"#include E<lt>linux/netlink.hE<gt>\n" +"#include E<lt>linux/rtnetlink.hE<gt>\n" +"#include E<lt>linux/sock_diag.hE<gt>\n" +"#include E<lt>linux/unix_diag.hE<gt>\n" +"\\&\n" +"static int\n" +"send_query(int fd)\n" +"{\n" +" struct sockaddr_nl nladdr = {\n" +" .nl_family = AF_NETLINK\n" +" };\n" +" struct\n" +" {\n" +" struct nlmsghdr nlh;\n" +" struct unix_diag_req udr;\n" +" } req = {\n" +" .nlh = {\n" +" .nlmsg_len = sizeof(req),\n" +" .nlmsg_type = SOCK_DIAG_BY_FAMILY,\n" +" .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP\n" +" },\n" +" .udr = {\n" +" .sdiag_family = AF_UNIX,\n" +" .udiag_states = -1,\n" +" .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER\n" +" }\n" +" };\n" +" struct iovec iov = {\n" +" .iov_base = &req,\n" +" .iov_len = sizeof(req)\n" +" };\n" +" struct msghdr msg = {\n" +" .msg_name = &nladdr,\n" +" .msg_namelen = sizeof(nladdr),\n" +" .msg_iov = &iov,\n" +" .msg_iovlen = 1\n" +" };\n" +"\\&\n" +" for (;;) {\n" +" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n" +" if (errno == EINTR)\n" +" continue;\n" +"\\&\n" +" perror(\"sendmsg\");\n" +" return -1;\n" +" }\n" +"\\&\n" +" return 0;\n" +" }\n" +"}\n" +"\\&\n" +"static int\n" +"print_diag(const struct unix_diag_msg *diag, unsigned int len)\n" +"{\n" +" if (len E<lt> NLMSG_LENGTH(sizeof(*diag))) {\n" +" fputs(\"short response\\en\", stderr);\n" +" return -1;\n" +" }\n" +" if (diag-E<gt>udiag_family != AF_UNIX) {\n" +" fprintf(stderr, \"unexpected family %u\\en\", diag-E<gt>udiag_family);\n" +" return -1;\n" +" }\n" +"\\&\n" +" unsigned int rta_len = len - NLMSG_LENGTH(sizeof(*diag));\n" +" unsigned int peer = 0;\n" +" size_t path_len = 0;\n" +" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n" +"\\&\n" +" for (struct rtattr *attr = (struct rtattr *) (diag + 1);\n" +" RTA_OK(attr, rta_len); attr = RTA_NEXT(attr, rta_len)) {\n" +" switch (attr-E<gt>rta_type) {\n" +" case UNIX_DIAG_NAME:\n" +" if (!path_len) {\n" +" path_len = RTA_PAYLOAD(attr);\n" +" if (path_len E<gt> sizeof(path) - 1)\n" +" path_len = sizeof(path) - 1;\n" +" memcpy(path, RTA_DATA(attr), path_len);\n" +" path[path_len] = \\[aq]\\e0\\[aq];\n" +" }\n" +" break;\n" +"\\&\n" +" case UNIX_DIAG_PEER:\n" +" if (RTA_PAYLOAD(attr) E<gt>= sizeof(peer))\n" +" peer = *(unsigned int *) RTA_DATA(attr);\n" +" break;\n" +" }\n" +" }\n" +"\\&\n" +" printf(\"inode=%u\", diag-E<gt>udiag_ino);\n" +"\\&\n" +" if (peer)\n" +" printf(\", peer=%u\", peer);\n" +"\\&\n" +" if (path_len)\n" +" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n" +" *path ? path : path + 1);\n" +"\\&\n" +" putchar(\\[aq]\\en\\[aq]);\n" +" return 0;\n" +"}\n" +"\\&\n" +"static int\n" +"receive_responses(int fd)\n" +"{\n" +" long buf[8192 / sizeof(long)];\n" +" struct sockaddr_nl nladdr;\n" +" struct iovec iov = {\n" +" .iov_base = buf,\n" +" .iov_len = sizeof(buf)\n" +" };\n" +" int flags = 0;\n" +"\\&\n" +" for (;;) {\n" +" struct msghdr msg = {\n" +" .msg_name = &nladdr,\n" +" .msg_namelen = sizeof(nladdr),\n" +" .msg_iov = &iov,\n" +" .msg_iovlen = 1\n" +" };\n" +"\\&\n" +" ssize_t ret = recvmsg(fd, &msg, flags);\n" +"\\&\n" +" if (ret E<lt> 0) {\n" +" if (errno == EINTR)\n" +" continue;\n" +"\\&\n" +" perror(\"recvmsg\");\n" +" return -1;\n" +" }\n" +" if (ret == 0)\n" +" return 0;\n" +"\\&\n" +" if (nladdr.nl_family != AF_NETLINK) {\n" +" fputs(\"!AF_NETLINK\\en\", stderr);\n" +" return -1;\n" +" }\n" +"\\&\n" +" const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n" +"\\&\n" +" if (!NLMSG_OK(h, ret)) {\n" +" fputs(\"!NLMSG_OK\\en\", stderr);\n" +" return -1;\n" +" }\n" +"\\&\n" +" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n" +" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n" +" return 0;\n" +"\\&\n" +" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n" +" const struct nlmsgerr *err = NLMSG_DATA(h);\n" +"\\&\n" +" if (h-E<gt>nlmsg_len E<lt> NLMSG_LENGTH(sizeof(*err))) {\n" +" fputs(\"NLMSG_ERROR\\en\", stderr);\n" +" } else {\n" +" errno = -err-E<gt>error;\n" +" perror(\"NLMSG_ERROR\");\n" +" }\n" +"\\&\n" +" return -1;\n" +" }\n" +"\\&\n" +" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n" +" fprintf(stderr, \"unexpected nlmsg_type %u\\en\",\n" +" (unsigned) h-E<gt>nlmsg_type);\n" +" return -1;\n" +" }\n" +"\\&\n" +" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n" +" return -1;\n" +" }\n" +" }\n" +"}\n" +"\\&\n" +"int\n" +"main(void)\n" +"{\n" +" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n" +"\\&\n" +" if (fd E<lt> 0) {\n" +" perror(\"socket\");\n" +" return 1;\n" +" }\n" +"\\&\n" +" int ret = send_query(fd) || receive_responses(fd);\n" +"\\&\n" +" close(fd);\n" +" return ret;\n" +"}\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2418,16 +2607,22 @@ msgstr "" "}\n" #. type: TH -#: debian-unstable opensuse-tumbleweed +#: fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 octobre 2023" + +#. type: TH +#: fedora-40 mageia-cauldron #, no-wrap -msgid "2023-05-03" -msgstr "3 mai 2023" +msgid "Linux man-pages 6.06" +msgstr "Pages du manuel de Linux 6.06" #. type: TH -#: debian-unstable opensuse-tumbleweed +#: fedora-rawhide #, no-wrap -msgid "Linux man-pages 6.05.01" -msgstr "Pages du manuel de Linux 6.05.01" +msgid "Linux man-pages 6.7" +msgstr "Pages du manuel de Linux 6.7" #. type: TH #: opensuse-leap-15-6 @@ -2440,3 +2635,9 @@ msgstr "30 mars 2023" #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" + +#. type: TH +#: opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages (unreleased)" +msgstr "Pages du manuel de Linux (non publiƩes)" |