DtDtsDataTypeToAttUNIXtSystem(V)(DtDtsDataTypeToAttributeValue(3)
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)
{
Page 1 (printed 9/3/04)
DtDtsDataTypeToAttUNIXtSystem(V)(DtDtsDataTypeToAttributeValue(3)
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).
Page 2 (printed 9/3/04)