aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mISDNif.h
diff options
context:
space:
mode:
authorAndreas Eversberg <andreas@eversberg.eu>2008-09-06 03:03:46 -0400
committerKarsten Keil <kkeil@suse.de>2009-01-09 16:44:27 -0500
commit3bd69ad197a4a3d0085a5dc3b5796111bf176b12 (patch)
tree573d7c81f97ff0eb15f914d43dbf9f393cf00ded /include/linux/mISDNif.h
parent55a6af9749d6a31e087f304f2ea39db3bb7b3f3e (diff)
mISDN: Add ISDN sample clock API to mISDN core
Add ISDN sample clock API to mISDN core (new file clock.c) hfcmulti and mISDNdsp use clock API. Signed-off-by: Andreas Eversberg <andreas@eversberg.eu> Signed-off-by: Karsten Keil <kkeil@suse.de>
Diffstat (limited to 'include/linux/mISDNif.h')
-rw-r--r--include/linux/mISDNif.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h
index f75d596c5316..364f1018f0d1 100644
--- a/include/linux/mISDNif.h
+++ b/include/linux/mISDNif.h
@@ -371,6 +371,7 @@ struct mISDN_ctrl_req {
371#define DEBUG_L2_TEI 0x00100000 371#define DEBUG_L2_TEI 0x00100000
372#define DEBUG_L2_TEIFSM 0x00200000 372#define DEBUG_L2_TEIFSM 0x00200000
373#define DEBUG_TIMER 0x01000000 373#define DEBUG_TIMER 0x01000000
374#define DEBUG_CLOCK 0x02000000
374 375
375#define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0]) 376#define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0])
376#define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim) 377#define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim)
@@ -384,6 +385,7 @@ struct mISDN_ctrl_req {
384struct mISDNchannel; 385struct mISDNchannel;
385struct mISDNdevice; 386struct mISDNdevice;
386struct mISDNstack; 387struct mISDNstack;
388struct mISDNclock;
387 389
388struct channel_req { 390struct channel_req {
389 u_int protocol; 391 u_int protocol;
@@ -460,6 +462,16 @@ struct mISDNstack {
460#endif 462#endif
461}; 463};
462 464
465typedef int (clockctl_func_t)(void *, int);
466
467struct mISDNclock {
468 struct list_head list;
469 char name[64];
470 int pri;
471 clockctl_func_t *ctl;
472 void *priv;
473};
474
463/* global alloc/queue functions */ 475/* global alloc/queue functions */
464 476
465static inline struct sk_buff * 477static inline struct sk_buff *
@@ -510,8 +522,13 @@ extern int mISDN_register_device(struct mISDNdevice *, char *name);
510extern void mISDN_unregister_device(struct mISDNdevice *); 522extern void mISDN_unregister_device(struct mISDNdevice *);
511extern int mISDN_register_Bprotocol(struct Bprotocol *); 523extern int mISDN_register_Bprotocol(struct Bprotocol *);
512extern void mISDN_unregister_Bprotocol(struct Bprotocol *); 524extern void mISDN_unregister_Bprotocol(struct Bprotocol *);
525extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *,
526 void *);
527extern void mISDN_unregister_clock(struct mISDNclock *);
513 528
514extern void set_channel_address(struct mISDNchannel *, u_int, u_int); 529extern void set_channel_address(struct mISDNchannel *, u_int, u_int);
530extern void mISDN_clock_update(struct mISDNclock *, int, struct timeval *);
531extern unsigned short mISDN_clock_get(void);
515 532
516#endif /* __KERNEL__ */ 533#endif /* __KERNEL__ */
517#endif /* mISDNIF_H */ 534#endif /* mISDNIF_H */