From patchwork Wed Mar 9 11:29:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max X-Patchwork-Id: 594991 X-Patchwork-Delegate: laforge@gnumonks.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.osmocom.org (lists.osmocom.org [IPv6:2a01:4f8:191:444b::2:7]) by ozlabs.org (Postfix) with ESMTP id E4B01140BB4 for ; Wed, 9 Mar 2016 22:30:02 +1100 (AEDT) Received: from lists.osmocom.org (lists.osmocom.org [144.76.43.76]) by lists.osmocom.org (Postfix) with ESMTP id A0D4E1945E; Wed, 9 Mar 2016 11:29:58 +0000 (UTC) X-Original-To: openbsc@lists.osmocom.org Delivered-To: openbsc@lists.osmocom.org Received: from mail.sysmocom.de (mail.sysmocom.de [IPv6:2a01:4f8:191:444c::2:4]) by lists.osmocom.org (Postfix) with ESMTP id 6E96119434 for ; Wed, 9 Mar 2016 11:29:56 +0000 (UTC) Received: from mail.sysmocom.de (mail.sysmocom.de [144.76.43.93]) by mail.sysmocom.de (Postfix) with ESMTP id 4E1C514E4C5; Wed, 9 Mar 2016 11:29:26 +0000 (UTC) Received: from pbell.local (ip5b418565.dynamic.kabel-deutschland.de [91.65.133.101]) by mail.sysmocom.de (Postfix) with ESMTPSA id 0F07314E4C4; Wed, 9 Mar 2016 11:29:26 +0000 (UTC) From: msuraev@sysmocom.de To: openbsc@lists.osmocom.org Subject: [PATCH 1/3] Add helper function to convert numerical BSSGP PDU type to string Date: Wed, 9 Mar 2016 12:29:23 +0100 Message-Id: <1457522965-27238-1-git-send-email-msuraev@sysmocom.de> X-Mailer: git-send-email 2.7.2 X-Virus-Scanned: ClamAV using ClamSMTP X-BeenThere: openbsc@lists.osmocom.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Development of OpenBSC, OsmoBSC, OsmoNITB, OsmoCSCN" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Errors-To: openbsc-bounces@lists.osmocom.org Sender: "OpenBSC" From: Max --- include/osmocom/gprs/gprs_bssgp.h | 1 + src/gb/gprs_bssgp_util.c | 46 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/include/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index c0b3f65..b70487c 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -14,6 +14,7 @@ extern struct gprs_ns_inst *bssgp_nsi; struct msgb *bssgp_msgb_alloc(void); struct msgb *bssgp_msgb_copy(const struct msgb *msg, const char *name); const char *bssgp_cause_str(enum gprs_bssgp_cause cause); +const char *bssgp_pdu_str(enum bssgp_pdu_type pdu); /* Transmit a simple response such as BLOCK/UNBLOCK/RESET ACK/NACK */ int bssgp_tx_simple_bvci(uint8_t pdu_type, uint16_t nsei, uint16_t bvci, uint16_t ns_bvci); diff --git a/src/gb/gprs_bssgp_util.c b/src/gb/gprs_bssgp_util.c index 19ae23a..6fff362 100644 --- a/src/gb/gprs_bssgp_util.c +++ b/src/gb/gprs_bssgp_util.c @@ -62,11 +62,57 @@ static const struct value_string bssgp_cause_strings[] = { { 0, NULL }, }; +static const struct value_string bssgp_pdu_strings[] = { + { BSSGP_PDUT_DL_UNITDATA, "DL-UNITDATA" }, + { BSSGP_PDUT_UL_UNITDATA, "UL-UNITDATA" }, + { BSSGP_PDUT_RA_CAPABILITY, "RA-CAPABILITY" }, + { BSSGP_PDUT_PTM_UNITDATA, "PTM-UNITDATA" }, + { BSSGP_PDUT_PAGING_PS, "PAGING-PS" }, + { BSSGP_PDUT_PAGING_CS, "PAGING-CS" }, + { BSSGP_PDUT_RA_CAPA_UDPATE, "RA-CAPABILITY-UPDATE" }, + { BSSGP_PDUT_RA_CAPA_UPDATE_ACK, "RA-CAPABILITY-UPDATE-ACK" }, + { BSSGP_PDUT_RADIO_STATUS, "RADIO-STATUS" }, + { BSSGP_PDUT_SUSPEND, "SUSPEND" }, + { BSSGP_PDUT_SUSPEND_ACK, "SUSPEND-ACK" }, + { BSSGP_PDUT_SUSPEND_NACK, "SUSPEND-NACK" }, + { BSSGP_PDUT_RESUME, "RESUME" }, + { BSSGP_PDUT_RESUME_ACK, "RESUME-ACK" }, + { BSSGP_PDUT_RESUME_NACK, "RESUME-NACK" }, + { BSSGP_PDUT_BVC_BLOCK, "BVC-BLOCK" }, + { BSSGP_PDUT_BVC_BLOCK_ACK, "BVC-BLOCK-ACK" }, + { BSSGP_PDUT_BVC_RESET, "BVC-RESET" }, + { BSSGP_PDUT_BVC_RESET_ACK, "BVC-RESET-ACK" }, + { BSSGP_PDUT_BVC_UNBLOCK, "BVC-UNBLOCK" }, + { BSSGP_PDUT_BVC_UNBLOCK_ACK, "BVC-UNBLOCK-ACK" }, + { BSSGP_PDUT_FLOW_CONTROL_BVC, "FLOW-CONTROL-BVC" }, + { BSSGP_PDUT_FLOW_CONTROL_BVC_ACK, "FLOW-CONTROL-BVC-ACK" }, + { BSSGP_PDUT_FLOW_CONTROL_MS, "FLOW-CONTROL-MS" }, + { BSSGP_PDUT_FLOW_CONTROL_MS_ACK, "FLOW-CONTROL-MS-ACK" }, + { BSSGP_PDUT_FLUSH_LL, "FLUSH-LL" }, + { BSSGP_PDUT_FLUSH_LL_ACK, "FLUSH-LL-ACK" }, + { BSSGP_PDUT_LLC_DISCARD, "LLC DISCARDED" }, + { BSSGP_PDUT_SGSN_INVOKE_TRACE, "SGSN-INVOKE-TRACE" }, + { BSSGP_PDUT_STATUS, "STATUS" }, + { BSSGP_PDUT_DOWNLOAD_BSS_PFC, "DOWNLOAD-BSS-PFC" }, + { BSSGP_PDUT_CREATE_BSS_PFC, "CREATE-BSS-PFC" }, + { BSSGP_PDUT_CREATE_BSS_PFC_ACK, "CREATE-BSS-PFC-ACK" }, + { BSSGP_PDUT_CREATE_BSS_PFC_NACK, "CREATE-BSS-PFC-NACK" }, + { BSSGP_PDUT_MODIFY_BSS_PFC, "MODIFY-BSS-PFC" }, + { BSSGP_PDUT_MODIFY_BSS_PFC_ACK, "MODIFY-BSS-PFC-ACK" }, + { BSSGP_PDUT_DELETE_BSS_PFC, "DELETE-BSS-PFC" }, + { BSSGP_PDUT_DELETE_BSS_PFC_ACK, "DELETE-BSS-PFC-ACK" }, + { 0, NULL }, +}; + const char *bssgp_cause_str(enum gprs_bssgp_cause cause) { return get_value_string(bssgp_cause_strings, cause); } +const char *bssgp_pdu_str(enum bssgp_pdu_type pdu) +{ + return get_value_string(bssgp_pdu_strings, pdu); +} struct msgb *bssgp_msgb_alloc(void) {