various compile fixes
This commit is contained in:
parent
28f9c63f7a
commit
7245238cc3
3
lapv5.c
3
lapv5.c
|
@ -22,7 +22,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "internal.h"
|
#include "v5x_internal.h"
|
||||||
|
#include "v5x_protocol.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -102,7 +102,7 @@ struct v5x_user_port {
|
||||||
struct v5x_instance *inst; /* back-pointer to instance we're part of */
|
struct v5x_instance *inst; /* back-pointer to instance we're part of */
|
||||||
|
|
||||||
uint16_t nr; /* port-number in decoded form (0..32767) */
|
uint16_t nr; /* port-number in decoded form (0..32767) */
|
||||||
iool is_isdn; /* is this port an ISDN port? */
|
bool is_isdn; /* is this port an ISDN port? */
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
struct osmo_fsm_inst *ctrl_fi; /* control protocol FSM instance */
|
struct osmo_fsm_inst *ctrl_fi; /* control protocol FSM instance */
|
||||||
|
|
|
@ -30,6 +30,57 @@
|
||||||
|
|
||||||
#include "v5x_protocol.h"
|
#include "v5x_protocol.h"
|
||||||
|
|
||||||
|
const struct tlv_definition v51_ctrl_tlv_def[] = {
|
||||||
|
/* single byte: PSTN / G.964 Table 17 */
|
||||||
|
[V51_CTRL_IEI_PULSE_NOTIFICATION] = TLV_TYPE_SINGLE_TV,
|
||||||
|
[V51_CTLR_IEI_LINE_NOTIFICATION] = TLV_TYPE_SINGLE_TV,
|
||||||
|
[V51_CTLR_IEI_STATE] = TLV_TYPE_SINGLE_TV,
|
||||||
|
[V51_CTLR_IEI_AUTONOMOUS_SIG_SEQ] = TLV_TYPE_SINGLE_TV,
|
||||||
|
[V51_CTLR_IEI_SEQUENCE_RESPONSE] = TLV_TYPE_SINGLE_TV,
|
||||||
|
/* single byte: ISDN / G.964 Table 53 */
|
||||||
|
[V51_CTRL_IEI_PERFORMANCE_GRADING] = TLV_TYPE_SINGLE_TV,
|
||||||
|
[V51_CTRL_IEI_REJECTION_CAUSE] = TLV_TYPE_SINGLE_TV,
|
||||||
|
|
||||||
|
/* variable length: PSTN / G.964 Table 17 */
|
||||||
|
[V51_CTRL_IEI_SEQUENCE_NR] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_CADENCED_RINGING] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_PULSED_SIGNAL] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_STEADY_SIGNAL] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_DIGIT_SIGNAL] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_RECOGNITION_TIME] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_ENABLE_AUTONOMOUS_ACK] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_DISABLE_AUTONOMOUS_ACK] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_CAUSE] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_RESOURCE_UNAVAILABLE] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_ENABLE_METERING] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_METERING_REPORT] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_ATTENUATION] = TLV_TYPE_TLV,
|
||||||
|
|
||||||
|
/* variable length: ISDN / G.964 Table 53 */
|
||||||
|
[V51_CTRL_IEI_CTRL_F_ELEMENT] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_CTRL_F_ID] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_VARIANT] = TLV_TYPE_TLV,
|
||||||
|
[V51_CTRL_IEI_INTERFACE_ID] = TLV_TYPE_TLV,
|
||||||
|
|
||||||
|
/* variable length: LCP / G.965 Table FIXME */
|
||||||
|
[V52_CTRL_IEI_LCP_LINK_CTRL_FUNCTION] = TLV_TYPE_TLV,
|
||||||
|
/* variable length: BCC */
|
||||||
|
[V52_CTRL_IEI_BCC_USER_PORT_ID] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_ISDN_PORT_TS_ID] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_V5_TS_ID] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_MULTI_TS_MAP] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_REJECT_CAUSE] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_PROTOCOL_ERROR_CAUSE] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_CONNECTION_INCOMPLETE] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_BCC_INFO_TRANSFER_CAPABILITY] = TLV_TYPE_TLV,
|
||||||
|
/* variable-length: Protection */
|
||||||
|
[V52_CTRL_IEI_PP_SEQUENCE_NR] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_PP_PHYSICAL_C_CHAN_ID] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_PP_REJECTION_CAUSE] = TLV_TYPE_TLV,
|
||||||
|
[V52_CTRL_IEI_PP_PROTOCOL_ERROR_CAUSE] = TLV_TYPE_TLV,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const struct value_string v51_ctrl_msg_typ_str[] = {
|
const struct value_string v51_ctrl_msg_typ_str[] = {
|
||||||
{ V51_CTRL_MSGT_ESTABLISH, "ESTABLISH" },
|
{ V51_CTRL_MSGT_ESTABLISH, "ESTABLISH" },
|
||||||
{ V51_CTRL_MSGT_ESTABLISH_ACK, "ESTABLISH_ACK" },
|
{ V51_CTRL_MSGT_ESTABLISH_ACK, "ESTABLISH_ACK" },
|
||||||
|
@ -283,6 +334,7 @@ struct v5x_user_port *v5x_user_port_find(struct v5x_instance *v5i, uint16_t nr)
|
||||||
if (v5up->nr == l3_addr)
|
if (v5up->nr == l3_addr)
|
||||||
return v5up;
|
return v5up;
|
||||||
}
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ static inline bool v51_l3_addr_is_isdn(uint16_t in)
|
||||||
uint8_t b1 = in >> 8;
|
uint8_t b1 = in >> 8;
|
||||||
uint8_t b2 = in & 0xff;
|
uint8_t b2 = in & 0xff;
|
||||||
|
|
||||||
if ((b1 & 0x03) == 0x00) && (b2 & 0x01)
|
if ((b1 & 0x03) == 0x00 && (b2 & 0x01))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -180,55 +180,7 @@ enum v51_ctrl_iei {
|
||||||
|
|
||||||
extern const struct value_string v51_ctrl_iei_str[];
|
extern const struct value_string v51_ctrl_iei_str[];
|
||||||
|
|
||||||
extern const struct tlv_definition v51_ctrl_tlv_def[] = {
|
extern const struct tlv_definition v51_ctrl_tlv_def[];
|
||||||
/* single byte: PSTN / G.964 Table 17 */
|
|
||||||
[V51_CTRL_IEI_PULSE_NOTIFICATION] = TLV_TYPE_SINGLE_TV,
|
|
||||||
[V51_CTLR_IEI_LINE_NOTIFICATION] = TLV_TYPE_SINGLE_TV,
|
|
||||||
[V51_CTLR_IEI_STATE] = TLV_TYPE_SINGLE_TV,
|
|
||||||
[V51_CTLR_IEI_AUTONOMOUS_SIG_SEQ] = TLV_TYPE_SINGLE_TV,
|
|
||||||
[V51_CTLR_IEI_SEQUENCE_RESPONSE] = TLV_TYPE_SIGNLE_TV,
|
|
||||||
/* single byte: ISDN / G.964 Table 53 */
|
|
||||||
[V51_CTRL_IEI_PERFORMANCE_GRADING] = TLV_TYPE_SINGLE_TV,
|
|
||||||
[V51_CTRL_IEI_REJECTION_CAUSE] = TLV_TYPE_SINGLE_TV,
|
|
||||||
|
|
||||||
/* variable length: PSTN / G.964 Table 17 */
|
|
||||||
[V51_CTRL_IEI_SEQUENCE_NR] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_CADENCED_RINGING] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_PULSED_SIGNAL] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_STEADY_SIGNAL] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_DIGIT_SIGNAL] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_RECOGNITION_TIME] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_ENABLE_AUTONOMOUS_ACK] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_DISABLE_AUTONOMOUS_ACK] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_CAUSE] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_RESOURCE_UNAVAILABLE] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_ENABLE_METERING] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_METERING_REPORT] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_ATTENUATION] = TLV_TYPE_TLV,
|
|
||||||
|
|
||||||
/* variable length: ISDN / G.964 Table 53 */
|
|
||||||
[V51_CTRL_IEI_CTRL_F_ELEMENT] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_CTRL_F_ID] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_VARIANT] = TLV_TYPE_TLV,
|
|
||||||
[V51_CTRL_IEI_INTERFACE_ID] = TLV_TYPE_TLV,
|
|
||||||
|
|
||||||
/* variable length: LCP / G.965 Table FIXME */
|
|
||||||
[V52_CTRL_IEI_LCP_LINK_CTRL_FUNCTION] = TLV_TYPE_TLV,
|
|
||||||
/* variable length: BCC */
|
|
||||||
[V52_CTRL_IEI_BCC_USER_PORT_ID] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_ISDN_PORT_TS_ID] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_V5_TS_ID] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_MULTI_TS_MAP] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_REJECT_CAUSE] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_PROTOCOL_ERROR_CAUSE] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_CONNECTION_INCOMPLETE] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_BCC_INFO_TRANSFER_CAPABILITY] = TLV_TYPE_TLV,
|
|
||||||
/* variable-length: Protection */
|
|
||||||
[V52_CTRL_IEI_PP_SEQUENCE_NR] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_PP_PHYSICAL_C_CHAN_ID] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_PP_REJECTION_CAUSE] = TLV_TYPE_TLV,
|
|
||||||
[V52_CTRL_IEI_PP_PROTOCOL_ERROR_CAUSE] = TLV_TYPE_TLV,
|
|
||||||
};
|
|
||||||
|
|
||||||
extern const struct osmo_tlv_prot_def v51_ctrl_msg_tlv;
|
extern const struct osmo_tlv_prot_def v51_ctrl_msg_tlv;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue