DtDtsDataTypeToAttributeValue(libraDtDtsDataTypeToAttributeValue(library call)NAMEDtDtsDataTypeToAttributeValue — 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 deter‐
mined.
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 con‐
tains 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
Dt/Dts.h, DtDtsFileToDataType(3), DtDtsLoadDataTypes(3), DtDtsRe‐
lease(3), DtDtsFreeAttributeValue(3).
DtDtsDataTypeToAttributeValue(library call)