Lines Matching full:dcp
127 iconv_register_converter(struct iconv_converter_class *dcp) in iconv_register_converter() argument
129 kobj_class_compile((struct kobj_class*)dcp); in iconv_register_converter()
130 dcp->refs++; in iconv_register_converter()
131 TAILQ_INSERT_TAIL(&iconv_converters, dcp, cc_link); in iconv_register_converter()
136 iconv_unregister_converter(struct iconv_converter_class *dcp) in iconv_unregister_converter() argument
138 dcp->refs--; in iconv_unregister_converter()
139 if (dcp->refs > 1) { in iconv_unregister_converter()
140 ICDEBUG("converter has %d references left\n", dcp->refs); in iconv_unregister_converter()
143 TAILQ_REMOVE(&iconv_converters, dcp, cc_link); in iconv_unregister_converter()
144 kobj_class_free((struct kobj_class*)dcp); in iconv_unregister_converter()
151 struct iconv_converter_class *dcp; in iconv_lookupconv() local
153 TAILQ_FOREACH(dcp, &iconv_converters, cc_link) { in iconv_lookupconv()
156 if (strcmp(name, ICONV_CONVERTER_NAME(dcp)) == 0) { in iconv_lookupconv()
158 *dcpp = dcp; in iconv_lookupconv()
183 struct iconv_converter_class *dcp, void *data, in iconv_register_cspair() argument
202 csp->cp_dcp = dcp; in iconv_register_cspair()
240 struct iconv_converter_class *dcp; in iconv_open() local
255 TAILQ_FOREACH(dcp, &iconv_converters, cc_link) { in iconv_open()
256 cnvname = ICONV_CONVERTER_NAME(dcp); in iconv_open()
268 return ICONV_CONVERTER_OPEN(dcp, cspto, cspfrom, handle); in iconv_open()
326 struct iconv_converter_class *dcp; in iconv_sysctl_drvlist() local
333 TAILQ_FOREACH(dcp, &iconv_converters, cc_link) { in iconv_sysctl_drvlist()
334 name = ICONV_CONVERTER_NAME(dcp); in iconv_sysctl_drvlist()
390 struct iconv_converter_class *dcp; in iconv_add() local
393 if (iconv_lookupconv(converter, &dcp) != 0) in iconv_add()
396 return iconv_register_cspair(to, from, dcp, NULL, &csp); in iconv_add()
405 struct iconv_converter_class *dcp; in iconv_sysctl_add() local
424 if (iconv_lookupconv(din.ia_converter, &dcp) != 0) in iconv_sysctl_add()
427 error = iconv_register_cspair(din.ia_to, din.ia_from, dcp, NULL, &csp); in iconv_sysctl_add()
480 struct iconv_converter_class *dcp = data; in iconv_converter_handler() local
486 error = iconv_register_converter(dcp); in iconv_converter_handler()
491 error = ICONV_CONVERTER_INIT(dcp); in iconv_converter_handler()
493 iconv_unregister_converter(dcp); in iconv_converter_handler()
498 ICONV_CONVERTER_DONE(dcp); in iconv_converter_handler()
499 error = iconv_unregister_converter(dcp); in iconv_converter_handler()