# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-06-01 06:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "listxattr" msgstr "" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "listxattr, llistxattr, flistxattr - list extended attribute names" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Esys/xattr.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, char *_Nullable >IB<, size_t >IB<);>\n" "BIB<, char *_Nullable >IB<, size_t >IB<);>\n" "BIB<, char *_Nullable >IB<, size_t >IB<);>\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Extended attributes are I:I pairs associated with inodes " "(files, directories, symbolic links, etc.). They are extensions to the " "normal attributes which are associated with all inodes in the system (i.e., " "the B(2) data). A complete overview of extended attributes concepts " "can be found in B(7)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() retrieves the list of extended attribute names associated " "with the given I in the filesystem. The retrieved list is placed in " "I, a caller-allocated buffer whose size (in bytes) is specified in the " "argument I. The list is the set of (null-terminated) names, one after " "the other. Names of extended attributes to which the calling process does " "not have access may be omitted from the list. The length of the attribute " "name I is returned." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() is identical to B(), except in the case of a " "symbolic link, where the list of names of extended attributes associated " "with the link itself is retrieved, not the file that it refers to." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() is identical to B(), only the open file referred " "to by I (as returned by B(2)) is interrogated in place of I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A single extended attribute I is a null-terminated string. The name " "includes a namespace prefix; there may be several, disjoint namespaces " "associated with an individual inode." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is specified as zero, these calls return the current size of the " "list of extended attribute names (and leave I unchanged). This can be " "used to determine the size of the buffer that should be supplied in a " "subsequent call. (But, bear in mind that there is a possibility that the " "set of extended attributes may change between the two calls, so that it is " "still necessary to check the return status from the second call.)" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Example" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I of names is returned as an unordered array of null-terminated " "character strings (attribute names are separated by null bytes " "(\\[aq]\\e0\\[aq])), like this:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "user.name1\\e0system.name1\\e0user.name2\\e0\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Filesystems that implement POSIX ACLs using extended attributes might return " "a I like this:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "system.posix_acl_access\\e0system.posix_acl_default\\e0\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, a nonnegative number is returned indicating the size of the " "extended attribute name list. On failure, -1 is returned and I is " "set to indicate the error." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The size of the list of extended attribute names is larger than the maximum " "size allowed; the list cannot be retrieved. This can happen on filesystems " "that support an unlimited number of extended attributes per file such as " "XFS, for example. See BUGS." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Extended attributes are not supported by the filesystem, or are disabled." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I of the I buffer is too small to hold the result." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In addition, the errors documented in B(2) can also occur." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux." msgstr "" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "" #. .SH AUTHORS #. Andreas Gruenbacher, #. .RI < a.gruenbacher@computer.org > #. and the SGI XFS development team, #. .RI < linux-xfs@oss.sgi.com >. #. Please send any bug reports or comments to these addresses. #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux 2.4, glibc 2.3." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "" #. The xattr(7) page refers to this text: #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As noted in B(7), the VFS imposes a limit of 64\\ kB on the size of " "the extended attribute name list returned by B(). If the total " "size of attribute names attached to a file exceeds this limit, it is no " "longer possible to retrieve the list of attribute names." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following program demonstrates the usage of B() and " "B(2). For the file whose pathname is provided as a command-line " "argument, it lists all extended file attributes and their values." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To keep the code simple, the program assumes that attribute keys and values " "are constant during the execution of the program. A production program " "should expect and handle changes during execution of the program. For " "example, the number of bytes required for attribute keys might increase " "between the two calls to B(). An application could handle this " "possibility using a loop that retries the call (perhaps up to a " "predetermined maximum number of attempts) with a larger buffer each time it " "fails with the error B. Calls to B(2) could be handled " "similarly." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following output was recorded by first creating a file, setting some " "extended file attributes, and then listing the attributes with the example " "program." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Example output" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B\n" "$ B\n" "$ B\n" "$ B\n" "$ B<./listxattr /tmp/foo>\n" "user.fred: chocolate\n" "user.frieda: bar\n" "user.empty: Eno valueE\n" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source (listxattr.c)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/xattr.hE\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *buf, *key, *val;\n" " ssize_t buflen, keylen, vallen;\n" "\\&\n" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s path\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Determine the length of the buffer needed.\n" " */\n" " buflen = listxattr(argv[1], NULL, 0);\n" " if (buflen == -1) {\n" " perror(\"listxattr\");\n" " exit(EXIT_FAILURE);\n" " }\n" " if (buflen == 0) {\n" " printf(\"%s has no attributes.\\en\", argv[1]);\n" " exit(EXIT_SUCCESS);\n" " }\n" "\\&\n" " /*\n" " * Allocate the buffer.\n" " */\n" " buf = malloc(buflen);\n" " if (buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Copy the list of attribute keys to the buffer.\n" " */\n" " buflen = listxattr(argv[1], buf, buflen);\n" " if (buflen == -1) {\n" " perror(\"listxattr\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Loop over the list of zero terminated strings with the\n" " * attribute keys. Use the remaining buffer length to determine\n" " * the end of the list.\n" " */\n" " key = buf;\n" " while (buflen E 0) {\n" "\\&\n" " /*\n" " * Output attribute key.\n" " */\n" " printf(\"%s: \", key);\n" "\\&\n" " /*\n" " * Determine length of the value.\n" " */\n" " vallen = getxattr(argv[1], key, NULL, 0);\n" " if (vallen == -1)\n" " perror(\"getxattr\");\n" "\\&\n" " if (vallen E 0) {\n" "\\&\n" " /*\n" " * Allocate value buffer.\n" " * One extra byte is needed to append 0x00.\n" " */\n" " val = malloc(vallen + 1);\n" " if (val == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Copy value to buffer.\n" " */\n" " vallen = getxattr(argv[1], key, val, vallen);\n" " if (vallen == -1) {\n" " perror(\"getxattr\");\n" " } else {\n" " /*\n" " * Output attribute value.\n" " */\n" " val[vallen] = 0;\n" " printf(\"%s\", val);\n" " }\n" "\\&\n" " free(val);\n" " } else if (vallen == 0) {\n" " printf(\"Eno valueE\");\n" " }\n" "\\&\n" " printf(\"\\en\");\n" "\\&\n" " /*\n" " * Forward to next attribute key.\n" " */\n" " keylen = strlen(key) + 1;\n" " buflen -= keylen;\n" " key += keylen;\n" " }\n" "\\&\n" " free(buf);\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(1), B(2), B(2), " "B(2), B(2), B(2), B(7), B(7)" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "" #. type: SH #: debian-bookworm #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "These system calls have been available since Linux 2.4; glibc support is " "provided since glibc 2.3." msgstr "" #. .SH AUTHORS #. Andreas Gruenbacher, #. .RI < a.gruenbacher@computer.org > #. and the SGI XFS development team, #. .RI < linux-xfs@oss.sgi.com >. #. Please send any bug reports or comments to these addresses. #. type: Plain text #: debian-bookworm msgid "These system calls are Linux-specific." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/xattr.hE\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " char *buf, *key, *val;\n" " ssize_t buflen, keylen, vallen;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s path\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Determine the length of the buffer needed.\n" " */\n" " buflen = listxattr(argv[1], NULL, 0);\n" " if (buflen == -1) {\n" " perror(\"listxattr\");\n" " exit(EXIT_FAILURE);\n" " }\n" " if (buflen == 0) {\n" " printf(\"%s has no attributes.\\en\", argv[1]);\n" " exit(EXIT_SUCCESS);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Allocate the buffer.\n" " */\n" " buf = malloc(buflen);\n" " if (buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Copy the list of attribute keys to the buffer.\n" " */\n" " buflen = listxattr(argv[1], buf, buflen);\n" " if (buflen == -1) {\n" " perror(\"listxattr\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Loop over the list of zero terminated strings with the\n" " * attribute keys. Use the remaining buffer length to determine\n" " * the end of the list.\n" " */\n" " key = buf;\n" " while (buflen E 0) {\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Output attribute key.\n" " */\n" " printf(\"%s: \", key);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Determine length of the value.\n" " */\n" " vallen = getxattr(argv[1], key, NULL, 0);\n" " if (vallen == -1)\n" " perror(\"getxattr\");\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " if (vallen E 0) {\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Allocate value buffer.\n" " * One extra byte is needed to append 0x00.\n" " */\n" " val = malloc(vallen + 1);\n" " if (val == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Copy value to buffer.\n" " */\n" " vallen = getxattr(argv[1], key, val, vallen);\n" " if (vallen == -1) {\n" " perror(\"getxattr\");\n" " } else {\n" " /*\n" " * Output attribute value.\n" " */\n" " val[vallen] = 0;\n" " printf(\"%s\", val);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " free(val);\n" " } else if (vallen == 0) {\n" " printf(\"Eno valueE\");\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"\\en\");\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Forward to next attribute key.\n" " */\n" " keylen = strlen(key) + 1;\n" " buflen -= keylen;\n" " key += keylen;\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " free(buf);\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr ""