Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1 | From b972600a26f3a930e53e2fce2625266a5d29813e Mon Sep 17 00:00:00 2001 |
| 2 | From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com> |
| 3 | Date: Tue, 14 Apr 2015 23:53:11 +0200 |
| 4 | Subject: [PATCH 1/2] Remove the section 2 man pages |
| 5 | |
| 6 | Commit 8d1263bca95722d66a6f8e83450f49d0956ea534 from upstream |
| 7 | https://git.savannah.nongnu.org/git/attr.git/ |
| 8 | |
| 9 | The section 2 man pages have long since been added to the man-pages package |
| 10 | which documents all system calls; they were disabled in attr by default since |
| 11 | January 2014. Get rid of them here. |
| 12 | |
| 13 | Upstream-Status: Backport |
| 14 | |
| 15 | [MA: modified to apply directly to v2.4.47] |
| 16 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> |
| 17 | --- |
| 18 | man/Makefile | 2 +- |
| 19 | man/man2/Makefile | 35 ----------- |
| 20 | man/man2/getxattr.2 | 143 -------------------------------------------- |
| 21 | man/man2/listxattr.2 | 158 ------------------------------------------------- |
| 22 | man/man2/removexattr.2 | 111 ---------------------------------- |
| 23 | man/man2/setxattr.2 | 143 -------------------------------------------- |
| 24 | 6 files changed, 1 insertion(+), 591 deletions(-) |
| 25 | delete mode 100644 man/man2/Makefile |
| 26 | delete mode 100644 man/man2/getxattr.2 |
| 27 | delete mode 100644 man/man2/listxattr.2 |
| 28 | delete mode 100644 man/man2/removexattr.2 |
| 29 | delete mode 100644 man/man2/setxattr.2 |
| 30 | |
| 31 | diff --git a/man/Makefile b/man/Makefile |
| 32 | index 9535426..755daed 100644 |
| 33 | --- a/man/Makefile |
| 34 | +++ b/man/Makefile |
| 35 | @@ -19,7 +19,7 @@ |
| 36 | TOPDIR = .. |
| 37 | include $(TOPDIR)/include/builddefs |
| 38 | |
| 39 | -SUBDIRS = man1 man2 man3 man5 |
| 40 | +SUBDIRS = man1 man3 man5 |
| 41 | |
| 42 | default : $(SUBDIRS) |
| 43 | |
| 44 | diff --git a/man/man2/Makefile b/man/man2/Makefile |
| 45 | deleted file mode 100644 |
| 46 | index d77309d..0000000 |
| 47 | --- a/man/man2/Makefile |
| 48 | +++ /dev/null |
| 49 | @@ -1,35 +0,0 @@ |
| 50 | -# |
| 51 | -# Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. |
| 52 | -# Copyright (C) 2009 Andreas Gruenbacher <agruen@suse.de> |
| 53 | -# |
| 54 | -# This program is free software: you can redistribute it and/or modify it |
| 55 | -# under the terms of the GNU General Public License as published by |
| 56 | -# the Free Software Foundation, either version 2 of the License, or |
| 57 | -# (at your option) any later version. |
| 58 | -# |
| 59 | -# This program is distributed in the hope that it will be useful, |
| 60 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 61 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 62 | -# GNU General Public License for more details. |
| 63 | -# |
| 64 | -# You should have received a copy of the GNU General Public License |
| 65 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 66 | -# |
| 67 | - |
| 68 | -TOPDIR = ../.. |
| 69 | -include $(TOPDIR)/include/builddefs |
| 70 | - |
| 71 | -MAN_SECTION = 2 |
| 72 | - |
| 73 | -MAN_PAGES = $(shell echo *.$(MAN_SECTION)) |
| 74 | -MAN_DEST = $(PKG_MAN_DIR)/man$(MAN_SECTION) |
| 75 | -LSRCFILES = $(MAN_PAGES) |
| 76 | - |
| 77 | -default install : $(MAN_PAGES) |
| 78 | - |
| 79 | -include $(BUILDRULES) |
| 80 | - |
| 81 | -install-dev : default |
| 82 | - $(INSTALL) -m 755 -d $(MAN_DEST) |
| 83 | - $(INSTALL_MAN) |
| 84 | -install-lib: |
| 85 | diff --git a/man/man2/getxattr.2 b/man/man2/getxattr.2 |
| 86 | deleted file mode 100644 |
| 87 | index 405ad89..0000000 |
| 88 | --- a/man/man2/getxattr.2 |
| 89 | +++ /dev/null |
| 90 | @@ -1,143 +0,0 @@ |
| 91 | -.\" |
| 92 | -.\" Extended attributes system calls manual pages |
| 93 | -.\" |
| 94 | -.\" (C) Andreas Gruenbacher, February 2001 |
| 95 | -.\" (C) Silicon Graphics Inc, September 2001 |
| 96 | -.\" |
| 97 | -.\" This is free documentation; you can redistribute it and/or |
| 98 | -.\" modify it under the terms of the GNU General Public License as |
| 99 | -.\" published by the Free Software Foundation; either version 2 of |
| 100 | -.\" the License, or (at your option) any later version. |
| 101 | -.\" |
| 102 | -.\" The GNU General Public License's references to "object code" |
| 103 | -.\" and "executables" are to be interpreted as the output of any |
| 104 | -.\" document formatting or typesetting system, including |
| 105 | -.\" intermediate and printed output. |
| 106 | -.\" |
| 107 | -.\" This manual is distributed in the hope that it will be useful, |
| 108 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 109 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 110 | -.\" GNU General Public License for more details. |
| 111 | -.\" |
| 112 | -.\" You should have received a copy of the GNU General Public |
| 113 | -.\" License along with this manual. If not, see |
| 114 | -.\" <http://www.gnu.org/licenses/>. |
| 115 | -.\" |
| 116 | -.TH GETXATTR 2 "Extended Attributes" "Dec 2001" "System calls" |
| 117 | -.SH NAME |
| 118 | -getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value |
| 119 | -.SH SYNOPSIS |
| 120 | -.fam C |
| 121 | -.nf |
| 122 | -.B #include <sys/types.h> |
| 123 | -.B #include <attr/xattr.h> |
| 124 | -.sp |
| 125 | -.BI "ssize_t getxattr (const char\ *" path ", const char\ *" name ", |
| 126 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); |
| 127 | -.BI "ssize_t lgetxattr (const char\ *" path ", const char\ *" name ", |
| 128 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); |
| 129 | -.BI "ssize_t fgetxattr (int " filedes ", const char\ *" name ", |
| 130 | -.BI "\t\t\t\t void\ *" value ", size_t " size ); |
| 131 | -.fi |
| 132 | -.fam T |
| 133 | -.SH DESCRIPTION |
| 134 | -Extended attributes are |
| 135 | -.IR name :\c |
| 136 | -.I value |
| 137 | -pairs associated with inodes (files, directories, symlinks, etc). |
| 138 | -They are extensions to the normal attributes which are associated |
| 139 | -with all inodes in the system (i.e. the |
| 140 | -.BR stat (2) |
| 141 | -data). |
| 142 | -A complete overview of extended attributes concepts can be found in |
| 143 | -.BR attr (5). |
| 144 | -.PP |
| 145 | -.B getxattr |
| 146 | -retrieves the |
| 147 | -.I value |
| 148 | -of the extended attribute identified by |
| 149 | -.I name |
| 150 | -and associated with the given |
| 151 | -.I path |
| 152 | -in the filesystem. |
| 153 | -The length of the attribute |
| 154 | -.I value |
| 155 | -is returned. |
| 156 | -.PP |
| 157 | -.B lgetxattr |
| 158 | -is identical to |
| 159 | -.BR getxattr , |
| 160 | -except in the case of a symbolic link, where the link itself is |
| 161 | -interrogated, not the file that it refers to. |
| 162 | -.PP |
| 163 | -.B fgetxattr |
| 164 | -is identical to |
| 165 | -.BR getxattr , |
| 166 | -only the open file pointed to by |
| 167 | -.I filedes |
| 168 | -(as returned by |
| 169 | -.BR open (2)) |
| 170 | -is interrogated in place of |
| 171 | -.IR path . |
| 172 | -.PP |
| 173 | -An extended attribute |
| 174 | -.I name |
| 175 | -is a simple NULL-terminated string. |
| 176 | -The name includes a namespace prefix \- there may be several, disjoint |
| 177 | -namespaces associated with an individual inode. |
| 178 | -The value of an extended attribute is a chunk of arbitrary textual or |
| 179 | -binary data of specified length. |
| 180 | -.PP |
| 181 | -An empty buffer of |
| 182 | -.I size |
| 183 | -zero can be passed into these calls to return the current size of the |
| 184 | -named extended attribute, which can be used to estimate the size of a |
| 185 | -buffer which is sufficiently large to hold the value associated with |
| 186 | -the extended attribute. |
| 187 | -.PP |
| 188 | -The interface is designed to allow guessing of initial buffer |
| 189 | -sizes, and to enlarge buffers when the return value indicates |
| 190 | -that the buffer provided was too small. |
| 191 | -.SH RETURN VALUE |
| 192 | -On success, a positive number is returned indicating the size of the |
| 193 | -extended attribute value. |
| 194 | -On failure, \-1 is returned and |
| 195 | -.I errno |
| 196 | -is set appropriately. |
| 197 | -.PP |
| 198 | -If the named attribute does not exist, or the process has no access to |
| 199 | -this attribute, |
| 200 | -.I errno |
| 201 | -is set to ENOATTR. |
| 202 | -.PP |
| 203 | -If the |
| 204 | -.I size |
| 205 | -of the |
| 206 | -.I value |
| 207 | -buffer is too small to hold the result, |
| 208 | -.I errno |
| 209 | -is set to ERANGE. |
| 210 | -.PP |
| 211 | -If extended attributes are not supported by the filesystem, or are disabled, |
| 212 | -.I errno |
| 213 | -is set to ENOTSUP. |
| 214 | -.PP |
| 215 | -The errors documented for the |
| 216 | -.BR stat (2) |
| 217 | -system call are also applicable here. |
| 218 | -.SH AUTHORS |
| 219 | -Andreas Gruenbacher, |
| 220 | -.RI < a.gruenbacher@bestbits.at > |
| 221 | -and the SGI XFS development team, |
| 222 | -.RI < linux-xfs@oss.sgi.com >. |
| 223 | -Please send any bug reports or comments to these addresses. |
| 224 | -.SH SEE ALSO |
| 225 | -.BR getfattr (1), |
| 226 | -.BR setfattr (1), |
| 227 | -.BR open (2), |
| 228 | -.BR stat (2), |
| 229 | -.BR setxattr (2), |
| 230 | -.BR listxattr (2), |
| 231 | -.BR removexattr (2), |
| 232 | -and |
| 233 | -.BR attr (5). |
| 234 | diff --git a/man/man2/listxattr.2 b/man/man2/listxattr.2 |
| 235 | deleted file mode 100644 |
| 236 | index 8b4371c..0000000 |
| 237 | --- a/man/man2/listxattr.2 |
| 238 | +++ /dev/null |
| 239 | @@ -1,158 +0,0 @@ |
| 240 | -.\" |
| 241 | -.\" Extended attributes system calls manual pages |
| 242 | -.\" |
| 243 | -.\" (C) Andreas Gruenbacher, February 2001 |
| 244 | -.\" (C) Silicon Graphics Inc, September 2001 |
| 245 | -.\" |
| 246 | -.\" This is free documentation; you can redistribute it and/or |
| 247 | -.\" modify it under the terms of the GNU General Public License as |
| 248 | -.\" published by the Free Software Foundation; either version 2 of |
| 249 | -.\" the License, or (at your option) any later version. |
| 250 | -.\" |
| 251 | -.\" The GNU General Public License's references to "object code" |
| 252 | -.\" and "executables" are to be interpreted as the output of any |
| 253 | -.\" document formatting or typesetting system, including |
| 254 | -.\" intermediate and printed output. |
| 255 | -.\" |
| 256 | -.\" This manual is distributed in the hope that it will be useful, |
| 257 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 258 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 259 | -.\" GNU General Public License for more details. |
| 260 | -.\" |
| 261 | -.\" You should have received a copy of the GNU General Public |
| 262 | -.\" License along with this manual. If not, see |
| 263 | -.\" <http://www.gnu.org/licenses/>. |
| 264 | -.\" |
| 265 | -.TH LISTXATTR 2 "Extended Attributes" "Dec 2001" "System calls" |
| 266 | -.SH NAME |
| 267 | -listxattr, llistxattr, flistxattr \- list extended attribute names |
| 268 | -.SH SYNOPSIS |
| 269 | -.fam C |
| 270 | -.nf |
| 271 | -.B #include <sys/types.h> |
| 272 | -.B #include <attr/xattr.h> |
| 273 | -.sp |
| 274 | -.BI "ssize_t listxattr (const char\ *" path ", |
| 275 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); |
| 276 | -.BI "ssize_t llistxattr (const char\ *" path ", |
| 277 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); |
| 278 | -.BI "ssize_t flistxattr (int " filedes ", |
| 279 | -.BI "\t\t\t\t char\ *" list ", size_t " size ); |
| 280 | -.fi |
| 281 | -.fam T |
| 282 | -.SH DESCRIPTION |
| 283 | -Extended attributes are name:value |
| 284 | -pairs associated with inodes (files, directories, symlinks, etc). |
| 285 | -They are extensions to the normal attributes which are associated |
| 286 | -with all inodes in the system (i.e. the |
| 287 | -.BR stat (2) |
| 288 | -data). |
| 289 | -A complete overview of extended attributes concepts can be found in |
| 290 | -.BR attr (5). |
| 291 | -.PP |
| 292 | -.B listxattr |
| 293 | -retrieves the |
| 294 | -.I list |
| 295 | -of extended attribute names associated with the given |
| 296 | -.I path |
| 297 | -in the filesystem. |
| 298 | -The list is the set of (NULL-terminated) names, one after the other. |
| 299 | -Names of extended attributes to which the calling process does not |
| 300 | -have access may be omitted from the list. |
| 301 | -The length of the attribute name |
| 302 | -.I list |
| 303 | -is returned. |
| 304 | -.PP |
| 305 | -.B llistxattr |
| 306 | -is identical to |
| 307 | -.BR listxattr , |
| 308 | -except in the case of a symbolic link, where the list of names of |
| 309 | -extended attributes associated with the link itself is retrieved, |
| 310 | -not the file that it refers to. |
| 311 | -.I list |
| 312 | -is a caller-allocated buffer of size |
| 313 | -.IR size . |
| 314 | -.PP |
| 315 | -.B flistxattr |
| 316 | -is identical to |
| 317 | -.BR listxattr , |
| 318 | -only the open file pointed to by |
| 319 | -.I filedes |
| 320 | -(as returned by |
| 321 | -.BR open (2)) |
| 322 | -is interrogated in place of |
| 323 | -.IR path . |
| 324 | -.PP |
| 325 | -A single extended attribute |
| 326 | -.I name |
| 327 | -is a simple NULL-terminated string. |
| 328 | -The name includes a namespace prefix \- there may be several, disjoint |
| 329 | -namespaces associated with an individual inode. |
| 330 | -.PP |
| 331 | -An empty buffer of |
| 332 | -.I size |
| 333 | -zero can be passed into these calls to return the current size of the |
| 334 | -list of extended attribute names, which can be used to estimate the |
| 335 | -size of a buffer which is sufficiently large to hold the list of names. |
| 336 | -.SH EXAMPLES |
| 337 | -The |
| 338 | -.I list |
| 339 | -of names is returned as an unordered array of NULL-terminated character |
| 340 | -strings (attribute names are separated by NULL characters), like this: |
| 341 | -.fam C |
| 342 | -.RS |
| 343 | -.nf |
| 344 | -user.name1\\0system.name1\\0user.name2\\0 |
| 345 | -.fi |
| 346 | -.RE |
| 347 | -.fam T |
| 348 | -.P |
| 349 | -Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using |
| 350 | -extended attributes, might return a |
| 351 | -.I list |
| 352 | -like this: |
| 353 | -.fam C |
| 354 | -.RS |
| 355 | -.nf |
| 356 | -system.posix_acl_access\\0system.posix_acl_default\\0 |
| 357 | -.fi |
| 358 | -.RE |
| 359 | -.fam T |
| 360 | -.SH RETURN VALUE |
| 361 | -On success, a positive number is returned indicating the size of the |
| 362 | -extended attribute name list. |
| 363 | -On failure, \-1 is returned and |
| 364 | -.I errno |
| 365 | -is set appropriately. |
| 366 | -.PP |
| 367 | -If the |
| 368 | -.I size |
| 369 | -of the |
| 370 | -.I list |
| 371 | -buffer is too small to hold the result, |
| 372 | -.I errno |
| 373 | -is set to ERANGE. |
| 374 | -.PP |
| 375 | -If extended attributes are not supported by the filesystem, or are disabled, |
| 376 | -.I errno |
| 377 | -is set to ENOTSUP. |
| 378 | -.PP |
| 379 | -The errors documented for the |
| 380 | -.BR stat (2) |
| 381 | -system call are also applicable here. |
| 382 | -.SH AUTHORS |
| 383 | -Andreas Gruenbacher, |
| 384 | -.RI < a.gruenbacher@bestbits.at > |
| 385 | -and the SGI XFS development team, |
| 386 | -.RI < linux-xfs@oss.sgi.com >. |
| 387 | -Please send any bug reports or comments to these addresses. |
| 388 | -.SH SEE ALSO |
| 389 | -.BR getfattr (1), |
| 390 | -.BR setfattr (1), |
| 391 | -.BR open (2), |
| 392 | -.BR stat (2), |
| 393 | -.BR getxattr (2), |
| 394 | -.BR setxattr (2), |
| 395 | -.BR removexattr (2), |
| 396 | -and |
| 397 | -.BR attr (5). |
| 398 | diff --git a/man/man2/removexattr.2 b/man/man2/removexattr.2 |
| 399 | deleted file mode 100644 |
| 400 | index 2c7d934..0000000 |
| 401 | --- a/man/man2/removexattr.2 |
| 402 | +++ /dev/null |
| 403 | @@ -1,111 +0,0 @@ |
| 404 | -.\" |
| 405 | -.\" Extended attributes system calls manual pages |
| 406 | -.\" |
| 407 | -.\" (C) Andreas Gruenbacher, February 2001 |
| 408 | -.\" (C) Silicon Graphics Inc, September 2001 |
| 409 | -.\" |
| 410 | -.\" This is free documentation; you can redistribute it and/or |
| 411 | -.\" modify it under the terms of the GNU General Public License as |
| 412 | -.\" published by the Free Software Foundation; either version 2 of |
| 413 | -.\" the License, or (at your option) any later version. |
| 414 | -.\" |
| 415 | -.\" The GNU General Public License's references to "object code" |
| 416 | -.\" and "executables" are to be interpreted as the output of any |
| 417 | -.\" document formatting or typesetting system, including |
| 418 | -.\" intermediate and printed output. |
| 419 | -.\" |
| 420 | -.\" This manual is distributed in the hope that it will be useful, |
| 421 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 422 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 423 | -.\" GNU General Public License for more details. |
| 424 | -.\" |
| 425 | -.\" You should have received a copy of the GNU General Public |
| 426 | -.\" License along with this manual. If not, see |
| 427 | -.\" <http://www.gnu.org/licenses/>. |
| 428 | -.\" |
| 429 | -.TH REMOVEXATTR 2 "Extended Attributes" "Dec 2001" "System calls" |
| 430 | -.SH NAME |
| 431 | -removexattr, lremovexattr, fremovexattr \- remove an extended attribute |
| 432 | -.SH SYNOPSIS |
| 433 | -.fam C |
| 434 | -.nf |
| 435 | -.B #include <sys/types.h> |
| 436 | -.B #include <attr/xattr.h> |
| 437 | -.sp |
| 438 | -.BI "int removexattr (const char\ *" path ", const char\ *" name ); |
| 439 | -.BI "int lremovexattr (const char\ *" path ", const char\ *" name ); |
| 440 | -.BI "int fremovexattr (int " filedes ", const char\ *" name ); |
| 441 | -.fi |
| 442 | -.fam T |
| 443 | -.SH DESCRIPTION |
| 444 | -Extended attributes are |
| 445 | -.IR name :\c |
| 446 | -value pairs associated with inodes (files, directories, symlinks, etc). |
| 447 | -They are extensions to the normal attributes which are associated |
| 448 | -with all inodes in the system (i.e. the |
| 449 | -.BR stat (2) |
| 450 | -data). |
| 451 | -A complete overview of extended attributes concepts can be found in |
| 452 | -.BR attr (5). |
| 453 | -.PP |
| 454 | -.B removexattr |
| 455 | -removes the extended attribute identified by |
| 456 | -.I name |
| 457 | -and associated with the given |
| 458 | -.I path |
| 459 | -in the filesystem. |
| 460 | -.PP |
| 461 | -.B lremovexattr |
| 462 | -is identical to |
| 463 | -.BR removexattr , |
| 464 | -except in the case of a symbolic link, where the extended attribute is |
| 465 | -removed from the link itself, not the file that it refers to. |
| 466 | -.PP |
| 467 | -.B fremovexattr |
| 468 | -is identical to |
| 469 | -.BR removexattr , |
| 470 | -only the extended attribute is removed from the open file pointed to by |
| 471 | -.I filedes |
| 472 | -(as returned by |
| 473 | -.BR open (2)) |
| 474 | -in place of |
| 475 | -.IR path . |
| 476 | -.PP |
| 477 | -An extended attribute name is a simple NULL-terminated string. |
| 478 | -The |
| 479 | -.I name |
| 480 | -includes a namespace prefix \- there may be several, disjoint |
| 481 | -namespaces associated with an individual inode. |
| 482 | -.SH RETURN VALUE |
| 483 | -On success, zero is returned. |
| 484 | -On failure, \-1 is returned and |
| 485 | -.I errno |
| 486 | -is set appropriately. |
| 487 | -.PP |
| 488 | -If the named attribute does not exist, |
| 489 | -.I errno |
| 490 | -is set to ENOATTR. |
| 491 | -.PP |
| 492 | -If extended attributes are not supported by the filesystem, or are disabled, |
| 493 | -.I errno |
| 494 | -is set to ENOTSUP. |
| 495 | -.PP |
| 496 | -The errors documented for the |
| 497 | -.BR stat (2) |
| 498 | -system call are also applicable here. |
| 499 | -.SH AUTHORS |
| 500 | -Andreas Gruenbacher, |
| 501 | -.RI < a.gruenbacher@bestbits.at > |
| 502 | -and the SGI XFS development team, |
| 503 | -.RI < linux-xfs@oss.sgi.com >. |
| 504 | -Please send any bug reports or comments to these addresses. |
| 505 | -.SH SEE ALSO |
| 506 | -.BR getfattr (1), |
| 507 | -.BR setfattr (1), |
| 508 | -.BR open (2), |
| 509 | -.BR stat (2), |
| 510 | -.BR setxattr (2), |
| 511 | -.BR getxattr (2), |
| 512 | -.BR listxattr (2), |
| 513 | -and |
| 514 | -.BR attr (5). |
| 515 | diff --git a/man/man2/setxattr.2 b/man/man2/setxattr.2 |
| 516 | deleted file mode 100644 |
| 517 | index b20dc9f..0000000 |
| 518 | --- a/man/man2/setxattr.2 |
| 519 | +++ /dev/null |
| 520 | @@ -1,143 +0,0 @@ |
| 521 | -.\" |
| 522 | -.\" Extended attributes system calls manual pages |
| 523 | -.\" |
| 524 | -.\" (C) Andreas Gruenbacher, February 2001 |
| 525 | -.\" (C) Silicon Graphics Inc, September 2001 |
| 526 | -.\" |
| 527 | -.\" This is free documentation; you can redistribute it and/or |
| 528 | -.\" modify it under the terms of the GNU General Public License as |
| 529 | -.\" published by the Free Software Foundation; either version 2 of |
| 530 | -.\" the License, or (at your option) any later version. |
| 531 | -.\" |
| 532 | -.\" The GNU General Public License's references to "object code" |
| 533 | -.\" and "executables" are to be interpreted as the output of any |
| 534 | -.\" document formatting or typesetting system, including |
| 535 | -.\" intermediate and printed output. |
| 536 | -.\" |
| 537 | -.\" This manual is distributed in the hope that it will be useful, |
| 538 | -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 539 | -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 540 | -.\" GNU General Public License for more details. |
| 541 | -.\" |
| 542 | -.\" You should have received a copy of the GNU General Public |
| 543 | -.\" License along with this manual. If not, see |
| 544 | -.\" <http://www.gnu.org/licenses/>. |
| 545 | -.\" |
| 546 | -.TH SETXATTR 2 "Extended Attributes" "Dec 2001" "System calls" |
| 547 | -.SH NAME |
| 548 | -setxattr, lsetxattr, fsetxattr \- set an extended attribute value |
| 549 | -.SH SYNOPSIS |
| 550 | -.fam C |
| 551 | -.nf |
| 552 | -.B #include <sys/types.h> |
| 553 | -.B #include <attr/xattr.h> |
| 554 | -.sp |
| 555 | -.BI "int setxattr (const char\ *" path ", const char\ *" name ", |
| 556 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); |
| 557 | -.BI "int lsetxattr (const char\ *" path ", const char\ *" name ", |
| 558 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); |
| 559 | -.BI "int fsetxattr (int " filedes ", const char\ *" name ", |
| 560 | -.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags ); |
| 561 | -.fi |
| 562 | -.fam T |
| 563 | -.SH DESCRIPTION |
| 564 | -Extended attributes are |
| 565 | -.IR name :\c |
| 566 | -.I value |
| 567 | -pairs associated with inodes (files, directories, symlinks, etc). |
| 568 | -They are extensions to the normal attributes which are associated |
| 569 | -with all inodes in the system (i.e. the |
| 570 | -.BR stat (2) |
| 571 | -data). |
| 572 | -A complete overview of extended attributes concepts can be found in |
| 573 | -.BR attr (5). |
| 574 | -.PP |
| 575 | -.B setxattr |
| 576 | -sets the |
| 577 | -.I value |
| 578 | -of the extended attribute identified by |
| 579 | -.I name |
| 580 | -and associated with the given |
| 581 | -.I path |
| 582 | -in the filesystem. |
| 583 | -The |
| 584 | -.I size |
| 585 | -of the |
| 586 | -.I value |
| 587 | -must be specified. |
| 588 | -.PP |
| 589 | -.B lsetxattr |
| 590 | -is identical to |
| 591 | -.BR setxattr , |
| 592 | -except in the case of a symbolic link, where the extended attribute is |
| 593 | -set on the link itself, not the file that it refers to. |
| 594 | -.PP |
| 595 | -.B fsetxattr |
| 596 | -is identical to |
| 597 | -.BR setxattr , |
| 598 | -only the extended attribute is set on the open file pointed to by |
| 599 | -.I filedes |
| 600 | -(as returned by |
| 601 | -.BR open (2)) |
| 602 | -in place of |
| 603 | -.IR path . |
| 604 | -.PP |
| 605 | -An extended attribute name is a simple NULL-terminated string. |
| 606 | -The |
| 607 | -.I name |
| 608 | -includes a namespace prefix \- there may be several, disjoint |
| 609 | -namespaces associated with an individual inode. |
| 610 | -The |
| 611 | -.I value |
| 612 | -of an extended attribute is a chunk of arbitrary textual or |
| 613 | -binary data of specified length. |
| 614 | -.PP |
| 615 | -The |
| 616 | -.I flags |
| 617 | -parameter can be used to refine the semantics of the operation. |
| 618 | -XATTR_CREATE specifies a pure create, which fails if the named |
| 619 | -attribute exists already. |
| 620 | -XATTR_REPLACE specifies a pure replace operation, which fails if the |
| 621 | -named attribute does not already exist. |
| 622 | -By default (no flags), the extended attribute will be created if |
| 623 | -need be, or will simply replace the value if the attribute exists. |
| 624 | -.SH RETURN VALUE |
| 625 | -On success, zero is returned. |
| 626 | -On failure, \-1 is returned and |
| 627 | -.I errno |
| 628 | -is set appropriately. |
| 629 | -.PP |
| 630 | -If XATTR_CREATE is specified, and the attribute exists already, |
| 631 | -.I errno |
| 632 | -is set to EEXIST. |
| 633 | -If XATTR_REPLACE is specified, and the attribute does not exist, |
| 634 | -.I errno |
| 635 | -is set to ENOATTR. |
| 636 | -.PP |
| 637 | -If there is insufficient space remaining to store the extended attribute, |
| 638 | -.I errno |
| 639 | -is set to either ENOSPC, or EDQUOT if quota enforcement was the cause. |
| 640 | -.PP |
| 641 | -If extended attributes are not supported by the filesystem, or are disabled, |
| 642 | -.I errno |
| 643 | -is set to ENOTSUP. |
| 644 | -.PP |
| 645 | -The errors documented for the |
| 646 | -.BR stat (2) |
| 647 | -system call are also applicable here. |
| 648 | -.SH AUTHORS |
| 649 | -Andreas Gruenbacher, |
| 650 | -.RI < a.gruenbacher@bestbits.at > |
| 651 | -and the SGI XFS development team, |
| 652 | -.RI < linux-xfs@oss.sgi.com >. |
| 653 | -Please send any bug reports or comments to these addresses. |
| 654 | -.SH SEE ALSO |
| 655 | -.BR getfattr (1), |
| 656 | -.BR setfattr (1), |
| 657 | -.BR open (2), |
| 658 | -.BR stat (2), |
| 659 | -.BR getxattr (2), |
| 660 | -.BR listxattr (2), |
| 661 | -.BR removexattr (2), |
| 662 | -and |
| 663 | -.BR attr (5). |
| 664 | -- |
| 665 | 2.7.4 |
| 666 | |