diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-01-27 12:29:49 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-01-27 12:31:50 +0100 |
commit | bc0f7c09883374d0812bcf4b36055b5190d48541 (patch) | |
tree | 6df849be19632d832da8f600758e716735db1f85 /openbsc | |
parent | 7d06063cfba1a1c1322e2932ee360d9675bd2fd9 (diff) |
[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.
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/include/sccp/sccp.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/openbsc/include/sccp/sccp.h b/openbsc/include/sccp/sccp.h index 69ef63c25..e5e8b819c 100644 --- a/openbsc/include/sccp/sccp.h +++ b/openbsc/include/sccp/sccp.h @@ -1,7 +1,7 @@ /* * SCCP management code * - * (C) 2009 by Holger Hans Peter Freyther <zecke@selfish.org> + * (C) 2009, 2010 by Holger Hans Peter Freyther <zecke@selfish.org> * * 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 |