From patchwork Sat Oct 24 22:21:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40842 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 210E3386F811; Sat, 24 Oct 2020 22:21:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 210E3386F811 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578096; bh=HjvCx2e/7A28z0uiBEe7XWSO5YXKC+43pQS6Qk0ebH8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=HYh/cYjWOv2Gyxm23hvp8G/nTOmXpZqP8NYnBxnjHFjcf+UxHxO0aj4fgRW3MMJN4 oYyUGtgcIe0kjzgJkQxHM9mUbOelaF6jdpx8DpgYjh8tjlzdItveGHPD6BPf5Rzisw shIgKnBpTKORsBKuJbUAc4/fXrkt35yxDPQDon8A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by sourceware.org (Postfix) with ESMTPS id B216438618D4 for ; Sat, 24 Oct 2020 22:21:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B216438618D4 Received: by mail-wm1-x343.google.com with SMTP id a72so6810873wme.5 for ; Sat, 24 Oct 2020 15:21:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HjvCx2e/7A28z0uiBEe7XWSO5YXKC+43pQS6Qk0ebH8=; b=ERFdsG5JyOSs8hJv1wvoGvl00yC8pJaS4e5Kuz+VM2l8WmGJ5sYJCVPakzdsc2CtSS QHyBANkcJZWLk9FoUnBxzFpeZdq0EQ2ZrEya1fjf49sfzju+pveksxVqNjukTe+qUxG/ Mh20hZ4u1ssVyDfD1sbMAaWdJMrBZNf9x+2PoxJ84xts7NB5tMK9cJ5fJa8ttpT2dgcY S2pIRwHWCmbw+5orjM7usHca1i1Rf8KiWAujJ4U0jwPIFdUYpbKMst6vob1u9PLnysMc PVPQoKkCTRQ7Jm367qDESJ/ilNOpzHbwCsFyS/Xbotq2Y9L7n+XNyL56Yfp/D/6H2Hw0 3Nxw== X-Gm-Message-State: AOAM531RzbA+Fmyfm1a7pncz7/SD0gpW37rV9VCoPi3MCUrKm/BhsnAu M+NU7TIsBLBbs3+wj/MUZ0M= X-Google-Smtp-Source: ABdhPJywxySOXT7fG+989j/yHF197iEq9BJmVFKgOmc1JI6WjlJyKEvpwhQGHXeL9EKRC4koipA8cA== X-Received: by 2002:a1c:7c12:: with SMTP id x18mr8942402wmc.107.1603578092796; Sat, 24 Oct 2020 15:21:32 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:32 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 1/8] stailq.3: New page that will hold the (stailq) contents of queue.3 Date: Sun, 25 Oct 2020 00:21:09 +0200 Message-Id: <20201024222115.6362-2-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/stailq.3 | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 man3/stailq.3 diff --git a/man3/stailq.3 b/man3/stailq.3 new file mode 100644 index 000000000..39b693c01 --- /dev/null +++ b/man3/stailq.3 @@ -0,0 +1,40 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" and Copyright (c) 2020 by Alejandro Colomar +.\" +.\" %%%LICENSE_START(BSD_3_CLAUSE_UCB) +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" %%%LICENSE_END +.\" +.\" +.TH STAILQ 3 2020-10-21 "GNU" "Linux Programmer's Manual" +.SH NAME +.SH SYNOPSIS +.SH DESCRIPTION +.SH RETURN VALUE +.SH CONFORMING TO +.SH BUGS +.SH EXAMPLES +.SH SEE ALSO From patchwork Sat Oct 24 22:21:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40843 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A7D36386F81D; Sat, 24 Oct 2020 22:21:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A7D36386F81D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578097; bh=mUUW+wYa46qzg0CoY4rCJLFtnsUso5kT4Jk5PKnKaco=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=KsebtVq76JwzdbDWslyRU1t9VMY5upjjvoOE6LEemqjMuVAkUJoku7HPAzwnvp8kz L2at6D/dYbYW1JnpZbYDs+r6ytC7QNYjeMAVaoiZCJGJfXZkANSpAaQQ4es4hqMDHb Rpt9PzH9gvJCPmlfbg0p1lL3EjzodJaEnQRqBhNg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id B35ED3844046 for ; Sat, 24 Oct 2020 22:21:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B35ED3844046 Received: by mail-wr1-x434.google.com with SMTP id x7so7379466wrl.3 for ; Sat, 24 Oct 2020 15:21:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mUUW+wYa46qzg0CoY4rCJLFtnsUso5kT4Jk5PKnKaco=; b=FE/2mrXy2qwZ1bvNrVW6L3TDrG/7967sT4WIvvUCtN9pQsjwVWv9HPyr33Wf2mUbyS bbnj2DQKotLgb/o654C73WnVqkIUXNcgW6g/SHl94QanFjT7R5F6DXsf2nIMvbjSP19i J9uZAllGdwKEg1RVCGs5AaKhcTtsMmqLs5KIiZyEGAXX71ocgNShCheh7Ohkxg29DXpB MN+TdZAA77YWYUcskZXmBDP914OgzPoNsY7H1WzorNXiez10K/HdapGyfGRyvp3ZekJB dQ2gf75FCCqBzhkBk5ZSfjGckgP73nb6RXvJORy1ki4uv4jcHW0O51bcuRe1BePDBw/6 Ha7w== X-Gm-Message-State: AOAM533qMercblVSaCHBlD4e5Hg0J9iywXB2pSXBLjo64SFJZkO355VG hXRuLrCWekEKFvXv6tOcrfE= X-Google-Smtp-Source: ABdhPJxH5661EmWoXKqLH7wLfZgyZ7yzLm5Lx07hD3w/oyKd8gNGxgQOnvyD9/gvRDK3DgUtPS/NXA== X-Received: by 2002:adf:e88a:: with SMTP id d10mr10254223wrm.247.1603578093838; Sat, 24 Oct 2020 15:21:33 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:33 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 2/8] queue.3, stailq.3: NAME: Move code from queue.3 to stailq.3 Date: Sun, 25 Oct 2020 00:21:10 +0200 Message-Id: <20201024222115.6362-3-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UPPERCASE_50_75 autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/queue.3 | 20 -------------------- man3/stailq.3 | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/man3/queue.3 b/man3/queue.3 index 0c57f8ef6..5b05c0d6e 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -34,26 +34,6 @@ .Dt QUEUE 3 .Os .Sh NAME -.Nm STAILQ_CONCAT , -.Nm STAILQ_EMPTY , -.Nm STAILQ_ENTRY , -.Nm STAILQ_FIRST , -.Nm STAILQ_FOREACH , -.\" .Nm STAILQ_FOREACH_FROM , -.\" .Nm STAILQ_FOREACH_FROM_SAFE , -.\" .Nm STAILQ_FOREACH_SAFE , -.Nm STAILQ_HEAD , -.Nm STAILQ_HEAD_INITIALIZER , -.Nm STAILQ_INIT , -.Nm STAILQ_INSERT_AFTER , -.Nm STAILQ_INSERT_HEAD , -.Nm STAILQ_INSERT_TAIL , -.\" .Nm STAILQ_LAST , -.Nm STAILQ_NEXT , -.Nm STAILQ_REMOVE , -.\" .Nm STAILQ_REMOVE_AFTER , -.Nm STAILQ_REMOVE_HEAD , -.\" .Nm STAILQ_SWAP , .Nm TAILQ_CONCAT , .Nm TAILQ_EMPTY , .Nm TAILQ_ENTRY , diff --git a/man3/stailq.3 b/man3/stailq.3 index 39b693c01..156f607cb 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -31,6 +31,26 @@ .\" .TH STAILQ 3 2020-10-21 "GNU" "Linux Programmer's Manual" .SH NAME +.Nm STAILQ_CONCAT , +.Nm STAILQ_EMPTY , +.Nm STAILQ_ENTRY , +.Nm STAILQ_FIRST , +.Nm STAILQ_FOREACH , +.\" .Nm STAILQ_FOREACH_FROM , +.\" .Nm STAILQ_FOREACH_FROM_SAFE , +.\" .Nm STAILQ_FOREACH_SAFE , +.Nm STAILQ_HEAD , +.Nm STAILQ_HEAD_INITIALIZER , +.Nm STAILQ_INIT , +.Nm STAILQ_INSERT_AFTER , +.Nm STAILQ_INSERT_HEAD , +.Nm STAILQ_INSERT_TAIL , +.\" .Nm STAILQ_LAST , +.Nm STAILQ_NEXT , +.Nm STAILQ_REMOVE , +.\" .Nm STAILQ_REMOVE_AFTER , +.Nm STAILQ_REMOVE_HEAD , +.\" .Nm STAILQ_SWAP , .SH SYNOPSIS .SH DESCRIPTION .SH RETURN VALUE From patchwork Sat Oct 24 22:21:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40844 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3F5553844046; Sat, 24 Oct 2020 22:21:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3F5553844046 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578099; bh=e/saFdQ2kJnVgLVMFov6dieh3sGNV8jov9Gp+Wp6FBs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vNIBVH4eaC1AHrds3dGOBPsbEdW5Zu4v+93fXMUc/uNIUzqycWO+RrTc1cWgm4m07 rFlwgSPb3LyaPVzq9S2sPULCe0ky4OLIuwY9da0M0Chttvry0VFoMA1aZGJQSH/NjV du8KsDl0z4uK++ADDmn3/VAB7tbTb1AIPzIZIo9U= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) by sourceware.org (Postfix) with ESMTPS id C43D3386F805 for ; Sat, 24 Oct 2020 22:21:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C43D3386F805 Received: by mail-wr1-x435.google.com with SMTP id x7so7379531wrl.3 for ; Sat, 24 Oct 2020 15:21:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e/saFdQ2kJnVgLVMFov6dieh3sGNV8jov9Gp+Wp6FBs=; b=Krqsq5f9DX+IvziY3FcVvW9L6wklK2h1jqeZ84KOVK0h4gpBqrVnT4d3xTgR4CUBCq loB9LVoe16UKJlKTbjKOl7h1A3ZFDRUgvIPS29IBU1rzNkczFa8x4Ar4WSTPn0Ranz6Y SQltcug1ck1T0Mf2OUYcUh8A8Vokdq76uO5Kv4vgPgNdW0996gDFBKVg6iJSqdPFo05z 0w3y28oyklIe6D0yemXy434eQSMsCr+OWszXiWcAmLa2b8NgWw/cAmDuT2k1mmjl9JyK 57DlMsmX9afnnIriWRuJQ/75CzbZv2SxtFtlzKiy9xQY/lT39yg4bcctTgySNuB7k2Bm uO6g== X-Gm-Message-State: AOAM533seM/HVFF0F3TStdi5Kil3DYc6VAh3jPUFcLpF04HvvPoXqF9h wGgJU8g1/O9AB2g5Fpes1iXtocH+r9U= X-Google-Smtp-Source: ABdhPJw5dsqlQzX1sQhRg83B6gswuclGNr9NksLzt69H5qzL/8N+kjnNPF88Y0tXn/RM1wcfwI/JbQ== X-Received: by 2002:adf:ef51:: with SMTP id c17mr10365326wrp.301.1603578094950; Sat, 24 Oct 2020 15:21:34 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:34 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 3/8] queue.3, stailq.3: SYNOPSIS: Move code from queue.3 to stailq.3 Date: Sun, 25 Oct 2020 00:21:11 +0200 Message-Id: <20201024222115.6362-4-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, UPPERCASE_50_75 autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/queue.3 | 21 --------------------- man3/stailq.3 | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/man3/queue.3 b/man3/queue.3 index 5b05c0d6e..72ec892ad 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -63,27 +63,6 @@ lists, tail queues, and circular queues .Sh SYNOPSIS .In sys/queue.h .\" -.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" -.Fn STAILQ_EMPTY "STAILQ_HEAD *head" -.Fn STAILQ_ENTRY "TYPE" -.Fn STAILQ_FIRST "STAILQ_HEAD *head" -.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_FOREACH_FROM "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_FOREACH_FROM_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" -.\" .Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" -.Fn STAILQ_HEAD "HEADNAME" "TYPE" -.Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head" -.Fn STAILQ_INIT "STAILQ_HEAD *head" -.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME" -.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" -.\" .Fn TAILQ_CONCAT "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TAILQ_ENTRY NAME" .Fn TAILQ_EMPTY "TAILQ_HEAD *head" .Fn TAILQ_ENTRY "TYPE" diff --git a/man3/stailq.3 b/man3/stailq.3 index 156f607cb..161b7c3f0 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -52,6 +52,27 @@ .Nm STAILQ_REMOVE_HEAD , .\" .Nm STAILQ_SWAP , .SH SYNOPSIS +.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" +.Fn STAILQ_EMPTY "STAILQ_HEAD *head" +.Fn STAILQ_ENTRY "TYPE" +.Fn STAILQ_FIRST "STAILQ_HEAD *head" +.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.\" .Fn STAILQ_FOREACH_FROM "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.\" .Fn STAILQ_FOREACH_FROM_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" +.\" .Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" +.Fn STAILQ_HEAD "HEADNAME" "TYPE" +.Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head" +.Fn STAILQ_INIT "STAILQ_HEAD *head" +.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +.\" .Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME" +.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME" +.\" .Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" +.\" .SH DESCRIPTION .SH RETURN VALUE .SH CONFORMING TO From patchwork Sat Oct 24 22:21:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40845 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C5A9F385780E; Sat, 24 Oct 2020 22:21:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C5A9F385780E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578100; bh=ThpV9XXFhMVJ/oGRgJ0IntjEeDldw+Bwy1c49CeXspA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=w5nCrJ5DwxjephjXlifZ5AxYFEq/ClnIiVf+1gbmjgJe5ppjphLEwGIy5zUYiuX0l eJ2gn7xxbKovAHabSd/vFWZndQEZ3Ay4ygVIFYPe6e6n5SUk5UXCaQj/Aw1uEJ08N/ A5gMGU4WTeN+V4tkd1CnfpD4yGV9q+TFyIJ7gVi8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by sourceware.org (Postfix) with ESMTPS id 3D080386F81B for ; Sat, 24 Oct 2020 22:21:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3D080386F81B Received: by mail-wr1-x42d.google.com with SMTP id h7so7382186wre.4 for ; Sat, 24 Oct 2020 15:21:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ThpV9XXFhMVJ/oGRgJ0IntjEeDldw+Bwy1c49CeXspA=; b=ueGMvMhzUUjGIyljbdP7/kjjfNv7xP3d8MNWUJuLCmGM2NaYMZDtUYkzKcMTzT2nBw QJXxt7VBJBgkkiIiiJ4KaXi6//gejuXX8D+zwBlV0bXtye/24Dk6efTFfY6kSOZscQTe p5MXxILtERqnMw96FlPlp5Ls2w3MrVuP2OyvDn+DJMH7ROk6qJJnLbl//9y/T/0o25vN G6WdltGNymnbD6dcvDTvVaHiVJ6bQbP2JV5LePSeMu1mejZ9WU+CUqbmbafWurzddnQf EG2gqYKDmzwXCknMcQsq0TrWdMbZCN3mHOA9WQMay+7zElFBujG/NHevYXGeyxKqsYOT o0bw== X-Gm-Message-State: AOAM531Cyzn0Dxc9cQotNJKBvRIjiyibYYmqV6BwObY6u1oFPpQWquV4 cn3FfTRGddK8PXe0UM3gnXD+SBK2hEk= X-Google-Smtp-Source: ABdhPJxKLAGO0KbIPmd6dVgz+oLFFPSl01EnxvFQZI9ftWrd9gL3nG4O8yTlUFfpbUPee8LjmdNCxQ== X-Received: by 2002:a05:6000:1005:: with SMTP id a5mr10155919wrx.360.1603578096205; Sat, 24 Oct 2020 15:21:36 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:35 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 4/8] queue.3, stailq.3: DESCRIPTION: Move stailq specific code from queue.3 to stailq.3 Date: Sun, 25 Oct 2020 00:21:12 +0200 Message-Id: <20201024222115.6362-5-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/queue.3 | 177 -------------------------------------------------- man3/stailq.3 | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+), 177 deletions(-) diff --git a/man3/queue.3 b/man3/queue.3 index 72ec892ad..ee15e60be 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -245,183 +245,6 @@ or .Li CIRCLEQ_HEAD . See the examples below for further explanation of how these macros are used. -.Ss Singly-linked tail queues -A singly-linked tail queue is headed by a structure defined by the -.Nm STAILQ_HEAD -macro. -This structure contains a pair of pointers, -one to the first element in the tail queue and the other to -the last element in the tail queue. -The elements are singly linked for minimum space and pointer -manipulation overhead at the expense of O(n) removal for arbitrary -elements. -New elements can be added to the tail queue after an existing element, -at the head of the tail queue, or at the end of the tail queue. -A -.Fa STAILQ_HEAD -structure is declared as follows: -.Bd -literal -offset indent -STAILQ_HEAD(HEADNAME, TYPE) head; -.Ed -.Pp -where -.Li HEADNAME -is the name of the structure to be defined, and -.Li TYPE -is the type of the elements to be linked into the tail queue. -A pointer to the head of the tail queue can later be declared as: -.Bd -literal -offset indent -struct HEADNAME *headp; -.Ed -.Pp -(The names -.Li head -and -.Li headp -are user selectable.) -.Pp -The macro -.Nm STAILQ_HEAD_INITIALIZER -evaluates to an initializer for the tail queue -.Fa head . -.Pp -The macro -.Nm STAILQ_CONCAT -concatenates the tail queue headed by -.Fa head2 -onto the end of the one headed by -.Fa head1 -removing all entries from the former. -.Pp -The macro -.Nm STAILQ_EMPTY -evaluates to true if there are no items on the tail queue. -.Pp -The macro -.Nm STAILQ_ENTRY -declares a structure that connects the elements in -the tail queue. -.Pp -The macro -.Nm STAILQ_FIRST -returns the first item on the tail queue or NULL if the tail queue -is empty. -.Pp -The macro -.Nm STAILQ_FOREACH -traverses the tail queue referenced by -.Fa head -in the forward direction, assigning each element -in turn to -.Fa var . -.\" .Pp -.\" The macro -.\" .Nm STAILQ_FOREACH_FROM -.\" behaves identically to -.\" .Nm STAILQ_FOREACH -.\" when -.\" .Fa var -.\" is NULL, else it treats -.\" .Fa var -.\" as a previously found STAILQ element and begins the loop at -.\" .Fa var -.\" instead of the first element in the STAILQ referenced by -.\" .Fa head . -.\" .Pp -.\" The macro -.\" .Nm STAILQ_FOREACH_SAFE -.\" traverses the tail queue referenced by -.\" .Fa head -.\" in the forward direction, assigning each element -.\" in turn to -.\" .Fa var . -.\" However, unlike -.\" .Fn STAILQ_FOREACH -.\" here it is permitted to both remove -.\" .Fa var -.\" as well as free it from within the loop safely without interfering with the -.\" traversal. -.\" .Pp -.\" The macro -.\" .Nm STAILQ_FOREACH_FROM_SAFE -.\" behaves identically to -.\" .Nm STAILQ_FOREACH_SAFE -.\" when -.\" .Fa var -.\" is NULL, else it treats -.\" .Fa var -.\" as a previously found STAILQ element and begins the loop at -.\" .Fa var -.\" instead of the first element in the STAILQ referenced by -.\" .Fa head . -.Pp -The macro -.Nm STAILQ_INIT -initializes the tail queue referenced by -.Fa head . -.Pp -The macro -.Nm STAILQ_INSERT_HEAD -inserts the new element -.Fa elm -at the head of the tail queue. -.Pp -The macro -.Nm STAILQ_INSERT_TAIL -inserts the new element -.Fa elm -at the end of the tail queue. -.Pp -The macro -.Nm STAILQ_INSERT_AFTER -inserts the new element -.Fa elm -after the element -.Fa listelm . -.\" .Pp -.\" The macro -.\" .Nm STAILQ_LAST -.\" returns the last item on the tail queue. -.\" If the tail queue is empty the return value is -.\" .Dv NULL . -.Pp -The macro -.Nm STAILQ_NEXT -returns the next item on the tail queue, or NULL this item is the last. -.\" .Pp -.\" The macro -.\" .Nm STAILQ_REMOVE_AFTER -.\" removes the element after -.\" .Fa elm -.\" from the tail queue. -.\" Unlike -.\" .Fa STAILQ_REMOVE , -.\" this macro does not traverse the entire tail queue. -.Pp -The macro -.Nm STAILQ_REMOVE_HEAD -removes the element at the head of the tail queue. -For optimum efficiency, -elements being removed from the head of the tail queue should -use this macro explicitly rather than the generic -.Fa STAILQ_REMOVE -macro. -.Pp -The macro -.Nm STAILQ_REMOVE -removes the element -.Fa elm -from the tail queue. -.\" .Pp -.\" The macro -.\" .Nm STAILQ_SWAP -.\" swaps the contents of -.\" .Fa head1 -.\" and -.\" .Fa head2 . -.Pp -See the EXAMPLES section below for an example program -using a singly-linked tail queue. .Ss Tail queues A tail queue is headed by a structure defined by the .Nm TAILQ_HEAD diff --git a/man3/stailq.3 b/man3/stailq.3 index 161b7c3f0..9b0322e68 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -74,6 +74,183 @@ .\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" .\" .SH DESCRIPTION +.Ss Singly-linked tail queues +A singly-linked tail queue is headed by a structure defined by the +.Nm STAILQ_HEAD +macro. +This structure contains a pair of pointers, +one to the first element in the tail queue and the other to +the last element in the tail queue. +The elements are singly linked for minimum space and pointer +manipulation overhead at the expense of O(n) removal for arbitrary +elements. +New elements can be added to the tail queue after an existing element, +at the head of the tail queue, or at the end of the tail queue. +A +.Fa STAILQ_HEAD +structure is declared as follows: +.Bd -literal -offset indent +STAILQ_HEAD(HEADNAME, TYPE) head; +.Ed +.Pp +where +.Li HEADNAME +is the name of the structure to be defined, and +.Li TYPE +is the type of the elements to be linked into the tail queue. +A pointer to the head of the tail queue can later be declared as: +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(The names +.Li head +and +.Li headp +are user selectable.) +.Pp +The macro +.Nm STAILQ_HEAD_INITIALIZER +evaluates to an initializer for the tail queue +.Fa head . +.Pp +The macro +.Nm STAILQ_CONCAT +concatenates the tail queue headed by +.Fa head2 +onto the end of the one headed by +.Fa head1 +removing all entries from the former. +.Pp +The macro +.Nm STAILQ_EMPTY +evaluates to true if there are no items on the tail queue. +.Pp +The macro +.Nm STAILQ_ENTRY +declares a structure that connects the elements in +the tail queue. +.Pp +The macro +.Nm STAILQ_FIRST +returns the first item on the tail queue or NULL if the tail queue +is empty. +.Pp +The macro +.Nm STAILQ_FOREACH +traverses the tail queue referenced by +.Fa head +in the forward direction, assigning each element +in turn to +.Fa var . +.\" .Pp +.\" The macro +.\" .Nm STAILQ_FOREACH_FROM +.\" behaves identically to +.\" .Nm STAILQ_FOREACH +.\" when +.\" .Fa var +.\" is NULL, else it treats +.\" .Fa var +.\" as a previously found STAILQ element and begins the loop at +.\" .Fa var +.\" instead of the first element in the STAILQ referenced by +.\" .Fa head . +.\" .Pp +.\" The macro +.\" .Nm STAILQ_FOREACH_SAFE +.\" traverses the tail queue referenced by +.\" .Fa head +.\" in the forward direction, assigning each element +.\" in turn to +.\" .Fa var . +.\" However, unlike +.\" .Fn STAILQ_FOREACH +.\" here it is permitted to both remove +.\" .Fa var +.\" as well as free it from within the loop safely without interfering with the +.\" traversal. +.\" .Pp +.\" The macro +.\" .Nm STAILQ_FOREACH_FROM_SAFE +.\" behaves identically to +.\" .Nm STAILQ_FOREACH_SAFE +.\" when +.\" .Fa var +.\" is NULL, else it treats +.\" .Fa var +.\" as a previously found STAILQ element and begins the loop at +.\" .Fa var +.\" instead of the first element in the STAILQ referenced by +.\" .Fa head . +.Pp +The macro +.Nm STAILQ_INIT +initializes the tail queue referenced by +.Fa head . +.Pp +The macro +.Nm STAILQ_INSERT_HEAD +inserts the new element +.Fa elm +at the head of the tail queue. +.Pp +The macro +.Nm STAILQ_INSERT_TAIL +inserts the new element +.Fa elm +at the end of the tail queue. +.Pp +The macro +.Nm STAILQ_INSERT_AFTER +inserts the new element +.Fa elm +after the element +.Fa listelm . +.\" .Pp +.\" The macro +.\" .Nm STAILQ_LAST +.\" returns the last item on the tail queue. +.\" If the tail queue is empty the return value is +.\" .Dv NULL . +.Pp +The macro +.Nm STAILQ_NEXT +returns the next item on the tail queue, or NULL this item is the last. +.\" .Pp +.\" The macro +.\" .Nm STAILQ_REMOVE_AFTER +.\" removes the element after +.\" .Fa elm +.\" from the tail queue. +.\" Unlike +.\" .Fa STAILQ_REMOVE , +.\" this macro does not traverse the entire tail queue. +.Pp +The macro +.Nm STAILQ_REMOVE_HEAD +removes the element at the head of the tail queue. +For optimum efficiency, +elements being removed from the head of the tail queue should +use this macro explicitly rather than the generic +.Fa STAILQ_REMOVE +macro. +.Pp +The macro +.Nm STAILQ_REMOVE +removes the element +.Fa elm +from the tail queue. +.\" .Pp +.\" The macro +.\" .Nm STAILQ_SWAP +.\" swaps the contents of +.\" .Fa head1 +.\" and +.\" .Fa head2 . +.Pp +See the EXAMPLES section below for an example program +using a singly-linked tail queue. .SH RETURN VALUE .SH CONFORMING TO .SH BUGS From patchwork Sat Oct 24 22:21:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40846 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 529F63870850; Sat, 24 Oct 2020 22:21:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 529F63870850 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578101; bh=zz6XIvB7NSSyVXPRv9pjl1blf3ryJ7KL0ET9oGf2L1A=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=MyNbdFjIT+JIeYXhAifrDEpHB/RXicgn+eek3dbWPkwU8PNRZSsGLRrQnwNSNte8T mt4NvE3SxvnHdg9dE8gp1DWim/EBFFOwgYYysyzkjjC+DdKWuHH2WPYu1Pp07j39Wu ryMngkDdBv6T2mCBp+21BqgDsNcjVWhhN2Ikxz3M= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by sourceware.org (Postfix) with ESMTPS id 3E0F9385780E for ; Sat, 24 Oct 2020 22:21:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3E0F9385780E Received: by mail-wr1-x430.google.com with SMTP id n15so7391482wrq.2 for ; Sat, 24 Oct 2020 15:21:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zz6XIvB7NSSyVXPRv9pjl1blf3ryJ7KL0ET9oGf2L1A=; b=M0m49guzgDFTndYwOup4mC898Sf150DJEe7twDQajBa+mRQk3mYTn72VjoVUCtG7w1 z+YGK9ax30nszFeN/HBg5ahfQsVJvsmlcgxbDjfrfRnHflU4wXbSb/zxk1ZRToqnfuTZ 4KKIUxT4I6Ui5jFLCbygr/9JLqx8v0KnP7YA/X0d9DhFOtsH/mrYzFK4H1cNn6h6Zc5N uNQt8NCR3OWSqMNOzmQ8xZCPbiG/Ps6cdlOBjbeH8Wu+HAF0+jO99yKW/URTTWQbbf3x gW1urZDXfdEJ3gFQMPMAZjbBYy6UQfenv/lV59TVIdlP31kxtd/QG8vJbofftSqT8ghE WzFw== X-Gm-Message-State: AOAM531nMCb36wW5NVkKscl1XdpK8tNHpNwjXi5/5IvGYHU5VpdQzosy o11/EHhEsqdoxmJVVPlF5TM= X-Google-Smtp-Source: ABdhPJxb2fh8axUJDv8r2BuO/kH7dgpzCIKG8UYYgiOTkY6YOIWWl33g7MazCTnSnH6Rc3NZuZEShg== X-Received: by 2002:adf:dd50:: with SMTP id u16mr10186881wrm.419.1603578097298; Sat, 24 Oct 2020 15:21:37 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:36 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 5/8] queue.3, stailq.3: EXAMPLES: Move stailq example from queue.3 to stailq.3 Date: Sun, 25 Oct 2020 00:21:13 +0200 Message-Id: <20201024222115.6362-6-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/queue.3 | 61 --------------------------------------------------- man3/stailq.3 | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/man3/queue.3 b/man3/queue.3 index ee15e60be..bebfc7a25 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -456,67 +456,6 @@ from the tail queue. .Pp See the EXAMPLES section below for an example program using a tail queue. .Sh EXAMPLES -.Ss Singly-linked tail queue example -.Bd -literal -#include -#include -#include -#include - -struct entry { - int data; - STAILQ_ENTRY(entry) entries; /* Singly-linked tail queue. */ -}; - -STAILQ_HEAD(stailhead, entry); - -int -main(void) -{ - struct entry *n1, *n2, *n3, *np; - struct stailhead head; /* Singly-linked tail queue - head. */ - - STAILQ_INIT(&head); /* Initialize the queue. */ - - n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ - STAILQ_INSERT_HEAD(&head, n1, entries); - - n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ - STAILQ_INSERT_TAIL(&head, n1, entries); - - n2 = malloc(sizeof(struct entry)); /* Insert after. */ - STAILQ_INSERT_AFTER(&head, n1, n2, entries); - - STAILQ_REMOVE(&head, n2, entry, entries);/* Deletion. */ - free(n2); - - n3 = STAILQ_FIRST(&head); - STAILQ_REMOVE_HEAD(&head, entries); /* Deletion from the head. */ - free(n3); - - n1 = STAILQ_FIRST(&head); - n1->data = 0; - for (int i = 1; i < 5; i++) { - n1 = malloc(sizeof(struct entry)); - STAILQ_INSERT_HEAD(&head, n1, entries); - n1->data = i; - } - /* Forward traversal. */ - STAILQ_FOREACH(np, &head, entries) - printf("%i\en", np->data); - /* TailQ Deletion. */ - n1 = STAILQ_FIRST(&head); - while (n1 != NULL) { - n2 = STAILQ_NEXT(n1, entries); - free(n1); - n1 = n2; - } - STAILQ_INIT(&head); - - exit(EXIT_SUCCESS); -} -.Ed .Ss Tail queue example .Bd -literal #include diff --git a/man3/stailq.3 b/man3/stailq.3 index 9b0322e68..88cdccbbc 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -255,4 +255,65 @@ using a singly-linked tail queue. .SH CONFORMING TO .SH BUGS .SH EXAMPLES +.Ss Singly-linked tail queue example +.Bd -literal +#include +#include +#include +#include + +struct entry { + int data; + STAILQ_ENTRY(entry) entries; /* Singly-linked tail queue. */ +}; + +STAILQ_HEAD(stailhead, entry); + +int +main(void) +{ + struct entry *n1, *n2, *n3, *np; + struct stailhead head; /* Singly-linked tail queue + head. */ + + STAILQ_INIT(&head); /* Initialize the queue. */ + + n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ + STAILQ_INSERT_HEAD(&head, n1, entries); + + n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ + STAILQ_INSERT_TAIL(&head, n1, entries); + + n2 = malloc(sizeof(struct entry)); /* Insert after. */ + STAILQ_INSERT_AFTER(&head, n1, n2, entries); + + STAILQ_REMOVE(&head, n2, entry, entries);/* Deletion. */ + free(n2); + + n3 = STAILQ_FIRST(&head); + STAILQ_REMOVE_HEAD(&head, entries); /* Deletion from the head. */ + free(n3); + + n1 = STAILQ_FIRST(&head); + n1->data = 0; + for (int i = 1; i < 5; i++) { + n1 = malloc(sizeof(struct entry)); + STAILQ_INSERT_HEAD(&head, n1, entries); + n1->data = i; + } + /* Forward traversal. */ + STAILQ_FOREACH(np, &head, entries) + printf("%i\en", np->data); + /* TailQ Deletion. */ + n1 = STAILQ_FIRST(&head); + while (n1 != NULL) { + n2 = STAILQ_NEXT(n1, entries); + free(n1); + n1 = n2; + } + STAILQ_INIT(&head); + + exit(EXIT_SUCCESS); +} +.Ed .SH SEE ALSO From patchwork Sat Oct 24 22:21:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40847 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DD7973870849; Sat, 24 Oct 2020 22:21:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DD7973870849 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578102; bh=wGpuDiUe1SAGPxCgKeeuSoxCzUl8wJU6Sh0BAhvQBb0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=gComE3Z/uCh+GhAyKF2jDIvfNzMQ8x+oh6O/D59IHKQJFjldTUwX/FoQqtrnTKl4P O5lxA1EVSWl/fRRlwl3iiWV933k9jKe27rktjsAadIe1mSKfpjcfLRgo0KD8BLp4Ot KYLcIu1Cvf9pPScAOd6MbMODG0mojaboHero70V8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by sourceware.org (Postfix) with ESMTPS id 763863857012 for ; Sat, 24 Oct 2020 22:21:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 763863857012 Received: by mail-wr1-x443.google.com with SMTP id n6so7342766wrm.13 for ; Sat, 24 Oct 2020 15:21:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wGpuDiUe1SAGPxCgKeeuSoxCzUl8wJU6Sh0BAhvQBb0=; b=Xpfu1uXO9diwzubMPBPYbkd3Q2QqSm74e7I5ar6lWbGN5Vl792BdGWvhrnZ2YC4FqQ vPfuUDUCGHeSdeqwXVeNYhWgk8VOX3l9Zkkm09lRfZ3/0oOLT+uGkEJhXdQXJKLAB/h9 AosKHW0nOes04iBnySNCDqBgel1Q6tf0UEQSpSvbJLmfthzbRzwaVt4PTJEbPyvAHFSb bjLV2VBZGYhvJz7yMB/EMo94MX0WMfbe9FxVQYjTxC6PmtHZBHyNXRk/6kUC5Ehky1Jw HWbHrdvS7CVQf8NiQhyfJji8LYHB11UzcQQSvAG4Nfpr2LD9anoiJImKUWZG1g3WROoP 21ow== X-Gm-Message-State: AOAM533MWWY983t1+56mZzjTZ4rdy2JelJGOBDyrZ3PS28tm9T3t8T6j +g4YyjACStygqkzp8ummiV31KHAt2sA= X-Google-Smtp-Source: ABdhPJxeiNv0kpkMthApkbXVLG7zwxu45t1BXNLbjbZR4nkcJit7uorqK/4dplfQAkORAPOIHWpNgg== X-Received: by 2002:adf:f3c7:: with SMTP id g7mr10414320wrp.394.1603578098573; Sat, 24 Oct 2020 15:21:38 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:37 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 6/8] stailq.3: Copy and adapt code from queue.3 Date: Sun, 25 Oct 2020 00:21:14 +0200 Message-Id: <20201024222115.6362-7-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/stailq.3 | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/man3/stailq.3 b/man3/stailq.3 index 88cdccbbc..9306176d2 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -52,6 +52,8 @@ .Nm STAILQ_REMOVE_HEAD , .\" .Nm STAILQ_SWAP , .SH SYNOPSIS +.In sys/queue.h +.\" .Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" .Fn STAILQ_EMPTY "STAILQ_HEAD *head" .Fn STAILQ_ENTRY "TYPE" @@ -74,6 +76,18 @@ .\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" .\" .SH DESCRIPTION +In the macro definitions, +.Fa TYPE +is the name of a user-defined structure, +that must contain a field of type +.Li STAILQ_ENTRY , +named +.Fa NAME . +The argument +.Fa HEADNAME +is the name of a user-defined structure that must be declared +using the macro +.Li STAILQ_HEAD . .Ss Singly-linked tail queues A singly-linked tail queue is headed by a structure defined by the .Nm STAILQ_HEAD @@ -248,11 +262,12 @@ from the tail queue. .\" .Fa head1 .\" and .\" .Fa head2 . -.Pp -See the EXAMPLES section below for an example program -using a singly-linked tail queue. .SH RETURN VALUE .SH CONFORMING TO +Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008. +Present on the BSDs +(STAILQ macros first appeared in +.Bx 4.4 ). .SH BUGS .SH EXAMPLES .Ss Singly-linked tail queue example @@ -272,7 +287,7 @@ STAILQ_HEAD(stailhead, entry); int main(void) { - struct entry *n1, *n2, *n3, *np; + struct entry *n1, *n2, *n3, *np; struct stailhead head; /* Singly-linked tail queue head. */ From patchwork Sat Oct 24 22:21:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40848 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 757A43870876; Sat, 24 Oct 2020 22:21:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 757A43870876 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578103; bh=iPcMyMZLUYqO4I1RBwgHsQ2NYgnh0SfuphEAufgDU9E=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=M2iKuCfITzjDudaDz+sAcTFy998/muauUPAdBhgKmjF39YX7kdIMyDNEzxRXbIbSj SA6AY4/k9RRj/iWnjJ/XpbsK4invzZlVLyHVtI9LAcM9RZiu2KpFRphtsHVE1ftEBE lDFWBLHoCc6ekPwhd4I55O3Vi5mBcZmOVS+6ETu0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by sourceware.org (Postfix) with ESMTPS id 8F5963870849 for ; Sat, 24 Oct 2020 22:21:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8F5963870849 Received: by mail-wr1-x441.google.com with SMTP id n15so7391598wrq.2 for ; Sat, 24 Oct 2020 15:21:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iPcMyMZLUYqO4I1RBwgHsQ2NYgnh0SfuphEAufgDU9E=; b=YQc0ezGmP58DVdh/22PhYHEpuR5unOms9tJ06lH8968qnNlmy4ll4Rd5gOsKwjZNjj lnjW/Abcw69eFi2ajyunktC9GhVmaFxwNJSNmiyP8SKvrX6s1K74aRP+f69cJX04qHRC p088whp6W+LLinlyipkbfd/dm8LQ58IrEJm4SgHTsDj6425nYCysJVhV0WlCjZHSOQDU rNvJKHy124SMT4JHPSzJapSju2vDVRdx/BdlJI571q3c9GRlawmiQyAHA9DPoMbgEgbM N3qU148CMDETj4tvysr5D8CZu/ejxSZ0v1FNVD1E01fv5w1ENwSMALgO7Ey1KpLT9y9R QxOw== X-Gm-Message-State: AOAM531v+tIFCrxHbf1kepWDfhlqwWayXCI21ZFjw21EKDEL9uMHojKH UwfefNRiO6hBVD/6wGix8sw= X-Google-Smtp-Source: ABdhPJwxJ6C+tKZkWNu3fIKi+N3tpk+ie+Z5a1+ZXzbFpwU9sslpSNhx1MRZyuXtAk1A29ZTVVt2mg== X-Received: by 2002:a5d:6904:: with SMTP id t4mr10152059wru.410.1603578099612; Sat, 24 Oct 2020 15:21:39 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:39 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 7/8] stailq.3: ffix: Use man markup Date: Sun, 25 Oct 2020 00:21:15 +0200 Message-Id: <20201024222115.6362-8-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/stailq.3 | 317 +++++++++++++++++++++++++++----------------------- 1 file changed, 172 insertions(+), 145 deletions(-) diff --git a/man3/stailq.3 b/man3/stailq.3 index 9306176d2..0abacd824 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -31,66 +31,90 @@ .\" .TH STAILQ 3 2020-10-21 "GNU" "Linux Programmer's Manual" .SH NAME -.Nm STAILQ_CONCAT , -.Nm STAILQ_EMPTY , -.Nm STAILQ_ENTRY , -.Nm STAILQ_FIRST , -.Nm STAILQ_FOREACH , -.\" .Nm STAILQ_FOREACH_FROM , -.\" .Nm STAILQ_FOREACH_FROM_SAFE , -.\" .Nm STAILQ_FOREACH_SAFE , -.Nm STAILQ_HEAD , -.Nm STAILQ_HEAD_INITIALIZER , -.Nm STAILQ_INIT , -.Nm STAILQ_INSERT_AFTER , -.Nm STAILQ_INSERT_HEAD , -.Nm STAILQ_INSERT_TAIL , -.\" .Nm STAILQ_LAST , -.Nm STAILQ_NEXT , -.Nm STAILQ_REMOVE , -.\" .Nm STAILQ_REMOVE_AFTER , -.Nm STAILQ_REMOVE_HEAD , -.\" .Nm STAILQ_SWAP , +STAILQ_CONCAT, +STAILQ_EMPTY, +STAILQ_ENTRY, +STAILQ_FIRST, +STAILQ_FOREACH, +.\"STAILQ_FOREACH_FROM, +.\"STAILQ_FOREACH_FROM_SAFE, +.\"STAILQ_FOREACH_SAFE, +STAILQ_HEAD, +STAILQ_HEAD_INITIALIZER, +STAILQ_INIT, +STAILQ_INSERT_AFTER, +STAILQ_INSERT_HEAD, +STAILQ_INSERT_TAIL, +.\"STAILQ_LAST, +STAILQ_NEXT, +STAILQ_REMOVE, +.\"STAILQ_REMOVE_AFTER, +STAILQ_REMOVE_HEAD, +.\"STAILQ_SWAP .SH SYNOPSIS -.In sys/queue.h -.\" -.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" -.Fn STAILQ_EMPTY "STAILQ_HEAD *head" -.Fn STAILQ_ENTRY "TYPE" -.Fn STAILQ_FIRST "STAILQ_HEAD *head" -.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_FOREACH_FROM "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_FOREACH_FROM_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" -.\" .Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" -.Fn STAILQ_HEAD "HEADNAME" "TYPE" -.Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head" -.Fn STAILQ_INIT "STAILQ_HEAD *head" -.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME" -.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" -.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" -.\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" -.\" +.nf +.B #include +.PP +.BI "void STAILQ_CONCAT(STAILQ_HEAD *" head1 ", STAILQ_HEAD *" head2 ");" +.PP +.BI "int STAILQ_EMPTY(STAILQ_HEAD *" head ");" +.PP +.B STAILQ_ENTRY(TYPE); +.PP +.BI "STAILQ_ENTRY *STAILQ_FIRST(STAILQ_HEAD *" head ");" +.PP +.BI "STAILQ_FOREACH(TYPE *" var ", STAILQ_HEAD *" head ", STAILQ_ENTRY " NAME ");" +.\" .PP +.\" .BI "STAILQ_FOREACH_FROM(TYPE *" var ", STAILQ_HEAD *" head ", STAILQ_ENTRY " NAME ");" +.\" .PP +.\" .BI "STAILQ_FOREACH_FROM_SAFE(TYPE *" var ", STAILQ_HEAD *" head ", STAILQ_ENTRY " NAME ", TYPE *" temp_var ");" +.\" .PP +.\" .BI "STAILQ_FOREACH_SAFE(TYPE *" var ", STAILQ_HEAD *" head ", STAILQ_ENTRY " NAME ", TYPE *" temp_var ");" +.PP +.B STAILQ_HEAD(HEADNAME, TYPE); +.PP +.BI "STAILQ_HEAD STAILQ_HEAD_INITIALIZER(STAILQ_HEAD " head ");" +.PP +.BI "void STAILQ_INIT(STAILQ_HEAD *" head ");" +.PP +.BI "void STAILQ_INSERT_AFTER(STAILQ_HEAD *" head ", TYPE *" listelm ", TYPE *" elm "," +.BI " STAILQ_ENTRY " NAME ");" +.PP +.BI "void STAILQ_INSERT_HEAD(STAILQ_HEAD *" head ", TYPE *" elm ", STAILQ_ENTRY " NAME ");" +.PP +.BI "void STAILQ_INSERT_TAIL(STAILQ_HEAD *" head ", TYPE *" elm ", STAILQ_ENTRY " NAME ");" +.\" .PP +.\" .BI "STAILQ_ENTRY *STAILQ_LAST(STAILQ_HEAD *" head ", TYPE *" elm ", STAILQ_ENTRY " NAME ");" +.PP +.BI "STAILQ_ENTRY *STAILQ_NEXT(TYPE *" elm ", STAILQ_ENTRY " NAME ");" +.PP +.BI "void STAILQ_REMOVE(STAILQ_HEAD *" head ", TYPE *" elm ", TYPE," +.BI " STAILQ_ENTRY " NAME ");" +.\" .PP +.\" .BI "void STAILQ_REMOVE_AFTER(STAILQ_HEAD *" head ", TYPE *" elm "," +.\" .BI " STAILQ_ENTRY " NAME ");" +.PP +.BI "void STAILQ_REMOVE_HEAD(STAILQ_HEAD *" head ", STAILQ_ENTRY " NAME ");" +.\" .PP +.\" .BI "void STAILQ_SWAP(STAILQ_HEAD *" head1 ", STAILQ_HEAD *" head2 "," +.\" .BI " STAILQ_ENTRY " NAME ");" +.fi .SH DESCRIPTION In the macro definitions, -.Fa TYPE +.I TYPE is the name of a user-defined structure, that must contain a field of type -.Li STAILQ_ENTRY , +.IR STAILQ_ENTRY , named -.Fa NAME . +.IR NAME . The argument -.Fa HEADNAME +.I HEADNAME is the name of a user-defined structure that must be declared using the macro -.Li STAILQ_HEAD . +.BR STAILQ_HEAD (). .Ss Singly-linked tail queues A singly-linked tail queue is headed by a structure defined by the -.Nm STAILQ_HEAD +.BR STAILQ_HEAD () macro. This structure contains a pair of pointers, one to the first element in the tail queue and the other to @@ -101,177 +125,180 @@ elements. New elements can be added to the tail queue after an existing element, at the head of the tail queue, or at the end of the tail queue. A -.Fa STAILQ_HEAD +.I STAILQ_HEAD structure is declared as follows: -.Bd -literal -offset indent +.PP +.in +4 +.EX STAILQ_HEAD(HEADNAME, TYPE) head; -.Ed -.Pp +.EE +.in +.PP where -.Li HEADNAME +.I HEADNAME is the name of the structure to be defined, and -.Li TYPE +.I TYPE is the type of the elements to be linked into the tail queue. A pointer to the head of the tail queue can later be declared as: -.Bd -literal -offset indent +.PP +.in +4 +.EX struct HEADNAME *headp; -.Ed -.Pp +.EE +.in +.PP (The names -.Li head +.I head and -.Li headp +.I headp are user selectable.) -.Pp +.PP The macro -.Nm STAILQ_HEAD_INITIALIZER +.BR STAILQ_HEAD_INITIALIZER () evaluates to an initializer for the tail queue -.Fa head . -.Pp +.IR head . +.PP The macro -.Nm STAILQ_CONCAT +.BR STAILQ_CONCAT () concatenates the tail queue headed by -.Fa head2 +.I head2 onto the end of the one headed by -.Fa head1 +.I head1 removing all entries from the former. -.Pp +.PP The macro -.Nm STAILQ_EMPTY +.BR STAILQ_EMPTY () evaluates to true if there are no items on the tail queue. -.Pp +.PP The macro -.Nm STAILQ_ENTRY +.BR STAILQ_ENTRY () declares a structure that connects the elements in the tail queue. -.Pp +.PP The macro -.Nm STAILQ_FIRST +.BR STAILQ_FIRST () returns the first item on the tail queue or NULL if the tail queue is empty. -.Pp +.PP The macro -.Nm STAILQ_FOREACH +.BR STAILQ_FOREACH () traverses the tail queue referenced by -.Fa head +.I head in the forward direction, assigning each element in turn to -.Fa var . -.\" .Pp +.IR var . +.\" .PP .\" The macro -.\" .Nm STAILQ_FOREACH_FROM +.\" .BR STAILQ_FOREACH_FROM () .\" behaves identically to -.\" .Nm STAILQ_FOREACH +.\" .BR STAILQ_FOREACH () .\" when -.\" .Fa var +.\" .I var .\" is NULL, else it treats -.\" .Fa var +.\" .I var .\" as a previously found STAILQ element and begins the loop at -.\" .Fa var +.\" .I var .\" instead of the first element in the STAILQ referenced by -.\" .Fa head . -.\" .Pp +.\" .IR head . +.\" .PP .\" The macro -.\" .Nm STAILQ_FOREACH_SAFE +.\" .BR STAILQ_FOREACH_SAFE () .\" traverses the tail queue referenced by -.\" .Fa head +.\" .I head .\" in the forward direction, assigning each element .\" in turn to -.\" .Fa var . +.\" .IR var . .\" However, unlike -.\" .Fn STAILQ_FOREACH +.\" .BR STAILQ_FOREACH () .\" here it is permitted to both remove -.\" .Fa var +.\" .I var .\" as well as free it from within the loop safely without interfering with the .\" traversal. -.\" .Pp +.\" .PP .\" The macro -.\" .Nm STAILQ_FOREACH_FROM_SAFE +.\" .BR STAILQ_FOREACH_FROM_SAFE () .\" behaves identically to -.\" .Nm STAILQ_FOREACH_SAFE +.\" .BR STAILQ_FOREACH_SAFE () .\" when -.\" .Fa var +.\" .I var .\" is NULL, else it treats -.\" .Fa var +.\" .I var .\" as a previously found STAILQ element and begins the loop at -.\" .Fa var +.\" .I var .\" instead of the first element in the STAILQ referenced by -.\" .Fa head . -.Pp +.\" .IR head . +.PP The macro -.Nm STAILQ_INIT +.BR STAILQ_INIT () initializes the tail queue referenced by -.Fa head . -.Pp +.IR head . +.PP The macro -.Nm STAILQ_INSERT_HEAD +.BR STAILQ_INSERT_HEAD () inserts the new element -.Fa elm +.I elm at the head of the tail queue. -.Pp +.PP The macro -.Nm STAILQ_INSERT_TAIL +.BR STAILQ_INSERT_TAIL () inserts the new element -.Fa elm +.I elm at the end of the tail queue. -.Pp +.PP The macro -.Nm STAILQ_INSERT_AFTER +.BR STAILQ_INSERT_AFTER () inserts the new element -.Fa elm +.I elm after the element -.Fa listelm . -.\" .Pp +.IR listelm . +.\" .PP .\" The macro -.\" .Nm STAILQ_LAST +.\" .BR STAILQ_LAST () .\" returns the last item on the tail queue. -.\" If the tail queue is empty the return value is -.\" .Dv NULL . -.Pp +.\" If the tail queue is empty the return value is NULL . +.PP The macro -.Nm STAILQ_NEXT +.BR STAILQ_NEXT () returns the next item on the tail queue, or NULL this item is the last. -.\" .Pp +.\" .PP .\" The macro -.\" .Nm STAILQ_REMOVE_AFTER +.\" .BR STAILQ_REMOVE_AFTER () .\" removes the element after -.\" .Fa elm +.\" .I elm .\" from the tail queue. .\" Unlike -.\" .Fa STAILQ_REMOVE , +.\" .BR STAILQ_REMOVE (), .\" this macro does not traverse the entire tail queue. -.Pp +.PP The macro -.Nm STAILQ_REMOVE_HEAD +.BR STAILQ_REMOVE_HEAD () removes the element at the head of the tail queue. For optimum efficiency, elements being removed from the head of the tail queue should use this macro explicitly rather than the generic -.Fa STAILQ_REMOVE +.BR STAILQ_REMOVE () macro. -.Pp +.PP The macro -.Nm STAILQ_REMOVE +.BR STAILQ_REMOVE () removes the element -.Fa elm +.I elm from the tail queue. -.\" .Pp +.\" .PP .\" The macro -.\" .Nm STAILQ_SWAP +.\" .BR STAILQ_SWAP () .\" swaps the contents of -.\" .Fa head1 +.\" .I head1 .\" and -.\" .Fa head2 . +.\" .IR head2 . .SH RETURN VALUE .SH CONFORMING TO Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008. Present on the BSDs -(STAILQ macros first appeared in -.Bx 4.4 ). +(STAILQ macros first appeared in 4.4BSD). .SH BUGS .SH EXAMPLES -.Ss Singly-linked tail queue example -.Bd -literal +.EX #include #include #include @@ -279,7 +306,7 @@ Present on the BSDs struct entry { int data; - STAILQ_ENTRY(entry) entries; /* Singly-linked tail queue. */ + STAILQ_ENTRY(entry) entries; /* Singly-linked tail queue. */ }; STAILQ_HEAD(stailhead, entry); @@ -288,25 +315,25 @@ int main(void) { struct entry *n1, *n2, *n3, *np; - struct stailhead head; /* Singly-linked tail queue - head. */ + struct stailhead head; /* Singly-linked tail queue + head. */ - STAILQ_INIT(&head); /* Initialize the queue. */ + STAILQ_INIT(&head); /* Initialize the queue. */ - n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ + n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ STAILQ_INSERT_HEAD(&head, n1, entries); - n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ + n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ STAILQ_INSERT_TAIL(&head, n1, entries); - n2 = malloc(sizeof(struct entry)); /* Insert after. */ + n2 = malloc(sizeof(struct entry)); /* Insert after. */ STAILQ_INSERT_AFTER(&head, n1, n2, entries); STAILQ_REMOVE(&head, n2, entry, entries);/* Deletion. */ free(n2); n3 = STAILQ_FIRST(&head); - STAILQ_REMOVE_HEAD(&head, entries); /* Deletion from the head. */ + STAILQ_REMOVE_HEAD(&head, entries); /* Deletion from the head. */ free(n3); n1 = STAILQ_FIRST(&head); @@ -316,10 +343,10 @@ main(void) STAILQ_INSERT_HEAD(&head, n1, entries); n1->data = i; } - /* Forward traversal. */ + /* Forward traversal. */ STAILQ_FOREACH(np, &head, entries) printf("%i\en", np->data); - /* TailQ Deletion. */ + /* TailQ Deletion. */ n1 = STAILQ_FIRST(&head); while (n1 != NULL) { n2 = STAILQ_NEXT(n1, entries); @@ -330,5 +357,5 @@ main(void) exit(EXIT_SUCCESS); } -.Ed +.EE .SH SEE ALSO From patchwork Sat Oct 24 22:21:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40849 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 04B263870868; Sat, 24 Oct 2020 22:21:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 04B263870868 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578104; bh=Wcjn5hGssAg6DYFxDeld1Mg5MxdNblHTxG5sds4ramY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vEOSGAzy834TyVPgS7bpP+NBRiCcCwIwvSZn7CAnUbj75Lr8pR8CW+ht+ttwE61jN anwF8eUDtMDkkhE3LN5pY49yfK5z3WYHyBFdoT0QJjhrLQlcJdcY3vSdRR5qzIqspH xpOE/rSEIaiZCghLYcsxg6vlkSbo246QMQ+3x4d0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by sourceware.org (Postfix) with ESMTPS id 81DB93870854 for ; Sat, 24 Oct 2020 22:21:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 81DB93870854 Received: by mail-wr1-x442.google.com with SMTP id e17so7337376wru.12 for ; Sat, 24 Oct 2020 15:21:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Wcjn5hGssAg6DYFxDeld1Mg5MxdNblHTxG5sds4ramY=; b=tJXh0gddLBOZM/P+pFh3M19tibol84sAoOMvMyuGPMdFOA+VNw8x5RvA/GadKXF55l +AxtHZ0zRFNXNxfTj+eNzrWBxEMnwCGso+3st7AM0Fd6iTbW6TiZWcp4CXg76XGEbGQX kfYtENLp5dpV/fvUd34g6M4NkflDYyIhCez296Z0FgYmh46XU7ZQcO3xGMupL1xpn+Lo nwOxZ/+JrXzF8lZR99iLjVuCQ4c49ujb/zH/0qbkHN3xNTI3bQDsVIlVJ7077eUTWbl6 jiPmxCB/QcjMtxeK4ERix5kPwLNzblNQRy+r3wNnSarQylnGMP537+STUfj7hyiA5200 Jtvg== X-Gm-Message-State: AOAM530x2pQFmS2qVPJeiV3YBzoZWrt1mnvGFJ1dClZz4eM0clK2udwf AyTEBHGuBI+OQ9H/8lUYN5g= X-Google-Smtp-Source: ABdhPJzJ2B6rGbJsocbLoiTmBNF7VakHUxrnQfgIJOTzmcTgZvhzUsqmoEKCHLCPD0jlkF8a/RFSQw== X-Received: by 2002:adf:d84e:: with SMTP id k14mr10347828wrl.251.1603578100652; Sat, 24 Oct 2020 15:21:40 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 133sm16427654wmb.2.2020.10.24.15.21.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:21:40 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 8/8] stailq.3: Add remaining details to complete the page Date: Sun, 25 Oct 2020 00:21:16 +0200 Message-Id: <20201024222115.6362-9-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/stailq.3 | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/man3/stailq.3 b/man3/stailq.3 index 0abacd824..2896d27c9 100644 --- a/man3/stailq.3 +++ b/man3/stailq.3 @@ -51,6 +51,7 @@ STAILQ_REMOVE, .\"STAILQ_REMOVE_AFTER, STAILQ_REMOVE_HEAD, .\"STAILQ_SWAP +\- implementation of a singly-linked tail queue .SH SYNOPSIS .nf .B #include @@ -100,6 +101,8 @@ STAILQ_REMOVE_HEAD, .\" .BI " STAILQ_ENTRY " NAME ");" .fi .SH DESCRIPTION +These macros define and operate on singly-linked tail queues. +.PP In the macro definitions, .I TYPE is the name of a user-defined structure, @@ -292,11 +295,38 @@ from the tail queue. .\" and .\" .IR head2 . .SH RETURN VALUE +.BR STAILQ_EMPTY () +returns nonzero if the queue is empty, +and zero if the queue contains at least one entry. +.PP +.BR STAILQ_FIRST (), +and +.BR STAILQ_NEXT () +return a pointer to the first or next +.I STAILQ_ENTRY +structure, respectively. +.PP +.BR STAILQ_HEAD_INITIALIZER () +returns an initializer that can be assigned to the queue +.IR head . .SH CONFORMING TO Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008. Present on the BSDs (STAILQ macros first appeared in 4.4BSD). .SH BUGS +The macro +.BR STAILQ_FOREACH () +doesn't allow +.I var +to be removed or freed within the loop, +as it would interfere with the traversal. +The macro +.BR STAILQ_FOREACH_SAFE (), +which is present on the BSDs but is not present in glibc, +fixes this limitation by allowing +.I var +to safely be removed from the list and freed from within the loop +without interfering with the traversal. .SH EXAMPLES .EX #include From patchwork Sat Oct 24 22:30:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40850 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F25F83857816; Sat, 24 Oct 2020 22:30:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F25F83857816 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578654; bh=U9WaOrZR0fE9a7jDpBvLksT6eIEJrM0R+6UNSk7Gpww=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=warIdh8Hxz3hHVj5jl4NpjzDb9n8QEM2Cko3DXcDCJX5vFXUJ6u6jrGR3rt+NlRXk uXwCv56SKJxFRgHH22I/0b4InWkZriym/Lau5lSl29tb5DPlm57vROsksgpfhyjVgS X8v871iabsFBispSa+hgJKioT7/s68moGlbB1lOs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by sourceware.org (Postfix) with ESMTPS id 14EFB3857C4F for ; Sat, 24 Oct 2020 22:30:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 14EFB3857C4F Received: by mail-wm1-x32b.google.com with SMTP id e2so7585934wme.1 for ; Sat, 24 Oct 2020 15:30:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U9WaOrZR0fE9a7jDpBvLksT6eIEJrM0R+6UNSk7Gpww=; b=Mc1Dp/aPem86LL4HqcwuOt171p/91h8Tc9JDeMKB9DjbgKtHe8lEX3W3OCfHZc1GGT 6RkDgSNsoB/7ZAQIDmYmg51A/YMWrXkKPWXKOqRymh1N6PLznHhjhq90B+NLMTD7q7xW 8cnCwRUUhXQPqvycAuczK0wy+PtY4YC1HLD01gp3sfgiN58EL5KoqRqjzTs8N3aNyb5I lHT23Grq5ttExpipvqi9rsPVmulXGIz9tM75/7oRoXHSvh2mGkWKIhcE6RnmeV3fzPlK ssLF/TG5KdqFA+mnW/AnMoFfk0z2hBOU6JmXP/poGadMLBvT9QsKHKpe+hd+wVp2eqBD we+w== X-Gm-Message-State: AOAM530ll17R9vYYHD/FvDBmU5iH2X6PdN+udnI0uTV3IIuRFgSSG20y +KiyuInnIks1t9beXCQQMJCakBJ4PUo= X-Google-Smtp-Source: ABdhPJxXo9tguhhOm9CybXgnvcE90bG/c+ZrFqXdrqgSFy41SoX8v49wnUjCteDh/glQoY10UHDZ0Q== X-Received: by 2002:a1c:6102:: with SMTP id v2mr991097wmb.75.1603578650110; Sat, 24 Oct 2020 15:30:50 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 71sm13739180wrm.20.2020.10.24.15.30.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:30:49 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 09/10] STAILQ_CONCAT.3, STAILQ_EMPTY.3, STAILQ_ENTRY.3, STAILQ_FIRST.3, STAILQ_FOREACH.3, STAILQ_HEAD.3, STAILQ_HEAD_INITIALIZER.3, STAILQ_INIT.3, STAILQ_INSERT_AFTER.3, STAILQ_INSERT_HEAD.3, STAILQ_INSERT_TAIL.3, STAILQ_NEXT.3, STAILQ_REMOVE.3, STAILQ_REMOVE_HEAD.3: Link to the new stailq(3) page instead of queue(3) Date: Sun, 25 Oct 2020 00:30:20 +0200 Message-Id: <20201024223020.11935-1-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- I forgot these two commits. Sending them now. man3/STAILQ_CONCAT.3 | 2 +- man3/STAILQ_EMPTY.3 | 2 +- man3/STAILQ_ENTRY.3 | 2 +- man3/STAILQ_FIRST.3 | 2 +- man3/STAILQ_FOREACH.3 | 2 +- man3/STAILQ_HEAD.3 | 2 +- man3/STAILQ_HEAD_INITIALIZER.3 | 2 +- man3/STAILQ_INIT.3 | 2 +- man3/STAILQ_INSERT_AFTER.3 | 2 +- man3/STAILQ_INSERT_HEAD.3 | 2 +- man3/STAILQ_INSERT_TAIL.3 | 2 +- man3/STAILQ_NEXT.3 | 2 +- man3/STAILQ_REMOVE.3 | 2 +- man3/STAILQ_REMOVE_HEAD.3 | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/man3/STAILQ_CONCAT.3 b/man3/STAILQ_CONCAT.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_CONCAT.3 +++ b/man3/STAILQ_CONCAT.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_EMPTY.3 b/man3/STAILQ_EMPTY.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_EMPTY.3 +++ b/man3/STAILQ_EMPTY.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_ENTRY.3 b/man3/STAILQ_ENTRY.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_ENTRY.3 +++ b/man3/STAILQ_ENTRY.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_FIRST.3 b/man3/STAILQ_FIRST.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_FIRST.3 +++ b/man3/STAILQ_FIRST.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_FOREACH.3 b/man3/STAILQ_FOREACH.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_FOREACH.3 +++ b/man3/STAILQ_FOREACH.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_HEAD.3 b/man3/STAILQ_HEAD.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_HEAD.3 +++ b/man3/STAILQ_HEAD.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_HEAD_INITIALIZER.3 b/man3/STAILQ_HEAD_INITIALIZER.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_HEAD_INITIALIZER.3 +++ b/man3/STAILQ_HEAD_INITIALIZER.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_INIT.3 b/man3/STAILQ_INIT.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_INIT.3 +++ b/man3/STAILQ_INIT.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_INSERT_AFTER.3 b/man3/STAILQ_INSERT_AFTER.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_INSERT_AFTER.3 +++ b/man3/STAILQ_INSERT_AFTER.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_INSERT_HEAD.3 b/man3/STAILQ_INSERT_HEAD.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_INSERT_HEAD.3 +++ b/man3/STAILQ_INSERT_HEAD.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_INSERT_TAIL.3 b/man3/STAILQ_INSERT_TAIL.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_INSERT_TAIL.3 +++ b/man3/STAILQ_INSERT_TAIL.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_NEXT.3 b/man3/STAILQ_NEXT.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_NEXT.3 +++ b/man3/STAILQ_NEXT.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_REMOVE.3 b/man3/STAILQ_REMOVE.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_REMOVE.3 +++ b/man3/STAILQ_REMOVE.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 diff --git a/man3/STAILQ_REMOVE_HEAD.3 b/man3/STAILQ_REMOVE_HEAD.3 index c2956c9fc..fbb71f02c 100644 --- a/man3/STAILQ_REMOVE_HEAD.3 +++ b/man3/STAILQ_REMOVE_HEAD.3 @@ -1 +1 @@ -.so man3/queue.3 +.so man3/stailq.3 From patchwork Sat Oct 24 22:30:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alejandro Colomar X-Patchwork-Id: 40851 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 83158385EC55; Sat, 24 Oct 2020 22:30:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83158385EC55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1603578655; bh=OrGqEQF7glsKo1/EKkfwpUBJyWsAOso9Ujd8Br1CDlQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=OF/cndk1sQRFa23ndhVDDZy75c74u/Qk6D6MDpfxpUPf/Nvk6It3Jz1v6geGvmuVA acrYo+5AjbWRIvax+338jnHI7xoD5NhBPgh5OPyoERhmxIe8gF1MJQ0XeAdQm6aADa lCy6S1q9nriUK3CVloziPf27ilIKi2JoAMsd9Iv8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by sourceware.org (Postfix) with ESMTPS id 15A413857816 for ; Sat, 24 Oct 2020 22:30:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 15A413857816 Received: by mail-wm1-x330.google.com with SMTP id c16so7569180wmd.2 for ; Sat, 24 Oct 2020 15:30:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OrGqEQF7glsKo1/EKkfwpUBJyWsAOso9Ujd8Br1CDlQ=; b=T+b4ZQ5DqYDqyIF6c/t0wxg4+6MwWmKkJlURSvLx9UJglT+FHw25jTkP/2FuJbdMgv MRkHfaS/pLtvAJblqpdcvulHUO1alJ0csoco6zcD6grhofCaCCFAlyFQKBw5Bg0GftPN 9/643CDr5GqOHNEEt4aggXG2VLJ9Yxmtz3ZG1SuTcNo0CbDnHFhbzuDSlCVorevcokrg P2kelWoVkQy+piq21X7ZWyK9pS+niqRXg7itHULBJ7DB16M72MkpzOi9h3h7Uyb4/60H 6+dECquwJdIzAf2pnYrRtfTXdE5zQVOHih991C/YoP+4FQPIOEXUiGhgxAub4IxoeCLG gk/g== X-Gm-Message-State: AOAM530QNV0ZyQR5eKY/pobgPM83J+5eiHpXfpZUrP8pSC+GDUjIQjNO cBRiFssf8V0UtZIwSHY+eqo= X-Google-Smtp-Source: ABdhPJyeKxwXnh5DiBFb3O124ztRhqQrP/H6AP3SaBPr1r29x9vAn5/G9sO6cL1ZTGYhd+EWmAm7kw== X-Received: by 2002:a1c:bcc2:: with SMTP id m185mr8733297wmf.178.1603578651268; Sat, 24 Oct 2020 15:30:51 -0700 (PDT) Received: from localhost.localdomain ([170.253.60.68]) by smtp.googlemail.com with ESMTPSA id 71sm13739180wrm.20.2020.10.24.15.30.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 15:30:50 -0700 (PDT) To: mtk.manpages@gmail.com Subject: [PATCH 10/10] queue.3: SEE ALSO: Add stailq(3) Date: Sun, 25 Oct 2020 00:30:21 +0200 Message-Id: <20201024223020.11935-2-colomar.6.4.3@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201024222115.6362-1-colomar.6.4.3@gmail.com> References: <20201024222115.6362-1-colomar.6.4.3@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alejandro Colomar via Libc-alpha From: Alejandro Colomar Reply-To: Alejandro Colomar Cc: Alejandro Colomar , linux-man@vger.kernel.org, libc-alpha@sourceware.org Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alejandro Colomar --- man3/queue.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/man3/queue.3 b/man3/queue.3 index 00fd36b91..4c597e123 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -181,4 +181,5 @@ functions first appeared in .Xr insque 3 .Xr list 3 .Xr slist 3 +.Xr stailq 3 .\" .Xr tree 3