1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 #define SAF_ATT_NAMES           ".saf_att_names"        /* If the client passes SAF_ATT_NAMES for the NAME arg in a call to
                                                          * saf_get_attribute(), SAF will return a TYPE of string (if the TYPE
                                                          * return value is requested), a COUNT equal to the number of attributes
                                                          * (if the COUNT return value was requested), and a VALUE array
                                                          * containing the names of all attributes defined for the object. */
 #define SAF_ATT_COUNT           ".saf_att_count"        /* If the client passes SAF_ATT_COUNT for the NAME arg in a SAF call to
                                                          * saf_get_attribute(), SAF will return the count of number of
                                                          * attributes defined for the given object in the COUNT. It is an error
                                                          * to request a count with SAF_ATT_COUNT, but pass NULL for the COUNT
                                                          * argument in a call to get attributes. */
 #define SAF_ATT_FIRST           ".saf_att_first"        /* If the client passes SAF_ATT_FIRST, for the NAME argument in a SAF call
                                                          * to saf_get_attribute(), SAF will return the *first* attribute that was
                                                          * ever defined for the object. Thereafter, any call with SAF_ATT_NEXT
                                                          * will iterate through the list of attributes defined for the object. */
 #define SAF_ATT_NEXT            ".saf_att_next"         /* This reserved attribute name works in conjunction with SAF_ATT_FIRST,
                                                          * to allow the client to iterate through all attributes defined for
                                                          * a given object. It is an error to pass SAF_ATT_NEXT without at least
                                                          * one prior call with SAF_ATT_FIRST. */