2001-02-13 10:42:55 +00:00
|
|
|
/* $Id$
|
|
|
|
*
|
|
|
|
* This file is (c) under GNU PUBLIC LICENSE
|
2001-02-11 22:46:19 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2001-12-05 14:23:39 +00:00
|
|
|
#include <linux/slab.h>
|
2001-02-11 22:46:19 +00:00
|
|
|
#include <linux/string.h>
|
2003-07-21 12:00:05 +00:00
|
|
|
#include <linux/mISDNif.h>
|
2001-02-11 22:46:19 +00:00
|
|
|
#include "helper.h"
|
2003-11-21 22:57:08 +00:00
|
|
|
#ifdef MISDN_MEMDEBUG
|
2001-03-03 08:07:30 +00:00
|
|
|
#include "memdbg.h"
|
|
|
|
#endif
|
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
#define mISDN_MAJOR 46
|
|
|
|
#define mISDN_MINOR_CORE 0
|
|
|
|
#define mISDN_MINOR_RAW_MIN 128
|
|
|
|
#define mISDN_MINOR_RAW_MAX 255
|
2001-09-29 20:05:01 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
#define mISDN_DEVBUF_SIZE 8192
|
2001-02-11 22:46:19 +00:00
|
|
|
|
|
|
|
/* debugging */
|
|
|
|
#define DEBUG_CORE_FUNC 0x0001
|
|
|
|
#define DEBUG_DUMMY_FUNC 0x0002
|
|
|
|
#define DEBUG_DEV_OP 0x0100
|
|
|
|
#define DEBUG_MGR_FUNC 0x0200
|
2001-09-29 20:05:01 +00:00
|
|
|
#define DEBUG_DEV_TIMER 0x0400
|
2001-02-11 22:46:19 +00:00
|
|
|
#define DEBUG_RDATA 0x1000
|
|
|
|
#define DEBUG_WDATA 0x2000
|
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
/* from mISDN_dev.c */
|
2001-02-22 10:14:16 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
extern int init_mISDNdev(int);
|
|
|
|
extern int free_mISDNdev(void);
|
|
|
|
extern mISDNdevice_t *get_free_rawdevice(void);
|
|
|
|
extern int free_device(mISDNdevice_t *dev);
|
2001-02-11 22:46:19 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
/* from mISDN_stack.c */
|
2001-02-22 10:14:16 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
extern mISDNstack_t *mISDN_stacklist;
|
|
|
|
extern mISDNinstance_t *mISDN_instlist;
|
2001-02-22 10:14:16 +00:00
|
|
|
|
2001-05-18 00:48:52 +00:00
|
|
|
extern void get_stack_info(iframe_t *);
|
2001-02-27 17:45:44 +00:00
|
|
|
extern int get_stack_cnt(void);
|
2003-07-27 11:14:19 +00:00
|
|
|
extern mISDNstack_t *get_stack4id(u_int);
|
2003-07-21 12:00:05 +00:00
|
|
|
extern mISDNstack_t *new_stack(mISDNstack_t *, mISDNinstance_t *);
|
|
|
|
extern int release_stack(mISDNstack_t *);
|
2003-08-01 22:15:53 +00:00
|
|
|
extern int do_for_all_layers(mISDNstack_t *, u_int, void *);
|
|
|
|
extern int change_stack_para(mISDNstack_t *, u_int, mISDN_stPara_t *);
|
2003-07-21 12:00:05 +00:00
|
|
|
extern void release_stacks(mISDNobject_t *);
|
2003-08-01 22:15:53 +00:00
|
|
|
extern int copy_pid(mISDN_pid_t *, mISDN_pid_t *, u_char *);
|
2003-07-21 12:00:05 +00:00
|
|
|
extern int set_stack(mISDNstack_t *, mISDN_pid_t *);
|
|
|
|
extern int clear_stack(mISDNstack_t *);
|
2003-08-02 21:17:58 +00:00
|
|
|
extern int evaluate_stack_pids(mISDNstack_t *, mISDN_pid_t *);
|
2003-07-21 12:00:05 +00:00
|
|
|
extern mISDNlayer_t *getlayer4lay(mISDNstack_t *, int);
|
|
|
|
extern mISDNinstance_t *get_instance(mISDNstack_t *, int, int);
|
2001-02-22 10:14:16 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
/* from mISDN_core.c */
|
2001-02-22 10:14:16 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
extern mISDNobject_t *mISDN_objects;
|
2001-02-22 10:14:16 +00:00
|
|
|
extern int core_debug;
|
2001-02-11 22:46:19 +00:00
|
|
|
|
2003-07-21 12:00:05 +00:00
|
|
|
extern int register_layer(mISDNstack_t *, mISDNinstance_t *);
|
|
|
|
extern int unregister_instance(mISDNinstance_t *);
|
|
|
|
extern mISDNinstance_t *get_next_instance(mISDNstack_t *, mISDN_pid_t *);
|
|
|
|
extern mISDNobject_t *get_object(int);
|
2003-07-27 11:14:19 +00:00
|
|
|
extern mISDNinstance_t *get_instance4id(u_int);
|
2003-11-11 09:59:01 +00:00
|
|
|
extern int mISDN_alloc_entity(int *);
|
|
|
|
extern int mISDN_delete_entity(int);
|