Commit Graph

12 Commits

Author SHA1 Message Date
Harald Welte a9caad86e0 client: Split into remsim_client.c and remsim_client_main.c
Change-Id: Ie1d21c2cd84756d5c8aa2c41bcc37f5951a3a285
2020-02-16 15:41:56 +01:00
Harald Welte 879ee414f0 client: Remove g_client completely; separate 'main' code
We may want to use the entire client code independent of the current
'main' portion, so let's introduce separation via API.

Change-Id: I6456317c3968551cd69ba379c746e4dd9690d02d
2020-02-16 15:41:56 +01:00
Harald Welte 8e46ab6755 client: Work without global g_client variable
We may want to develop programs that include multiple instances of
a remsim_client.  Let's remove the global variable 'g_client' and
instead de-reference the bankd_client using container_of() macros

Change-Id: I456fb633561b88912be2f78c3e0264794d921255
2020-02-16 15:41:56 +01:00
Harald Welte 1200c820f0 client: Add new osmo-remsim-client-shell binary
This is a remsim-client with an interactive 'shell', where the user
can type in C-APDUs in hex formats, which will be sent to the bankd /
SIM-card.  Responses received from SIM Card via bankd will be printed
in return.

Change-Id: I636505fd9741833ccf5cbd1bcac30f7b9aa94425
2020-02-16 15:41:56 +01:00
Harald Welte d5a8729291 client: Adjust to API changes; enable build of remsim-client again
There were quite a bit of API changes that hadn't yet been applied
to remsim_client.c (which was disabled and hence not compiled for
quite some time).

Change-Id: I0b3733f6851a951ee24ae87aa5db0ee8daa7a841
2020-02-16 15:41:56 +01:00
Harald Welte 55c7f44194 remsim-client: Call an external script in specific situations
There are some situations where remsim-client would want to make its
surrounding system aware of, e.g. to take specific action.

This is particularly important on platforms where the simtrace2 firmware
doesn't have direct control over modem reset/poweron or the like.

Change-Id: I61cf4d93c669db137de801f8b147dcffaa6f3abd
Depends: libosmocore.git Ib24ac8a083db32e55402ce496a5eabd8749cc888
Closes: OS#4332
2020-02-16 15:41:56 +01:00
Harald Welte 499e1d90b5 remsim-client: Query + Store the USB device path
While the user may have specified a USB path at the command line
(or not), let's make sure we obtain the actual path after opening
the respective USB device.

Change-Id: I7e707c74647f4c5db06d495d369b2e69e2fc7c97
2020-02-16 15:41:56 +01:00
Harald Welte 943ae6286a remsim-client: store last 'status'
Keep a local copy of the last status message of the cardem
firmware.

Change-Id: I5b348035da8f0905364b67f21f5c7be112b20e70
2020-02-16 15:41:56 +01:00
Harald Welte 6a0248b224 remsim-client: Move client_config from .c to .h file
Change-Id: I158fe0f2791c164adc74cf851d5a139990bce852
2020-02-16 15:41:56 +01:00
Harald Welte 5ed4693a84 remsim-client: Avoid using 'ci' global variable
Rather, pass it around between functions and attach it to other state.

Also, make it a talloc contxt so other objects can be allocated off it.

Change-Id: I25f592581382238d5640c1f6326dec745f8d1d40
2020-02-16 15:41:56 +01:00
Harald Welte a9bc4de83b remsim-client: Fix the -k/ --keep-running option
When introducing asynchronous USB support in Change-Id
Ic18690b3c2cbc5e99de0665c0b68b7555433b3cd, we accidentially
broke the --keep-running behavior, where even a disappearing USB
device will not terminate the remsim-client process.

Change-Id: I19cca9f7953d61058a36856b2fc4c97a3b93e15d
2020-02-16 15:41:56 +01:00
Harald Welte f7598fe417 remsim-client: move from common 'src' directory to 'src/client'
As both the bankd and the server already are in src/bankd and
src/server, respectively: Let's unify this and have the client
also in its own sub-directory.

Change-Id: I67a3a5941434f09f7099c2cdb19c126cea305a73
2020-02-16 15:41:12 +01:00