Import 2.3.25pre1
[davej-history.git] / include / linux / isdn_divertif.h
blob2892d0218f39797277652207c6d0ca5c9ba40cc7
1 /*
2 * $Id: isdn_divertif.h,v 1.3 1999/07/05 20:22:00 werner Exp $
4 * Header for the diversion supplementary interface for i4l.
6 * Copyright 1998 by Werner Cornelius (werner@isdn4linux.de)
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2, or (at your option)
11 * any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 * $Log: isdn_divertif.h,v $
23 * Revision 1.3 1999/07/05 20:22:00 werner
24 * changes to use diversion sources for all kernel versions.
25 * removed static device, only proc filesystem used
27 * Revision 1.2 1999/07/04 21:38:38 werner
28 * ported from kernel version 2.0
34 /***********************************************************/
35 /* magic value is also used to control version information */
36 /***********************************************************/
37 #define DIVERT_IF_MAGIC 0x25873401
38 #define DIVERT_CMD_REG 0x00 /* register command */
39 #define DIVERT_CMD_REL 0x01 /* release command */
40 #define DIVERT_NO_ERR 0x00 /* return value no error */
41 #define DIVERT_CMD_ERR 0x01 /* invalid cmd */
42 #define DIVERT_VER_ERR 0x02 /* magic/version invalid */
43 #define DIVERT_REG_ERR 0x03 /* module already registered */
44 #define DIVERT_REL_ERR 0x04 /* module not registered */
45 #define DIVERT_REG_NAME isdn_register_divert
47 /***************************************************************/
48 /* structure exchanging data between isdn hl and divert module */
49 /***************************************************************/
50 typedef struct
51 { ulong if_magic; /* magic info and version */
52 int cmd; /* command */
53 int (*stat_callback)(isdn_ctrl *); /* supplied by divert module when calling */
54 int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
55 char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
56 int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
57 } isdn_divert_if;
59 /*********************/
60 /* function register */
61 /*********************/
62 extern int DIVERT_REG_NAME(isdn_divert_if *);