stat

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2025 License: MIT Imports: 0 Imported by: 0

README

Constants/functions for interpreting results of os.Stat() and os.Lstat().

Inspired by CPython stat
Installation
go get github.com/goimp/stat
Docs can be found there

Documentation

Overview

Constants/functions for interpreting results of os.Stat() and os.Lstat().

Suggested usage: import github.com/goimp/stat

Index

Constants

View Source
const (
	ST_MODE  = 0
	ST_INO   = 1
	ST_DEV   = 2
	ST_NLINK = 3
	ST_UID   = 4
	ST_GID   = 5
	ST_SIZE  = 6
	ST_ATIME = 7
	ST_MTIME = 8
	ST_CTIME = 9
)

Indices for stat struct members in the tuple returned by os.Stat()

View Source
const (
	S_IFDIR  = 0o040000 // directory
	S_IFCHR  = 0o020000 // character device
	S_IFBLK  = 0o060000 // block device
	S_IFREG  = 0o100000 // regular file
	S_IFIFO  = 0o010000 // fifo (named pipe)
	S_IFLNK  = 0o120000 // symbolic link
	S_IFSOCK = 0o140000 // socket file
	// Fallbacks for uncommon platform-specific constants
	S_IFDOOR = 0
	S_IFPORT = 0
	S_IFWHT  = 0
)

Constants used as S_IFMT() for various file types (not all are implemented on all systems)

View Source
const (
	S_ISUID  = 0o4000  // set UID bit
	S_ISGID  = 0o2000  // set GID bit
	S_ENFMT  = S_ISGID // file locking enforcement
	S_ISVTX  = 0o1000  // sticky bit
	S_IREAD  = 0o0400  // Unix V7 synonym for S_IRUSR
	S_IWRITE = 0o0200  // Unix V7 synonym for S_IWUSR
	S_IEXEC  = 0o0100  // Unix V7 synonym for S_IXUSR
	S_IRWXU  = 0o0700  // mask for owner permissions
	S_IRUSR  = 0o0400  // read by owner
	S_IWUSR  = 0o0200  // write by owner
	S_IXUSR  = 0o0100  // execute by owner
	S_IRWXG  = 0o0070  // mask for group permissions
	S_IRGRP  = 0o0040  // read by group
	S_IWGRP  = 0o0020  // write by group
	S_IXGRP  = 0o0010  // execute by group
	S_IRWXO  = 0o0007  // mask for others (not in group) permissions
	S_IROTH  = 0o0004  // read by others
	S_IWOTH  = 0o0002  // write by others
	S_IXOTH  = 0o0001  // execute by others
)

Names for permission bits

View Source
const (
	UF_SETTABLE   = 0x0000ffff // owner settable flags
	UF_NODUMP     = 0x00000001 // do not dump file
	UF_IMMUTABLE  = 0x00000002 // file may not be changed
	UF_APPEND     = 0x00000004 // file may only be appended to
	UF_OPAQUE     = 0x00000008 // directory is opaque when viewed through a union stack
	UF_NOUNLINK   = 0x00000010 // file may not be renamed or deleted
	UF_COMPRESSED = 0x00000020 // macOS: file is compressed
	UF_TRACKED    = 0x00000040 // macOS: used for handling document IDs
	UF_DATAVAULT  = 0x00000080 // macOS: entitlement needed for I/O
	UF_HIDDEN     = 0x00008000 // macOS: file should not be displayed
	SF_SETTABLE   = 0xffff0000 // superuser settable flags
	SF_ARCHIVED   = 0x00010000 // file may be archived
	SF_IMMUTABLE  = 0x00020000 // file may not be changed
	SF_APPEND     = 0x00040000 // file may only be appended to
	SF_RESTRICTED = 0x00080000 // macOS: entitlement needed for writing
	SF_NOUNLINK   = 0x00100000 // file may not be renamed or deleted
	SF_SNAPSHOT   = 0x00200000 // file is a snapshot file
	SF_FIRMLINK   = 0x00800000 // macOS: file is a firmlink
	SF_DATALESS   = 0x40000000 // macOS: file is a dataless object
)

Names for file flags

View Source
const (
	FILE_ATTRIBUTE_ARCHIVE             = 32
	FILE_ATTRIBUTE_COMPRESSED          = 2048
	FILE_ATTRIBUTE_DEVICE              = 64
	FILE_ATTRIBUTE_DIRECTORY           = 16
	FILE_ATTRIBUTE_ENCRYPTED           = 16384
	FILE_ATTRIBUTE_HIDDEN              = 2
	FILE_ATTRIBUTE_INTEGRITY_STREAM    = 32768
	FILE_ATTRIBUTE_NORMAL              = 128
	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192
	FILE_ATTRIBUTE_NO_SCRUB_DATA       = 131072
	FILE_ATTRIBUTE_OFFLINE             = 4096
	FILE_ATTRIBUTE_READONLY            = 1
	FILE_ATTRIBUTE_REPARSE_POINT       = 1024
	FILE_ATTRIBUTE_SPARSE_FILE         = 512
	FILE_ATTRIBUTE_SYSTEM              = 4
	FILE_ATTRIBUTE_TEMPORARY           = 256
	FILE_ATTRIBUTE_VIRTUAL             = 65536
)

Variables

This section is empty.

Functions

func FileMode

func FileMode(mode uint32) string

Convert a file's mode to a string of the form '-rwxrwxrwx'.

func S_IFMT

func S_IFMT(mode uint32) uint32

Return the portion of the file's mode that describes the file type.

func S_IMODE

func S_IMODE(mode uint32) uint32

Return the portion of the file's mode that can be set by os.chmod().

func S_ISBLK

func S_ISBLK(mode uint32) bool

Return True if mode is from a block special device file.

func S_ISCHR

func S_ISCHR(mode uint32) bool

Return True if mode is from a character special device file.

func S_ISDIR

func S_ISDIR(mode uint32) bool

Return True if mode is from a directory.

func S_ISDOOR

func S_ISDOOR(mode uint32) bool

Return True if mode is from a door.

func S_ISFIFO

func S_ISFIFO(mode uint32) bool

Return True if mode is from a FIFO (named pipe).

func S_ISLNK

func S_ISLNK(mode uint32) bool

Return True if mode is from a symbolic link.

func S_ISPORT

func S_ISPORT(mode uint32) bool

Return True if mode is from an event port.

func S_ISREG

func S_ISREG(mode uint32) bool

Return True if mode is from a regular file.

func S_ISSOCK

func S_ISSOCK(mode uint32) bool

Return True if mode is from a socket.

func S_ISWHT

func S_ISWHT(mode uint32) bool

Return True if mode is from a whiteout.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL