OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man3 / insque.3
diff --git a/draft/man3/insque.3 b/draft/man3/insque.3
deleted file mode 100644 (file)
index c278eb9..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-.\" peter memishian -- meem@gnu.ai.mit.edu
-.\" $Id: insque.3,v 1.2 1996/10/30 21:03:39 meem Exp meem $
-.\" and Copyright (c) 2010, Michael Kerrisk <mtk.manpages@gmail.com>
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.\" References consulted:
-.\"   Linux libc source code (5.4.7)
-.\"   Solaris 2.x, OSF/1, and HP-UX manpages
-.\"   Curry's "UNIX Systems Programming for SVR4" (O'Reilly & Associates 1996)
-.\"
-.\" Changed to POSIX, 2003-08-11, aeb+wh
-.\" mtk, 2010-09-09: Noted glibc 2.4 bug, added info on circular
-.\"    lists, added example program
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 1998 AKAMATSU Kazuo
-.\"         all rights reserved.
-.\" Translated Thu Jan 7 16:00 JST 1999
-.\"         by AKAMATSU Kazuo
-.\" Updated Sun Sep 14 JST 2003 by Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
-.\"
-.TH INSQUE 3 2014\-08\-19 "" "Linux Programmer's Manual"
-.SH 名前
-insque, remque \- キューにアイテムを挿入/削除する
-.SH 書式
-.nf
-\fB#include <search.h>\fP
-.sp
-\fBvoid insque(void *\fP\fIelem\fP\fB, void *\fP\fIprev\fP\fB);\fP
-
-\fBvoid remque(void *\fP\fIelem\fP\fB);\fP
-.fi
-.sp
-.in -4n
-glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
-.in
-.sp
-.ad l
-\fBinsque\fP(), \fBremque\fP():
-.RS 4
-_SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-.RE
-.ad
-.SH 説明
-関数 \fBinsque\fP() と \fBremque\fP() は双方向連結リスト (doubly\-linked list) を
-操作する。リスト中のそれぞれの要素は、最初の二つの要素がそれぞれ次と前への
-ポインターであるような構造体である。
-リンクリストは、線形 (linear) か環状 (circular) のどちらかになる
-(線形の場合には、リストの末尾では次へのポインターが NULL になり、
-リストの先頭では前へのポインターが NULL になる)。
-
-\fBinsque\fP() 関数は \fIelem\fP で示される要素を \fIprev\fP で示される
-要素の直後に挿入する。
-
-リストが線形の場合、\fIinsque(elem, NULL)\fP を呼び出すと、
-リストの最初の要素を挿入することができる。
-この呼び出しを行うと \fIelem\fP の次へのポインターと前へのポインターに
-共に NULL が設定される。
-
-リストが環状の場合、呼び出す側が、最初の要素の次へのポインターと前へのポインター
-が自分自身を指し、また  \fBinsque\fP() の呼び出しで \fIprev\fP 引き数が最初の要素
-を指すように保証しなければならない。
-
-\fBremque\fP() 関数は \fIelem\fP で示される要素を双方向連結リストから取り除く。
-.SH 準拠
-POSIX.1\-2001.
-.SH 注意
-伝統的に (SunOS, Linux libc 4,5 では) これらの関数の引き数は \fIstruct qelem
-*\fP型であり、これは以下のように定義されている。
-
-.in +4n
-.nf
-struct qelem {
-    struct qelem *q_forw;
-    struct qelem *q_back;
-    char          q_data[1];
-};
-.fi
-.in
-
-この定義は \fI<search.h>\fP をインクルードする前に \fB_GNU_SOURCE\fP を定義することで得られる。
-
-.\" Linux libc4 and libc 5 placed them
-.\" in \fI<stdlib.h>\fP.
-これらの関数のプロトタイプの置かれる場所は、UNIX の種類により異なる。
-上記は POSIX 版である。 \fI<string.h>\fP にあるシステムもある。
-.SH バグ
-glibc 2.4 以前では \fIprev\fP に NULL を指定することができなかった。
-その結果、線形のリストを作成するためには、
-呼び出し側は、最初の呼び出しで、リストの最初の 2 つの要素を持ち、
-各要素の次へのポインターと前へのポインターを適切に初期化したリストを
-作成しなければならなかった。
-.SH 例
-次のプログラムは \fBinsque\fP() の使用法を示したものである。
-下記はプログラムの実行例である。
-.in +4n
-.nf
-
-$ \fB./a.out \-c a b c\fP
-Traversing completed list:
-    a
-    b
-    c
-That was a circular list
-.fi
-.in
-.SS プログラムのソース
-\&
-.nf
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <search.h>
-
-struct element {
-    struct element *forward;
-    struct element *backward;
-    char *name;
-};
-
-static struct element *
-new_element(void)
-{
-    struct element *e;
-
-    e = malloc(sizeof(struct element));
-    if (e == NULL) {
-        fprintf(stderr, "malloc() failed\en");
-        exit(EXIT_FAILURE);
-    }
-
-    return e;
-}
-
-int
-main(int argc, char *argv[])
-{
-    struct element *first, *elem, *prev;
-    int circular, opt, errfnd;
-
-    /* The "\-c" command\-line option can be used to specify that the
-       list is circular */
-
-    errfnd = 0;
-    circular = 0;
-    while ((opt = getopt(argc, argv, "c")) != \-1) {
-        switch (opt) {
-        case 'c':
-            circular = 1;
-            break;
-        default:
-            errfnd = 1;
-            break;
-        }
-    }
-
-    if (errfnd || optind >= argc) {
-        fprintf(stderr,  "Usage: %s [\-c] string...\en", argv[0]);
-        exit(EXIT_FAILURE);
-    }
-
-    /* Create first element and place it in the linked list */
-
-    elem = new_element();
-    first = elem;
-
-    elem\->name = argv[optind];
-
-    if (circular) {
-        elem\->forward = elem;
-        elem\->backward = elem;
-        insque(elem, elem);
-    } else {
-        insque(elem, NULL);
-    }
-
-    /* Add remaining command\-line arguments as list elements */
-
-    while (++optind < argc) {
-        prev = elem;
-
-        elem = new_element();
-        elem\->name = argv[optind];
-        insque(elem, prev);
-    }
-
-    /* Traverse the list from the start, printing element names */
-
-    printf("Traversing completed list:\en");
-    elem = first;
-    do {
-        printf("    %s\en", elem\->name);
-        elem = elem\->forward;
-    } while (elem != NULL && elem != first);
-
-    if (elem == first)
-        printf("That was a circular list\en");
-
-    exit(EXIT_SUCCESS);
-}
-.fi
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。