From 575d5def1b5e75471f95e6584409d343d323ee33 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 27 Jan 2010 12:29:49 +0100 Subject: [sccp] Invent new API to be used by the BSC NAT I want to reuse the SCCP code for header parsing in the BSC NAT to identify data and patch the source local reference. To do this the current handle_* methods will be changed into two parts one is strictly parsing the other is handling the parsed data. --- include/sccp/sccp.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/sccp/sccp.h b/include/sccp/sccp.h index 69ef63c..e5e8b81 100644 --- a/include/sccp/sccp.h +++ b/include/sccp/sccp.h @@ -1,7 +1,7 @@ /* * SCCP management code * - * (C) 2009 by Holger Hans Peter Freyther + * (C) 2009, 2010 by Holger Hans Peter Freyther * * All Rights Reserved * @@ -143,10 +143,25 @@ extern const struct sockaddr_sccp sccp_ssn_bssap; u_int32_t sccp_src_ref_to_int(struct sccp_source_reference *ref); struct sccp_source_reference sccp_src_ref_from_int(u_int32_t); +/** + * Below this are helper functions and structs for parsing SCCP messages + */ +struct sccp_parse_result { + struct sccp_address called; + struct sccp_address calling; + + /* point to the msg packet */ + struct sccp_source_reference *source_local_reference; + struct sccp_source_reference *destination_local_reference; + + /* data pointer */ + int data_len; +}; /* * helper functions for the nat code */ int sccp_determine_msg_type(struct msgb *msg); +int sccp_parse_header(struct msgb *msg, struct sccp_parse_result *result); #endif -- cgit v1.2.3