int hycapi_read_proc(char *page, char **start, off_t off, int count, int *eof, struct capi_ctr *ctrl) 
static int hycapi_read_proc(char *page, char **start, off_t off, int count, int *eof, struct capi_ctr *ctrl) 
int hycapi_read_proc(char *page, char **start, off_t off,		     int count, int *eof, struct capi_ctr *ctrl){	hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata);	hysdn_card *card = cinfo->card;	int len = 0;	char *s;#ifdef HYCAPI_PRINTFNAMES	printk(KERN_NOTICE "hycapi_read_proc\n");    #endif	len += sprintf(page+len, "%-16s %s\n", "name", cinfo->cardname);	len += sprintf(page+len, "%-16s 0x%x\n", "io", card->iobase);	len += sprintf(page+len, "%-16s %d\n", "irq", card->irq);    	switch (card->brdtype) {		case BD_PCCARD:  s = "HYSDN Hycard"; break;		case BD_ERGO: s = "HYSDN Ergo2"; break;		case BD_METRO: s = "HYSDN Metro4"; break;		case BD_CHAMP2: s = "HYSDN Champ2";	break;		case BD_PLEXUS: s = "HYSDN Plexus30"; break;		default: s = "???"; break;	}	len += sprintf(page+len, "%-16s %s\n", "type", s);	if ((s = cinfo->version[VER_DRIVER]) != 0)		len += sprintf(page+len, "%-16s %s\n", "ver_driver", s);	if ((s = cinfo->version[VER_CARDTYPE]) != 0)		len += sprintf(page+len, "%-16s %s\n", "ver_cardtype", s);	if ((s = cinfo->version[VER_SERIAL]) != 0)		len += sprintf(page+len, "%-16s %s\n", "ver_serial", s);    	len += sprintf(page+len, "%-16s %s\n", "cardname", cinfo->cardname);    	if (off+count >= len)		*eof = 1;	if (len < off)		return 0;	*start = page + off;	return ((count < len-off) ? count : len-off);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/aade0e82739f4b24c5b952de68c8d794459ad531/hycapi.c/clean/drivers/isdn/hysdn/hycapi.c