aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom
AgeCommit message (Collapse)AuthorFilesLines
2017-07-10gsm_04_08.h: Add struct for 9.1.13b GPRS suspension requestHarald Welte1-0/+8
Change-Id: I90113044460a6c511ced14f588876c4280d1cac7
2017-07-10gsm_utils: Add osmo_dump_gsmtimePau Espin Pedrol1-0/+3
Used by osmo-bts, moved from osmo-bts l1sap.c:dump_gsmtime. Change-Id: Ib5452e2c20f53006c0f6d197fb055728947125d8
2017-07-09gsm_04_08/sgsn: Add another IE for internal usage in the sgsnHolger Hans Peter Freyther1-0/+1
The PDP charging characteristics will be returned from the PDP selection code and be used in the SGSN. It is following the same approach as the QoS and PDP addr. It is a bit of a pity that we have to define this in a different project. Change-Id: I7815c5dfd7b7fb0ea78d816ebfb3abfbf0090afe
2017-07-08Deprecate wrappers around loglevel_strsMax1-2/+2
Add deprecation notice for public API use: it shouldn't be used outside of libosmocore anyway. Change-Id: I792e30dc44f027fd94e1f65af19fe08bac52b95c Related: OS#71
2017-07-07gsup: Add encoding/decoding for the pdp charging characteristicsHolger Hans Peter Freyther1-0/+8
These fields can be in the ISD and the PDP Context inofmration. Store pointers to this IE in both cases. It needs to be used by the SGSN when opening a PDP context. Change-Id: Iedc7c02adcf77ca5c9545119e19c968dfbbb3e6b
2017-07-01Add missing BSSGP cause valuesMax1-20/+57
Add values from 3GPP TS 48.018 Change-Id: Ie39a6c91a46d179392d861805a106743a07c6fb0
2017-06-30l1sap.h: Add ber10k and lqual_cb to ph_tch_paramPau Espin Pedrol1-0/+2
These fields are required in osmo-bts to do low link quality checks in a generic way. Change-Id: If4ae20c22b881e94585dad710f17b9e37f77bf82
2017-06-23fix map entry and .h declaration for gsm0808_chan_type_to_speech_codec()Neels Hofmeyr1-1/+1
Recent commit 3149b0d076477303a38df735fe579b1b06ee17b2 adds function gsm0808_chan_type_to_speech_codec() but adds a completely mismatching name in libosmogsm.map, as well as a definition with a typo in the name. Fix the entry in libosmogsm.map. Add the missing 'c' in gsm0808_utils.h Change-Id: I5a621fa5ef6b632eabbe224f3dd383eacaffb695
2017-06-23doxygen: unify use of \file across the boardNeels Hofmeyr119-309/+335
Considering the various styles and implications found in the sources, edit scores of files to follow the same API doc guidelines around the doxygen grouping and the \file tag. Many files now show a short description in the generated API doc that was so far only available as C comment. The guidelines and reasoning behind it is documented at https://osmocom.org/projects/cellular-infrastructure/wiki/Guidelines_for_API_documentation In some instances, remove file comments and add to the corresponding group instead, to be shared among several files (e.g. bitvec). Change-Id: Ifa70e77e90462b5eb2b0457c70fd25275910c72b
2017-06-23doxygen: various fixes in core/timer.hNeels Hofmeyr1-19/+16
Move a longish comment to the timer group so that it appears in the API doc. Un-doxygen some floating comments that were associated with unrelated code items ('/**' --> '/*'). Add braces to some function names so that the API doc will render as reference links. Change-Id: I3ea5b88cbe9cb54702429158bf47e768e04e8fe7
2017-06-23api doc typo fix in core/logging.hNeels Hofmeyr1-1/+1
Change-Id: I3f1cd5b10e7beccb61f370d7f8fa2666e56542cf
2017-06-23doxygen: enable AUTOBRIEF, drop \briefNeels Hofmeyr59-885/+885
Especially for short descriptions, it is annoying to have to type \brief for every single API doc. Drop all \brief and enable the AUTOBRIEF feature of doxygen, which always takes the first sentence of an API doc as the brief description. Change-Id: I11a8a821b065a128108641a2a63fb5a2b1916e87
2017-06-22cosmetic: remove API documentation strings in header filePhilipp Maier1-24/+0
Typically we don't place comments with the function declarations in .h files. Not sure why this file has comments for each. The API doc belongs in the .c file as proper doxygen comments, and shouldn't be duplicated in the .h file. In this particular case, doxygen comments are added in the corresponding c file recently. Change-Id: I5c4cb55be5ec59a6945b1720b875c5987f1cfaad
2017-06-22gsm0808: add function gsm0808_speech_codec_from_chan_type()Philipp Maier1-0/+2
The contents of the speech codec element (struct gsm0808_speech_codec), that is also used in the speech codec list element (struct gsm0808_speech_codec_list) can be generated directly from the permitted speech parameter in the channel type field (struct gsm0808_channel_type) when full AoIP with compressed speech via RTP/UDP/IP is assumed and when the codec configuration on the air interface exactly matches the codec configuration on the IP backhaul. This patch adds a function that can be used as a helper to fill out spech codec fields by only giving a permitted speech parameter as input. Change-Id: I257c972e9fdf0dfe940a8d483447085bd62e50a2
2017-06-22gsm0808: add function gsm0808_chan_type_to_speech_code()Philipp Maier1-0/+2
The permitted speech field used in channel type element (struct gsm0808_channel_type) uses a different representation as the type field in the speech codec element (struct gsm0808_speech_codec) This patch adds a function to convert from permitted speech to speech codec type. Change-Id: Ib26a9c20864459b2baaa04f49b6e7902ba44b7cb
2017-06-22gsm0808: add default speech codec configurationPhilipp Maier1-0/+21
In an AoIP scenario, the speech codec list field specifies the codecs used in the RTP interface. This patch adds a table with default codec configurations that match the codec configurations that are also used on the air interface. Change-Id: I9dc0165d76a022b2c1b7418bc3133407e61b7261
2017-06-22gsm0808: fix AoIP speech codec element parser/generatorPhilipp Maier1-2/+0
The implementation of the parser/generator for the speech codec information element slightly wrong, making it impossible to use it properly. (See also: 3GPP TS 48.008, 3.2.2.103) Change-Id: Idabb0f9620659557672e1c6b90c75481192e5c89
2017-06-21gsm0808: add speech codec type constantsPhilipp Maier1-0/+18
The codec type to be set in member type in struct gsm0808_speech_codec has its own coding scheme to reference the used codec types. This patch declares an enum with valid speech codec types. Change-Id: Icaa768071d4364e671bc7e6d48b82d1f07f93f93
2017-06-21cosmetic: Add info about coresponding codecs to permitted speech constsPhilipp Maier1-7/+8
The constants in enum gsm0808_permitted_speech are not very expressive. Add comments indicating each constant's corresponding codec. Change-Id: I9734f7c261becffe38ffd41c304d006d08530c1a
2017-06-21gsm0408: update bearer capability speech versionPhilipp Maier1-1/+6
3GPP TS 24.008 specifies two new speech versions for half rate and two new speech modes for full rate. This patch adds the relevant constants to enum gsm48_bcap_speech_ver in gsm_04_08.h Change-Id: Id2835384c855f924332d38f01c73bd1cfdb62549
2017-06-21cosmetic: Add codec references to Speech Version IndicationPhilipp Maier1-6/+6
Add the information which GSM Speech codec version coresponds to which bearer capability speech version. Change-Id: Ic9493fea139420a52c32b17d00ac7d0b2bf86967
2017-06-21vty: additional nodes for sccp-address configurationPhilipp Maier1-2/+2
The planned sccp-addressbook implementation in libosmo-sccp requires two additional VTY nodes. See also in libosmo-sccp.git: Change-Id I068ed7f7d113dab88424a9d47bab7fc703bb7942 Change-Id: I42aa29c0cccc97f284b85801c5329b015b189640
2017-06-19Move NUM_BYTES macro to core libraryMax2-1/+2
It's universally useful so it make sense to have it in the shared core: * move macro from libosmocoding to libosmocore * add OSMO_ prefix * add doxygen docs Change-Id: I5386ba3e1f1cc153ba96c29dc71c9075a052aa02
2017-06-18Fix compilation warning on deprecated macroPau Espin Pedrol2-2/+8
A warning was printed even if the deprecation didn't apply to libosmocore because it is still allowed to use it internally. This patch fixes this case while still printing a warning if external projects build using libosmocore headers. Change-Id: I32212f20756f828af1017482a71e29e4b3adbad4
2017-06-12update/extend doxygen documentationHarald Welte1-7/+1
It's a pity that even with this patch we still are fare away from having the whole API documented. However, at least we have a more solid foundation. Updates not only extend the documentation, but also make sure it is rendered properly in the doxygen HTML. Change-Id: I1344bd1a6869fb00de7c1899a8db93bba9bafce3
2017-06-12gsm0503_interleaving: Mark input arguments as 'const *'Harald Welte1-5/+5
The interleaving/deinterleaving functions were missing 'const' qualifiers on their input data buffers Change-Id: I2118c34a6353167787b23f877f1d81d60151aaf9
2017-06-12Add doxygen documentation to libosmocodingHarald Welte5-0/+50
This adds the minimum amount of API documentation that we should have on all our code, particularly new code merged into a library. Change-Id: I526804f64313867913574e50e5b9e9205ad3aa74
2017-06-12gsm0503_{coding,mapping}: Mark input arguments as 'const'Harald Welte2-21/+21
It is generally our coding style to mark pointers to constant input data as 'const *'. For some reason the gsm0503 coding and mapping was not adhering to this, so let's bring it into compliance. Change-Id: Id8731d7ae6171dff94741b6ddbb95ab5f03bfd4e
2017-06-12Add header file with definitions for GSM TS 04.14 / 3GPP TS 44.014Harald Welte1-0/+101
Change-Id: I1f4fc2761b55a4f83544c1c3793ab67fec9fc120
2017-06-09Update L3 protocol discriminator definitionsHarald Welte1-3/+5
Change-Id: Ia699d3494b93b7f88c36338e4960b35c42a29b9c
2017-06-09osmo_{fr,hr}_check_sid(): Use const input argumentHarald Welte1-2/+2
Change-Id: If779cce63f06a18d4f3b0cb3d6dd7a99aa52a646
2017-05-26socket: Add osmo_sock_init2_ofd() functionPau Espin Pedrol1-0/+4
Will be used by osmo-bts-trx Change-Id: I3c655a4af64fb80497a5aaa811cce8005dba9cd9
2017-05-24Add human-readable names for signal_nsMax1-0/+2
Change-Id: Id664355eb8305fb287e4dae0800fb20dc2f9b8cd Related: SYS#3610
2017-05-17sercomm: More API documentationHarald Welte1-1/+27
Change-Id: I5d5002ceedd10e10d772693478f4f9cab6b1290a
2017-05-17sercomm: Better integration of driver interfaceHarald Welte1-6/+7
We cannot assume a certain UART API like uart_baudrate() which only exists in OsmocomBB. Rather, use generic function prototypes (sercomm_drv_*) which are to be provided by the application / environment to the sercomm core. Change-Id: I01ea3067baf1791000c1a7d537ccce496a1ab1ee
2017-05-17sercomm: Include in libosmocore MakefileHarald Welte1-1/+1
Change-Id: If9d50d634381f43b2c67b97fea36a462a66e4559
2017-05-17sercomm: remove unrequired helper functionsHarald Welte1-2/+0
osmo_sercomm_{bind,get}_uart() are not really needed anymore, as sercomm_inst is public and thus the user can access the uart_id member directly. Change-Id: I6d57709c3764036046202f16a26c9eb87426c8d1
2017-05-17sercomm: Move HDLC related defines into C fileHarald Welte1-7/+0
Those values are not relevant to the sercomm user, only to the implementation and thus can remain inside sercomm.c Change-Id: I5700a45985b7c119c6338932171aae62ee4e2d22
2017-05-17sercomm: Add doxygen-style documentation to public APIHarald Welte1-10/+19
Change-Id: I2d8b11905692920d328262836420f01305be489e
2017-05-17sercomm: make rx msg size configurable per instanceHarald Welte1-0/+1
Change-Id: I835506e26e83232e1e7290c0da04d389c8d7fb40
2017-05-17sercomm: introduce osmo_ naming prefix in struct and function namesHarald Welte1-14/+14
Change-Id: If4e22f182a47b72b1fe43146716a4fbccceb62e6
2017-05-17sercomm: Enable multiple instances of 'sercomm'Harald Welte1-11/+36
Rather than having one global instance, let's permit multiple instances of sercomm to co-exist, with all API functions extended by the instance as first argument. Change-Id: I0f3b53f464b119d65747bcb0be0af2d631e1cc05
2017-05-17Import sercomm.c from osmocom-bbHarald Welte1-0/+61
This imports the file src/target/firmware/comm/sercomm.c from osmocom-bb.git without introducing any modifications. It will not even be built yet, as Makefile integration is intentionally left until it has been adapted to work inside libosmocore. Change-Id: I9ee199381c7b5986a9540d124836cdddd0f66c86
2017-05-17l1sap: Add frame-number to measurement indication structPhilipp Maier1-0/+1
The distribution of the channel measurement calculations over multiple timeslots (continous calculation) requires to keep track of the frame number in struct info_meas_ind_param Change-Id: I8c783b4a92ae2c3cc5d17936a146eb49d47eac37
2017-05-15stats: Disable stats*.c on embedded targetsHarald Welte1-0/+10
Change-Id: I6beb4fcc394ed7d3f8dd7a097b6e998245ecf401
2017-05-15gsm/tlv.h: fix copy-paste errorVadim Yanitskiy1-2/+2
Change-Id: Id52ddd8358fd4af1ecc71142deb09f1e237021f3
2017-05-15gsm0808 + ipa: fix compilation on systems without sys/socket.hHarald Welte2-2/+2
Change-Id: I60f5d4982cd96ab29f9924ec11b46bf56fbfc346
2017-05-15tlv: Add tlvp_val{16,32}be() to get TLV values in unaligned host byte orderHarald Welte1-0/+23
Change-Id: I3749e1e4974742bc8c32722e0e998775b5394829
2017-05-15introduce byteswap.h with osmo_{htonl,ntohl,htons,ntohs}Harald Welte1-0/+43
We need to have an architecture-independend way of endian conversion / byte swapping functions which will also work on embedded (bare iron) builds. Let's introduce osmocom/core/bytesawp.h for this purpose. Change-Id: Ibc0cc1e36d4ed63a35cf8ceff3af0f26e5ac7a3d
2017-05-15endian.h: Make it work on 'bare iron' builds (and possibly more platforms)Harald Welte1-1/+13
We can use __BYTE_ORDER__ which seems to be defined by both gcc and clang/llvm. Change-Id: Id6821c99e88242126d9697099b1dd92c6212526a