53 lines
2.2 KiB
C
53 lines
2.2 KiB
C
/* $Id$
|
|
|
|
* Header for the diversion supplementary interface for i4l.
|
|
*
|
|
* Copyright 1998 by Werner Cornelius (werner@isdn4linux.de)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
|
|
|
|
/***********************************************************/
|
|
/* magic value is also used to control version information */
|
|
/***********************************************************/
|
|
#define DIVERT_IF_MAGIC 0x25873401
|
|
#define DIVERT_CMD_REG 0x00 /* register command */
|
|
#define DIVERT_CMD_REL 0x01 /* release command */
|
|
#define DIVERT_NO_ERR 0x00 /* return value no error */
|
|
#define DIVERT_CMD_ERR 0x01 /* invalid cmd */
|
|
#define DIVERT_VER_ERR 0x02 /* magic/version invalid */
|
|
#define DIVERT_REG_ERR 0x03 /* module already registered */
|
|
#define DIVERT_REL_ERR 0x04 /* module not registered */
|
|
#define DIVERT_REG_NAME isdn_register_divert
|
|
|
|
/***************************************************************/
|
|
/* structure exchanging data between isdn hl and divert module */
|
|
/***************************************************************/
|
|
typedef struct
|
|
{ ulong if_magic; /* magic info and version */
|
|
int cmd; /* command */
|
|
int (*stat_callback)(isdn_ctrl *); /* supplied by divert module when calling */
|
|
int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
|
|
char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
|
|
int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
|
|
} isdn_divert_if;
|
|
|
|
/*********************/
|
|
/* function register */
|
|
/*********************/
|
|
extern int DIVERT_REG_NAME(isdn_divert_if *);
|