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_hmcg.h#ident "@(#) $Id: sls_hmcg.h,v 0.8.2.1 2002/10/18 02:40:37 brian Exp $" #ifndef __SLS_HMCG_H__ #define __SLS_HMCG_H__ /* * Referenced functions. */ static int lk_build_msu(mblk_t * mp); static inline void ls_rtcc_hmcg_send_transfer_controlled_message(ls_t * ls, mblk_t * mp); static inline void lk_l2_hmcg_message_for_transmission(lk_t * lk, mblk_t * mp); /* * Forward declarations. */ static inline void lk_hmcg_hmrt_message(lk_t * lk, mblk_t * mp); /* from MTP */ /* * Consistent with the link set and link portions of: * * Signalling Message Handling (SMH) * Signalling Link Congestion (HMCG) * Figure 26a/Q.704 * * Note:- this state machine has only one state and is therefore just a * collection of function calls. These functions are only called by the MTP * route set and route state machines and only recheck the link set and link * congestion status to avoid transient conditions where the link congestion * status has not yet been communicated to the sender. */ static inline void lk_hmcg_hmrt_message(lk_t * lk, mblk_t * mp) { ls_t *ls = lk->module; union LS_primitives *p = (union LS_primitives *) mp->b_rptr; int P = p->mh.mp; if (P < ls->statem.cong_level || P < lk->statem.cong_level) { ls_rtcc_hmcg_send_transfer_controlled_message(ls, mp); if (P < ls->statem.disc_level || P < lk->statem.disc_level) { freemsg(mp); return; } } if (lk_build_msu(mp);) { /* encoding of the message was unsuccessful, discard and continue */ /* we should log this error */ freemsg(mp); return; } lk_l2_hmcg_message_for_transmission(lk, mp); } #endif /* __SLS_HMCG_H__ */
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |