int pcbit_command(isdn_ctrl* ctl) 
static int pcbit_command(isdn_ctrl* ctl) 
int pcbit_command(isdn_ctrl* ctl){	struct pcbit_dev  *dev;	struct pcbit_chan *chan;	struct callb_data info;	dev = finddev(ctl->driver);	if (!dev)	{		printk("pcbit_command: unknown device\n");		return -1;	}	chan = (ctl->arg & 0x0F) ? dev->b2 : dev->b1;	switch(ctl->command) {	case ISDN_CMD_IOCTL:		return pcbit_ioctl(ctl);		break;	case ISDN_CMD_DIAL:		info.type = EV_USR_SETUP_REQ;		info.data.setup.CalledPN = (char *) &ctl->parm.setup.phone;		pcbit_fsm_event(dev, chan, EV_USR_SETUP_REQ, &info);		break;	case ISDN_CMD_ACCEPTD:		pcbit_fsm_event(dev, chan, EV_USR_SETUP_RESP, NULL);		break;	case ISDN_CMD_ACCEPTB:		printk("ISDN_CMD_ACCEPTB - not really needed\n");		break;	case ISDN_CMD_HANGUP:		pcbit_fsm_event(dev, chan, EV_USR_RELEASE_REQ, NULL);		break;	case ISDN_CMD_SETL2:		chan->proto = (ctl->arg >> 8);		break;	case ISDN_CMD_CLREAZ:		pcbit_clear_msn(dev);		break;	case ISDN_CMD_SETEAZ:		pcbit_set_msn(dev, ctl->parm.num);		break;	case ISDN_CMD_SETL3:		if ((ctl->arg >> 8) != ISDN_PROTO_L3_TRANS)			printk(KERN_DEBUG "L3 protocol unknown\n");		break;	default:		printk(KERN_DEBUG "pcbit_command: unknown command\n");		break;	};	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/886cca3a0fda659e17c730c20929134014ebe1f2/drv.c/buggy/drivers/isdn/pcbit/drv.c