|
@@ -37,7 +37,7 @@
|
|
*/
|
|
*/
|
|
#define MISDN_MAJOR_VERSION 1
|
|
#define MISDN_MAJOR_VERSION 1
|
|
#define MISDN_MINOR_VERSION 0
|
|
#define MISDN_MINOR_VERSION 0
|
|
-#define MISDN_RELEASE 18
|
|
|
|
|
|
+#define MISDN_RELEASE 19
|
|
|
|
|
|
/* primitives for information exchange
|
|
/* primitives for information exchange
|
|
* generell format
|
|
* generell format
|
|
@@ -242,7 +242,8 @@ struct mISDNhead {
|
|
#define TEI_SAPI 63
|
|
#define TEI_SAPI 63
|
|
#define CTRL_SAPI 0
|
|
#define CTRL_SAPI 0
|
|
|
|
|
|
-#define MISDN_CHMAP_SIZE 4
|
|
|
|
|
|
+#define MISDN_MAX_CHANNEL 127
|
|
|
|
+#define MISDN_CHMAP_SIZE ((MISDN_MAX_CHANNEL + 1) >> 3)
|
|
|
|
|
|
#define SOL_MISDN 0
|
|
#define SOL_MISDN 0
|
|
|
|
|
|
@@ -275,11 +276,32 @@ struct mISDN_devinfo {
|
|
u_int Dprotocols;
|
|
u_int Dprotocols;
|
|
u_int Bprotocols;
|
|
u_int Bprotocols;
|
|
u_int protocol;
|
|
u_int protocol;
|
|
- u_long channelmap[MISDN_CHMAP_SIZE];
|
|
|
|
|
|
+ u_char channelmap[MISDN_CHMAP_SIZE];
|
|
u_int nrbchan;
|
|
u_int nrbchan;
|
|
char name[MISDN_MAX_IDLEN];
|
|
char name[MISDN_MAX_IDLEN];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static inline int
|
|
|
|
+test_channelmap(u_int nr, u_char *map)
|
|
|
|
+{
|
|
|
|
+ if (nr <= MISDN_MAX_CHANNEL)
|
|
|
|
+ return map[nr >> 3] & (1 << (nr & 7));
|
|
|
|
+ else
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline void
|
|
|
|
+set_channelmap(u_int nr, u_char *map)
|
|
|
|
+{
|
|
|
|
+ map[nr >> 3] |= (1 << (nr & 7));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline void
|
|
|
|
+clear_channelmap(u_int nr, u_char *map)
|
|
|
|
+{
|
|
|
|
+ map[nr >> 3] &= ~(1 << (nr & 7));
|
|
|
|
+}
|
|
|
|
+
|
|
/* CONTROL_CHANNEL parameters */
|
|
/* CONTROL_CHANNEL parameters */
|
|
#define MISDN_CTRL_GETOP 0x0000
|
|
#define MISDN_CTRL_GETOP 0x0000
|
|
#define MISDN_CTRL_LOOP 0x0001
|
|
#define MISDN_CTRL_LOOP 0x0001
|
|
@@ -405,7 +427,7 @@ struct mISDNdevice {
|
|
u_int Dprotocols;
|
|
u_int Dprotocols;
|
|
u_int Bprotocols;
|
|
u_int Bprotocols;
|
|
u_int nrbchan;
|
|
u_int nrbchan;
|
|
- u_long channelmap[MISDN_CHMAP_SIZE];
|
|
|
|
|
|
+ u_char channelmap[MISDN_CHMAP_SIZE];
|
|
struct list_head bchannels;
|
|
struct list_head bchannels;
|
|
struct mISDNchannel *teimgr;
|
|
struct mISDNchannel *teimgr;
|
|
struct device dev;
|
|
struct device dev;
|
|
@@ -430,7 +452,7 @@ struct mISDNstack {
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|
|
-/* global alloc/queue dunctions */
|
|
|
|
|
|
+/* global alloc/queue functions */
|
|
|
|
|
|
static inline struct sk_buff *
|
|
static inline struct sk_buff *
|
|
mI_alloc_skb(unsigned int len, gfp_t gfp_mask)
|
|
mI_alloc_skb(unsigned int len, gfp_t gfp_mask)
|