gpfsGetSetXAttr_t structure

Obtains or sets extended attribute values.

Library

GPFS Library (libgpfs.a for AIX®, libgpfs.so for Linux®)

Structure

typedef struct {
  int structLen;
  int structType;
  int nameLen;
  int bufferLen;
  unsigned int flags;
  int errReasonCode;
  char buffer[0];
} gpfsGetSetXAttr_t;

Description

The gpfsGetSetXAttr_t structure is used to obtain extended attributes.

Members

structLen
Length of the gpfsGetSetXAttr_t structure.
structType
Structure identifier GPFS_FCNTL_GET_XATTR or GPFS_FCNTL_SET_XATTR.
nameLen
Length of the attribute name. May include a trailing '\0' character.
bufferLen
For GPFS_FCNTL_GET_XATTR: Input, length of the buffer; output, length of the attribute value.

For GPFS_FCNTL_SET_XATTR: Input, length of the attribute value. Specify -1 to delete an attribute.

errReasonCode
Reason code.
flags
The following flags are recognized:
  • GPFS_FCNTL_XATTRFLAG_NONE
  • GPFS_FCNTL_XATTRFLAG_SYNC
  • GPFS_FCNTL_XATTRFLAG_CREATE
  • GPFS_FCNTL_XATTRFLAG_REPLACE
  • GPFS_FCNTL_XATTRFLAG_DELETE
  • GPFS_FCNTL_XATTRFLAG_NO_CTIME
  • GPFS_FCNTL_XATTRFLAG_RESERVED
buffer
Buffer for the attribute name and value.
For GPFS_FCNTL_GET_XATTR:
  • Input: The name begins at offset 0 and must be null terminated.
  • Output: The name is returned unchanged; the value begins at nameLen rounded up to a multiple of 8.
For GPFS_FCNTL_SET_XATTR:
  • Input: The name begins at offset 0 and must be null terminated. The value begins at nameLen rounded up to a multiple of 8.

The actual length of the buffer should be nameLen rounded up to a multiple of 8, plus the length of the attribute value rounded up to a multiple of 8.

Location

/usr/lpp/mmfs/lib/libgpfs.a for AIX

/usr/lpp/mmfs/lib/libgpfs.so for Linux