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; other- wise, certain attributes may be returned as NULL because the filename components could not be determined. RETURN VALUE Upon successful completion, the DtDtsDataTypeToAttribu- teValue() 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 deter- mines 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).
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |