DtDtsDataTypeToAttributeValue(3)

DtDtsDataTypeToAttributeValue - get an attribute value for a specified data type

As shipped in IRIX 6.5.30. Added in IRIX 6.5.19.

     NAME
          DtDtsDataTypeToAttributeValue - get an attribute value for a
          specified data type

     SYNOPSIS
          #include <Dt/Dts.h>

          char *DtDtsDataTypeToAttributeValue(const char *datatype,
                                              const char *attr_name,
                                              const char *opt_name);

     DESCRIPTION
          The DtDtsDataTypeToAttributeValue() returns an attribute
          value for the specified data type name.

          The datatype argument is a pointer to a data type name
          string.

          The attr_name argument is a name of the attribute.

          The opt_name argument can be used to specify a name to be
          associated with the data type.  If the opt_name argument is
          not NULL, it is used as a pseudo file name in typing;
          otherwise, certain attributes may be returned as NULL
          because the filename components could not be determined.

     RETURN VALUE
          Upon successful completion, the
          DtDtsDataTypeToAttributeValue() function returns a pointer
          to a data attribute value string, or NULL if no value could
          be determined.

     APPLICATION USAGE
          The application should use the DtDtsFreeAttributeValue(3)
          function to release the memory for the returned value.

          The opt_name argument is useful when the attribute being
          returned contains a modifier string that depends on having a
          file name included.  For example, if the INSTANCE_ICON
          attribute had the value %name%.icon, opt_name would be used
          to derive the %name% portion of the attribute value.  See
          dtdtsfile(4).

     EXAMPLES
          The following takes a list of files as arguments and
          determines the description and actions for each file:

          #include <Dt/Dts.h>
          #define ATTRIBUTE1  "DESCRIPTION"
          #define ATTRIBUTE2  "ACTIONS"

          main (int argc, char **argv)
          {
              char    *attribute;
              char    *datatype;

              /* load data types database */
              DtDtsLoadDataTypes();
              argv++;
              while (*argv) {
                  /* get data type file file */
                  datatype = DtDtsFileToDataType(*argv);

                  /* get first attribute for datatype */
                  attribute = DtDtsDataTypeToAttributeValue(datatype,
                              ATTRIBUTE1, *argv);
                  if (attribute)
                      printf("%s for file %s is %s\n",
                          ATTRIBUTE1, *argv, attribute);
                  /* get second attribute for datatype */
                  attribute = DtDtsDataTypeToAttributeValue(datatype,
                              ATTRIBUTE2, NULL);
                  if (attribute)
                      printf("%s for file %s is %s\n",
                          ATTRIBUTE2, *argv, attribute);
                  argv++;
              }
              DtDtsRelease();
              exit(0);
          }

     SEE ALSO
          DtDts(5), DtDtsFileToDataType(3), DtDtsLoadDataTypes(3),
          DtDtsRelease(3), DtDtsFreeAttributeValue(3).