/* Retrieve version information for the specified ISDN controller or (for @contr == 0) the driver itself. Return value: CAPI result code  */
u16 capi20_get_version(u32 contr, struct capi_version *verp)
/* Retrieve version information for the specified ISDN controller or (for @contr == 0) the driver itself. Return value: CAPI result code  */
u16 capi20_get_version(u32 contr, struct capi_version *verp)
{
	struct capi_ctr *card;
	if (contr == 0) {
		*verp = driver_version;
		return CAPI_NOERROR;
	}
	card = get_capi_ctr_by_nr(contr);
	if (!card || card->cardstate != CARD_RUNNING) 
		return CAPI_REGNOTINSTALLED;
	memcpy((void *) verp, &card->version, sizeof(capi_version));
	return CAPI_NOERROR;
}