--- libss7.h +++ libss7.h @@ -445,7 +445,7 @@ struct timeval *ss7_schedule_next(struct ss7 *ss7); -int ss7_add_link(struct ss7 *ss7, int transport, int fd); +int ss7_add_link(struct ss7 *ss7, int transport, int fd, int slc); int ss7_set_adjpc(struct ss7 *ss7, int fd, unsigned int pc); --- ss7.c +++ ss7.c @@ -199,7 +199,7 @@ mtp3_noalarm(ss7, fd); } -int ss7_add_link(struct ss7 *ss7, int transport, int fd) +int ss7_add_link(struct ss7 *ss7, int transport, int fd, int slc) { struct mtp2 *m; @@ -220,7 +220,7 @@ if (!m) return -1; - m->slc = ss7->numlinks; + m->slc = slc; ss7->numlinks += 1; m->master = ss7; if (zapmtp2) --- parser_debug.c +++ parser_debug.c @@ -74,7 +74,7 @@ printf("\n"); - ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, 10); + ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, 10, 0); ss7->debug = SS7_DEBUG_MTP2 | SS7_DEBUG_MTP3 | SS7_DEBUG_ISUP; ss7->links[0]->state = MTP_INSERVICE; --- ss7linktest.c +++ ss7linktest.c @@ -319,7 +319,7 @@ ss7_set_network_ind(ss7, SS7_NI_NAT); ss7_set_debug(ss7, 0xfffffff); - if ((ss7_add_link(ss7, ismtp2 ? SS7_TRANSPORT_DAHDIMTP2 : SS7_TRANSPORT_DAHDIDCHAN, fd))) { + if ((ss7_add_link(ss7, ismtp2 ? SS7_TRANSPORT_DAHDIMTP2 : SS7_TRANSPORT_DAHDIDCHAN, fd, 0))) { perror("ss7_add_link"); exit(1); } --- ss7test.c +++ ss7test.c @@ -218,7 +218,7 @@ ss7_set_error(myprintf); ss7_set_debug(ss7, 0xffffffff); - if ((ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, fds[0]))) { + if ((ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, fds[0], 0))) { perror("ss7_add_link"); exit(1); } @@ -235,7 +235,7 @@ ss7_set_debug(ss7, 0xffffffff); linkset[1].linkno = 1; - if ((ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, fds[1]))) { + if ((ss7_add_link(ss7, SS7_TRANSPORT_DAHDIDCHAN, fds[1], 0))) { perror("ss7_add_link"); exit(1); }