# 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: 2015-02-04 23:32+0900\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 #: build/C/man5/filesystems.5:26 #, no-wrap msgid "FILESYSTEMS" msgstr "" #. type: TH #: build/C/man5/filesystems.5:26 #, no-wrap msgid "2014-01-15" msgstr "" #. type: TH #: build/C/man5/filesystems.5:26 build/C/man3/fts.3:40 build/C/man3/ftw.3:35 build/C/man2/getxattr.2:25 build/C/man3/isfdtype.3:26 build/C/man2/listxattr.2:25 build/C/man2/mount.2:40 build/C/man7/path_resolution.7:25 build/C/man2/removexattr.2:25 build/C/man2/setxattr.2:25 build/C/man2/spu_create.2:25 build/C/man2/spu_run.2:26 build/C/man7/spufs.7:27 build/C/man2/stat.2:40 build/C/man2/statfs.2:28 build/C/man3/statvfs.3:30 build/C/man2/sysfs.2:27 build/C/man2/umount.2:30 build/C/man2/ustat.2:30 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: build/C/man5/filesystems.5:26 build/C/man3/fts.3:40 build/C/man3/ftw.3:35 build/C/man3/getfsent.3:27 build/C/man3/getmntent.3:32 build/C/man2/getxattr.2:25 build/C/man3/isfdtype.3:26 build/C/man2/listxattr.2:25 build/C/man2/mount.2:40 build/C/man7/path_resolution.7:25 build/C/man2/removexattr.2:25 build/C/man2/setxattr.2:25 build/C/man2/spu_create.2:25 build/C/man2/spu_run.2:26 build/C/man7/spufs.7:27 build/C/man2/stat.2:40 build/C/man2/statfs.2:28 build/C/man3/statvfs.3:30 build/C/man2/sysfs.2:27 build/C/man2/umount.2:30 build/C/man2/ustat.2:30 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: build/C/man5/filesystems.5:28 build/C/man3/fts.3:41 build/C/man3/ftw.3:36 build/C/man3/getfsent.3:28 build/C/man3/getmntent.3:33 build/C/man2/getxattr.2:26 build/C/man3/isfdtype.3:27 build/C/man2/listxattr.2:26 build/C/man2/mount.2:41 build/C/man7/path_resolution.7:26 build/C/man2/removexattr.2:26 build/C/man2/setxattr.2:26 build/C/man2/spu_create.2:26 build/C/man2/spu_run.2:27 build/C/man7/spufs.7:28 build/C/man2/stat.2:41 build/C/man2/statfs.2:29 build/C/man3/statvfs.3:31 build/C/man2/sysfs.2:28 build/C/man2/umount.2:31 build/C/man2/ustat.2:31 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:32 msgid "" "filesystems - Linux filesystem types: minix, ext, ext2, ext3, ext4, " "Reiserfs, XFS, JFS, xia, msdos, umsdos, vfat, ntfs, proc, nfs, iso9660, " "hpfs, sysv, smb, ncpfs" msgstr "" #. type: SH #: build/C/man5/filesystems.5:32 build/C/man3/fts.3:61 build/C/man3/ftw.3:55 build/C/man3/getfsent.3:42 build/C/man3/getmntent.3:65 build/C/man2/getxattr.2:42 build/C/man3/isfdtype.3:55 build/C/man2/listxattr.2:41 build/C/man2/mount.2:51 build/C/man7/path_resolution.7:28 build/C/man2/removexattr.2:39 build/C/man2/setxattr.2:42 build/C/man2/spu_create.2:40 build/C/man2/spu_run.2:39 build/C/man7/spufs.7:30 build/C/man2/stat.2:97 build/C/man2/statfs.2:37 build/C/man3/statvfs.3:39 build/C/man2/sysfs.2:36 build/C/man2/umount.2:41 build/C/man2/ustat.2:43 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:45 msgid "" "When, as is customary, the B filesystem is mounted on I, you " "can find in the file I which filesystems your kernel " "currently supports; see B(5) for more details. If you need a " "currently unsupported filesystem, insert the corresponding module or " "recompile the kernel." msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:50 msgid "In order to use a filesystem, you have to I it; see B(8)." msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:52 msgid "Below a short description of a few of the available filesystems." msgstr "" #. type: TP #: build/C/man5/filesystems.5:52 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:59 msgid "" "is the filesystem used in the Minix operating system, the first to run under " "Linux. It has a number of shortcomings, including a 64MB partition size " "limit, short filenames, and a single timestamp. It remains useful for " "floppies and RAM disks." msgstr "" #. type: TP #: build/C/man5/filesystems.5:59 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:68 msgid "" "is an elaborate extension of the B filesystem. It has been " "completely superseded by the second version of the extended filesystem " "(B) and has been removed from the kernel (in 2.1.21)." msgstr "" #. type: TP #: build/C/man5/filesystems.5:68 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:78 msgid "" "is the high performance disk filesystem used by Linux for fixed disks as " "well as removable media. The second extended filesystem was designed as an " "extension of the extended filesystem (B). B offers the best " "performance (in terms of speed and CPU usage) of the filesystems supported " "under Linux." msgstr "" #. type: TP #: build/C/man5/filesystems.5:78 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:83 msgid "" "is a journaling version of the ext2 filesystem. It is easy to switch back " "and forth between ext2 and ext3." msgstr "" #. type: TP #: build/C/man5/filesystems.5:83 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:88 msgid "" "is a set of upgrades to ext3 including substantial performance and " "reliability enhancements, plus large increases in volume, file, and " "directory size limits." msgstr "" #. type: TP #: build/C/man5/filesystems.5:88 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:92 msgid "" "is a journaling filesystem, designed by Hans Reiser, that was integrated " "into Linux in kernel 2.4.1." msgstr "" #. type: TP #: build/C/man5/filesystems.5:92 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:96 msgid "" "is a journaling filesystem, developed by SGI, that was integrated into Linux " "in kernel 2.4.20." msgstr "" #. type: TP #: build/C/man5/filesystems.5:96 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:100 msgid "" "is a journaling filesystem, developed by IBM, that was integrated into Linux " "in kernel 2.4.24." msgstr "" #. type: TP #: build/C/man5/filesystems.5:100 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:110 msgid "" "was designed and implemented to be a stable, safe filesystem by extending " "the Minix filesystem code. It provides the basic most requested features " "without undue complexity. The B filesystem is no longer actively " "developed or maintained. It was removed from the kernel in 2.1.21." msgstr "" #. type: TP #: build/C/man5/filesystems.5:110 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:116 msgid "" "is the filesystem used by DOS, Windows, and some OS/2 computers. B " "filenames can be no longer than 8 characters, followed by an optional period " "and 3 character extension." msgstr "" #. type: TP #: build/C/man5/filesystems.5:116 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:123 msgid "" "is an extended DOS filesystem used by Linux. It adds capability for long " "filenames, UID/GID, POSIX permissions, and special files (devices, named " "pipes, etc.) under the DOS filesystem, without sacrificing compatibility " "with DOS." msgstr "" #. type: TP #: build/C/man5/filesystems.5:123 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:127 msgid "" "is an extended DOS filesystem used by Microsoft Windows95 and Windows NT. " "VFAT adds the capability to use long filenames under the MSDOS filesystem." msgstr "" #. type: TP #: build/C/man5/filesystems.5:127 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:132 msgid "" "replaces Microsoft Window's FAT filesystems (VFAT, FAT32). It has " "reliability, performance, and space-utilization enhancements plus features " "like ACLs, journaling, encryption, and so on." msgstr "" #. type: TP #: build/C/man5/filesystems.5:132 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:140 msgid "" "is a pseudo filesystem which is used as an interface to kernel data " "structures rather than reading and interpreting I. In " "particular, its files do not take disk space. See B(5)." msgstr "" #. type: TP #: build/C/man5/filesystems.5:140 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:143 msgid "is a CD-ROM filesystem type conforming to the ISO 9660 standard." msgstr "" #. type: TP #: build/C/man5/filesystems.5:144 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:151 msgid "" "Linux supports High Sierra, the precursor to the ISO 9660 standard for " "CD-ROM filesystems. It is automatically recognized within the B " "filesystem support under Linux." msgstr "" #. type: TP #: build/C/man5/filesystems.5:151 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:162 msgid "" "Linux also supports the System Use Sharing Protocol records specified by the " "Rock Ridge Interchange Protocol. They are used to further describe the " "files in the B filesystem to a UNIX host, and provide information " "such as long filenames, UID/GID, POSIX permissions, and devices. It is " "automatically recognized within the B filesystem support under " "Linux." msgstr "" #. type: TP #: build/C/man5/filesystems.5:163 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:168 msgid "" "is the High Performance Filesystem, used in OS/2. This filesystem is " "read-only under Linux due to the lack of available documentation." msgstr "" #. type: TP #: build/C/man5/filesystems.5:168 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:172 msgid "" "is an implementation of the SystemV/Coherent filesystem for Linux. It " "implements all of Xenix FS, SystemV/386 FS, and Coherent FS." msgstr "" #. type: TP #: build/C/man5/filesystems.5:172 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:175 msgid "is the network filesystem used to access disks located on remote computers." msgstr "" #. type: TP #: build/C/man5/filesystems.5:175 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:179 msgid "" "is a network filesystem that supports the SMB protocol, used by Windows for " "Workgroups, Windows NT, and Lan Manager." msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:186 msgid "" "To use B fs, you need a special mount program, which can be found in " "the ksmbfs package, found at E<.UR " "ftp://sunsite.unc.edu\\:/pub\\:/Linux\\:/system\\:/Filesystems\\:/smbfs> " "E<.UE .>" msgstr "" #. type: TP #: build/C/man5/filesystems.5:186 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:190 msgid "" "is a network filesystem that supports the NCP protocol, used by Novell " "NetWare." msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:196 msgid "" "To use B, you need special programs, which can be found at E<.UR " "ftp://linux01.gwdg.de\\:/pub\\:/ncpfs> E<.UE .>" msgstr "" #. type: SH #: build/C/man5/filesystems.5:196 build/C/man3/fts.3:790 build/C/man3/ftw.3:422 build/C/man3/getfsent.3:139 build/C/man3/getmntent.3:220 build/C/man2/getxattr.2:141 build/C/man3/isfdtype.3:102 build/C/man2/listxattr.2:153 build/C/man2/mount.2:488 build/C/man7/path_resolution.7:237 build/C/man2/removexattr.2:110 build/C/man2/setxattr.2:152 build/C/man2/spu_create.2:270 build/C/man2/spu_run.2:264 build/C/man7/spufs.7:766 build/C/man2/stat.2:920 build/C/man2/statfs.2:314 build/C/man3/statvfs.3:188 build/C/man2/umount.2:176 build/C/man2/ustat.2:118 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:201 msgid "B(5), B(8), B(8), B(8)" msgstr "" #. type: SH #: build/C/man5/filesystems.5:201 build/C/man3/fts.3:796 build/C/man3/ftw.3:426 build/C/man3/getfsent.3:142 build/C/man3/getmntent.3:224 build/C/man2/getxattr.2:151 build/C/man3/isfdtype.3:104 build/C/man2/listxattr.2:163 build/C/man2/mount.2:495 build/C/man7/path_resolution.7:242 build/C/man2/removexattr.2:120 build/C/man2/setxattr.2:162 build/C/man2/spu_create.2:275 build/C/man2/spu_run.2:269 build/C/man7/spufs.7:773 build/C/man2/stat.2:930 build/C/man2/statfs.2:318 build/C/man3/statvfs.3:190 build/C/man2/sysfs.2:104 build/C/man2/umount.2:181 build/C/man2/ustat.2:121 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: build/C/man5/filesystems.5:209 build/C/man3/fts.3:804 build/C/man3/ftw.3:434 build/C/man3/getfsent.3:150 build/C/man3/getmntent.3:232 build/C/man2/getxattr.2:159 build/C/man3/isfdtype.3:112 build/C/man2/listxattr.2:171 build/C/man2/mount.2:503 build/C/man7/path_resolution.7:250 build/C/man2/removexattr.2:128 build/C/man2/setxattr.2:170 build/C/man2/spu_create.2:283 build/C/man2/spu_run.2:277 build/C/man7/spufs.7:781 build/C/man2/stat.2:938 build/C/man2/statfs.2:326 build/C/man3/statvfs.3:198 build/C/man2/sysfs.2:112 build/C/man2/umount.2:189 build/C/man2/ustat.2:129 msgid "" "This page is part of release 3.79 of the Linux I project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at " "\\%http://www.kernel.org/doc/man-pages/." msgstr "" #. type: TH #: build/C/man3/fts.3:40 #, no-wrap msgid "FTS" msgstr "" #. type: TH #: build/C/man3/fts.3:40 #, no-wrap msgid "2014-03-18" msgstr "" #. type: Plain text #: build/C/man3/fts.3:44 msgid "" "fts, fts_open, fts_read, fts_children, fts_set, fts_close - traverse a file " "hierarchy" msgstr "" #. type: SH #: build/C/man3/fts.3:44 build/C/man3/ftw.3:38 build/C/man3/getfsent.3:30 build/C/man3/getmntent.3:36 build/C/man2/getxattr.2:28 build/C/man3/isfdtype.3:29 build/C/man2/listxattr.2:28 build/C/man2/mount.2:43 build/C/man2/removexattr.2:28 build/C/man2/setxattr.2:28 build/C/man2/spu_create.2:28 build/C/man2/spu_run.2:29 build/C/man2/stat.2:43 build/C/man2/statfs.2:31 build/C/man3/statvfs.3:33 build/C/man2/sysfs.2:30 build/C/man2/umount.2:33 build/C/man2/ustat.2:33 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: build/C/man3/fts.3:49 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Esys/stat.hE>\n" "B<#include Efts.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:52 #, no-wrap msgid "" "BIB<, int >IB<, >\n" "B< int (*>IB<)(const FTSENT **, const FTSENT **));>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:54 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:56 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:58 #, no-wrap msgid "BIB<, FTSENT *>IB<, int >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:60 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/fts.3:87 msgid "" "The fts functions are provided for traversing file hierarchies. A simple " "overview is that the B() function returns a \"handle\" on a file " "hierarchy, which is then supplied to the other fts functions. The function " "B() returns a pointer to a structure describing one of the files " "in the file hierarchy. The function B() returns a pointer to " "a linked list of structures, each of which describes one of the files " "contained in a directory in the hierarchy. In general, directories are " "visited two distinguishable times; in preorder (before any of their " "descendants are visited) and in postorder (after all of their descendants " "have been visited). Files are visited once. It is possible to walk the " "hierarchy \"logically\" (visiting the files that symbolic links point to) " "or physically (visiting the symbolic links themselves), order the walk of " "the hierarchy or prune and/or revisit portions of the hierarchy." msgstr "" #. type: Plain text #: build/C/man3/fts.3:108 msgid "" "Two structures are defined (and typedef'd) in the include file " "Ifts.hE>. The first is I, the structure that represents the " "file hierarchy itself. The second is I, the structure that " "represents a file in the file hierarchy. Normally, an I structure " "is returned for every file in the file hierarchy. In this manual page, " "\"file\" and \"FTSENT structure\" are generally interchangeable. The " "I structure contains at least the following fields, which are " "described in greater detail below:" msgstr "" #. type: Plain text #: build/C/man3/fts.3:127 #, no-wrap msgid "" "typedef struct _ftsent {\n" " unsigned short fts_info; /* flags for FTSENT structure */\n" " char *fts_accpath; /* access path */\n" " char *fts_path; /* root path */\n" " short fts_pathlen; /* strlen(fts_path) */\n" " char *fts_name; /* filename */\n" " short fts_namelen; /* strlen(fts_name) */\n" " short fts_level; /* depth (-1 to N) */\n" " int fts_errno; /* file errno */\n" " long fts_number; /* local numeric value */\n" " void *fts_pointer; /* local address value */\n" " struct ftsent *fts_parent; /* parent directory */\n" " struct ftsent *fts_link; /* next file structure */\n" " struct ftsent *fts_cycle; /* cycle structure */\n" " struct stat *fts_statp; /* stat(2) information */\n" "} FTSENT;\n" msgstr "" #. .Bl -tag -width "fts_namelen" #. type: Plain text #: build/C/man3/fts.3:132 msgid "These fields are defined as follows:" msgstr "" #. type: TP #: build/C/man3/fts.3:132 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width FTS_DEFAULT #. type: Plain text #: build/C/man3/fts.3:144 msgid "" "One of the following flags describing the returned I structure and " "the file it represents. With the exception of directories without errors " "(B), all of these entries are terminal, that is, they will not be " "revisited, nor will any of their descendants be visited." msgstr "" #. type: TP #: build/C/man3/fts.3:145 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:148 msgid "A directory being visited in preorder." msgstr "" #. type: TP #: build/C/man3/fts.3:148 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:156 msgid "" "A directory that causes a cycle in the tree. (The I field of the " "I structure will be filled in as well.)" msgstr "" #. type: TP #: build/C/man3/fts.3:156 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:164 msgid "" "Any I structure that represents a file type not explicitly described " "by one of the other I values." msgstr "" #. type: TP #: build/C/man3/fts.3:164 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:170 msgid "" "A directory which cannot be read. This is an error return, and the " "I field will be set to indicate what caused the error." msgstr "" #. type: TP #: build/C/man3/fts.3:170 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:180 msgid "" "A file named \".\" or \"..\" which was not specified as a filename to " "B() (see B)." msgstr "" #. type: TP #: build/C/man3/fts.3:180 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:190 msgid "" "A directory being visited in postorder. The contents of the I " "structure will be unchanged from when it was returned in preorder, that is, " "with the I field set to B." msgstr "" #. type: TP #: build/C/man3/fts.3:190 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:195 msgid "" "This is an error return, and the I field will be set to indicate " "what caused the error." msgstr "" #. type: TP #: build/C/man3/fts.3:195 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:198 msgid "A regular file." msgstr "" #. type: TP #: build/C/man3/fts.3:198 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:209 msgid "" "A file for which no B(2) information was available. The contents of " "the I field are undefined. This is an error return, and the " "I field will be set to indicate what caused the error." msgstr "" #. type: TP #: build/C/man3/fts.3:209 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:217 msgid "" "A file for which no B(2) information was requested. The contents of " "the I field are undefined." msgstr "" #. type: TP #: build/C/man3/fts.3:217 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:220 msgid "A symbolic link." msgstr "" #. type: TP #: build/C/man3/fts.3:220 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: build/C/man3/fts.3:228 msgid "" "A symbolic link with a nonexistent target. The contents of the I " "field reference the file characteristic information for the symbolic link " "itself." msgstr "" #. type: TP #: build/C/man3/fts.3:229 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:232 msgid "A path for accessing the file from the current directory." msgstr "" #. type: TP #: build/C/man3/fts.3:232 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:238 msgid "" "The path for the file relative to the root of the traversal. This path " "contains the path specified to B() as a prefix." msgstr "" #. type: TP #: build/C/man3/fts.3:238 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:242 msgid "The length of the string referenced by I." msgstr "" #. type: TP #: build/C/man3/fts.3:242 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:245 msgid "The name of the file." msgstr "" #. type: TP #: build/C/man3/fts.3:245 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:249 msgid "The length of the string referenced by I." msgstr "" #. type: TP #: build/C/man3/fts.3:249 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:260 msgid "" "The depth of the traversal, numbered from -1 to N, where this file was " "found. The I structure representing the parent of the starting " "point (or root) of the traversal is numbered -1, and the I " "structure for the root itself is numbered 0." msgstr "" #. type: TP #: build/C/man3/fts.3:260 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:283 msgid "" "Upon return of a I structure from the B() or " "B() functions, with its I field set to B, " "B or B, the I field contains the value of the " "external variable I specifying the cause of the error. Otherwise, " "the contents of the I field are undefined." msgstr "" #. type: TP #: build/C/man3/fts.3:283 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:289 msgid "" "This field is provided for the use of the application program and is not " "modified by the fts functions. It is initialized to 0." msgstr "" #. type: TP #: build/C/man3/fts.3:289 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:296 msgid "" "This field is provided for the use of the application program and is not " "modified by the fts functions. It is initialized to NULL." msgstr "" #. type: TP #: build/C/man3/fts.3:296 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:310 msgid "" "A pointer to the I structure referencing the file in the hierarchy " "immediately above the current file, that is, the directory of which this " "file is a member. A parent structure for the initial entry point is " "provided as well, however, only the I, I and " "I fields are guaranteed to be initialized." msgstr "" #. type: TP #: build/C/man3/fts.3:310 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:321 msgid "" "Upon return from the B() function, the I field " "points to the next structure in the NULL-terminated linked list of directory " "members. Otherwise, the contents of the I field are undefined." msgstr "" #. type: TP #: build/C/man3/fts.3:321 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/fts.3:337 msgid "" "If a directory causes a cycle in the hierarchy (see B), either " "because of a hard link between two directories, or a symbolic link pointing " "to a directory, the I field of the structure will point to the " "I structure in the hierarchy that references the same file as the " "current I structure. Otherwise, the contents of the I " "field are undefined." msgstr "" #. type: TP #: build/C/man3/fts.3:337 #, no-wrap msgid "I" msgstr "" #. .El #. type: Plain text #: build/C/man3/fts.3:343 msgid "A pointer to B(2) information for the file." msgstr "" #. type: Plain text #: build/C/man3/fts.3:370 msgid "" "A single buffer is used for all of the paths of all of the files in the file " "hierarchy. Therefore, the I and I fields are " "guaranteed to be null-terminated I for the file most recently returned " "by B(). To use these fields to reference any files represented by " "other I structures will require that the path buffer be modified " "using the information contained in that I structure's I " "field. Any such modifications should be undone before further calls to " "B() are attempted. The I field is always " "null-terminated." msgstr "" #. type: SS #: build/C/man3/fts.3:370 #, no-wrap msgid "fts_open()" msgstr "" #. type: Plain text #: build/C/man3/fts.3:377 msgid "" "The B() function takes a pointer to an array of character " "pointers naming one or more paths which make up a logical file hierarchy to " "be traversed. The array must be terminated by a null pointer." msgstr "" #. .Bl -tag -width "FTS_PHYSICAL" #. type: Plain text #: build/C/man3/fts.3:387 msgid "" "There are a number of options, at least one of which (either B " "or B) must be specified. The options are selected by ORing " "the following values:" msgstr "" #. type: TP #: build/C/man3/fts.3:387 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:393 msgid "" "This option causes any symbolic link specified as a root path to be followed " "immediately whether or not B is also specified." msgstr "" #. type: TP #: build/C/man3/fts.3:393 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:412 msgid "" "This option causes the fts routines to return I structures for the " "targets of symbolic links instead of the symbolic links themselves. If this " "option is set, the only symbolic links for which I structures are " "returned to the application are those referencing nonexistent files. Either " "B or B I be provided to the B() " "function." msgstr "" #. type: TP #: build/C/man3/fts.3:412 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:428 msgid "" "As a performance optimization, the fts functions change directories as they " "walk the file hierarchy. This has the side-effect that an application " "cannot rely on being in any particular directory during the traversal. The " "B option turns off this optimization, and the fts functions " "will not change the current directory. Note that applications should not " "themselves change their current directory and try to access files unless " "B is specified and absolute pathnames were provided as " "arguments to B()." msgstr "" #. type: TP #: build/C/man3/fts.3:428 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:444 msgid "" "By default, returned I structures reference file characteristic " "information (the I field) for each file visited. This option relaxes " "that requirement as a performance optimization, allowing the fts functions " "to set the I field to B and leave the contents of the " "I field undefined." msgstr "" #. type: TP #: build/C/man3/fts.3:444 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:463 msgid "" "This option causes the fts routines to return I structures for " "symbolic links themselves instead of the target files they point to. If " "this option is set, I structures for all symbolic links in the " "hierarchy are returned to the application. Either B or " "B I be provided to the B() function." msgstr "" #. type: TP #: build/C/man3/fts.3:463 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fts.3:476 msgid "" "By default, unless they are specified as path arguments to B(), " "any files named \".\" or \"..\" encountered in the file hierarchy are " "ignored. This option causes the fts routines to return I structures " "for them." msgstr "" #. type: TP #: build/C/man3/fts.3:476 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: build/C/man3/fts.3:482 msgid "" "This option prevents fts from descending into directories that have a " "different device number than the file from which the descent began." msgstr "" #. type: Plain text #: build/C/man3/fts.3:521 msgid "" "The argument B() specifies a user-defined function which may be " "used to order the traversal of the hierarchy. It takes two pointers to " "pointers to I structures as arguments and should return a negative " "value, zero, or a positive value to indicate if the file referenced by its " "first argument comes before, in any order with respect to, or after, the " "file referenced by its second argument. The I, I and " "I fields of the I structures may I be used in " "this comparison. If the I field is set to B or " "B, the I field may not either. If the B() " "argument is NULL, the directory traversal order is in the order listed in " "I for the root paths, and in the order listed in the directory " "for everything else." msgstr "" #. type: SS #: build/C/man3/fts.3:521 #, no-wrap msgid "fts_read()" msgstr "" #. type: Plain text #: build/C/man3/fts.3:534 msgid "" "The B() function returns a pointer to an I structure " "describing a file in the hierarchy. Directories (that are readable and do " "not cause cycles) are visited at least twice, once in preorder and once in " "postorder. All other files are visited at least once. (Hard links between " "directories that do not cause cycles or symbolic links to symbolic links may " "cause files to be visited more than once, or directories more than twice.)" msgstr "" #. type: Plain text #: build/C/man3/fts.3:555 msgid "" "If all the members of the hierarchy have been returned, B() " "returns NULL and sets the external variable I to 0. If an error " "unrelated to a file in the hierarchy occurs, B() returns NULL and " "sets I appropriately. If an error related to a returned file occurs, " "a pointer to an I structure is returned, and I may or may not " "have been set (see I)." msgstr "" #. type: Plain text #: build/C/man3/fts.3:572 msgid "" "The I structures returned by B() may be overwritten after " "a call to B() on the same file hierarchy stream, or, after a " "call to B() on the same file hierarchy stream unless they " "represent a file of type directory, in which case they will not be " "overwritten until after a call to B() after the I " "structure has been returned by the function B() in postorder." msgstr "" #. type: SS #: build/C/man3/fts.3:572 #, no-wrap msgid "fts_children()" msgstr "" #. type: Plain text #: build/C/man3/fts.3:590 msgid "" "The B() function returns a pointer to an I structure " "describing the first entry in a NULL-terminated linked list of the files in " "the directory represented by the I structure most recently returned " "by B(). The list is linked through the I field of the " "I structure, and is ordered by the user-specified comparison " "function, if any. Repeated calls to B() will re-create this " "linked list." msgstr "" #. type: Plain text #: build/C/man3/fts.3:618 msgid "" "As a special case, if B() has not yet been called for a " "hierarchy, B() will return a pointer to the files in the " "logical directory specified to B(), that is, the arguments " "specified to B(). Otherwise, if the I structure most " "recently returned by B() is not a directory being visited in " "preorder, or the directory does not contain any files, B() " "returns NULL and sets I to zero. If an error occurs, " "B() returns NULL and sets I appropriately." msgstr "" #. type: Plain text #: build/C/man3/fts.3:629 msgid "" "The I structures returned by B() may be overwritten " "after a call to B(), B() or B() on the " "same file hierarchy stream." msgstr "" #. .Bl -tag -width FTS_NAMEONLY #. type: Plain text #: build/C/man3/fts.3:633 msgid "I (e.g., \"minix\", \"ext2\", \"ext3\", \"jfs\", " "\"xfs\", \"reiserfs\", \"msdos\", \"proc\", \"nfs\", \"iso9660\"). Further " "types may become available when the appropriate modules are loaded." msgstr "" #. (as defined in \fI\fP for libc4 and libc5 #. and in \fI\fP for glibc2) #. FIXME 2.6.15 added flags for "shared subtree" functionality: #. MS_UNBINDABLE, MS_PRIVATE, MS_SHARED, MS_SLAVE # #. MS_PRIVATE. #. All mounts are private by default. Previously shared mounts #. can be remarked PRIVATE. #. MS_SHARED #. Mount points that are marked SHARED propagate mount events #. to one another after bing cloned. #. MS_SLAVE #. A previously shared mount point can be marked SALVE, meaning #. it receives propagated events, but does not propagate events. #. MS_UNBINDABLE #. mounts cannot be bound into other places, and will not be #. propagated into new subtrees #. mount --make-rshared ==> MS_SHARED | MS_REC # #. These settings are visible in proc/mountinfo # #. These need to be documented on this page. #. See: #. Documentation/filesystems/sharedsubtree.txt # #. http://lwn.net/Articles/159077/ # #. http://myweb.sudhaa.com:2022/~ram/sharedsubtree/paper/sharedsubtree.1.pdf #. Shared-Subtree Concept, Implementation, and Applications in Linux #. Al Viro viro@ftp.linux.org.uk #. Ram Pai linuxram@us.ibm.com # #. http://foss.in/2005/slides/sharedsubtree1.pdf #. Shared Subtree Concept and Implementation in the Linux Kernel #. Ram Pai # #. http://www.ibm.com/developerworks/linux/library/l-mount-namespaces/index.html #. Applying mount namespaces # #. Uncover practical applications for advanced Linux mounts features #. Serge E. Hallyn (sergeh@us.ibm.com), Software Engineer, IBM #. Ram Pai (linuxram@us.ibm.com), Software Engineer, IBM #. Date: 17 Sep 2007 # #. FIXME 2.6.25 Added MS_I_VERSION, which needs to be documented. #. type: Plain text #: build/C/man2/mount.2:130 msgid "" "The I argument may have the magic number 0xC0ED (B) " "in the top 16 bits (this was required in kernel versions prior to 2.4, but " "is no longer required and ignored if specified), and various mount flags in " "the low order 16 bits:" msgstr "" #. type: TP #: build/C/man2/mount.2:130 #, no-wrap msgid "B (Linux 2.4 onward)" msgstr "" #. since 2.4.0-test9 #. with the exception of the "hidden" MS_REC mountflags bit #. type: Plain text #: build/C/man2/mount.2:149 msgid "" "Perform a bind mount, making a file or a directory subtree visible at " "another point within a filesystem. Bind mounts may cross filesystem " "boundaries and span B(2) jails. The I and I " "arguments are ignored. Up until Linux 2.6.26, I was also " "ignored (the bind mount has the same mount options as the underlying mount " "point)." msgstr "" #. type: TP #: build/C/man2/mount.2:149 #, no-wrap msgid "B (since Linux 2.5.19)" msgstr "" #. type: Plain text #: build/C/man2/mount.2:155 msgid "" "Make directory changes on this filesystem synchronous. (This property can " "be obtained for individual directories or subtrees using B(1).)" msgstr "" #. type: TP #: build/C/man2/mount.2:155 #, no-wrap msgid "B" msgstr "" #. FIXME Describe the MS_MOVE flag in more detail #. type: Plain text #: build/C/man2/mount.2:162 msgid "" "Permit mandatory locking on files in this filesystem. (Mandatory locking " "must still be enabled on a per-file basis, as described in B(2).)" msgstr "" #. type: TP #: build/C/man2/mount.2:162 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:173 msgid "" "Move a subtree. I specifies an existing mount point and I " "specifies the new location. The move is atomic: at no point is the subtree " "unmounted. The I, I, and I arguments are " "ignored." msgstr "" #. type: TP #: build/C/man2/mount.2:173 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:176 msgid "Do not update access times for (all types of) files on this filesystem." msgstr "" #. type: TP #: build/C/man2/mount.2:176 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:179 msgid "Do not allow access to devices (special files) on this filesystem." msgstr "" #. type: TP #: build/C/man2/mount.2:179 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:188 msgid "" "Do not update access times for directories on this filesystem. This flag " "provides a subset of the functionality provided by B; that is, " "B implies B." msgstr "" #. type: TP #: build/C/man2/mount.2:188 #, no-wrap msgid "B" msgstr "" #. (Possibly useful for a filesystem that contains non-Linux executables. #. Often used as a security feature, e.g., to make sure that restricted #. users cannot execute files uploaded using ftp or so.) #. type: Plain text #: build/C/man2/mount.2:194 msgid "Do not allow programs to be executed from this filesystem." msgstr "" #. type: TP #: build/C/man2/mount.2:194 #, no-wrap msgid "B" msgstr "" #. (This is a security feature to prevent users executing set-user-ID and #. set-group-ID programs from removable disk devices.) #. type: Plain text #: build/C/man2/mount.2:200 msgid "" "Do not honor set-user-ID and set-group-ID bits when executing programs from " "this filesystem." msgstr "" #. type: TP #: build/C/man2/mount.2:200 #, no-wrap msgid "B" msgstr "" # #. FIXME Document MS_REC, available since 2.4.11. #. This flag has meaning in conjunction with MS_BIND and #. also with the shared subtree flags. #. type: Plain text #: build/C/man2/mount.2:207 msgid "Mount filesystem read-only." msgstr "" #. type: TP #: build/C/man2/mount.2:207 #, no-wrap msgid "B (since Linux 2.6.20)" msgstr "" #. Matthew Garrett notes in the patch that added this behavior #. that this lets utilities such as tmpreaper (which deletes #. files based on last access time) work correctly. #. type: Plain text #: build/C/man2/mount.2:228 msgid "" "When a file on this filesystem is accessed, update the file's last access " "time (atime) only if the current value of atime is less than or equal to the " "file's last modification time (mtime) or last status change time (ctime). " "This option is useful for programs, such as B(1), that need to know " "when a file has been read since it was last modified. Since Linux 2.6.30, " "the kernel defaults to the behavior provided by this flag (unless " "B was specified), and the B flag is required to " "obtain traditional semantics. In addition, since Linux 2.6.30, the file's " "last access time is always updated if it is more than 1 day old." msgstr "" #. type: TP #: build/C/man2/mount.2:228 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:251 msgid "" "Remount an existing mount. This allows you to change the I and " "I of an existing mount without having to unmount and remount the " "filesystem. I should be the same value specified in the initial " "B() call; I and I are ignored. The " "I and I arguments should match the values used in the " "original B() call, except for those parameters that are being " "deliberately changed." msgstr "" #. type: Plain text #: build/C/man2/mount.2:266 msgid "" "The following I can be changed: B, B, " "B; before kernel 2.6.16, the following could also be changed: " "B and B; and, additionally, before kernel 2.4.10, " "the following could also be changed: B, B, " "B." msgstr "" #. type: TP #: build/C/man2/mount.2:266 #, no-wrap msgid "B (since Linux 2.6.17)" msgstr "" #. type: Plain text #: build/C/man2/mount.2:274 msgid "" "Suppress the display of certain (I()) warning messages in the " "kernel log. This flag supersedes the misnamed and obsolete B " "flag (available since Linux 2.4.12), which has the same meaning." msgstr "" #. type: TP #: build/C/man2/mount.2:274 #, no-wrap msgid "B (since Linux 2.6.30)" msgstr "" #. type: Plain text #: build/C/man2/mount.2:284 msgid "" "Always update the last access time (atime) when files on this filesystem are " "accessed. (This was the default behavior before Linux 2.6.30.) Specifying " "this flag overrides the effect of setting the B and " "B flags." msgstr "" #. type: TP #: build/C/man2/mount.2:284 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:292 msgid "" "Make writes on this filesystem synchronous (as though the B flag to " "B(2) was specified for all file opens to this filesystem)." msgstr "" #. type: Plain text #: build/C/man2/mount.2:304 msgid "" "From Linux 2.4 onward, the B, B, and B flags " "are settable on a per-mount-point basis. From kernel 2.6.16 onward, " "B and B are also settable on a per-mount-point " "basis. The B flag is also settable on a per-mount-point basis." msgstr "" #. type: Plain text #: build/C/man2/mount.2:313 msgid "" "The I argument is interpreted by the different filesystems. Typically " "it is a string of comma-separated options understood by this filesystem. " "See B(8) for details of the options available for each filesystem " "type." msgstr "" #. type: Plain text #: build/C/man2/mount.2:318 build/C/man2/stat.2:522 build/C/man2/statfs.2:162 build/C/man3/statvfs.3:101 build/C/man2/umount.2:104 msgid "" "On success, zero is returned. On error, -1 is returned, and I is set " "appropriately." msgstr "" #. type: Plain text #: build/C/man2/mount.2:324 build/C/man2/umount.2:110 msgid "" "The error values given below result from filesystem type independent " "errors. Each filesystem type may have its own special errors and its own " "special behavior. See the Linux kernel source code for details." msgstr "" #. type: TP #: build/C/man2/mount.2:324 build/C/man2/spu_create.2:173 build/C/man2/stat.2:523 build/C/man2/statfs.2:163 build/C/man3/statvfs.3:102 #, no-wrap msgid "B" msgstr "" #. mtk: Probably: write permission is required for MS_BIND, with #. the error EPERM if not present; CAP_DAC_OVERRIDE is required. #. type: Plain text #: build/C/man2/mount.2:339 msgid "" "A component of a path was not searchable. (See also B(7).) " "Or, mounting a read-only filesystem was attempted without giving the " "B flag. Or, the block device I is located on a " "filesystem mounted with the B option." msgstr "" #. type: TP #: build/C/man2/mount.2:339 build/C/man2/umount.2:117 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:351 msgid "" "I is already mounted. Or, it cannot be remounted read-only, because " "it still holds files open for writing. Or, it cannot be mounted on " "I because I is still busy (it is the working directory of " "some thread, the mount point of another device, has open files, etc.)." msgstr "" #. type: TP #: build/C/man2/mount.2:351 build/C/man2/spu_create.2:181 build/C/man2/spu_run.2:158 build/C/man2/stat.2:534 build/C/man2/statfs.2:175 build/C/man3/statvfs.3:114 build/C/man2/sysfs.2:80 build/C/man2/umount.2:121 build/C/man2/ustat.2:80 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:354 msgid "One of the pointer arguments points outside the user address space." msgstr "" #. type: Plain text #: build/C/man2/mount.2:369 msgid "" "I had an invalid superblock. Or, a remount (B) was " "attempted, but I was not already mounted on I. Or, a move " "(B) was attempted, but I was not a mount point, or was " "\\(aq/\\(aq." msgstr "" #. type: TP #: build/C/man2/mount.2:369 build/C/man2/spu_create.2:192 build/C/man2/stat.2:537 build/C/man2/statfs.2:187 build/C/man3/statvfs.3:126 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:376 msgid "" "Too many links encountered during pathname resolution. Or, a move was " "attempted, while I is a descendant of I." msgstr "" #. type: TP #: build/C/man2/mount.2:376 build/C/man2/spu_create.2:196 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:380 msgid "(In case no block device is required:) Table of dummy devices is full." msgstr "" #. type: TP #: build/C/man2/mount.2:380 build/C/man2/spu_create.2:199 build/C/man2/stat.2:540 build/C/man2/statfs.2:192 build/C/man3/statvfs.3:131 build/C/man2/umount.2:143 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:384 build/C/man2/umount.2:147 msgid "A pathname was longer than B." msgstr "" #. type: TP #: build/C/man2/mount.2:384 build/C/man2/spu_create.2:206 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:388 msgid "I not configured in the kernel." msgstr "" #. type: TP #: build/C/man2/mount.2:388 build/C/man2/spu_create.2:210 build/C/man2/stat.2:544 build/C/man2/statfs.2:197 build/C/man3/statvfs.3:136 build/C/man2/umount.2:147 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:391 build/C/man2/umount.2:150 msgid "A pathname was empty or had a nonexistent component." msgstr "" #. type: TP #: build/C/man2/mount.2:391 build/C/man2/spu_create.2:215 build/C/man2/spu_run.2:179 build/C/man2/stat.2:551 build/C/man2/statfs.2:203 build/C/man3/statvfs.3:142 build/C/man2/umount.2:150 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:394 build/C/man2/umount.2:153 msgid "The kernel could not allocate a free page to copy filenames or data into." msgstr "" #. type: TP #: build/C/man2/mount.2:394 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:398 msgid "I is not a block device (and a device was required)." msgstr "" #. type: TP #: build/C/man2/mount.2:398 build/C/man2/spu_create.2:228 build/C/man2/stat.2:554 build/C/man2/stat.2:589 build/C/man2/statfs.2:209 build/C/man3/statvfs.3:148 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:404 msgid "I, or a prefix of I, is not a directory." msgstr "" #. type: TP #: build/C/man2/mount.2:404 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:409 msgid "The major number of the block device I is out of range." msgstr "" #. type: TP #: build/C/man2/mount.2:409 build/C/man2/spu_create.2:233 build/C/man2/umount.2:153 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/mount.2:412 build/C/man2/umount.2:156 msgid "The caller does not have the required privileges." msgstr "" #. FIXME . Definitions of the so-far-undocumented MS_UNBINDABLE, MS_PRIVATE, #. MS_SHARED, and MS_SLAVE were (also) only added to glibc headers in 2.12. #. type: Plain text #: build/C/man2/mount.2:423 msgid "" "The definitions of B, B, B, B, and " "B were added to glibc headers in version 2.12." msgstr "" #. type: Plain text #: build/C/man2/mount.2:426 msgid "" "This function is Linux-specific and should not be used in programs intended " "to be portable." msgstr "" #. type: Plain text #: build/C/man2/mount.2:435 msgid "" "The original B flag was renamed B in 1.1.69 when a " "different B was added to Imman.hE>." msgstr "" #. The change is in patch-2.4.0-prerelease. #. type: Plain text #: build/C/man2/mount.2:444 msgid "" "Before Linux 2.4 an attempt to execute a set-user-ID or set-group-ID program " "on a filesystem mounted with B would fail with B. Since " "Linux 2.4 the set-user-ID and set-group-ID bits are just silently ignored in " "this case." msgstr "" #. type: SS #: build/C/man2/mount.2:444 #, no-wrap msgid "Per-process namespaces" msgstr "" #. type: Plain text #: build/C/man2/mount.2:455 msgid "" "Starting with kernel 2.4.19, Linux provides per-process mount namespaces. A " "mount namespace is the set of filesystem mounts that are visible to a " "process. Mount-point namespaces can be (and usually are) shared between " "multiple processes, and changes to the namespace (i.e., mounts and unmounts) " "by one process are visible to all other processes sharing the same " "namespace. (The pre-2.4.19 Linux situation can be considered as one in " "which a single namespace was shared by every process on the system.)" msgstr "" #. type: Plain text #: build/C/man2/mount.2:461 msgid "" "A child process created by B(2) shares its parent's mount namespace; " "the mount namespace is preserved across an B(2)." msgstr "" #. type: Plain text #: build/C/man2/mount.2:481 msgid "" "A process can obtain a private mount namespace if: it was created using the " "B(2) B flag, in which case its new namespace is " "initialized to be a I of the namespace of the process that called " "B(2); or it calls B(2) with the B flag, which " "causes the caller's mount namespace to obtain a private copy of the " "namespace that it was previously sharing with other processes, so that " "future mounts and unmounts by the caller are invisible to other processes " "(except child processes that the caller subsequently creates) and vice " "versa." msgstr "" #. type: Plain text #: build/C/man2/mount.2:488 msgid "" "The Linux-specific I file exposes the list of mount points " "in the mount namespace of the process with the specified ID; see B(5) " "for details." msgstr "" #. type: Plain text #: build/C/man2/mount.2:495 msgid "" "B(2), B(7), B(7), B(8), " "B(8), B(8)" msgstr "" #. type: TH #: build/C/man7/path_resolution.7:25 #, no-wrap msgid "PATH_RESOLUTION" msgstr "" #. type: TH #: build/C/man7/path_resolution.7:25 #, no-wrap msgid "2009-12-05" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:28 msgid "path_resolution - how a pathname is resolved to a file" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:31 msgid "" "Some UNIX/Linux system calls have as parameter one or more filenames. A " "filename (or pathname) is resolved as follows." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:31 #, no-wrap msgid "Step 1: start of the resolution process" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:50 msgid "" "If the pathname starts with the \\(aq/\\(aq character, the starting lookup " "directory is the root directory of the calling process. (A process inherits " "its root directory from its parent. Usually this will be the root directory " "of the file hierarchy. A process may get a different root directory by use " "of the B(2) system call. A process may get an entirely private " "mount namespace in case it\\(emor one of its ancestors\\(emwas started by an " "invocation of the B(2) system call that had the B flag " "set.) This handles the \\(aq/\\(aq part of the pathname." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:58 msgid "" "If the pathname does not start with the \\(aq/\\(aq character, the starting " "lookup directory of the resolution process is the current working directory " "of the process. (This is also inherited from the parent. It can be changed " "by use of the B(2) system call.)" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:61 msgid "" "Pathnames starting with a \\(aq/\\(aq character are called absolute " "pathnames. Pathnames not starting with a \\(aq/\\(aq are called relative " "pathnames." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:61 #, no-wrap msgid "Step 2: walk along the path" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:66 msgid "" "Set the current lookup directory to the starting lookup directory. Now, for " "each nonfinal component of the pathname, where a component is a substring " "delimited by \\(aq/\\(aq characters, this component is looked up in the " "current lookup directory." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:72 msgid "" "If the process does not have search permission on the current lookup " "directory, an B error is returned (\"Permission denied\")." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:77 msgid "" "If the component is not found, an B error is returned (\"No such " "file or directory\")." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:82 msgid "" "If the component is found, but is neither a directory nor a symbolic link, " "an B error is returned (\"Not a directory\")." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:86 msgid "" "If the component is found and is a directory, we set the current lookup " "directory to that directory, and go to the next component." msgstr "" # #. presently: max recursion depth during symlink resolution: 5 #. max total number of symbolic links followed: 40 #. _POSIX_SYMLOOP_MAX is 8 #. type: Plain text #: build/C/man7/path_resolution.7:110 msgid "" "If the component is found and is a symbolic link (symlink), we first resolve " "this symbolic link (with the current lookup directory as starting lookup " "directory). Upon error, that error is returned. If the result is not a " "directory, an B error is returned. If the resolution of the " "symlink is successful and returns a directory, we set the current lookup " "directory to that directory, and go to the next component. Note that the " "resolution process here involves recursion. In order to protect the kernel " "against stack overflow, and also to protect against denial of service, there " "are limits on the maximum recursion depth, and on the maximum number of " "symbolic links followed. An B error is returned when the maximum is " "exceeded (\"Too many levels of symbolic links\")." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:110 #, no-wrap msgid "Step 3: find the final entry" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:122 msgid "" "The lookup of the final component of the pathname goes just like that of all " "other components, as described in the previous step, with two differences: " "(i) the final component need not be a directory (at least as far as the path " "resolution process is concerned\\(emit may have to be a directory, or a " "nondirectory, because of the requirements of the specific system call), and " "(ii) it is not necessarily an error if the component is not found\\(emmaybe " "we are just creating it. The details on the treatment of the final entry " "are described in the manual pages of the specific system calls." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:122 #, no-wrap msgid ". and .." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:126 msgid "" "By convention, every directory has the entries \".\" and \"..\", which refer " "to the directory itself and to its parent directory, respectively." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:130 msgid "" "The path resolution process will assume that these entries have their " "conventional meanings, regardless of whether they are actually present in " "the physical filesystem." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:132 msgid "One cannot walk down past the root: \"/..\" is the same as \"/\"." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:132 #, no-wrap msgid "Mount points" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:136 msgid "" "After a \"mount dev path\" command, the pathname \"path\" refers to the root " "of the filesystem hierarchy on the device \"dev\", and no longer to whatever " "it referred to earlier." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:140 msgid "" "One can walk out of a mounted filesystem: \"path/..\" refers to the parent " "directory of \"path\", outside of the filesystem hierarchy on \"dev\"." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:140 #, no-wrap msgid "Trailing slashes" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:146 msgid "" "If a pathname ends in a \\(aq/\\(aq, that forces resolution of the preceding " "component as in Step 2: it has to exist and resolve to a directory. " "Otherwise, a trailing \\(aq/\\(aq is ignored. (Or, equivalently, a pathname " "with a trailing \\(aq/\\(aq is equivalent to the pathname obtained by " "appending \\(aq.\\(aq to it.)" msgstr "" #. type: SS #: build/C/man7/path_resolution.7:146 #, no-wrap msgid "Final symlink" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:155 msgid "" "If the last component of a pathname is a symbolic link, then it depends on " "the system call whether the file referred to will be the symbolic link or " "the result of path resolution on its contents. For example, the system call " "B(2) will operate on the symlink, while B(2) operates on the " "file pointed to by the symlink." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:155 #, no-wrap msgid "Length limit" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:162 msgid "" "There is a maximum length for pathnames. If the pathname (or some " "intermediate pathname obtained while resolving symbolic links) is too long, " "an B error is returned (\"Filename too long\")." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:162 #, no-wrap msgid "Empty pathname" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:169 msgid "" "In the original UNIX, the empty pathname referred to the current directory. " "Nowadays POSIX decrees that an empty pathname must not be resolved " "successfully. Linux returns B in this case." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:169 #, no-wrap msgid "Permissions" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:182 msgid "" "The permission bits of a file consist of three groups of three bits, cf.\\& " "B(1) and B(2). The first group of three is used when the " "effective user ID of the calling process equals the owner ID of the file. " "The second group of three is used when the group ID of the file either " "equals the effective group ID of the calling process, or is one of the " "supplementary group IDs of the calling process (as set by B(2)). " "When neither holds, the third group is used." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:186 msgid "" "Of the three bits used, the first bit determines read permission, the second " "write permission, and the last execute permission in case of ordinary files, " "or search permission in case of directories." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:191 msgid "" "Linux uses the fsuid instead of the effective user ID in permission checks. " "Ordinarily the fsuid will equal the effective user ID, but the fsuid can be " "changed by the system call B(2)." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:199 msgid "" "(Here \"fsuid\" stands for something like \"filesystem user ID\". The " "concept was required for the implementation of a user space NFS server at a " "time when processes could send a signal to a process with the same effective " "user ID. It is obsolete now. Nobody should use B(2).)" msgstr "" #. FIXME . say something about filesystem mounted read-only ? #. type: Plain text #: build/C/man7/path_resolution.7:205 msgid "" "Similarly, Linux uses the fsgid (\"filesystem group ID\") instead of the " "effective group ID. See B(2)." msgstr "" #. type: SS #: build/C/man7/path_resolution.7:205 #, no-wrap msgid "Bypassing permission checks: superuser and capabilities" msgstr "" #. (but for exec at least one x bit must be set) -- AEB #. but there is variation across systems on this point: for #. example, HP-UX and Tru64 are as described by AEB. However, #. on some implementations (e.g., Solaris, FreeBSD), #. access(X_OK) by superuser will report success, regardless #. of the file's execute permission bits. -- MTK (Oct 05) #. type: Plain text #: build/C/man7/path_resolution.7:216 msgid "" "On a traditional UNIX system, the superuser (I, user ID 0) is " "all-powerful, and bypasses all permissions restrictions when accessing " "files." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:224 msgid "" "On Linux, superuser privileges are divided into capabilities (see " "B(7)). Two capabilities are relevant for file permissions " "checks: B and B. (A process has " "these capabilities if its fsuid is 0.)" msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:230 msgid "" "The B capability overrides all permission checking, but " "grants execute permission only when at least one of the file's three execute " "permission bits is set." msgstr "" #. FIXME . say something about immutable files #. FIXME . say something about ACLs #. type: Plain text #: build/C/man7/path_resolution.7:237 msgid "" "The B capability grants read and search permission on " "directories, and read permission on ordinary files." msgstr "" #. type: Plain text #: build/C/man7/path_resolution.7:242 msgid "B(2), B(7), B(7), B(7)" msgstr "" #. type: TH #: build/C/man2/removexattr.2:25 #, no-wrap msgid "REMOVEXATTR" msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:28 msgid "removexattr, lremovexattr, fremovexattr - remove an extended attribute" msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:37 #, no-wrap msgid "" "BIB<, const char\\ *>IB<);>\n" "BIB<, const char\\ *>IB<);>\n" "BIB<, const char\\ *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:49 msgid "" "Extended attributes are I:value 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(5)." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:56 msgid "" "B() removes the extended attribute identified by I and " "associated with the given I in the filesystem." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:62 msgid "" "B() is identical to B(), except in the case of a " "symbolic link, where the extended attribute is removed from the link itself, " "not the file that it refers to." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:72 msgid "" "B() is identical to B(), only the extended " "attribute is removed from the open file referred to by I (as returned by " "B(2)) in place of I." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:78 msgid "" "An extended attribute name is a simple null-terminated string. The I " "includes a namespace prefix; there may be several, disjoint namespaces " "associated with an individual inode." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:83 build/C/man2/setxattr.2:110 msgid "" "On success, zero is returned. On failure, -1 is returned and I is " "set appropriately." msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:92 msgid "" "The named attribute does not exist. (B is defined to be a synonym " "for B in Iattr/xattr.hE>.)" msgstr "" #. type: Plain text #: build/C/man2/removexattr.2:120 msgid "" "B(1), B(1), B(2), B(2), B(2), " "B(2), B(2), B(5), B(7)" msgstr "" #. type: TH #: build/C/man2/setxattr.2:25 #, no-wrap msgid "SETXATTR" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:28 msgid "setxattr, lsetxattr, fsetxattr - set an extended attribute value" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:40 #, no-wrap msgid "" "BIB<, const char\\ *>IB<,>\n" "B< const void\\ *>IB<, size_t >IB<, int " ">IB<);>\n" "BIB<, const char\\ *>IB<,>\n" "B< const void\\ *>IB<, size_t >IB<, int " ">IB<);>\n" "BIB<, const char\\ *>IB<,>\n" "B< const void\\ *>IB<, size_t >IB<, int " ">IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:67 msgid "" "B() sets the I of the extended attribute identified by " "I and associated with the given I in the filesystem. The " "I of the I must be specified." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:73 msgid "" "B() is identical to B(), except in the case of a " "symbolic link, where the extended attribute is set on the link itself, not " "the file that it refers to." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:83 msgid "" "B() is identical to B(), only the extended attribute " "is set on the open file referred to by I (as returned by B(2)) in " "place of I." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:93 msgid "" "An extended attribute name is a simple null-terminated string. The I " "includes a namespace prefix; there may be several, disjoint namespaces " "associated with an individual inode. The I of an extended attribute " "is a chunk of arbitrary textual or binary data of specified length." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:105 msgid "" "The I argument can be used to refine the semantics of the operation. " "B specifies a pure create, which fails if the named attribute " "exists already. B specifies a pure replace operation, which " "fails if the named attribute does not already exist. By default (no flags), " "the extended attribute will be created if need be, or will simply replace " "the value if the attribute exists." msgstr "" #. type: TP #: build/C/man2/setxattr.2:111 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:115 msgid "" "Disk quota limits meant that there is insufficient space remaining to store " "the extended attribute." msgstr "" #. type: TP #: build/C/man2/setxattr.2:115 build/C/man2/spu_create.2:178 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:119 msgid "B was specified, and the attribute exists already." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:128 msgid "" "B was specified, and the attribute does not exist. " "(B is defined to be a synonym for B in " "Iattr/xattr.hE>.)" msgstr "" #. type: TP #: build/C/man2/setxattr.2:128 build/C/man2/spu_create.2:218 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:131 msgid "There is insufficient space remaining to store the extended attribute." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:137 msgid "" "Extended attributes are not supported by the filesystem, or are disabled, " "I is set to B." msgstr "" #. type: Plain text #: build/C/man2/setxattr.2:162 msgid "" "B(1), B(1), B(2), B(2), B(2), " "B(2), B(2), B(5), B(7)" msgstr "" #. type: TH #: build/C/man2/spu_create.2:25 #, no-wrap msgid "SPU_CREATE" msgstr "" #. type: TH #: build/C/man2/spu_create.2:25 build/C/man2/spu_run.2:26 #, no-wrap msgid "2012-08-05" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:28 msgid "spu_create - create a new spu context" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:32 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Esys/spu.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:36 #, no-wrap msgid "" "BIB<, int >IB<, mode_t " ">IB<);>\n" "BIB<, int >IB<, mode_t " ">IB<,>\n" "B< int >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:40 build/C/man2/spu_run.2:39 msgid "I: There is no glibc wrapper for this system call; see NOTES." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:59 msgid "" "The B() system call is used on PowerPC machines that implement " "the Cell Broadband Engine Architecture in order to access Synergistic " "Processor Units (SPUs). It creates a new logical context for an SPU in " "I and returns a file descriptor associated with it. I " "must refer to a nonexistent directory in the mount point of the SPU " "filesystem (B). If B() is successful, a directory is " "created at I and it is populated with the files described in " "B(7)." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:78 msgid "" "When a context is created, the returned file descriptor can only be passed " "to B(2), used as the I argument to the B<*at> family of " "system calls (e.g., B(2)), or closed; other operations are not " "defined. A logical SPU context is destroyed (along with all files created " "within the context's I directory) once the last reference to the " "context has gone; this usually occurs when the file descriptor returned by " "B() is closed." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:83 msgid "" "The I argument can be zero or any bitwise OR-ed combination of the " "following constants:" msgstr "" #. type: TP #: build/C/man2/spu_create.2:83 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:89 msgid "" "Rather than using signals for reporting DMA errors, use the I " "argument to B(2)." msgstr "" #. type: TP #: build/C/man2/spu_create.2:89 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:97 msgid "" "Create an SPU gang instead of a context. (A gang is a group of SPU contexts " "that are functionally related to each other and which share common " "scheduling parameters\\(empriority and policy. In the future, gang " "scheduling may be implemented causing the group to be switched in and out as " "a single unit.)" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:104 msgid "" "A new directory will be created at the location specified by the I " "argument. This gang may be used to hold other SPU contexts, by providing a " "pathname that is within the gang directory to further calls to " "B()." msgstr "" #. type: TP #: build/C/man2/spu_create.2:104 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:110 msgid "" "Create a context that is not affected by the SPU scheduler. Once the " "context is run, it will not be scheduled out until it is destroyed by the " "creating process." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:121 msgid "" "Because the context cannot be removed from the SPU, some functionality is " "disabled for B contexts. Only a subset of the files " "will be available in this context directory in B. Additionally, " "B contexts cannot dump a core file when crashing." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:127 msgid "" "Creating B contexts requires the B " "capability." msgstr "" #. type: TP #: build/C/man2/spu_create.2:127 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:134 msgid "" "Create an isolated SPU context. Isolated contexts are protected from some " "PPE (PowerPC Processing Element) operations, such as access to the SPU " "local store and the NPC register." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:140 msgid "" "Creating B contexts also requires the " "B flag." msgstr "" #. type: TP #: build/C/man2/spu_create.2:140 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:148 msgid "" "Create a context with affinity to another SPU context. This affinity " "information is used within the SPU scheduling algorithm. Using this flag " "requires that a file descriptor referring to the other SPU context be passed " "in the I argument." msgstr "" #. type: TP #: build/C/man2/spu_create.2:148 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:153 msgid "" "Create a context with affinity to system memory. This affinity information " "is used within the SPU scheduling algorithm." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:165 msgid "" "The I argument (minus any bits set in the process's B(2)) " "specifies the permissions used for creating the new directory in B. " "See B(2) for a full list of the possible I values." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:172 msgid "" "On success, B() returns a new file descriptor. On error, -1 is " "returned, and I is set to one of the error codes listed below." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:178 msgid "The current user does not have write access to the B(7) mount point." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:181 msgid "An SPU context already exists at the given pathname." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:186 msgid "" "I is not a valid string pointer in the calling process's address " "space." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:192 msgid "" "I is not a directory in the B(7) mount point, or invalid " "flags have been provided." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:196 msgid "Too many symbolic links were found while resolving I." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:199 msgid "The process has reached its maximum open files limit." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:203 build/C/man2/stat.2:544 msgid "I is too long." msgstr "" #. type: TP #: build/C/man2/spu_create.2:203 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:206 msgid "The system has reached the global open files limit." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:210 msgid "" "An isolated context was requested, but the hardware does not support SPU " "isolation." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:215 msgid "Part of I could not be resolved." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:218 msgid "The kernel could not allocate all resources required." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:223 msgid "" "There are not enough SPU resources available to create a new context or the " "user-specific limit for the number of SPU contexts has been reached." msgstr "" #. type: TP #: build/C/man2/spu_create.2:223 build/C/man2/spu_run.2:183 build/C/man2/statfs.2:206 build/C/man3/statvfs.3:145 build/C/man2/ustat.2:88 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:228 build/C/man2/spu_run.2:188 msgid "" "The functionality is not provided by the current system, because either the " "hardware does not provide SPUs or the spufs module is not loaded." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:233 msgid "A part of I is not a directory." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:240 msgid "" "The I flag has been given, but the user does not have " "the B capability." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:246 msgid "" "I must point to a location beneath the mount point of B. " "By convention, it gets mounted in I." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:250 msgid "The B() system call was added to Linux in kernel 2.6.16." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:254 msgid "" "This call is Linux-specific and implemented only on the PowerPC " "architecture. Programs using this system call are not portable." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:265 msgid "" "Glibc does not provide a wrapper for this system call; call it using " "B(2). Note however, that B() is meant to be used from " "libraries that implement a more abstract interface to SPUs, not to be used " "from regular applications. See E<.UR " "http://www.bsc.es\\:/projects\\:/deepcomputing\\:/linuxoncell/> E<.UE> for " "the recommended libraries." msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:270 msgid "See B(2) for an example of the use of B()" msgstr "" #. type: Plain text #: build/C/man2/spu_create.2:275 msgid "B(2), B(2), B(7), B(7)" msgstr "" #. type: TH #: build/C/man2/spu_run.2:26 #, no-wrap msgid "SPU_RUN" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:29 msgid "spu_run - execute an SPU context" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:32 #, no-wrap msgid "B<#include Esys/spu.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:35 #, no-wrap msgid "" "BIB<, unsigned int *>IB<, unsigned int " "*>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:53 msgid "" "The B() system call is used on PowerPC machines that implement the " "Cell Broadband Engine Architecture in order to access Synergistic Processor " "Units (SPUs). The I argument is a file descriptor returned by " "B(2) that refers to a specific SPU context. When the context " "gets scheduled to a physical SPU, it starts execution at the instruction " "pointer passed in I." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:62 msgid "" "Execution of SPU code happens synchronously, meaning that B() " "blocks while the SPU is still running. If there is a need to execute SPU " "code in parallel with other code on either the main CPU or other SPUs, a new " "thread of execution must be created first (e.g., using " "B(3))." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:72 msgid "" "When B() returns, the current value of the SPU program counter is " "written to I, so successive calls to B() can use the same " "I pointer." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:82 msgid "" "The I argument provides a buffer for an extended status code. If the " "SPU context was created with the B flag, then " "this buffer is populated by the Linux kernel before B() returns." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:84 msgid "The status code may be one (or more) of the following constants:" msgstr "" #. type: TP #: build/C/man2/spu_run.2:84 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:87 msgid "A DMA alignment error occurred." msgstr "" #. type: TP #: build/C/man2/spu_run.2:87 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:90 msgid "An invalid MFC DMA command was attempted." msgstr "" #. type: TP #: build/C/man2/spu_run.2:90 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:93 msgid "A DMA storage error occurred." msgstr "" #. type: TP #: build/C/man2/spu_run.2:93 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:96 msgid "An illegal instruction was executed." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:102 msgid "" "NULL is a valid value for the I argument. In this case, the events " "will not be reported to the calling process." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:111 msgid "" "On success, B() returns the value of the I register. " "On error, it returns -1 and sets I to one of the error codes listed " "below." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:120 msgid "" "The I register value is a bit mask of status codes and " "optionally a 14-bit code returned from the B instruction on " "the SPU. The bit masks for the status codes are:" msgstr "" #. type: TP #: build/C/man2/spu_run.2:120 #, no-wrap msgid "B<0x02>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:125 msgid "SPU was stopped by a B instruction." msgstr "" #. type: TP #: build/C/man2/spu_run.2:125 #, no-wrap msgid "B<0x04>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:130 msgid "SPU was stopped by a B instruction." msgstr "" #. type: TP #: build/C/man2/spu_run.2:130 #, no-wrap msgid "B<0x08>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:133 msgid "SPU is waiting for a channel." msgstr "" #. type: TP #: build/C/man2/spu_run.2:133 #, no-wrap msgid "B<0x10>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:136 msgid "SPU is in single-step mode." msgstr "" #. type: TP #: build/C/man2/spu_run.2:136 #, no-wrap msgid "B<0x20>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:139 msgid "SPU has tried to execute an invalid instruction." msgstr "" #. type: TP #: build/C/man2/spu_run.2:139 #, no-wrap msgid "B<0x40>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:142 msgid "SPU has tried to access an invalid channel." msgstr "" #. type: TP #: build/C/man2/spu_run.2:142 #, no-wrap msgid "B<0x3fff0000>" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:148 msgid "" "The bits masked with this value contain the code returned from a " "B instruction. These bits are valid only if the 0x02 bit " "is set." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:153 msgid "" "If B() has not returned an error, one or more bits among the lower " "eight ones are always set." msgstr "" #. type: TP #: build/C/man2/spu_run.2:154 build/C/man2/stat.2:530 build/C/man2/stat.2:581 build/C/man2/statfs.2:170 build/C/man3/statvfs.3:109 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:158 msgid "I is not a valid file descriptor." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:164 msgid "" "I is not a valid pointer, or I is non-NULL and an invalid " "pointer." msgstr "" #. type: TP #: build/C/man2/spu_run.2:164 build/C/man2/statfs.2:181 build/C/man3/statvfs.3:120 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:174 msgid "" "A signal occurred while B() was in progress; see B(7). " "The I value has been updated to the new program counter value if " "necessary." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:179 msgid "I is not a valid file descriptor returned from B(2)." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:183 msgid "" "There was not enough memory available to handle a page fault resulting from " "a Memory Flow Controller (MFC) direct memory access." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:192 msgid "The B() system call was added to Linux in kernel 2.6.16." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:196 msgid "" "This call is Linux-specific and implemented only by the PowerPC " "architecture. Programs using this system call are not portable." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:207 msgid "" "Glibc does not provide a wrapper for this system call; call it using " "B(2). Note however, that B() is meant to be used from " "libraries that implement a more abstract interface to SPUs, not to be used " "from regular applications. See E<.UR " "http://www.bsc.es\\:/projects\\:/deepcomputing\\:/linuxoncell/> E<.UE> for " "the recommended libraries." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:212 msgid "" "The following is an example of running a simple, one-instruction SPU program " "with the B() system call." msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:220 #, no-wrap msgid "" "#include Estdlib.hE\n" "#include Estdint.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Esys/types.hE\n" "#include Efcntl.hE\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:223 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:228 #, no-wrap msgid "" "int main(void)\n" "{\n" " int context, fd, spu_status;\n" " uint32_t instruction, npc;\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:232 #, no-wrap msgid "" " context = spu_create(\"/spu/example-context\", 0, 0755);\n" " if (context == -1)\n" " handle_error(\"spu_create\");\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:237 #, no-wrap msgid "" " /* write a \\(aqstop 0x1234\\(aq instruction to the SPU\\(aqs\n" " * local store memory\n" " */\n" " instruction = 0x00001234;\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:242 #, no-wrap msgid "" " fd = open(\"/spu/example-context/mem\", O_RDWR);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" " write(fd, &instruction, sizeof(instruction));\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:248 #, no-wrap msgid "" " /* set npc to the starting instruction address of the\n" " * SPU program. Since we wrote the instruction at the\n" " * start of the mem file, the entry point will be 0x0\n" " */\n" " npc = 0;\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:252 #, no-wrap msgid "" " spu_status = spu_run(context, &npc, NULL);\n" " if (spu_status == -1)\n" " handle_error(\"open\");\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:258 #, no-wrap msgid "" " /* we should see a status code of 0x1234002:\n" " * 0x00000002 (spu was stopped due to stop-and-signal)\n" " * | 0x12340000 (the stop-and-signal code)\n" " */\n" " printf(\"SPU Status: 0x%08x\\en\", spu_status);\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:261 build/C/man2/stat.2:919 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: build/C/man2/spu_run.2:269 msgid "B(2), B(2), B(7), B(7)" msgstr "" #. type: TH #: build/C/man7/spufs.7:27 #, no-wrap msgid "SPUFS" msgstr "" #. type: TH #: build/C/man7/spufs.7:27 #, no-wrap msgid "2007-12-20" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:30 msgid "spufs - SPU filesystem" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:34 msgid "" "The SPU filesystem is used on PowerPC machines that implement the Cell " "Broadband Engine Architecture in order to access Synergistic Processor Units " "(SPUs)." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:43 msgid "" "The filesystem provides a name space similar to POSIX shared memory or " "message queues. Users that have write permissions on the filesystem can use " "B(2) to establish SPU contexts under the B root " "directory." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:50 msgid "" "Every SPU context is represented by a directory containing a predefined set " "of files. These files can be used for manipulating the state of the logical " "SPU. Users can change permissions on the files, but can't add or remove " "files." msgstr "" #. type: SS #: build/C/man7/spufs.7:50 #, no-wrap msgid "Mount options" msgstr "" #. type: TP #: build/C/man7/spufs.7:51 #, no-wrap msgid "BuidE>" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:54 msgid "Set the user owning the mount point; the default is 0 (root)." msgstr "" #. type: TP #: build/C/man7/spufs.7:54 #, no-wrap msgid "BgidE>" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:57 msgid "Set the group owning the mount point; the default is 0 (root)." msgstr "" #. type: TP #: build/C/man7/spufs.7:57 #, no-wrap msgid "BmodeE>" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:63 msgid "" "Set the mode of the top-level directory in B, as an octal mode " "string. The default is 0775." msgstr "" #. type: SS #: build/C/man7/spufs.7:63 #, no-wrap msgid "Files" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:75 msgid "" "The files in B mostly follow the standard behavior for regular system " "calls like B(2) or B(2), but often support only a subset of " "the operations supported on regular filesystems. This list details the " "supported operations and the deviations from the standard behavior described " "in the respective man pages." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:97 msgid "" "All files that support the B(2) operation also support B(2) " "and all files that support the B(2) operation also support " "B(2). All files support the B(2) and B(2) family of " "operations, but for the latter call, the only fields of the returned I " "structure that contain reliable information are I, I, " "I, and I." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:106 msgid "" "All files support the B(2)/B(2) and B(2)/B(2) " "operations, but will not be able to grant permissions that contradict the " "possible operations (e.g., read access on the I file)." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:108 msgid "The current set of files is:" msgstr "" #. type: TP #: build/C/man7/spufs.7:108 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:113 msgid "" "Contains a comma-delimited string representing the capabilities of this SPU " "context. Possible capabilities are:" msgstr "" #. type: TP #: build/C/man7/spufs.7:114 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:117 msgid "This context may be scheduled." msgstr "" #. type: TP #: build/C/man7/spufs.7:117 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:120 msgid "This context can be run in single-step mode, for debugging." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:122 msgid "New capabilities flags may be added in the future." msgstr "" #. type: TP #: build/C/man7/spufs.7:123 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:132 msgid "" "the contents of the local storage memory of the SPU. This can be accessed " "like a regular shared memory file and contains both code and data in the " "address space of the SPU. The possible operations on an open I file " "are:" msgstr "" #. type: TP #: build/C/man7/spufs.7:133 #, no-wrap msgid "B(2), B(2), B(2), B(2), B(2)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:144 msgid "" "These operate as usual, with the exception that B(2), B(2), " "and B(2) are not supported beyond the end of the file. The file " "size is the size of the local storage of the SPU, which is normally 256 " "kilobytes." msgstr "" #. type: TP #: build/C/man7/spufs.7:144 build/C/man7/spufs.7:706 build/C/man7/spufs.7:725 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:153 msgid "" "Mapping I into the process address space provides access to the SPU " "local storage within the process address space. Only B mappings " "are allowed." msgstr "" #. type: TP #: build/C/man7/spufs.7:154 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:161 msgid "" "Contains the saved general-purpose registers of the SPU context. This file " "contains the 128-bit values of each register, from register 0 to register " "127, in order. This allows the general-purpose registers to be inspected " "for debugging." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:165 msgid "" "Reading to or writing from this file requires that the context is scheduled " "out, so use of this file is not recommended in normal program operation." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:171 msgid "" "The I file is not present on contexts that have been created with the " "B flag." msgstr "" #. type: TP #: build/C/man7/spufs.7:171 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:181 msgid "" "The first SPU-to-CPU communication mailbox. This file is read-only and can " "be read in units of 4 bytes. The file can be used only in nonblocking mode " "- even B(2) cannot be used to block on this file. The only possible " "operation on an open I file is:" msgstr "" #. type: TP #: build/C/man7/spufs.7:182 build/C/man7/spufs.7:222 build/C/man7/spufs.7:317 build/C/man7/spufs.7:381 build/C/man7/spufs.7:418 build/C/man7/spufs.7:463 build/C/man7/spufs.7:517 build/C/man7/spufs.7:632 build/C/man7/spufs.7:676 build/C/man7/spufs.7:754 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:200 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. If there is no data available in the mailbox (i.e., the SPU " "has not sent a mailbox message), the return value is set to -1 and I " "is set to B. When data has been read successfully, four bytes are " "placed in the data buffer and the value four is returned." msgstr "" #. type: TP #: build/C/man7/spufs.7:201 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:217 msgid "" "The second SPU-to-CPU communication mailbox. This file is similar to the " "first mailbox file, but can be read in blocking I/O mode, thus calling " "B(2) on an open I file will block until the SPU has written " "data to its interrupt mailbox channel (unless the file has been opened with " "B, see below). Also, B(2) and similar system calls can " "be used to monitor for the presence of mailbox data." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:221 msgid "The possible operations on an open I file are:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:239 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. If there is no data available in the mailbox and the file " "descriptor has been opened with B, the return value is set to -1 " "and I is set to B." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:247 msgid "" "If there is no data available in the mailbox and the file descriptor has " "been opened without B, the call will block until the SPU writes " "to its interrupt mailbox channel. When data has been read successfully, " "four bytes are placed in the data buffer and the value four is returned." msgstr "" #. type: TP #: build/C/man7/spufs.7:247 build/C/man7/spufs.7:295 build/C/man7/spufs.7:685 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:254 msgid "" "Poll on the I file returns I<(POLLIN | POLLRDNORM)> whenever data is " "available for reading." msgstr "" #. type: TP #: build/C/man7/spufs.7:255 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:267 msgid "" "The CPU-to-SPU communication mailbox. It is write-only and can be written " "in units of four bytes. If the mailbox is full, B(2) will block, " "and B(2) can be used to block until the mailbox is available for " "writing again. The possible operations on an open I file are:" msgstr "" #. type: TP #: build/C/man7/spufs.7:268 build/C/man7/spufs.7:392 build/C/man7/spufs.7:432 build/C/man7/spufs.7:476 build/C/man7/spufs.7:527 build/C/man7/spufs.7:638 build/C/man7/spufs.7:652 build/C/man7/spufs.7:749 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:286 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. If there is no space available in the mailbox and the file " "descriptor has been opened with B, the return value is set to -1 " "and I is set to B." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:295 msgid "" "If there is no space available in the mailbox and the file descriptor has " "been opened without B, the call will block until the SPU reads " "from its PPE (PowerPC Processing Element) mailbox channel. When data has " "been written successfully, the system call returns four as its function " "result." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:302 msgid "" "A poll on the I file returns I<(POLLOUT | POLLWRNORM)> whenever space " "is available for writing." msgstr "" #. type: TP #: build/C/man7/spufs.7:303 #, no-wrap msgid "I, I, I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:316 msgid "" "These are read-only files that contain the length of the current queue of " "each mailbox\\(emthat is, how many words can be read from I or I " "or how many words can be written to I without blocking. The files can " "be read only in four-byte units and return a big-endian binary integer " "number. The only possible operation on an open I<*box_stat> file is:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:337 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. Otherwise, a four-byte value is placed in the data buffer. " "This value is the number of elements that can be read from (for I " "and I) or written to (for I) the respective mailbox " "without blocking or returning an B error." msgstr "" #. type: TP #: build/C/man7/spufs.7:338 #, no-wrap msgid "" "I, I, I, I, I, " "I, I, I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:350 msgid "" "Internal registers of the SPU. These files contain an ASCII string " "representing the hex value of the specified register. Reads and writes on " "these files (except for I, see below) require that the SPU context be " "scheduled out, so frequent access to these files is not recommended for " "normal program operation." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:352 msgid "The contents of these files are:" msgstr "" #. type: TP #: build/C/man7/spufs.7:353 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:356 msgid "Next Program Counter - valid only when the SPU is in a stopped state." msgstr "" #. type: TP #: build/C/man7/spufs.7:356 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:359 msgid "SPU Decrementer" msgstr "" #. type: TP #: build/C/man7/spufs.7:359 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:362 msgid "Decrementer Status" msgstr "" #. type: TP #: build/C/man7/spufs.7:362 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:365 msgid "MFC tag mask for SPU DMA" msgstr "" #. type: TP #: build/C/man7/spufs.7:365 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:368 msgid "Event mask for SPU interrupts" msgstr "" #. type: TP #: build/C/man7/spufs.7:368 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:371 msgid "Number of SPU events pending (read-only)" msgstr "" #. type: TP #: build/C/man7/spufs.7:371 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:374 msgid "Interrupt Return address register" msgstr "" #. type: TP #: build/C/man7/spufs.7:374 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:377 msgid "Local Store Limit Register" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:380 msgid "The possible operations on these files are:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:388 msgid "" "Reads the current register value. If the register value is larger than the " "buffer passed to the B(2) system call, subsequent reads will continue " "reading from the same buffer, until the end of the buffer is reached." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:392 msgid "" "When a complete string has been read, all subsequent read operations will " "return zero bytes and a new file descriptor needs to be opened to read a new " "value." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:402 build/C/man7/spufs.7:537 msgid "" "A B(2) operation on the file sets the register to the value given in " "the string. The string is parsed from the beginning until the first " "nonnumeric character or the end of the buffer. Subsequent writes to the " "same file descriptor overwrite the previous setting." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:409 msgid "" "Except for the I file, these files are not present on contexts that " "have been created with the B flag." msgstr "" #. type: TP #: build/C/man7/spufs.7:410 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:417 msgid "" "This file provides access to the Floating Point Status and Control Register " "(fcpr) as a binary, four-byte file. The operations on the I file are:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:432 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. Otherwise, a four-byte value is placed in the data buffer; " "this is the current value of the I register." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:446 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. Otherwise, a four-byte value is copied from the data buffer, " "updating the value of the I register." msgstr "" #. type: TP #: build/C/man7/spufs.7:447 #, no-wrap msgid "I, I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:462 msgid "" "The files provide access to the two signal notification channels of an SPU. " "These are read-write files that operate on four-byte words. Writing to one " "of these files triggers an interrupt on the SPU. The value written to the " "signal files can be read from the SPU through a channel read or from host " "user space through the file. After the value has been read by the SPU, it " "is reset to zero. The possible operations on an open I or " "I file are:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:476 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. Otherwise, a four-byte value is placed in the data buffer; " "this is the current value of the specified signal notification register." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:497 msgid "" "If I is smaller than four, B(2) returns -1 and sets I " "to B. Otherwise, a four-byte value is copied from the data buffer, " "updating the value of the specified signal notification register. The " "signal notification register will either be replaced with the input data or " "will be updated to the bitwise OR operation of the old value and the input " "data, depending on the contents of the I or I " "files respectively." msgstr "" #. type: TP #: build/C/man7/spufs.7:498 #, no-wrap msgid "I, I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:516 msgid "" "These two files change the behavior of the I and I " "notification files. They contain a numeric ASCII string which is read as " "either \"1\" or \"0\". In mode 0 (overwrite), the hardware replaces the " "contents of the signal channel with the data that is written to it. In mode " "1 (logical OR), the hardware accumulates the bits that are subsequently " "written to it. The possible operations on an open I or " "I file are:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:527 msgid "" "When the count supplied to the B(2) call is shorter than the required " "length for the digit (plus a newline character), subsequent reads from the " "same file descriptor will complete the string. When a complete string has " "been read, all subsequent read operations will return zero bytes and a new " "file descriptor needs to be opened to read the value again." msgstr "" #. type: TP #: build/C/man7/spufs.7:538 #, no-wrap msgid "I, I, I, I, I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:557 msgid "" "Read-only files that contain the saved state of the SPU mailboxes and DMA " "queues. This allows the SPU status to be inspected, mainly for debugging. " "The I and I files each contain the four-byte mailbox " "message that has been written by the SPU. If no message has been written to " "these mailboxes, then contents of these files is undefined. The " "I, I and I files contain the available " "message count." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:566 msgid "" "The I file contains an array of four-byte mailbox messages, which " "have been sent to the SPU. With current CBEA machines, the array is four " "items in length, so up to 4 * 4 = 16 bytes can be read from this file. If " "any mailbox queue entry is empty, then the bytes read at the corresponding " "location are undefined." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:571 msgid "" "The I file contains the contents of the SPU MFC DMA queue, " "represented as the following structure:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:582 #, no-wrap msgid "" "struct spu_dma_info {\n" " uint64_t dma_info_type;\n" " uint64_t dma_info_mask;\n" " uint64_t dma_info_status;\n" " uint64_t dma_info_stall_and_notify;\n" " uint64_t dma_info_atomic_command_status;\n" " struct mfc_cq_sr dma_info_command_data[16];\n" "};\n" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:590 msgid "" "The last member of this data structure is the actual DMA queue, containing " "16 entries. The I structure is defined as:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:599 #, no-wrap msgid "" "struct mfc_cq_sr {\n" " uint64_t mfc_cq_data0_RW;\n" " uint64_t mfc_cq_data1_RW;\n" " uint64_t mfc_cq_data2_RW;\n" " uint64_t mfc_cq_data3_RW;\n" "};\n" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:607 msgid "" "The I file contains similar information, but describes the " "proxy DMA queue (i.e., DMAs initiated by entities outside the SPU) instead. " "The file is in the following format:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:616 #, no-wrap msgid "" "struct spu_proxydma_info {\n" " uint64_t proxydma_info_type;\n" " uint64_t proxydma_info_mask;\n" " uint64_t proxydma_info_status;\n" " struct mfc_cq_sr proxydma_info_command_data[8];\n" "};\n" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:622 msgid "" "Accessing these files requires that the SPU context is scheduled out - " "frequent use can be inefficient. These files should not be used for normal " "program operation." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:626 msgid "" "These files are not present on contexts that have been created with the " "B flag." msgstr "" #. type: TP #: build/C/man7/spufs.7:626 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:631 msgid "" "This file provides access to the SPU Run Control and SPU status registers, " "as an ASCII string. The following operations are supported:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:638 msgid "" "Reads from the I file will return an ASCII string with the hex value " "of the SPU Status register." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:643 msgid "Writes to the I file will set the context's SPU Run Control register." msgstr "" #. type: TP #: build/C/man7/spufs.7:644 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:651 msgid "" "Provides access to the Memory Flow Controller of the SPU. Reading from the " "file returns the contents of the SPU's MFC Tag Status register, and writing " "to the file initiates a DMA from the MFC. The following operations are " "supported:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:656 msgid "" "Writes to this file need to be in the format of a MFC DMA command, defined " "as follows:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:668 #, no-wrap msgid "" "struct mfc_dma_command {\n" " int32_t pad; /* reserved */\n" " uint32_t lsa; /* local storage address */\n" " uint64_t ea; /* effective address */\n" " uint16_t size; /* transfer size */\n" " uint16_t tag; /* command tag */\n" " uint16_t class; /* class ID */\n" " uint16_t cmd; /* command opcode */\n" "};\n" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:676 msgid "" "Writes are required to be exactly I bytes in " "size. The command will be sent to the SPU's MFC proxy queue, and the tag " "stored in the kernel (see below)." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:685 msgid "" "Reads the contents of the tag status register. If the file is opened in " "blocking mode (i.e., without B), then the read will block until " "a DMA tag (as performed by a previous write) is complete. In nonblocking " "mode, the MFC tag status register will be returned without waiting." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:698 msgid "" "Calling B(2) on the I file will block until a new DMA can be " "started (by checking for B) or until a previously started DMA (by " "checking for B) has been completed." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:704 msgid "" "I Provides access to the MFC MultiSource Synchronization (MSS) " "facility. By B(2)-ing this file, processes can access the MSS area of " "the SPU." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:706 build/C/man7/spufs.7:724 msgid "The following operations are supported:" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:715 msgid "" "Mapping B into the process address space gives access to the SPU MSS " "area within the process address space. Only B mappings are " "allowed." msgstr "" #. type: TP #: build/C/man7/spufs.7:716 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:722 msgid "" "Provides access to the whole problem-state mapping of the SPU. Applications " "can use this area to interface to the SPU, rather than writing to individual " "register files in B." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:733 msgid "" "Mapping B gives a process a direct map of the SPU problem state " "area. Only B mappings are supported." msgstr "" #. type: TP #: build/C/man7/spufs.7:734 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:740 msgid "" "Read-only file containing the physical SPU number that the SPU context is " "running on. When the context is not running, this file contains the string " "\"-1\"." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:742 msgid "The physical SPU number is given by an ASCII hex string." msgstr "" #. type: TP #: build/C/man7/spufs.7:742 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:748 msgid "" "Allows applications to store (or retrieve) a single 64-bit ID into the " "context. This ID is later used by profiling tools to uniquely identify the " "context." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:754 msgid "" "By writing an ASCII hex value into this file, applications can set the " "object ID of the SPU context. Any previous value of the object ID is " "overwritten." msgstr "" #. type: Plain text #: build/C/man7/spufs.7:758 msgid "" "Reading this file gives an ASCII hex string representing the object ID for " "this SPU context." msgstr "" #. type: TP #: build/C/man7/spufs.7:760 #, no-wrap msgid "I entry" msgstr "" #. .SH AUTHORS #. Arnd Bergmann , Mark Nutter , #. Ulrich Weigand , Jeremy Kerr #. type: Plain text #: build/C/man7/spufs.7:766 msgid "none \t/spu \tspufs \tgid=spu \t0\t0" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:771 msgid "B(2), B(2), B(2), B(7)" msgstr "" #. type: Plain text #: build/C/man7/spufs.7:773 msgid "I" msgstr "" #. type: TH #: build/C/man2/stat.2:40 #, no-wrap msgid "STAT" msgstr "" #. type: TH #: build/C/man2/stat.2:40 #, no-wrap msgid "2014-08-19" msgstr "" #. type: Plain text #: build/C/man2/stat.2:43 msgid "stat, fstat, lstat, fstatat - get file status" msgstr "" #. type: Plain text #: build/C/man2/stat.2:46 build/C/man2/ustat.2:36 #, no-wrap msgid "B<#include Esys/types.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:48 #, no-wrap msgid "B<#include Esys/stat.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:50 #, no-wrap msgid "B<#include Eunistd.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:52 #, no-wrap msgid "BIB<, struct stat *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:54 #, no-wrap msgid "BIB<, struct stat *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:56 #, no-wrap msgid "BIB<, struct stat *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:59 #, no-wrap msgid "" "B<#include Efcntl.hE >/* Definition of AT_* constants */\n" "B<#include Esys/stat.hE>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:63 #, no-wrap msgid "" "BIB<, const char *>IB<, struct stat " "*>IB<,>\n" "B< int >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:73 msgid "B():" msgstr "" #. type: Plain text #: build/C/man2/stat.2:75 msgid "/* glibc 2.19 and earlier */ _BSD_SOURCE ||" msgstr "" #. type: Plain text #: build/C/man2/stat.2:77 msgid "/* Since glibc 2.20 */_DEFAULT_SOURCE ||" msgstr "" #. type: Plain text #: build/C/man2/stat.2:80 msgid "_XOPEN_SOURCE\\ E=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED" msgstr "" #. type: Plain text #: build/C/man2/stat.2:82 msgid "|| /* Since glibc 2.10: */ _POSIX_C_SOURCE\\ E=\\ 200112L" msgstr "" #. type: Plain text #: build/C/man2/stat.2:85 msgid "B():" msgstr "" #. type: TP #: build/C/man2/stat.2:88 #, no-wrap msgid "Since glibc 2.10:" msgstr "" #. type: Plain text #: build/C/man2/stat.2:91 msgid "_XOPEN_SOURCE\\ E=\\ 700 || _POSIX_C_SOURCE\\ E=\\ 200809L" msgstr "" #. type: TP #: build/C/man2/stat.2:91 #, no-wrap msgid "Before glibc 2.10:" msgstr "" #. type: Plain text #: build/C/man2/stat.2:94 msgid "_ATFILE_SOURCE" msgstr "" #. type: Plain text #: build/C/man2/stat.2:109 msgid "" "These functions return information about a file, in the buffer pointed to by " "I. No permissions are required on the file itself, but\\(emin the " "case of B(), B(), and B()\\(emexecute (search) " "permission is required on all of the directories in I that lead to " "the file." msgstr "" #. type: Plain text #: build/C/man2/stat.2:118 msgid "" "B() and B() retrieve information about the file pointed to " "by I; the differences for B() are described below." msgstr "" #. type: Plain text #: build/C/man2/stat.2:126 msgid "" "B() is identical to B(), except that if I is a " "symbolic link, then it returns information about the link itself, not the " "file that it refers to." msgstr "" #. type: Plain text #: build/C/man2/stat.2:133 msgid "" "B() is identical to B(), except that the file about which " "information is to be retrieved is specified by the file descriptor I." msgstr "" #. type: Plain text #: build/C/man2/stat.2:137 msgid "" "All of these system calls return a I structure, which contains the " "following fields:" msgstr "" #. type: Plain text #: build/C/man2/stat.2:151 #, no-wrap msgid "" "struct stat {\n" " dev_t st_dev; /* ID of device containing file */\n" " ino_t st_ino; /* inode number */\n" " mode_t st_mode; /* protection */\n" " nlink_t st_nlink; /* number of hard links */\n" " uid_t st_uid; /* user ID of owner */\n" " gid_t st_gid; /* group ID of owner */\n" " dev_t st_rdev; /* device ID (if special file) */\n" " off_t st_size; /* total size, in bytes */\n" " blksize_t st_blksize; /* blocksize for filesystem I/O */\n" " blkcnt_t st_blocks; /* number of 512B blocks allocated */\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:155 #, no-wrap msgid "" " /* Since Linux 2.6, the kernel supports nanosecond\n" " precision for the following timestamp fields.\n" " For the details before Linux 2.6, see NOTES. */\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:159 #, no-wrap msgid "" " struct timespec st_atim; /* time of last access */\n" " struct timespec st_mtim; /* time of last modification */\n" " struct timespec st_ctim; /* time of last status change */\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:164 #, no-wrap msgid "" "#define st_atime st_atim.tv_sec /* Backward compatibility */\n" "#define st_mtime st_mtim.tv_sec\n" "#define st_ctime st_ctim.tv_sec\n" "};\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:177 msgid "" "I the order of fields in the I structure varies somewhat across " "architectures. In addition, the definition above does not show the padding " "bytes that may be present between some fields on various architectures. " "Consult the the glibc and kernel source code if you need to know the " "details." msgstr "" #. type: Plain text #: build/C/man2/stat.2:186 msgid "" "The I field describes the device on which this file resides. (The " "B(3) and B(3) macros may be useful to decompose the device " "ID in this field.)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:190 msgid "The I field describes the device that this file (inode) represents." msgstr "" #. type: Plain text #: build/C/man2/stat.2:197 msgid "" "The I field gives the size of the file (if it is a regular file or " "a symbolic link) in bytes. The size of a symbolic link is the length of the " "pathname it contains, without a terminating null byte." msgstr "" #. type: Plain text #: build/C/man2/stat.2:204 msgid "" "The I field indicates the number of blocks allocated to the file, " "512-byte units. (This may be smaller than I/512 when the file has " "holes.)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:210 msgid "" "The I field gives the \"preferred\" blocksize for efficient " "filesystem I/O. (Writing to a file in smaller chunks may cause an " "inefficient read-modify-rewrite.)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:231 msgid "" "Not all of the Linux filesystems implement all of the time fields. Some " "filesystem types allow mounting in such a way that file and/or directory " "accesses do not cause an update of the I field. (See I, " "I, and I in B(8), and related information in " "B(2).) In addition, I is not updated if a file is opened " "with the B; see B(2)." msgstr "" #. type: Plain text #: build/C/man2/stat.2:246 msgid "" "The field I is changed by file accesses, for example, by " "B(2), B(2), B(2), B(2), and B(2) (of more " "than zero bytes). Other routines, like B(2), may or may not update " "I." msgstr "" #. type: Plain text #: build/C/man2/stat.2:265 msgid "" "The field I is changed by file modifications, for example, by " "B(2), B(2), B(2), and B(2) (of more than " "zero bytes). Moreover, I of a directory is changed by the " "creation or deletion of files in that directory. The I field is " "I changed for changes in owner, group, hard link count, or mode." msgstr "" #. type: Plain text #: build/C/man2/stat.2:270 msgid "" "The field I is changed by writing or by setting inode information " "(i.e., owner, group, link count, mode, etc.)." msgstr "" #. type: Plain text #: build/C/man2/stat.2:274 msgid "" "The following mask values are defined for the file type component of the " "I field:" msgstr "" #. type: tbl table #: build/C/man2/stat.2:277 #, no-wrap msgid "S_IFMT\t0170000\tbit mask for the file type bit fields\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:279 #, no-wrap msgid "S_IFSOCK\t0140000\tsocket\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:280 #, no-wrap msgid "S_IFLNK\t0120000\tsymbolic link\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:281 #, no-wrap msgid "S_IFREG\t0100000\tregular file\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:282 #, no-wrap msgid "S_IFBLK\t0060000\tblock device\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:283 #, no-wrap msgid "S_IFDIR\t0040000\tdirectory\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:284 #, no-wrap msgid "S_IFCHR\t0020000\tcharacter device\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:285 #, no-wrap msgid "S_IFIFO\t0010000\tFIFO\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:290 msgid "Thus, to test for a regular file (for example), one could write:" msgstr "" #. type: Plain text #: build/C/man2/stat.2:297 #, no-wrap msgid "" "stat(pathname, &sb);\n" "if ((sb.st_mode & S_IFMT) == S_IFREG) {\n" " /* Handle regular file */\n" "}\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:304 msgid "" "Because tests of the above form are common, additional macros are defined by " "POSIX to allow the test of the file type in I to be written more " "concisely:" msgstr "" #. type: TP #: build/C/man2/stat.2:305 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:308 msgid "is it a regular file?" msgstr "" #. type: TP #: build/C/man2/stat.2:308 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:311 msgid "directory?" msgstr "" #. type: TP #: build/C/man2/stat.2:311 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:314 msgid "character device?" msgstr "" #. type: TP #: build/C/man2/stat.2:314 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:317 msgid "block device?" msgstr "" #. type: TP #: build/C/man2/stat.2:317 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:320 msgid "FIFO (named pipe)?" msgstr "" #. type: TP #: build/C/man2/stat.2:320 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:323 msgid "symbolic link? (Not in POSIX.1-1996.)" msgstr "" #. type: TP #: build/C/man2/stat.2:323 #, no-wrap msgid "B(m)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:326 msgid "socket? (Not in POSIX.1-1996.)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:329 msgid "The preceding code snippet could thus be rewritten as:" msgstr "" #. type: Plain text #: build/C/man2/stat.2:336 #, no-wrap msgid "" "stat(pathname, &sb);\n" "if (S_ISREG(sb.st_mode)) {\n" " /* Handle regular file */\n" "}\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:360 msgid "" "The definitions of most of the above file type test macros are provided if " "any of the following feature test macros is defined: B<_BSD_SOURCE> (in " "glibc 2.19 and earlier), B<_SVID_SOURCE> (in glibc 2.19 and earlier), or " "B<_DEFAULT_SOURCE> (in glibc 2.20 and later). In addition, definitions of " "all of the above macros except B and B() are provided " "if B<_XOPEN_SOURCE> is defined. The definition of B can also be " "exposed by defining B<_XOPEN_SOURCE> with a value of 500 or greater." msgstr "" #. type: Plain text #: build/C/man2/stat.2:372 msgid "" "The definition of B() is exposed if any of the following feature " "test macros is defined: B<_BSD_SOURCE> (in glibc 2.19 and earlier), " "B<_DEFAULT_SOURCE> (in glibc 2.20 and later), B<_XOPEN_SOURCE> with a value " "of 500 or greater, or B<_POSIX_C_SOURCE> with a value of 200112L or greater." msgstr "" #. type: Plain text #: build/C/man2/stat.2:377 msgid "" "The following mask values are defined for the file permissions component of " "the I field:" msgstr "" #. type: tbl table #: build/C/man2/stat.2:380 #, no-wrap msgid "S_ISUID\t0004000\tset-user-ID bit\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:381 #, no-wrap msgid "S_ISGID\t0002000\tset-group-ID bit (see below)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:382 #, no-wrap msgid "S_ISVTX\t0001000\tsticky bit (see below)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:384 #, no-wrap msgid "S_IRWXU\t 00700\tmask for file owner permissions\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:385 #, no-wrap msgid "S_IRUSR\t 00400\towner has read permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:386 #, no-wrap msgid "S_IWUSR\t 00200\towner has write permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:387 #, no-wrap msgid "S_IXUSR\t 00100\towner has execute permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:389 #, no-wrap msgid "S_IRWXG\t 00070\tmask for group permissions\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:390 #, no-wrap msgid "S_IRGRP\t 00040\tgroup has read permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:391 #, no-wrap msgid "S_IWGRP\t 00020\tgroup has write permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:392 #, no-wrap msgid "S_IXGRP\t 00010\tgroup has execute permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:394 #, no-wrap msgid "S_IRWXO\t 00007\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:395 #, no-wrap msgid "mask for permissions for others (not in group)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:396 build/C/man2/stat.2:695 build/C/man2/stat.2:703 build/C/man2/stat.2:714 build/C/man2/stat.2:726 build/C/man2/stat.2:731 build/C/man2/stat.2:734 build/C/man2/stat.2:738 #, no-wrap msgid "T}\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:397 #, no-wrap msgid "S_IROTH\t 00004\tothers have read permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:398 #, no-wrap msgid "S_IWOTH\t 00002\tothers have write permission\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:399 #, no-wrap msgid "S_IXOTH\t 00001\tothers have execute permission\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:416 msgid "" "The set-group-ID bit (B) has several special uses. For a " "directory, it indicates that BSD semantics is to be used for that directory: " "files created there inherit their group ID from the directory, not from the " "effective group ID of the creating process, and directories created there " "will also get the B bit set. For a file that does not have the " "group execution bit (B) set, the set-group-ID bit indicates " "mandatory file/record locking." msgstr "" #. type: Plain text #: build/C/man2/stat.2:425 msgid "" "The sticky bit (B) on a directory means that a file in that " "directory can be renamed or deleted only by the owner of the file, by the " "owner of the directory, and by a privileged process." msgstr "" #. type: SS #: build/C/man2/stat.2:425 #, no-wrap msgid "fstatat()" msgstr "" #. type: Plain text #: build/C/man2/stat.2:431 msgid "" "The B() system call operates in exactly the same way as B(), " "except for the differences described here." msgstr "" #. type: Plain text #: build/C/man2/stat.2:441 msgid "" "If the pathname given in I is relative, then it is interpreted " "relative to the directory referred to by the file descriptor I " "(rather than relative to the current working directory of the calling " "process, as is done by B() for a relative pathname)." msgstr "" #. type: Plain text #: build/C/man2/stat.2:453 msgid "" "If I is relative and I is the special value B, " "then I is interpreted relative to the current working directory of " "the calling process (like B())." msgstr "" #. type: Plain text #: build/C/man2/stat.2:459 msgid "If I is absolute, then I is ignored." msgstr "" #. type: Plain text #: build/C/man2/stat.2:462 msgid "" "I can either be 0, or include one or more of the following flags " "ORed:" msgstr "" #. type: TP #: build/C/man2/stat.2:462 #, no-wrap msgid "B (since Linux 2.6.39)" msgstr "" #. commit 65cfc6722361570bfe255698d9cd4dccaf47570d #. Before glibc 2.16, defining _ATFILE_SOURCE sufficed #. type: Plain text #: build/C/man2/stat.2:485 msgid "" "If I is an empty string, operate on the file referred to by " "I (which may have been obtained using the B(2) B " "flag). If I is B, the call operates on the current working " "directory. In this case, I can refer to any type of file, not just a " "directory. This flag is Linux-specific; define B<_GNU_SOURCE> to obtain its " "definition." msgstr "" #. type: TP #: build/C/man2/stat.2:485 #, no-wrap msgid "B (since Linux 2.6.38)" msgstr "" #. Before glibc 2.16, defining _ATFILE_SOURCE sufficed #. type: Plain text #: build/C/man2/stat.2:501 msgid "" "Don't automount the terminal (\"basename\") component of I if it " "is a directory that is an automount point. This allows the caller to gather " "attributes of an automount point (rather than the location it would mount). " "This flag can be used in tools that scan directories to prevent " "mass-automounting of a directory of automount points. The " "B flag has no effect if the mount point has already been " "mounted over. This flag is Linux-specific; define B<_GNU_SOURCE> to obtain " "its definition." msgstr "" #. type: TP #: build/C/man2/stat.2:501 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/stat.2:512 msgid "" "If I is a symbolic link, do not dereference it: instead return " "information about the link itself, like B(). (By default, " "B() dereferences symbolic links, like B().)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:517 msgid "See B(2) for an explanation of the need for B()." msgstr "" #. type: Plain text #: build/C/man2/stat.2:530 msgid "" "Search permission is denied for one of the directories in the path prefix of " "I. (See also B(7).)" msgstr "" #. type: Plain text #: build/C/man2/stat.2:534 msgid "I is bad." msgstr "" #. type: Plain text #: build/C/man2/stat.2:537 msgid "Bad address." msgstr "" #. type: Plain text #: build/C/man2/stat.2:540 msgid "Too many symbolic links encountered while traversing the path." msgstr "" #. type: Plain text #: build/C/man2/stat.2:551 msgid "" "A component of I does not exist, or I is an empty " "string." msgstr "" #. type: Plain text #: build/C/man2/stat.2:554 msgid "Out of memory (i.e., kernel memory)." msgstr "" #. type: Plain text #: build/C/man2/stat.2:559 msgid "A component of the path prefix of I is not a directory." msgstr "" #. type: TP #: build/C/man2/stat.2:559 build/C/man2/statfs.2:215 build/C/man3/statvfs.3:154 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/stat.2:578 msgid "" "I or I refers to a file whose size, inode number, or number of " "blocks cannot be represented in, respectively, the types I, I, " "or I. This error can occur when, for example, an application " "compiled on a 32-bit platform without I<-D_FILE_OFFSET_BITS=64> calls " "B() on a file whose size exceeds I<(1EE31)-1> bytes." msgstr "" #. type: Plain text #: build/C/man2/stat.2:581 msgid "The following additional errors can occur for B():" msgstr "" #. type: Plain text #: build/C/man2/stat.2:585 msgid "I is not a valid file descriptor." msgstr "" #. type: Plain text #: build/C/man2/stat.2:589 msgid "Invalid flag specified in I." msgstr "" #. type: Plain text #: build/C/man2/stat.2:595 msgid "" "I is relative and I is a file descriptor referring to a " "file other than a directory." msgstr "" #. type: Plain text #: build/C/man2/stat.2:599 msgid "" "B() was added to Linux in kernel 2.6.16; library support was added " "to glibc in version 2.4." msgstr "" #. SVr4 documents additional #. .BR fstat () #. error conditions EINTR, ENOLINK, and EOVERFLOW. SVr4 #. documents additional #. .BR stat () #. and #. .BR lstat () #. error conditions EINTR, EMULTIHOP, ENOLINK, and EOVERFLOW. #. type: Plain text #: build/C/man2/stat.2:612 msgid "B(), B(), B(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1.2008." msgstr "" #. type: Plain text #: build/C/man2/stat.2:615 msgid "B(): POSIX.1-2008." msgstr "" #. type: Plain text #: build/C/man2/stat.2:629 msgid "" "According to POSIX.1-2001, B() on a symbolic link need return valid " "information only in the I field and the file-type component of the " "I field of the I structure. POSIX.1-2008 tightens the " "specification, requiring B() to return valid information in all " "fields except the permission bits in I." msgstr "" #. type: Plain text #: build/C/man2/stat.2:649 msgid "" "Use of the I and I fields may be less portable. " "(They were introduced in BSD. The interpretation differs between systems, " "and possibly on a single system when NFS mounts are involved.) If you need " "to obtain the definition of the I or I types from " "Isys/stat.hE>, then define B<_XOPEN_SOURCE> with the value 500 or " "greater (before including I header files)." msgstr "" #. type: Plain text #: build/C/man2/stat.2:667 msgid "" "POSIX.1-1990 did not describe the B, B, B, " "B, B, B, B, B, B " "constants, but instead demanded the use of the macros B(), and so " "on. The B constants are present in POSIX.1-2001 and later." msgstr "" #. type: Plain text #: build/C/man2/stat.2:675 msgid "" "The B() and B() macros are not in POSIX.1-1996, but " "both are present in POSIX.1-2001; the former is from SVID 4, the latter from " "SUSv2." msgstr "" #. type: Plain text #: build/C/man2/stat.2:685 msgid "" "UNIX\\ V7 (and later systems) had B, B, B, where " "POSIX prescribes the synonyms B, B, B." msgstr "" #. type: SS #: build/C/man2/stat.2:685 #, no-wrap msgid "Other systems" msgstr "" #. type: Plain text #: build/C/man2/stat.2:687 msgid "Values that have been (or are) in use on various systems:" msgstr "" #. type: tbl table #: build/C/man2/stat.2:690 #, no-wrap msgid "hex\tname\tls\toctal\tdescription\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:691 #, no-wrap msgid "f000\tS_IFMT\t\t170000\tmask for file type\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:692 #, no-wrap msgid "0000\t\t\t000000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:693 #, no-wrap msgid "SCO out-of-service inode; BSD unknown type; SVID-v2 and XPG2\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:694 #, no-wrap msgid "have both 0 and 0100000 for ordinary file\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:696 #, no-wrap msgid "1000\tS_IFIFO\tp|\t010000\tFIFO (named pipe)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:697 #, no-wrap msgid "2000\tS_IFCHR\tc\t020000\tcharacter special (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:698 #, no-wrap msgid "3000\tS_IFMPC\t\t030000\tmultiplexed character special (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:699 #, no-wrap msgid "4000\tS_IFDIR\td/\t040000\tdirectory (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:700 #, no-wrap msgid "5000\tS_IFNAM\t\t050000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:701 #, no-wrap msgid "XENIX named special file with two subtypes, distinguished by\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:702 #, no-wrap msgid "I values 1, 2\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:704 #, no-wrap msgid "0001\tS_INSEM\ts\t000001\tXENIX semaphore subtype of IFNAM\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:705 #, no-wrap msgid "0002\tS_INSHD\tm\t000002\tXENIX shared data subtype of IFNAM\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:706 #, no-wrap msgid "6000\tS_IFBLK\tb\t060000\tblock special (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:707 #, no-wrap msgid "7000\tS_IFMPB\t\t070000\tmultiplexed block special (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:708 #, no-wrap msgid "8000\tS_IFREG\t-\t100000\tregular (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:709 #, no-wrap msgid "9000\tS_IFCMP\t\t110000\tVxFS compressed\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:710 #, no-wrap msgid "9000\tS_IFNWK\tn\t110000\tnetwork special (HP-UX)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:711 #, no-wrap msgid "a000\tS_IFLNK\tl@\t120000\tsymbolic link (BSD)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:712 #, no-wrap msgid "b000\tS_IFSHAD\t\t130000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:713 #, no-wrap msgid "Solaris shadow inode for ACL (not seen by user space)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:715 #, no-wrap msgid "c000\tS_IFSOCK\ts=\t140000\tsocket (BSD; also \"S_IFSOC\" on VxFS)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:716 #, no-wrap msgid "d000\tS_IFDOOR\tDE\t150000\tSolaris door\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:717 #, no-wrap msgid "e000\tS_IFWHT\tw%\t160000\tBSD whiteout (not used for inode)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:718 #, no-wrap msgid "0200\tS_ISVTX\t\t001000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:719 #, no-wrap msgid "sticky bit: save swapped text even after use (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:720 build/C/man2/stat.2:722 build/C/man2/stat.2:724 build/C/man2/stat.2:729 #, no-wrap msgid ".br\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:721 #, no-wrap msgid "reserved (SVID-v2)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:723 #, no-wrap msgid "On nondirectories: don't cache this file (SunOS)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:725 #, no-wrap msgid "On directories: restricted deletion flag (SVID-v4.2)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:727 #, no-wrap msgid "0400\tS_ISGID\t\t002000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:728 #, no-wrap msgid "set-group-ID on execution (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:730 #, no-wrap msgid "for directories: use BSD semantics for propagation of GID\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:732 #, no-wrap msgid "0400\tS_ENFMT\t\t002000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:733 #, no-wrap msgid "System V file locking enforcement (shared with S_ISGID)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:735 #, no-wrap msgid "0800\tS_ISUID\t\t004000\tset-user-ID on execution (V7)\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:736 #, no-wrap msgid "0800\tS_CDF\t\t004000\tT{\n" msgstr "" #. type: tbl table #: build/C/man2/stat.2:737 #, no-wrap msgid "directory is a context dependent file (HP-UX)\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:743 msgid "A sticky command appeared in Version 32V AT&T UNIX." msgstr "" #. type: Plain text #: build/C/man2/stat.2:750 msgid "" "On Linux, B() will generally not trigger automounter action, whereas " "B() will (but see B(2))." msgstr "" #. type: Plain text #: build/C/man2/stat.2:758 msgid "" "For most files under the I directory, B() does not return the " "file size in the I field; instead the field is returned with the " "value 0." msgstr "" #. type: SS #: build/C/man2/stat.2:758 #, no-wrap msgid "Timestamp fields" msgstr "" #. type: Plain text #: build/C/man2/stat.2:769 msgid "" "Older kernels and older standards did not support nanosecond timestamp " "fields. Instead, there were three timestamp fields\\(emI, " "I, and I\\(emtyped as I that recorded timestamps " "with one-second precision." msgstr "" #. type: Plain text #: build/C/man2/stat.2:791 msgid "" "Since kernel 2.5.48, the I structure supports nanosecond resolution " "for the three file timestamp fields. The nanosecond components of each " "timestamp are available via names of the form I if the " "B<_BSD_SOURCE> or B<_SVID_SOURCE> feature test macro is defined. Nanosecond " "timestamps are nowadays standardized, starting with POSIX.1-2008, and, " "starting with version 2.12, glibc also exposes the nanosecond component " "names if B<_POSIX_C_SOURCE> is defined with the value 200809L or greater, or " "B<_XOPEN_SOURCE> is defined with the value 700 or greater. If none of the " "aforementioned macros are defined, then the nanosecond values are exposed " "with names of the form I." msgstr "" #. commit ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80 #. type: Plain text #: build/C/man2/stat.2:798 msgid "" "Nanosecond timestamps are supported on XFS, JFS, Btrfs, and ext4 (since " "Linux 2.6.23). Nanosecond timestamps are not supported in ext2, ext3, and " "Reiserfs. On filesystems that do not support subsecond timestamps, the " "nanosecond fields are returned with the value 0." msgstr "" #. type: SS #: build/C/man2/stat.2:798 #, no-wrap msgid "Underlying kernel interface" msgstr "" # #. A note from Andries Brouwer, July 2007 # #. > Is the story not rather more complicated for some calls like #. > stat(2)? # #. Yes and no, mostly no. See /usr/include/sys/stat.h . # #. The idea is here not so much that syscalls change, but that #. the definitions of struct stat and of the types dev_t and mode_t change. #. This means that libc (even if it does not call the kernel #. but only calls some internal function) must know what the #. format of dev_t or of struct stat is. #. The communication between the application and libc goes via #. the include file that defines a _STAT_VER and #. _MKNOD_VER describing the layout of the data that user space #. uses. Each (almost each) occurrence of stat() is replaced by #. an occurrence of xstat() where the first parameter of xstat() #. is this version number _STAT_VER. # #. Now, also the definitions used by the kernel change. #. But glibc copes with this in the standard way, and the #. struct stat as returned by the kernel is repacked into #. the struct stat as expected by the application. #. Thus, _STAT_VER and this setup cater for the application-libc #. interface, rather than the libc-kernel interface. # #. (Note that the details depend on gcc being used as c compiler.) #. type: Plain text #: build/C/man2/stat.2:850 msgid "" "Over time, increases in the size of the I structure have led to three " "successive versions of B(): I() (slot I<__NR_oldstat>), " "I() (slot I<__NR_stat>), and I (new in kernel " "2.4; slot I<__NR_stat64>). The glibc B() wrapper function hides " "these details from applications, invoking the most recent version of the " "system call provided by the kernel, and repacking the returned information " "if required for old binaries. Similar remarks apply for B() and " "B()." msgstr "" #. type: Plain text #: build/C/man2/stat.2:855 msgid "" "The underlying system call employed by the glibc B() wrapper " "function is actually called B()." msgstr "" #. type: Plain text #: build/C/man2/stat.2:861 msgid "" "The following program calls B() and displays selected fields in the " "returned I structure." msgstr "" #. type: Plain text #: build/C/man2/stat.2:868 #, no-wrap msgid "" "#include Esys/types.hE\n" "#include Esys/stat.hE\n" "#include Etime.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:873 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct stat sb;\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:878 #, no-wrap msgid "" " if (argc != 2) {\n" " fprintf(stderr, \"Usage: %s EpathnameE\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:883 #, no-wrap msgid "" " if (stat(argv[1], &sb) == -1) {\n" " perror(\"stat\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:885 #, no-wrap msgid " printf(\"File type: \");\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:896 #, no-wrap msgid "" " switch (sb.st_mode & S_IFMT) {\n" " case S_IFBLK: printf(\"block device\\en\"); break;\n" " case S_IFCHR: printf(\"character device\\en\"); break;\n" " case S_IFDIR: printf(\"directory\\en\"); break;\n" " case S_IFIFO: printf(\"FIFO/pipe\\en\"); break;\n" " case S_IFLNK: printf(\"symlink\\en\"); break;\n" " case S_IFREG: printf(\"regular file\\en\"); break;\n" " case S_IFSOCK: printf(\"socket\\en\"); break;\n" " default: printf(\"unknown?\\en\"); break;\n" " }\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:898 #, no-wrap msgid " printf(\"I-node number: %ld\\en\", (long) sb.st_ino);\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:901 #, no-wrap msgid "" " printf(\"Mode: %lo (octal)\\en\",\n" " (unsigned long) sb.st_mode);\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:905 #, no-wrap msgid "" " printf(\"Link count: %ld\\en\", (long) sb.st_nlink);\n" " printf(\"Ownership: UID=%ld GID=%ld\\en\",\n" " (long) sb.st_uid, (long) sb.st_gid);\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:912 #, no-wrap msgid "" " printf(\"Preferred I/O block size: %ld bytes\\en\",\n" " (long) sb.st_blksize);\n" " printf(\"File size: %lld bytes\\en\",\n" " (long long) sb.st_size);\n" " printf(\"Blocks allocated: %lld\\en\",\n" " (long long) sb.st_blocks);\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:916 #, no-wrap msgid "" " printf(\"Last status change: %s\", ctime(&sb.st_ctime));\n" " printf(\"Last file access: %s\", ctime(&sb.st_atime));\n" " printf(\"Last file modification: %s\", ctime(&sb.st_mtime));\n" msgstr "" #. type: Plain text #: build/C/man2/stat.2:930 msgid "" "B(1), B(1), B(2), B(2), B(2), " "B(2), B(2), B(7), B(7)" msgstr "" #. type: TH #: build/C/man2/statfs.2:28 #, no-wrap msgid "STATFS" msgstr "" #. type: TH #: build/C/man2/statfs.2:28 #, no-wrap msgid "2014-06-13" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:31 msgid "statfs, fstatfs - get filesystem statistics" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:33 msgid "B<#include Esys/vfs.hE >/* or Esys/statfs.hE */" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:35 msgid "BIB<, struct statfs *>IB<);>" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:37 msgid "BIB<, struct statfs *>IB<);>" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:47 msgid "" "The function B() returns information about a mounted filesystem. " "I is the pathname of any file within the mounted filesystem. I " "is a pointer to a I structure defined approximately as follows:" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:55 #, no-wrap msgid "" "#if __WORDSIZE == 32\t\t/* System word size */\n" "# define __SWORD_TYPE int\n" "#else /* __WORDSIZE == 64 */\n" "# define __SWORD_TYPE\t\tlong int\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:70 #, no-wrap msgid "" "struct statfs {\n" " __SWORD_TYPE f_type; /* type of filesystem (see below) */\n" " __SWORD_TYPE f_bsize; /* optimal transfer block size */\n" " fsblkcnt_t f_blocks; /* total data blocks in filesystem */\n" " fsblkcnt_t f_bfree; /* free blocks in fs */\n" " fsblkcnt_t f_bavail; /* free blocks available to\n" " unprivileged user */\n" " fsfilcnt_t f_files; /* total file nodes in filesystem */\n" " fsfilcnt_t f_ffree; /* free file nodes in fs */\n" " fsid_t f_fsid; /* filesystem id */\n" " __SWORD_TYPE f_namelen; /* maximum length of filenames */\n" " __SWORD_TYPE f_frsize; /* fragment size (since Linux 2.6) */\n" " __SWORD_TYPE f_spare[5];\n" "};\n" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:72 #, no-wrap msgid "Filesystem types:\n" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:142 #, no-wrap msgid "" " ADFS_SUPER_MAGIC 0xadf5\n" " AFFS_SUPER_MAGIC 0xADFF\n" " BDEVFS_MAGIC 0x62646576\n" " BEFS_SUPER_MAGIC 0x42465331\n" " BFS_MAGIC 0x1BADFACE\n" " BINFMTFS_MAGIC 0x42494e4d\n" " BTRFS_SUPER_MAGIC 0x9123683E\n" " CGROUP_SUPER_MAGIC 0x27e0eb\n" " CIFS_MAGIC_NUMBER 0xFF534D42\n" " CODA_SUPER_MAGIC 0x73757245\n" " COH_SUPER_MAGIC 0x012FF7B7\n" " CRAMFS_MAGIC 0x28cd3d45\n" " DEBUGFS_MAGIC 0x64626720\n" " DEVFS_SUPER_MAGIC 0x1373\n" " DEVPTS_SUPER_MAGIC 0x1cd1\n" " EFIVARFS_MAGIC 0xde5e81e4\n" " EFS_SUPER_MAGIC 0x00414A53\n" " EXT_SUPER_MAGIC 0x137D\n" " EXT2_OLD_SUPER_MAGIC 0xEF51\n" " EXT2_SUPER_MAGIC 0xEF53\n" " EXT3_SUPER_MAGIC 0xEF53\n" " EXT4_SUPER_MAGIC 0xEF53\n" " FUSE_SUPER_MAGIC 0x65735546\n" " FUTEXFS_SUPER_MAGIC 0xBAD1DEA\n" " HFS_SUPER_MAGIC 0x4244\n" " HOSTFS_SUPER_MAGIC 0x00c0ffee\n" " HPFS_SUPER_MAGIC 0xF995E849\n" " HUGETLBFS_MAGIC 0x958458f6\n" " ISOFS_SUPER_MAGIC 0x9660\n" " JFFS2_SUPER_MAGIC 0x72b6\n" " JFS_SUPER_MAGIC 0x3153464a\n" " MINIX_SUPER_MAGIC 0x137F /* orig. minix */\n" " MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */\n" " MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */\n" " MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */\n" " MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs, 60 char names */\n" " MQUEUE_MAGIC 0x19800202\n" " MSDOS_SUPER_MAGIC 0x4d44\n" " NCP_SUPER_MAGIC 0x564c\n" " NFS_SUPER_MAGIC 0x6969\n" " NILFS_SUPER_MAGIC 0x3434\n" " NTFS_SB_MAGIC 0x5346544e\n" " OPENPROM_SUPER_MAGIC 0x9fa1\n" " PIPEFS_MAGIC 0x50495045\n" " PROC_SUPER_MAGIC 0x9fa0\n" " PSTOREFS_MAGIC 0x6165676C\n" " QNX4_SUPER_MAGIC 0x002f\n" " QNX6_SUPER_MAGIC 0x68191122\n" " RAMFS_MAGIC 0x858458f6\n" " REISERFS_SUPER_MAGIC 0x52654973\n" " ROMFS_MAGIC 0x7275\n" " SELINUX_MAGIC 0xf97cff8c\n" " SMACK_MAGIC 0x43415d53\n" " SMB_SUPER_MAGIC 0x517B\n" " SOCKFS_MAGIC 0x534F434B\n" " SQUASHFS_MAGIC 0x73717368\n" " SYSFS_MAGIC 0x62656572\n" " SYSV2_SUPER_MAGIC 0x012FF7B6\n" " SYSV4_SUPER_MAGIC 0x012FF7B5\n" " TMPFS_MAGIC 0x01021994\n" " UDF_SUPER_MAGIC 0x15013346\n" " UFS_MAGIC 0x00011954\n" " USBDEVICE_SUPER_MAGIC 0x9fa2\n" " V9FS_MAGIC 0x01021997\n" " VXFS_SUPER_MAGIC 0xa501FCF5\n" " XENFS_SUPER_MAGIC 0xabba1974\n" " XENIX_SUPER_MAGIC 0x012FF7B4\n" " XFS_SUPER_MAGIC 0x58465342\n" " _XIAFS_SUPER_MAGIC 0x012FD16D\n" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:148 msgid "" "Most of these MAGIC constants are defined in I, " "and some are hardcoded in kernel sources." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:152 msgid "Nobody knows what I is supposed to contain (but see below)." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:157 msgid "" "Fields that are undefined for a particular filesystem are set to 0. " "B() returns the same information about an open file referenced by " "descriptor I." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:170 msgid "" "(B()) Search permission is denied for a component of the path " "prefix of I. (See also B(7).)" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:175 msgid "(B()) I is not a valid open file descriptor." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:181 msgid "I or I points to an invalid address." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:184 build/C/man3/statvfs.3:123 msgid "This call was interrupted by a signal." msgstr "" #. type: TP #: build/C/man2/statfs.2:184 build/C/man3/statvfs.3:123 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:187 build/C/man3/statvfs.3:126 msgid "An I/O error occurred while reading from the filesystem." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:192 msgid "" "(B()) Too many symbolic links were encountered in translating " "I." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:197 msgid "(B()) I is too long." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:203 msgid "(B()) The file referred to by I does not exist." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:206 build/C/man3/statvfs.3:145 msgid "Insufficient kernel memory was available." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:209 build/C/man3/statvfs.3:148 msgid "The filesystem does not support this call." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:215 msgid "(B()) A component of the path prefix of I is not a directory." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:218 build/C/man3/statvfs.3:157 msgid "Some values were too large to be represented in the returned struct." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:224 msgid "" "Linux-specific. The Linux B() was inspired by the 4.4BSD one (but " "they do not use the same structure)." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:246 msgid "" "The original Linux B() and B() system calls were not " "designed with extremely large file sizes in mind. Subsequently, Linux 2.6 " "added new B() and B() system calls that employ a new " "structure, I. The new structure contains the same fields as the " "original I structure, but the sizes of various fields are increased, " "to accommodate large file sizes. The glibc B() and B() " "wrapper functions transparently deal with the kernel differences." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:251 msgid "" "Some systems have only Isys/vfs.hE>, other systems also have " "Isys/statfs.hE>, where the former includes the latter. So it " "seems including the former is the best choice." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:261 msgid "" "LSB has deprecated the library calls B() and B() and " "tells us to use B(2) and B(2) instead." msgstr "" #. type: SS #: build/C/man2/statfs.2:261 #, no-wrap msgid "The f_fsid field" msgstr "" #. type: Plain text #: build/C/man2/statfs.2:286 msgid "" "Solaris, Irix and POSIX have a system call B(2) that returns a " "I (defined in Isys/statvfs.hE>) containing an " "I I. Linux, SunOS, HP-UX, 4.4BSD have a system call " "B() that returns a I (defined in " "Isys/vfs.hE>) containing a I I, where I " "is defined as I. The same holds for FreeBSD, except " "that it uses the include file Isys/mount.hE>." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:299 msgid "" "The general idea is that I contains some random stuff such that the " "pair (I,I) uniquely determines a file. Some operating systems " "use (a variation on) the device number, or the device number combined with " "the filesystem type. Several operating systems restrict giving out the " "I field to the superuser only (and zero it for unprivileged users), " "because this field is used in the filehandle of the filesystem when " "NFS-exported, and giving it out is a security concern." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:305 msgid "" "Under some operating systems, the I can be used as the second argument " "to the B(2) system call." msgstr "" #. broken in commit ff0c7d15f9787b7e8c601533c015295cc68329f8 #. fixed in commit d70ef97baf048412c395bb5d65791d8fe133a52b #. type: Plain text #: build/C/man2/statfs.2:314 msgid "" "From Linux 2.6.38 up to and including Linux 3.1, B() failed with " "the error B for file descriptors created by B(2)." msgstr "" #. type: Plain text #: build/C/man2/statfs.2:318 msgid "B(2), B(2), B(7)" msgstr "" #. type: TH #: build/C/man3/statvfs.3:30 #, no-wrap msgid "STATVFS" msgstr "" #. type: TH #: build/C/man3/statvfs.3:30 #, no-wrap msgid "2013-09-26" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:33 msgid "statvfs, fstatvfs - get filesystem statistics" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:35 msgid "B<#include Esys/statvfs.hE>" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:37 msgid "BIB<, struct statvfs *>IB<);>" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:39 msgid "BIB<, struct statvfs *>IB<);>" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:49 msgid "" "The function B() returns information about a mounted filesystem. " "I is the pathname of any file within the mounted filesystem. I " "is a pointer to a I structure defined approximately as follows:" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:65 #, no-wrap msgid "" "struct statvfs {\n" " unsigned long f_bsize; /* filesystem block size */\n" " unsigned long f_frsize; /* fragment size */\n" " fsblkcnt_t f_blocks; /* size of fs in f_frsize units */\n" " fsblkcnt_t f_bfree; /* # free blocks */\n" " fsblkcnt_t f_bavail; /* # free blocks for unprivileged users */\n" " fsfilcnt_t f_files; /* # inodes */\n" " fsfilcnt_t f_ffree; /* # free inodes */\n" " fsfilcnt_t f_favail; /* # free inodes for unprivileged users */\n" " unsigned long f_fsid; /* filesystem ID */\n" " unsigned long f_flag; /* mount flags */\n" " unsigned long f_namemax; /* maximum filename length */\n" "};\n" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:76 msgid "" "Here the types I and I are defined in " "Isys/types.hE>. Both used to be I." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:82 msgid "" "The field I is a bit mask (of mount flags, see B(8)). Bits " "defined by POSIX are" msgstr "" #. type: TP #: build/C/man3/statvfs.3:82 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:85 msgid "Read-only filesystem." msgstr "" #. type: TP #: build/C/man3/statvfs.3:85 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:89 msgid "Set-user-ID/set-group-ID bits are ignored by B(3)." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:92 msgid "" "It is unspecified whether all members of the returned struct have meaningful " "values on all filesystems." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:96 msgid "" "B() returns the same information about an open file referenced by " "descriptor I." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:109 msgid "" "(B()) Search permission is denied for a component of the path " "prefix of I. (See also B(7).)" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:114 msgid "(B()) I is not a valid open file descriptor." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:120 msgid "I or I points to an invalid address." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:131 msgid "" "(B()) Too many symbolic links were encountered in translating " "I." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:136 msgid "(B()) I is too long." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:142 msgid "(B()) The file referred to by I does not exist." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:154 msgid "" "(B()) A component of the path prefix of I is not a " "directory." msgstr "" #. type: SH #: build/C/man3/statvfs.3:157 #, no-wrap msgid "ATTRIBUTES" msgstr "" #. type: SS #: build/C/man3/statvfs.3:158 #, no-wrap msgid "Multithreading (see pthreads(7))" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:164 msgid "The B() and B() functions are thread-safe." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:166 msgid "POSIX.1-2001." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:172 msgid "" "The Linux kernel has system calls B(2) and B(2) to " "support this library call." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:174 msgid "The current glibc implementations of" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:179 #, no-wrap msgid "" " pathconf(path, _PC_REC_XFER_ALIGN);\n" " pathconf(path, _PC_ALLOC_SIZE_MIN);\n" " pathconf(path, _PC_REC_MIN_XFER_SIZE);\n" msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:188 msgid "" "respectively use the I, I, and I fields of the " "return value of I." msgstr "" #. type: Plain text #: build/C/man3/statvfs.3:190 msgid "B(2)" msgstr "" #. type: TH #: build/C/man2/sysfs.2:27 #, no-wrap msgid "SYSFS" msgstr "" #. type: TH #: build/C/man2/sysfs.2:27 #, no-wrap msgid "2010-06-27" msgstr "" #. type: Plain text #: build/C/man2/sysfs.2:30 msgid "sysfs - get filesystem type information" msgstr "" #. type: Plain text #: build/C/man2/sysfs.2:32 msgid "BI, the same information can be obtained via " "I; use that interface instead." msgstr "" #. type: Plain text #: build/C/man2/sysfs.2:104 msgid "" "There is no libc or glibc support. There is no way to guess how large " "I should be." msgstr "" #. type: TH #: build/C/man2/umount.2:30 #, no-wrap msgid "UMOUNT" msgstr "" #. type: TH #: build/C/man2/umount.2:30 #, no-wrap msgid "2014-02-26" msgstr "" #. type: Plain text #: build/C/man2/umount.2:33 msgid "umount, umount2 - unmount filesystem" msgstr "" #. type: Plain text #: build/C/man2/umount.2:38 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/umount.2:40 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "" #. Note: the kernel naming differs from the glibc naming #. umount2 is the glibc name for what the kernel now calls umount #. and umount is the glibc name for oldumount #. type: Plain text #: build/C/man2/umount.2:50 msgid "" "B() and B() remove the attachment of the (topmost) " "filesystem mounted on I." msgstr "" #. type: Plain text #: build/C/man2/umount.2:54 msgid "" "Appropriate privilege (Linux: the B capability) is required " "to unmount filesystems." msgstr "" #. type: Plain text #: build/C/man2/umount.2:62 msgid "" "Linux 2.1.116 added the B() system call, which, like B(), " "unmounts a target, but allows additional I controlling the behavior " "of the operation:" msgstr "" #. type: TP #: build/C/man2/umount.2:62 #, no-wrap msgid "B (since Linux 2.1.116)" msgstr "" #. type: Plain text #: build/C/man2/umount.2:67 msgid "" "Force unmount even if busy. This can cause data loss. (Only for NFS " "mounts.)" msgstr "" #. type: TP #: build/C/man2/umount.2:67 #, no-wrap msgid "B (since Linux 2.4.11)" msgstr "" #. type: Plain text #: build/C/man2/umount.2:72 msgid "" "Perform a lazy unmount: make the mount point unavailable for new accesses, " "and actually perform the unmount when the mount point ceases to be busy." msgstr "" #. type: TP #: build/C/man2/umount.2:72 #, no-wrap msgid "B (since Linux 2.6.8)" msgstr "" #. type: Plain text #: build/C/man2/umount.2:91 msgid "" "Mark the mount point as expired. If a mount point is not currently in use, " "then an initial call to B() with this flag fails with the error " "B, but marks the mount point as expired. The mount point remains " "expired as long as it isn't accessed by any process. A second B() " "call specifying B unmounts an expired mount point. This flag " "cannot be specified with either B or B." msgstr "" #. type: TP #: build/C/man2/umount.2:91 #, no-wrap msgid "B (since Linux 2.6.34)" msgstr "" #. Later added to 2.6.33-stable #. type: Plain text #: build/C/man2/umount.2:99 msgid "" "Don't dereference I if it is a symbolic link. This flag allows " "security problems to be avoided in set-user-ID-I programs that allow " "unprivileged users to unmount filesystems." msgstr "" #. type: TP #: build/C/man2/umount.2:110 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man2/umount.2:117 msgid "" "A call to B() specifying B successfully marked an " "unbusy filesystem as expired." msgstr "" #. type: Plain text #: build/C/man2/umount.2:121 msgid "I could not be unmounted because it is busy." msgstr "" #. type: Plain text #: build/C/man2/umount.2:125 msgid "I points outside the user address space." msgstr "" #. type: Plain text #: build/C/man2/umount.2:129 msgid "I is not a mount point." msgstr "" #. type: Plain text #: build/C/man2/umount.2:138 msgid "" "B() was called with B and either B or " "B." msgstr "" #. type: TP #: build/C/man2/umount.2:138 #, no-wrap msgid "B (since Linux 2.6.34)" msgstr "" #. type: Plain text #: build/C/man2/umount.2:143 msgid "B() was called with an invalid flag value in I." msgstr "" #. http://sourceware.org/bugzilla/show_bug.cgi?id=10092 #. type: Plain text #: build/C/man2/umount.2:162 msgid "B and B are available in glibc since version 2.11." msgstr "" #. type: Plain text #: build/C/man2/umount.2:165 msgid "" "These functions are Linux-specific and should not be used in programs " "intended to be portable." msgstr "" #. type: Plain text #: build/C/man2/umount.2:176 msgid "" "The original B() function was called as I and would " "return B when called with something other than a block device. In " "Linux 0.98p4, a call I was added, in order to support anonymous " "devices. In Linux 2.3.99-pre7, the call I was removed, " "leaving only I (since now devices can be mounted in more than " "one place, so specifying the device does not suffice)." msgstr "" #. type: Plain text #: build/C/man2/umount.2:181 msgid "B(2), B(7), B(8), B(8)" msgstr "" #. type: TH #: build/C/man2/ustat.2:30 #, no-wrap msgid "USTAT" msgstr "" #. type: TH #: build/C/man2/ustat.2:30 #, no-wrap msgid "2003-08-04" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:33 msgid "ustat - get filesystem statistics" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:38 #, no-wrap msgid "B<#include Eunistd.hE> /* libc[45] */\n" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:40 #, no-wrap msgid "B<#include Eustat.hE> /* glibc2 */\n" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:42 #, no-wrap msgid "BIB<, struct ustat *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:54 msgid "" "B() returns information about a mounted filesystem. I is a " "device number identifying a device containing a mounted filesystem. I " "is a pointer to a I structure that contains the following members:" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:61 #, no-wrap msgid "" "daddr_t f_tfree; /* Total free blocks */\n" "ino_t f_tinode; /* Number of free inodes */\n" "char f_fname[6]; /* Filsys name */\n" "char f_fpack[6]; /* Filsys pack name */\n" msgstr "" #. type: Plain text #: build/C/man2/ustat.2:70 msgid "" "The last two fields, I and I, are not implemented and will " "always be filled with null bytes (\\(aq\\e0\\(aq)." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:79 msgid "" "On success, zero is returned and the I structure pointed to by " "I will be filled in. On error, -1 is returned, and I is set " "appropriately." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:84 msgid "I points outside of your accessible address space." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:88 msgid "I does not refer to a device containing a mounted filesystem." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:94 msgid "" "The mounted filesystem referenced by I does not support this operation, " "or any version of Linux before 1.3.16." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:104 msgid "" "B() is deprecated and has been provided only for compatibility. All " "new programs should use B(2) instead." msgstr "" #. type: SS #: build/C/man2/ustat.2:104 #, no-wrap msgid "HP-UX notes" msgstr "" #. Some software tries to use this in order to test whether the #. underlying filesystem is NFS. #. type: Plain text #: build/C/man2/ustat.2:118 msgid "" "The HP-UX version of the I structure has an additional field, " "I, that is unknown elsewhere. HP-UX warns: For some filesystems, " "the number of free inodes does not change. Such filesystems will return -1 " "in the field I. For some filesystems, inodes are dynamically " "allocated. Such filesystems will return the current number of free inodes." msgstr "" #. type: Plain text #: build/C/man2/ustat.2:121 msgid "B(2), B(2)" msgstr ""