Sylvain Munaut
7459d6cfd1
core/msgb: Use the new osmo_panic call to handle errors
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-25 18:09:28 +02:00
Sylvain Munaut
ac3e61a7a6
core: Add some generic panic handling
...
This also includes an option for a minimal 'infinite loop' type
panic that could be required for embedded target that don't have
abort() or fprintf()
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-25 18:08:54 +02:00
Sylvain Munaut
27af075e1e
osmocore: Add utility function rsl_chan_nr_str to RSL
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-25 12:27:44 +02:00
Holger Hans Peter Freyther
5e84a86937
msgb: Avoid warnings that the string might contain %s or such..
2010-07-23 19:22:23 +08:00
Holger Hans Peter Freyther
b60a4b3b97
gsm0808: Why should there be a lchan in the parameter...
2010-07-23 18:35:59 +08:00
Holger Hans Peter Freyther
06f795c56f
gsm0808: Import unaligned mem access fix from on-waves/bsc-master
2010-07-23 18:20:02 +08:00
Holger Hans Peter Freyther
dd02a47234
gsm_utils: Move the gsm_7bit_alphabet into the impl and make it static
2010-07-23 16:36:05 +08:00
Harald Welte
652a72385c
msgb: Check for available headroom/tailroom and abort() if we violate it
2010-07-22 21:56:10 +02:00
Holger Hans Peter Freyther
0d60aa2ad7
gsm_04_12.h: Add beginning of structs for SMS CB
...
I am trying to understand the RSL and GSM 04.12
spec to implement CBS for OpenBSC...
2010-07-21 05:02:33 +08:00
Nico Golde
28de05336b
* rewrite GSM 7bit default encoding/decoding based on a lookup table as the previous code produced wrong encodings for certain characters.
2010-07-20 02:48:17 +08:00
Ingo Albrecht
383134b5ac
Added crc16 from linux kernel.
2010-07-15 22:43:52 +02:00
Harald Welte
6eb7d6c887
[RSL] split rsl_rll_push_l3() L3 LV pushign and rsl_rll_push_hdr()
...
This allows us to generate RSLms messages that have some non-standard
IEs between the RSL/RLL common header and the L3 INFO IE.
2010-07-13 13:48:13 +02:00
Andreas Eversberg
014cb8725c
Added new IE definitions to gsm_04_08.h of libosmocore.
...
Also added RR and MM TLV tables to gsm48.c
[import from accidential commit to osmocom-bb.git]
2010-07-12 09:11:00 +02:00
Andreas Eversberg
cd2a74bd43
Added single octet TV (type + value) to libosmocore.
...
In case of a single octet, the upper nibble is the type, the lower nibble
carries the value.
[import from accidentially committed changes to osmocom-bb.git]
diff --git a/src/shared/libosmocore/include/osmocore/tlv.h b/src/shared/libosmocore/include/osmocore/tlv.h
index c733dbc..4cfce87 100644
--- a/src/shared/libosmocore/include/osmocore/tlv.h
+++ b/src/shared/libosmocore/include/osmocore/tlv.h
@@ -212,6 +212,7 @@ enum tlv_type {
TLV_TYPE_TLV,
TLV_TYPE_TL16V,
TLV_TYPE_TvLV,
+ TLV_TYPE_SINGLE_TV
};
struct tlv_def {
diff --git a/src/shared/libosmocore/src/tlv_parser.c b/src/shared/libosmocore/src/tlv_parser.c
index 407e57a..bbef7a9 100644
--- a/src/shared/libosmocore/src/tlv_parser.c
+++ b/src/shared/libosmocore/src/tlv_parser.c
@@ -36,6 +36,14 @@ int tlv_parse_one(uint8_t *o_tag, uint16_t *o_len, const uint8_t **o_val,
tag = *buf;
*o_tag = tag;
+ /* single octet TV IE */
+ if (def->def[tag & 0xf0].type == TLV_TYPE_SINGLE_TV) {
+ *o_tag = tag & 0xf0;
+ *o_val = buf;
+ *o_len = 1;
+ return 1;
+ }
+
/* FIXME: use tables for knwon IEI */
switch (def->def[tag].type) {
case TLV_TYPE_T:
2010-07-12 08:55:14 +02:00
Harald Welte
b9ce51c5fd
Add support for plugins (and specifically GPRS encryption plugins)
2010-06-30 19:43:11 +02:00
Harald Welte
e34a940542
[gsmtap] add new gsmtap_makemsg() function
...
This generates a gsmtap message without actually enqueueing to a
bsc_select style queue.
2010-06-29 22:31:21 +02:00
Harald Welte
e779c364ac
Add gsmtap utility functions to libosmocore
...
This is imported from OsmocomBB/Layer23
2010-06-29 21:57:25 +02:00
Andreas Eversberg
816e24cb42
[RSL] Added special RSL message types for mobile side
...
- suspension DL
- resume DL
- re-establish DL
2010-06-25 02:50:56 +02:00
Andreas Eversberg
93364fc8e0
[gsm48] fix typo in struct gsm48_req_ref
2010-06-25 02:50:06 +02:00
Harald Welte
639f74bdf4
[GSM 04.08] add more RR IEIs
2010-06-15 09:32:14 +02:00
Sylvain Munaut
d005eabe16
gsm48: Add authentication response message
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-10 13:30:50 +02:00
Sylvain Munaut
4f585491b9
gsm_utils: Add a fn to test A5(x) support given a classmark2
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-09 13:40:36 +02:00
Harald Welte
c226317c9c
add new new gprs_tmsi2tlli() function
2010-06-01 10:47:07 +02:00
Holger Hans Peter Freyther
75bd69bc91
rate_ctr: Make the struct rate_ctr_group_desc members const
2010-05-23 21:14:32 +08:00
Andreas.Eversberg
0ebd688746
Added some "get"-functions to bitvec of libosmocore.
...
- Getting Low or High value from current postion
- Getting unsigned interger from current postion
2010-05-19 18:14:01 +02:00
Holger Hans Peter Freyther
9a3dec0c01
gsm0808: Add API to wrap a GSM48 msg with a BSSMAP/DTAP msg.
2010-05-16 08:15:40 +08:00
Holger Hans Peter Freyther
5dcef3c8b1
gsm48: Add paging response header
2010-05-15 22:35:25 +08:00
Harald Welte
cf734784b0
[rate_ctr] Rename group_prefix_fmt to group_name_prefix
2010-05-13 12:53:35 +02:00
Harald Welte
dd178b2dc9
rate_counters: Remove group-name-sprintf-with-idx string
2010-05-13 12:50:44 +02:00
Harald Welte
087fcff9a5
rate_ctr: Store the numeric index as part of 'rate_ctr_group'
2010-05-13 12:16:17 +02:00
Harald Welte
7b45d60887
Add new 'rate counter' implementation to libosmocore
...
A 'rate counter' is a counter that counts events but also keeps
track of the rate of events (per second, minute, hour and day).
'rate counters' are generally abstracted in 'rate counter groups',
which are instances of a 'rate counter group description'. This
way we can have e.g. a description describing what kind of counters
a BTS (or TRX) has - and we can then create one instance of that
group for every BTS or TRX that exists.
2010-05-13 11:35:30 +02:00
Harald Welte
7638af95fd
logging: add log_vty_{level,category}_string()
2010-05-11 16:39:22 +02:00
Harald Welte
9ac2225ff4
logging: introuduce log_level_str() to obtain the name of a log level
2010-05-11 11:19:40 +02:00
Harald Welte
35a939463e
Import gsm48_construct_ra() from openbsc
2010-05-01 14:25:22 +02:00
Harald Welte
debf955074
gsm48.h: Prevent accidental re-inclusion of same header file
2010-05-01 12:06:48 +02:00
Harald Welte
a1c4f765ec
import gsm48_parse_ra() and gprs_tlli_type() from openbsc
2010-05-01 12:00:21 +02:00
Holger Hans Peter Freyther
5ba4dc171b
Add missing file.
2010-05-01 15:14:05 +08:00
Harald Welte
074c9f904c
msgb: introduce msgb->cb (the control buffer)
2010-04-30 14:29:11 +02:00
Harald Welte
bb77c9d6cc
msgb: remove smsh, llch, tlli and gmmh
...
This is a lot of GSM/GPRS specific stuff in struct msgb which we want
to avoid. The 'control buffer' will replace them.
2010-04-30 14:26:12 +02:00
Harald Welte
3120ac3f78
remove the unneeded bts_link pointer from msgb
2010-04-30 14:19:48 +02:00
Sylvain Munaut
a074ec4b89
gsm 08.08: Fix some u_int8_t -> uint8_t
...
This breaks the ARM build in osmocom-bb. Besides uint??_t seems to
be the preferred type in osmocore. (coming from stdint.h vs sys/types.h)
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-28 10:05:29 +02:00
Sylvain Munaut
221030fc85
gsm_utils: Just add some constant and timekeeping utils
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-27 21:48:40 +02:00
Holger Hans Peter Freyther
ba6172a7fd
gsm0808: Port asiggnment_complete msg creation to libosmocore.
2010-04-17 06:21:49 +02:00
Holger Hans Peter Freyther
81716d5fa8
gsm0808: Port cipher_complete to be part of libosmocore.
2010-04-17 06:16:35 +02:00
Holger Hans Peter Freyther
280cd5153f
Add GSM0808 utilities to Osmocore.
...
The code is coming from the on-waves/bsc-master branch.
2010-04-15 10:10:39 +02:00
Holger Hans Peter Freyther
2c86c2a726
gsm_08_08.h: Remove OpenBSC include file from the header.
2010-04-15 10:01:39 +02:00
Holger Hans Peter Freyther
ebaed74e17
Add GSM08.08 protocol header.
...
This header is copied from bssap.h of the on-waves/bsc-master
branch and only contains the protocol specific information.
2010-04-15 03:14:51 +02:00
Harald Welte
163d0ea85b
remove references to u_int*_t and use uint*_t instead
2010-04-09 07:57:40 +02:00
Andreas Eversberg
1ef041ff1e
gsm48: introduce MM_CONNECTION_PEND state
2010-04-09 07:52:12 +02:00
Holger Hans Peter Freyther
4052c811a9
write_queue: Add callback for exceptions as well.
2010-04-08 10:58:20 +02:00
Harald Welte
9bb553ee40
import gsm48_mi_to_string() from OpenBSC
2010-03-28 18:14:50 +08:00
Harald Welte
3ae2758fba
rename 'debug' interface to 'logging' interface
...
It's not really about debugging, but about generic logging...
2010-03-26 21:26:01 +08:00
Harald Welte
faadfe2b93
debug: remove unneeded 'number' member of 'struct debug_info_cat'
...
As the debug subsystem number is used as index into the debug_info_cat
array, there is no need to store the number explicitly inside the
structure again.
2010-03-26 21:26:01 +08:00
Harald Welte
4a2bb9e38b
Import 'debug' support from OpenBSC into libosmocore
2010-03-26 21:26:01 +08:00
Holger Hans Peter Freyther
99a263ff20
write_queue: Add a method to clear the queue.
2010-03-26 09:22:38 +01:00
Harald Welte
52b4abdcb3
replace rsl_rlm_cause_strs with rsl_rlm_cause_name()
2010-03-25 12:11:38 +08:00
Harald Welte
9eb6d88d64
replace gsm48_cc_msg_names[] with gsm48_cc_msg_name()
...
and implement the backend using value_string
2010-03-25 12:00:54 +08:00
Holger Hans Peter Freyther
045cc22bae
osmocore: Add a direct l4h to the union of l4h pointers
...
This is needed for the BSSAP code of the On Waves/BSC master branch
2010-03-22 03:11:10 +01:00
Harald Welte
cbc8062ef8
fix compiler warnings (itsme <itsme@xs4all.nl>)
...
* added several 'const' for strings.
* added 'extern' to declarations of rsl_rlm_cause_strs
2010-03-22 08:28:44 +08:00
Holger Hans Peter Freyther
6214b92f81
gsm48.h: Make the array extern to a silence a linker warning
...
/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../../i686-pc-linux-gnu/bin/ld:
Warning: size of symbol `rsl_rlm_cause_strs' changed from 8 in ./openbsc/src/libbsc.a(abis_rsl.o)
to 120 in /usr/local/lib/libosmocore.so
spotted and sent to the list by Andreas
2010-03-11 14:42:41 +01:00
Holger Hans Peter Freyther
a49951fed7
write_queue: Make the bfd cb public so it can be used in a different context
...
* I'm doing a nonblocking connect and for this I need to select
on writable and the first thing I need to do is to check the
SOL_SOCKET SO_ERROR state. I realize this by setting a different
cb on the embedded bfd during setup and then go back to the real
implementation.
2010-03-08 14:32:39 +01:00
Harald Welte
1e9086684f
import GSM04.08 encode/decode functions and mncc.h from openbsc
2010-03-07 23:39:54 +01:00
Harald Welte
cbb29f7c94
add --disable-talloc option to build without talloc support
2010-03-07 20:24:30 +01:00
Ingo Albrecht
48e17f8951
msgb: Buffer formatting and scanning functions.
2010-03-07 18:03:41 +01:00
Harald Welte
622b718195
import some gsm band/arfcn/time related utilities from OsmocomBB
2010-03-07 17:50:21 +01:00
Harald Welte
63d3e396e7
introduce RxLev statistics module, an efficient way for power scan data
2010-03-06 11:34:27 +01:00
Harald Welte
380ae25052
some more ip.access specific ABIS_NM defines
2010-03-06 11:29:07 +01:00
Harald Welte
d9abf01436
mark some occasions of bitvec as 'const' as appropriate
2010-03-06 11:28:49 +01:00
Harald Welte
4e1287938e
add GSTMAP ARCFCN flag bits
2010-03-04 15:15:37 +01:00
Harald Welte
8c8caaa1ac
update GSMTAP to version 0x02
2010-03-04 15:02:54 +01:00
Harald Welte
ecf9dd0d96
add new rsl_dec_chan_nr() function
2010-03-04 14:27:48 +01:00
Harald Welte
61e2bfc5f4
import gsm48 utility functions from OpenBSC
...
* gsm48_generate_lai() gsm48_generate_mid_from_tmsi() gsm48_generate_mid_from_imsi()
* gsm48_cc_msg_names[]
2010-03-04 10:53:03 +01:00
Harald Welte
a73e2f9acb
import bcd2char() and char2bcd() from OpenBSC
2010-03-04 10:50:32 +01:00
Harald Welte
aebe08c71f
import gsm_band_name() and gsm_band_parse() from OpenBSC
2010-03-04 10:39:17 +01:00
Harald Welte
eb8bf3915c
add 'transparent' argument to rsl_rll_push_l3() and rsl_rll_push_l3()
...
this is required to make those functions useful for OpenBSC, nut just
OsmocomBB
2010-03-04 10:32:09 +01:00
Harald Welte
4fb20757c6
import some GSM 04.08 utility code from OpenBSC
2010-03-02 23:17:33 +01:00
Harald Welte
f08eabf234
add two new RSL utility functions
2010-03-02 21:59:20 +01:00
Harald Welte
fdd0a70093
add msgb_l1() and msgb_l1len() inline functions
2010-03-01 22:30:51 +01:00
Harald Welte
d284cd9f43
Import value_string utilities and some RSL stuff from OpenBSC
2010-03-01 21:58:31 +01:00
Harald Welte
00096acb8f
msgb: add msgb->l1h member
2010-03-01 12:55:47 +01:00
Holger Hans Peter Freyther
8df932a7fd
[write_queue] Add a generic write queue class
...
The write queue can be a dropin replacement for the bsc_fd. It
is featuring two callbacks. One for ready read and one for ready
write. Whenever there is a message in the queue the write_queue
will set the BSC_FD_WRITE flag and then call the write callback.
It will make sure to delete the msgb after the write function
has been called. This class is intended to be be used in the
osmocom, layer2, bsc_msc_ip, bsc_hack and other applications.
2010-02-26 20:30:32 +01:00
Harald Welte
ac778fb85d
fix msgb_talroom() calculation
2010-02-24 22:54:11 +01:00
Harald Welte
3415d41a8c
add msgb and tlv support bits required for openbsc gprs branch
2010-02-21 19:03:41 +01:00
Harald Welte
3cae0398ea
add missing automake / autoconf files
2010-02-20 21:09:24 +01:00
Harald Welte
47a0885d78
add missing Makefile.am in include/osmocore/protocol directory
2010-02-20 20:37:26 +01:00
Harald Welte
ec8b4501c7
intial checkin of the libosmocore project
2010-02-20 20:34:29 +01:00