# file attributes

1.0.0

Access to file attributes (uid, gid, atime, mtime, mod)

## About File-Attributes

This is a small OS portability library to retrieve and set file attributes not supported by the Lisp standard functions.

## How To

Simply use the functions `access-time`, `modification-time`, and `creation-time` to access the relevant timestamps. Some stamps may not be accessible or modifiable depending on your OS or file system.

In order to manage attribute information, use `owner`, `group`, and `attributes`. The values used are OS specific for these functions, though the attributes flag can be decoded and encoded via a standardised form with `decode-attributes` and `encode-attributes`.

Any of the above operations may signal an error if the file does not exist, is inaccessible, the operation is not possible, or some other failure occurred.

## System Information

Version: 1.0.0
Dependencies:

- trivial-features
- documentation-utils
- cffi

Author: Nicolas Hafner
License: zlib
Homepage: https://shinmera.github.io/file-attributes
Sources: https://github.com/Shinmera/file-attributes.git

## Definition Index

- ### ORG.SHIRAKUMO.FILE-ATTRIBUTES

  No documentation provided.
  - EXTERNAL SPECIAL-VARIABLE

    #### *SYSTEM*

    Source

        The default system as recognised through feature flags.

  - EXTERNAL FUNCTION

    #### ACCESS-TIME

    - FILE
    Source

        Accesses the last time this file was accessed.

        Signals an error if retrieving or setting the information is not
        possible.

  - EXTERNAL FUNCTION

    #### (SETF ACCESS-TIME)

    - VALUE
    - FILE
    Source
    No documentation provided.
  - EXTERNAL FUNCTION

    #### ATTRIBUTES

    - FILE
    Source

        Accesses the attributes of this file.

        The attributes are expressed as a positive integer.

        Signals an error if retrieving or setting the information is not
        possible.

        The contents of the file attributes are highly system specific and may
        contain things such as user permissions or file kind information.

        See ENCODE-ATTRIBUTES
        See DECODE-ATTRIBUTES

  - EXTERNAL FUNCTION

    #### (SETF ATTRIBUTES)

    - VALUE
    - FILE
    Source
    No documentation provided.
  - EXTERNAL FUNCTION

    #### CREATION-TIME

    - FILE
    Source

        Accesses the time this file was created.

        Signals an error if retrieving or setting the information is not
        possible.

  - EXTERNAL FUNCTION

    #### (SETF CREATION-TIME)

    - VALUE
    - FILE
    Source
    No documentation provided.
  - EXTERNAL FUNCTION

    #### DECODE-ATTRIBUTES

    - ATTRIBUTES
    - &KEY
    - SYSTEM
    Source

        Decodes an integer for attributes of the requested system into a standardised plist of file attributes.

        Which flags are be produced is highly dependent on the system, but the
        following may appear:

          :ARCHIVED
          :COMPRESSED
          :DEVICE
          :DIRECTORY
          :ENCRYPTED
          :FIFO
          :GROUP-EXECUTE
          :GROUP-READ
          :GROUP-WRITE
          :HIDDEN
          :INTEGRITY
          :LINK
          :NO-SCRUB
          :NORMAL
          :NOT-INDEXED
          :OFFLINE
          :OTHER-EXECUTE
          :OTHER-READ
          :OTHER-WRITE
          :OWNER-EXECUTE
          :OWNER-READ
          :OWNER-WRITE
          :READ-ONLY
          :RECALL
          :SET-GROUP
          :SET-USER
          :SOCKET
          :SPARSE
          :STICKY
          :SYSTEM-FILE
          :TEMPORARY
          :VIRTUAL

        See ENCODE-ATTRIBUTES
        See *SYSTEM*

  - EXTERNAL FUNCTION

    #### ENCODE-ATTRIBUTES

    - ATTRIBUTES
    - &KEY
    - SYSTEM
    Source

        Encodes a plist of file attributes into an integer suitable for the requested system.

        See DECODE-ATTRIBUTES
        See *SYSTEM*

  - EXTERNAL FUNCTION

    #### GROUP

    - FILE
    Source

        Accesses the owning group of this file.

        The group is expressed as a positive integer.

        Signals an error if retrieving or setting the information is not
        possible.

  - EXTERNAL FUNCTION

    #### (SETF GROUP)

    - VALUE
    - FILE
    Source
    No documentation provided.
  - EXTERNAL FUNCTION

    #### MODIFICATION-TIME

    - FILE
    Source

        Accesses the last time this file was modified.

        Signals an error if retrieving or setting the information is not
        possible.

  - EXTERNAL FUNCTION

    #### (SETF MODIFICATION-TIME)

    - VALUE
    - FILE
    Source
    No documentation provided.
  - EXTERNAL FUNCTION

    #### OWNER

    - FILE
    Source

        Accesses the owning user of this file.

        The user is expressed as a positive integer.

        Signals an error if retrieving or setting the information is not
        possible.

  - EXTERNAL FUNCTION

    #### (SETF OWNER)

    - VALUE
    - FILE
    Source
    No documentation provided.