diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-08-17 21:25:56 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-08-17 21:26:49 +0200 |
commit | 137c4402d92b55cf2865250b41c4b9f7cbdcc297 (patch) | |
tree | 4765185951db4a5d77c53482d9097c8e4de1b026 | |
parent | 371d026c6b57de141974a82aa66d57de63092992 (diff) |
rspro_util: Add header file
Change-Id: I2f66531008943fa6bdc3c286aee2afd254384018
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/rspro_util.c | 15 | ||||
-rw-r--r-- | src/rspro_util.h | 29 |
3 files changed, 33 insertions, 13 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index f1731fa..06e4311 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -11,7 +11,7 @@ libosmo_rspro_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(OSMOABIS_LIBS) \ $(ASN1C_LIBS) rspro/libosmo-asn1-rspro.la libosmo_rspro_la_SOURCES = rspro_util.c rspro_client.c -noinst_HEADERS = bankd.h internal.h +noinst_HEADERS = bankd.h internal.h rspro_util.h bin_PROGRAMS = pcsc_test remsim-bankd diff --git a/src/rspro_util.c b/src/rspro_util.c index 9f8c3d5..1db5ceb 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -6,6 +6,8 @@ #include <osmocom/core/msgb.h> #include <osmocom/rspro/RsproPDU.h> +#include "rspro_util.h" + struct msgb *rspro_msgb_alloc(void) { return msgb_alloc_headroom(1024, 8, "RSPRO"); @@ -51,20 +53,9 @@ RsproPDU_t *rspro_dec_msg(struct msgb *msg) return pdu; } -#define MAX_NAME_LEN 32 -struct app_comp_id { - char name[MAX_NAME_LEN+1]; - char software[MAX_NAME_LEN+1]; - char sw_version[MAX_NAME_LEN+1]; - char hw_manufacturer[MAX_NAME_LEN+1]; - char hw_model[MAX_NAME_LEN+1]; - char hw_serial_nr[MAX_NAME_LEN+1]; - char hw_version[MAX_NAME_LEN+1]; - char fw_version[MAX_NAME_LEN+1]; -}; - static void fill_comp_id(ComponentIdentity_t *out, const struct app_comp_id *in) { + out->type = in->type; OCTET_STRING_fromString(&out->name, in->name); OCTET_STRING_fromString(&out->software, in->software); OCTET_STRING_fromString(&out->swVersion, in->sw_version); diff --git a/src/rspro_util.h b/src/rspro_util.h new file mode 100644 index 0000000..87b2b97 --- /dev/null +++ b/src/rspro_util.h @@ -0,0 +1,29 @@ +#pragma once + +#include <osmocom/core/msgb.h> +#include <osmocom/rspro/RsproPDU.h> +#include <osmocom/rspro/ComponentType.h> + +#define MAX_NAME_LEN 32 +struct app_comp_id { + enum ComponentType type; + char name[MAX_NAME_LEN+1]; + char software[MAX_NAME_LEN+1]; + char sw_version[MAX_NAME_LEN+1]; + char hw_manufacturer[MAX_NAME_LEN+1]; + char hw_model[MAX_NAME_LEN+1]; + char hw_serial_nr[MAX_NAME_LEN+1]; + char hw_version[MAX_NAME_LEN+1]; + char fw_version[MAX_NAME_LEN+1]; +}; + +struct msgb *rspro_msgb_alloc(void); +struct msgb *rspro_enc_msg(RsproPDU_t *pdu); +RsproPDU_t *rspro_dec_msg(struct msgb *msg); +RsproPDU_t *rspro_gen_ConnectBankReq(const struct app_comp_id *a_cid, + uint16_t bank_id, uint16_t num_slots); +RsproPDU_t *rspro_gen_ConnectClientReq(const struct app_comp_id *a_cid); +RsproPDU_t *rspro_gen_CreateMappingReq(const ClientSlot_t *client, const BankSlot_t *bank); +RsproPDU_t *rspro_gen_ConfigClientReq(const ClientSlot_t *client, uint32_t ip, uint16_t port); +RsproPDU_t *rspro_gen_SetAtrReq(uint16_t client_id, uint16_t slot_nr, const uint8_t *atr, + unsigned int atr_len); |