# Domain/OS ATTR Trait

This trait is undocumented. It is described below, click here for a replacement header file.

## The entry point vector:

    typedef struct attr_$epv
    {
        void
        (*inq_ref_count)    /* inquire reference count */
        (
            void *&handle,              /* the object handle */
            unsigned long *ref_count,   /* store the count here */
            status_$t *status
        );

        void
        (*inq_time)     /* inquire timestamp */
        (
            void *&handle,
            attr_$time_type_t &which,   /* created, modified, used, etc. */
            time_$clock_t *time,
            status_$t *status
        );

        void
        (*set_time)     /* set a timestamp */
        (
            void *&handle,
            attr_$time_type_t &which,   /* created, modified, used, etc. */
            time_$clock_t &time,
            status_$t *status
        );

        void
        (*inq_blocks)   /* inquire block size and count */
        (
            void *&handle,
            unsigned long *blocks_count,
            unsigned long *block_size,
            status_$t *status
        );
    } attr_$epv;

## The attr_trait structure

A source file is here.

    trait_$t attr_$trait =
    {
        4,                          /* four calls */
        { 3280CDA2.0004653 },      /* attr trait UID */
        { { 3280CDA2.1004653 }, unimp_attr_trait_$3_args },    /* inq_ref_count */
        { { 3280CDA2.2004653 }, unimp_attr_trait_$4_args },    /* inq_time */
        { { 3280CDA2.3004653 }, unimp_attr_trait_$4_args },    /* set_time */
        { { 3280CDA2.4004653 }, unimp_attr_trait_$4_args },    /* inq_blocks */
    };