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/sua/sua_sccp.cstatic char const ident[] = "$Name: $($Revision: 0.8.2.1 $) $Date: 2002/10/18 02:33:28 $"; /* * ========================================================================= * * SCCP Primitive --> SUA Message Translator * * ========================================================================= */ /* * N_CONN_REQ --> CORE * ------------------------------------------------------------------------- * Note: The caller must have already assigned the Protcol Class, SLS, SRN, * Credit (if class 3), saved the SOURCE address and DEST address. This * function just packages up the message. */ static mblk_t *s_conn_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CORE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; *((uint32_t *) mp->b_wptr)++ = htonl(sp->flags); /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = htonl(sp->rc.id); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_SRN; *((uint32_t *) mp->b_wptr)++ = htonl(sp->srn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DEST; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = SUA_PARM_SRCE; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = SUA_PARM_CREDIT; *((uint32_t *) mp->b_wptr)++ = htonl(sp->credit); if (prim->b_cont) { *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DATA; mp->b_cont = prim->b_cont; } freeb(prim); } return (mp); } /* * N_CONN_RES --> COAK * ------------------------------------------------------------------------- * SPECIFICATION NOTES:- The COAK message does not have Network Appearance * as an optional parameter. This means that the effective range of the * source reference number is reduced by the range of Network Appearances * (because the network appearance is implicit in the source reference * number). */ static mblk_t *s_conn_res(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_COAK; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = htonl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DRN; *((uint32_t *) mp->b_wptr)++ = htonl(sp->drn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_SRN; *((uint32_t *) mp->b_wptr)++ = htonl(sp->srn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_CREDIT; *((uint32_t *) mp->b_wptr)++ = htonl(sp->credit); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DEST; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = FIXME; if (prim->b_cont) { *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DATA; mp->b_cont = prim->b_cont; } freeb(prim); } return (mp); } /* * N_DISCON_REQ --> COREF, RELRE * ------------------------------------------------------------------------- * There are three cases here: * N_DISCON_REQ in NS_WRES_CIND --> COREF * N_DISCON_REQ in NS_DATA_XFER --> RELRE * */ static mblk_t *s_discon_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); switch (sp->state) { case NS_WRES_CIND: { static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_COREF; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = htonl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DRN; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->drn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_CAUSE; *((uint32_t *) mp->b_wptr)++ = hotnl(cause); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DEST; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = FIXME; if (prim->b_cont) { *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DATA; mp->b_cont = prim->b_cont; } freeb(prim); } return (mp); } default: case NS_DATA_XFER: { static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RELRE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = htonl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DRN; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->drn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_SRN; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->srn); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_CAUSE; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->cause); if (prim->b_cont) { *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DATA; mp->b_cont = prim->b_cont; } freeb(prim); } return (mp); } } } /* * N_DATA_REQ --> CODT * ------------------------------------------------------------------------- */ static mblk_t *s_data_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_SEQ_NUM; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->seq); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_DEST; *((uint32_t *) mp->b_wptr)++ = FIXME; *((uint32_t *) mp->b_wptr)++ = FIXME; /* * FIXME: More... */ } return (mp); } /* * N_EXDATA_REQ --> CODT * ------------------------------------------------------------------------- */ static mblk_t *s_exdata_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_UNITDATA_REQ --> CLDT * ------------------------------------------------------------------------- */ static mblk_t *s_unitdata_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CLDT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_DATACK_REQ --> CODA * ------------------------------------------------------------------------- */ static mblk_t *s_datack_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODA; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_RESET_REQ --> RESRE * ------------------------------------------------------------------------- */ static mblk_t *s_reset_req(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RESRE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_RESET_RES --> RESCO * ------------------------------------------------------------------------- */ static mblk_t *s_reset_res(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RESCO; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_CONN_IND --> CORE * ------------------------------------------------------------------------- */ static mblk_t *s_conn_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CORE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_CONN_CON --> COAK * ------------------------------------------------------------------------- */ static mblk_t *s_conn_con(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_COAK; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_DISCON_IND --> COAK, RELRE, or RELCO * ------------------------------------------------------------------------- */ static mblk_t *s_discon_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); switch (sp->state) { case NS_WCON_CREQ: { static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_COAK; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } case NS_WACK_DREQ: { static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RELCO; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } default: case NS_WIND_DREQ: { static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RELRE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } } } /* * N_DATA_IND --> CODT * ------------------------------------------------------------------------- */ static mblk_t *s_data_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_EXDATA_IND --> CODT * ------------------------------------------------------------------------- */ static mblk_t *s_exdata_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_UNITDATA_IND --> CLDT * ------------------------------------------------------------------------- */ static mblk_t *s_unitdata_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CNLS_CLDT; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_UDERROR_IND --> CLDR * ------------------------------------------------------------------------- */ static mblk_t *s_uderror_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CNLS_CLDR; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_DATACK_IND --> CODA * ------------------------------------------------------------------------- */ static mblk_t *s_datack_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_CODA; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_RESET_IND --> RESRE * ------------------------------------------------------------------------- */ static mblk_t *s_reset_ind(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RESRE; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * N_RESET_CON --> RESCO * ------------------------------------------------------------------------- */ static mblk_t *s_reset_con(queue_t * q, mblk_t * prim) { mblk_t *mp; sccp_t *sp = Q_SCCP(q); static const size_t mlen = FIXME; if ((mp = allocb(mlen, BPRI_HI))) { mp->b_datap->db_type = M_DATA; *((uint32_t *) mp->b_wptr)++ = SUA_CONS_RESCO; *((uint32_t *) mp->b_wptr)++ = __constant_htonl(mlen); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_FLAGS; /* Note: need to set message priority in Flags */ *((uint32_t *) mp->b_wptr)++ = hotnl(sp->flags); *((uint32_t *) mp->b_wptr)++ = SUA_PARM_RC; *((uint32_t *) mp->b_wptr)++ = hotnl(sp->rc.id); /* * FIXME: More... */ } return (mp); } /* * ------------------------------------------------------------------------- * * SCCP Primitive --> SUA Message Translation Table * * ------------------------------------------------------------------------- */ static mblk_t *(*s_xlat[]) (queue_t *, mblk_t *) = { #define S_XLAT_FIRST N_CONN_REQ s_conn_req, /* N_CONN_REQ 0 */ s_conn_res, /* N_CONN_RES 1 */ s_discon_req, /* N_DISCON_REQ 2 */ s_data_req, /* N_DATA_REQ 3 */ s_exdata_req, /* N_EXDATA_REQ 4 */ NULL, /* N_INFO_REQ 5 */ NULL, /* N_BIND_REQ 6 */ NULL, /* N_UNBIND_REQ 7 */ s_unitdata_req, /* N_UNITDATA_REQ 8 */ NULL, /* N_OPTMGMT_REQ 9 */ NULL, /* (not used) 20 */ s_conn_ind, /* N_CONN_IND 21 */ s_conn_con, /* N_CONN_CON 22 */ s_discon_ind, /* N_DISCON_IND 23 */ s_data_ind, /* N_DATA_IND 24 */ s_exdata_ind, /* N_EXDATA_IND 25 */ NULL, /* N_INFO_ACK 26 */ NULL, /* N_BIND_ACK 27 */ NULL, /* N_ERROR_ACK 28 */ NULL, /* N_OK_ACK 29 */ s_unitdata_ind, /* N_UNITDATA_IND 30 */ s_uderror_ind, /* N_UDERROR_IND 31 */ NULL, /* (not used) 32 */ s_datack_req, /* N_DATACK_REQ 33 */ s_datack_ind, /* N_DATACK_IND 34 */ s_reset_req, /* N_RESET_REQ 35 */ s_reset_ind, /* N_RESET_IND 36 */ s_reset_res, /* N_RESET_RES 37 */ s_reset_con /* N_RESET_CON 38 */ #define S_XLAT_LAST N_RESET_CON }; /* * ========================================================================= * * SUA Message --> SCCP Primitive Translator * * ========================================================================= */
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |