diff options
author | Andreas Eversberg <andreas@eversberg.eu> | 2008-09-06 03:03:46 -0400 |
---|---|---|
committer | Karsten Keil <kkeil@suse.de> | 2009-01-09 16:44:27 -0500 |
commit | 3bd69ad197a4a3d0085a5dc3b5796111bf176b12 (patch) | |
tree | 573d7c81f97ff0eb15f914d43dbf9f393cf00ded /include | |
parent | 55a6af9749d6a31e087f304f2ea39db3bb7b3f3e (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')
-rw-r--r-- | include/linux/mISDNif.h | 17 |
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 { | |||
384 | struct mISDNchannel; | 385 | struct mISDNchannel; |
385 | struct mISDNdevice; | 386 | struct mISDNdevice; |
386 | struct mISDNstack; | 387 | struct mISDNstack; |
388 | struct mISDNclock; | ||
387 | 389 | ||
388 | struct channel_req { | 390 | struct channel_req { |
389 | u_int protocol; | 391 | u_int protocol; |
@@ -460,6 +462,16 @@ struct mISDNstack { | |||
460 | #endif | 462 | #endif |
461 | }; | 463 | }; |
462 | 464 | ||
465 | typedef int (clockctl_func_t)(void *, int); | ||
466 | |||
467 | struct 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 | ||
465 | static inline struct sk_buff * | 477 | static inline struct sk_buff * |
@@ -510,8 +522,13 @@ extern int mISDN_register_device(struct mISDNdevice *, char *name); | |||
510 | extern void mISDN_unregister_device(struct mISDNdevice *); | 522 | extern void mISDN_unregister_device(struct mISDNdevice *); |
511 | extern int mISDN_register_Bprotocol(struct Bprotocol *); | 523 | extern int mISDN_register_Bprotocol(struct Bprotocol *); |
512 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); | 524 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); |
525 | extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *, | ||
526 | void *); | ||
527 | extern void mISDN_unregister_clock(struct mISDNclock *); | ||
513 | 528 | ||
514 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); | 529 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); |
530 | extern void mISDN_clock_update(struct mISDNclock *, int, struct timeval *); | ||
531 | extern unsigned short mISDN_clock_get(void); | ||
515 | 532 | ||
516 | #endif /* __KERNEL__ */ | 533 | #endif /* __KERNEL__ */ |
517 | #endif /* mISDNIF_H */ | 534 | #endif /* mISDNIF_H */ |