DtDtsDataTypeToAttributeValue(libDrtaDrtysDcaatlalT)ypeToAttributeValue(library call)
NAME [Toc] [Back]
DtDtsDataTypeToAttributeValue - get an attribute value for a specified
data type
SYNOPSIS [Toc] [Back]
#include <Dt/Dts.h>
char *DtDtsDataTypeToAttributeValue(
const char *datatype,
const char *attr_name,
const char *opt_name);
DESCRIPTION [Toc] [Back]
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 [Toc] [Back]
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 [Toc] [Back]
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 [Toc] [Back]
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;
- 1 - Formatted: January 24, 2005
DtDtsDataTypeToAttributeValue(libDrtaDrtysDcaatlalT)ypeToAttributeValue(library call)
/* 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 [Toc] [Back]
Dt/Dts.h, DtDtsFileToDataType(3), DtDtsLoadDataTypes(3),
DtDtsRelease(3), DtDtsFreeAttributeValue(3).
- 2 - Formatted: January 24, 2005 [ Back ] |