📄 sl_x100p.c
字号:
mp->b_datap->db_type = M_PROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->sdt_primitive = SDT_IAC_CORRECT_SU_IND; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS); } rare(); return (-EBUSY);}/* * SDT_IAC_ABORT_PROVING_IND * ----------------------------------- */STATIC INLINE intsdt_iac_abort_proving_ind(queue_t *q, struct xp *xp){ mblk_t *mp; sdt_iac_abort_proving_ind_t *p; if ((mp = allocb(sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->sdt_primitive = SDT_IAC_ABORT_PROVING_IND; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * SDT_LSC_LINK_FAILURE_IND * ----------------------------------- */STATIC INLINE intsdt_lsc_link_failure_ind(queue_t *q, struct xp *xp){ mblk_t *mp; sdt_lsc_link_failure_ind_t *p; if ((mp = allocb(sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->sdt_primitive = SDT_LSC_LINK_FAILURE_IND; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * SDT_TXC_TRANSMISSION_REQUEST_IND * ----------------------------------- */STATIC INLINE intsdt_txc_transmission_request_ind(queue_t *q, struct xp *xp){ mblk_t *mp; sdt_txc_transmission_request_ind_t *p; if ((mp = allocb(sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->sdt_primitive = SDT_TXC_TRANSMISSION_REQUEST_IND; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * SDL_RECEIVED_BITS_IND * ----------------------------------- * Quickly we just copy the buffer and leave the original for the lower level * driver. */STATIC INLINE intsdl_received_bits_ind(queue_t *q, struct xp *xp, mblk_t *dp){ if (canput(xp->oq)) { ss7_oput(xp->oq, dp); return (QR_ABSORBED); } rare(); dp->b_wptr = dp->b_rptr; /* discard contents */ return (-EBUSY);}/* * SDL_DISCONNECT_IND * ----------------------------------- */STATIC INLINE intsdl_disconnect_ind(queue_t *q, struct xp *xp){ mblk_t *mp; sdl_disconnect_ind_t *p; (void) xp; if ((mp = allocb(sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->sdl_primitive = SDL_DISCONNECT_IND; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_OK_ACK * ----------------------------------- */STATIC INLINE intlmi_ok_ack(queue_t *q, struct xp *xp, ulong state, long prim){ mblk_t *mp; lmi_ok_ack_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_OK_ACK; p->lmi_correct_primitive = prim; p->lmi_state = xp->i_state = state; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_ERROR_ACK * ----------------------------------- */STATIC INLINE intlmi_error_ack(queue_t *q, struct xp *xp, ulong state, long prim, ulong errno, ulong reason){ mblk_t *mp; lmi_error_ack_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_ERROR_ACK; p->lmi_errno = errno; p->lmi_reason = reason; p->lmi_error_primitive = prim; p->lmi_state = xp->i_state = state; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_ENABLE_CON * ----------------------------------- */STATIC INLINE intlmi_enable_con(queue_t *q, struct xp *xp){ mblk_t *mp; lmi_enable_con_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_ENABLE_CON; p->lmi_state = xp->i_state = LMI_ENABLED; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_DISABLE_CON * ----------------------------------- */STATIC INLINE intlmi_disable_con(queue_t *q, struct xp *xp){ mblk_t *mp; lmi_disable_con_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_DISABLE_CON; p->lmi_state = xp->i_state = LMI_DISABLED; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_OPTMGMT_ACK * ----------------------------------- */STATIC INLINE intlmi_optmgmt_ack(queue_t *q, struct xp *xp, ulong flags, caddr_t opt_ptr, size_t opt_len){ mblk_t *mp; lmi_optmgmt_ack_t *p; if ((mp = ss7_allocb(q, sizeof(*p) + opt_len, BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_OPTMGMT_ACK; p->lmi_opt_length = opt_len; p->lmi_opt_offset = opt_len ? sizeof(*p) : 0; p->lmi_mgmt_flags = flags; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_ERROR_IND * ----------------------------------- */STATIC INLINE intlmi_error_ind(queue_t *q, struct xp *xp, ulong errno, ulong reason){ mblk_t *mp; lmi_error_ind_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PCPROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_ERROR_IND; p->lmi_errno = errno; p->lmi_reason = reason; p->lmi_state = xp->i_state; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS);}/* * LMI_STATS_IND * ----------------------------------- */STATIC INLINE intlmi_stats_ind(queue_t *q, struct xp *xp, ulong interval){ if (canput(xp->oq)) { mblk_t *mp; lmi_stats_ind_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_STATS_IND; p->lmi_interval = interval; p->lmi_timestamp = jiffies; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS); } rare(); return (-EBUSY);}/* * LMI_EVENT_IND * ----------------------------------- */STATIC INLINE intlmi_event_ind(queue_t *q, struct xp *xp, ulong oid, ulong level){ if (canput(xp->oq)) { mblk_t *mp; lmi_event_ind_t *p; if ((mp = ss7_allocb(q, sizeof(*p), BPRI_MED))) { mp->b_datap->db_type = M_PROTO; p = (typeof(p)) mp->b_wptr; mp->b_wptr += sizeof(*p); p->lmi_primitive = LMI_EVENT_IND; p->lmi_objectid = oid; p->lmi_timestamp = jiffies; p->lmi_severity = level; ss7_oput(xp->oq, mp); return (QR_DONE); } rare(); return (-ENOBUFS); } rare(); return (-EBUSY);}/* * ========================================================================= * * PROTOCOL STATE MACHINE FUNCTIONS * * ========================================================================= *//* * ------------------------------------------------------------------------ * * Default Configuration * * ------------------------------------------------------------------------ */STATIC lmi_option_t lmi_default_e1_chan = { pvar:SS7_PVAR_ITUT_00, popt:0,};STATIC lmi_option_t lmi_default_t1_chan = { pvar:SS7_PVAR_ANSI_00, popt:SS7_POPT_MPLEV,};STATIC lmi_option_t lmi_default_e1_span = { pvar:SS7_PVAR_ITUT_00, popt:SS7_POPT_HSL | SS7_POPT_XSN,};STATIC lmi_option_t lmi_default_t1_span = { pvar:SS7_PVAR_ANSI_00, popt:SS7_POPT_MPLEV | SS7_POPT_HSL | SS7_POPT_XSN,};STATIC sl_config_t sl_default_e1_chan = { t1:45 * HZ, t2:5 * HZ, t2l:20 * HZ, t2h:100 * HZ, t3:1 * HZ, t4n:8 * HZ, t4e:500 * HZ / 1000, t5:100 * HZ / 1000, t6:4 * HZ, t7:1 * HZ, rb_abate:3, rb_accept:6, rb_discard:9, tb_abate_1:128 * 272, tb_onset_1:256 * 272, tb_discd_1:384 * 272, tb_abate_2:512 * 272, tb_onset_2:640 * 272, tb_discd_2:768 * 272, tb_abate_3:896 * 272, tb_onset_3:1024 * 272, tb_discd_3:1152 * 272, N1:127, N2:8192, M:5,};STATIC sl_config_t sl_default_e1_span = { t1:45 * HZ, t2:5 * HZ, t2l:20 * HZ, t2h:100 * HZ, t3:1 * HZ, t4n:8 * HZ, t4e:500 * HZ / 1000, t5:100 * HZ / 1000, t6:4 * HZ, t7:1 * HZ, rb_abate:3, rb_accept:6, rb_discard:9, tb_abate_1:128 * 272, tb_onset_1:256 * 272, tb_discd_1:384 * 272, tb_abate_2:512 * 272, tb_onset_2:640 * 272, tb_discd_2:768 * 272, tb_abate_3:896 * 272, tb_onset_3:1024 * 272, tb_discd_3:1152 * 272, N1:127, N2:8192, M:5,};STATIC sl_config_t sl_default_t1_chan = { t1:45 * HZ, t2:5 * HZ, t2l:20 * HZ, t2h:100 * HZ, t3:1 * HZ, t4n:8 * HZ, t4e:500 * HZ / 1000, t5:100 * HZ / 1000, t6:4 * HZ, t7:1 * HZ, rb_abate:3, rb_accept:6, rb_discard:9, tb_abate_1:128 * 272, tb_onset_1:256 * 272, tb_discd_1:384 * 272, tb_abate_2:512 * 272, tb_onset_2:640 * 272, tb_discd_2:768 * 272, tb_abate_3:896 * 272, tb_onset_3:1024 * 272, tb_discd_3:1152 * 272, N1:127, N2:8192, M:5,};STATIC sl_config_t sl_default_t1_span = { t1:45 * HZ, t2:5 * HZ, t2l:20 * HZ, t2h:100 * HZ, t3:1 * HZ, t4n:8 * HZ, t4e:500 * HZ / 1000, t5:100 * HZ / 1000, t6:4 * HZ, t7:1 * HZ, rb_abate:3, rb_accept:6, rb_discard:9, tb_abate_1:128 * 272, tb_onset_1:256 * 272, tb_discd_1:384 * 272, tb_abate_2:512 * 272, tb_onset_2:640 * 272, tb_discd_2:768 * 272, tb_abate_3:896 * 272, tb_onset_3:1024 * 272, tb_discd_3:1152 * 272, N1:127, N2:8192, M:5,};STATIC sdt_config_t sdt_default_e1_span = { Tin:4, Tie:1, T:64, D:256, t8:100 * HZ / 1000, Te:793544, De:11328000, Ue:198384000, N:16, m:272, b:8, f:SDT_FLAGS_ONE,};STATIC sdt_config_t sdt_default_t1_span = { Tin:4, Tie:1, T:64, D:256, t8:100 * HZ / 1000, Te:577169, De:9308000, Ue:144292000, N:16, m:272, b:8, f:SDT_FLAGS_ONE,};STATIC sdt_config_t sdt_default_e1_chan = { Tin:4, Tie:1, T:64, D:256, t8:100 * HZ / 1000, Te:793544, De:11328000, Ue:198384000, N:16, m:272, b:8, f:SDT_FLAGS_ONE,};STATIC sdt_config_t sdt_default_t1_chan = { Tin:4, Tie:1, T:64, D:256, t8:100 * HZ / 1000, Te:577169, De:9308000, Ue:144292000, N:16, m:272, b:8, f:SDT_FLAGS_ONE,};STATIC sdl_config_t sdl_default_e1_chan = { ifname:NULL, ifflags:0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -