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/linux | |
| 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/linux')
| -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 */ |
