OpenSS7 SS7 for the Common Man |
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |
||||||||||||||||||||||||||
Home | Overview | Status | News | Documentation | Resources | About | |||||||||||||||||||||
File /code/strss7/drivers/slsi/sls_lsta.h#ident "@(#) $Id: sls_lsta.h,v 0.8.2.1 2002/10/18 02:40:38 brian Exp $" #ifndef __SLS_LSTA_H__ #define __SLS_LSTA_H__ /* * Signalling Link Terminal Allocation (LSTA) Figure 41/Q.704 */ static inline void lk_lsta_determine_terminal(lk_t * lk) { if (lk->statem.lsta_state == LK_STATE_IDLE) { if (0) { /* any terminals idle */ /* select terminal */ lk->statem.activation = 0; lk->statem.restoration = 0; } else if (1) { /* any terminals available */ if (lk->statem.activation) lk_lsla_no_terminal(lk); if (lk->statem.restoration) lk_lslr_no_terminal(lk); lk->statem.activation = 0; lk->statem.restoration = 0; } else { /* select terminal */ lk->statem.lsta_state = LK_STATE_WAIT; lk_lsac_deactivate_link(lk); /* selected terminal */ } } } static inline void lk_lsta_terminal_idle(lk_t * lk) { switch (lk->statem.lsta_state) { case LK_STATE_IDLE: lk->statem.terminal_idle = 1; break; case LK_STATE_WAIT: if (lk->statem.activation) lk_lsla_terminal(lk); if (lk->statem.restoration) lk_lslr_terminal(lk); break; } } static inline void lk_lsta_terminal_available(lk_t * lk) { lk->statem.terminal_available = 1; } #endif /* __SLS_LSTA_H__ */
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |