Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
/ xattr Public

Extended attribute support for Go (linux + darwin + freebsd)

License

Notifications You must be signed in to change notification settings

pkg/xattr

Open more actions menu

Repository files navigation

GoDoc Go Report Card Build Status Codecov

xattr

Extended attribute support for Go (linux + darwin + freebsd + netbsd + solaris).

"Extended attributes are name:value pairs associated permanently with files and directories, similar to the environment strings associated with a process. An attribute may be defined or undefined. If it is defined, its value may be empty or non-empty." See more...

SetWithFlags allows to additionally pass system flags to be forwarded to the underlying calls. FreeBSD and NetBSD do not support this and the parameter will be ignored.

The L variants of all functions (LGet/LSet/...) are identical to Get/Set/... except that they do not reference a symlink that appears at the end of a path. See GoDoc for details.

Example

  const path = "/tmp/myfile"
  const prefix = "user."

  if err := xattr.Set(path, prefix+"test", []byte("test-attr-value")); err != nil {
  	log.Fatal(err)
  }

  var list []string
  if list, err = xattr.List(path); err != nil {
  	log.Fatal(err)
  }

  var data []byte
  if data, err = xattr.Get(path, prefix+"test"); err != nil {
  	log.Fatal(err)
  }

  if err = xattr.Remove(path, prefix+"test"); err != nil {
  	log.Fatal(err)
  }

  // One can also specify the flags parameter to be passed to the OS.
  if err := xattr.SetWithFlags(path, prefix+"test", []byte("test-attr-value"), xattr.XATTR_CREATE); err != nil {
  	log.Fatal(err)
  }

About

Extended attribute support for Go (linux + darwin + freebsd)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 17

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.