summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* linuxrbtree: don't use 'new' as argument name to avoid C++ incompatibilityHarald Welte2012-06-181-1/+1
|
* libosmogb: move files to proper location and fix buildHarald Welte2012-06-179-2/+637
|
* add GPRS/Gb related osmo_prim SAPsHarald Welte2012-06-171-0/+5
|
* add library VTY nodes for NS and BSSGPHarald Welte2012-06-161-0/+2
|
* signal: add SS_L_NS as a signal subsystem for NS code in libosmo-gbHarald Welte2012-06-161-0/+1
|
* add GSM_LCHAN_PDTCHHarald Welte2012-04-191-0/+1
|
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-1826-26/+26
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Add a function to write the current config to a file.Holger Hans Peter Freyther2012-03-281-0/+3
|
* auth_milenage/osmo-auc-gen: compute OPC in case only OP is knownHarald Welte2012-03-211-0/+1
|
* misc: Fix warning when compiling telnet_interface.cHolger Hans Peter Freyther2012-03-161-0/+1
| | | | | | | | In file included from telnet_interface.c:30:0: osmocom/core/socket.h:25:4: warning: 'struct osmo_fd' declared inside parameter list [enabled by default] telnet_interface.c: In function 'telnet_init_dynif': telnet_interface.c:84:4: warning: passing argument 1 of 'osmo_sock_init_ofd' from incompatible pointer type [enabled by default] osmocom/core/socket.h:24:5: note: expected 'struct osmo_fd *' but argument is of type 'struct osmo_fd *'
* vty/telnet: Add function to allow binding telnet interface to custom ↵Sylvain Munaut2012-03-011-0/+1
| | | | | | IP/Interface Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsmtap: Add GSMTAP_GPRS_CS() / GSMTAP_GPRS_MCS()Harald Welte2012-02-081-0/+8
| | | | | | | | As requested by Mike Morrin <Mike.Morrin@ipaccess.com>, we introduce GSMTAP sub-types for all the different GPRS and EGPRS coding schemes. This is neccessary due to the fact that the RLC PDU doesn't contain any explicit indication of the coding scheme used on the radio layer.
* libosmocore/gsm: Fixed total size of gsm48_req_refAndreas Eversberg2012-02-071-3/+3
| | | | | "__attribute ((packed))" must be defined for unions, in order to make sure that the compiler packs unions.
* GSM 08.08: change gsm0808_create_classmark_update() prototypeHarald Welte2012-01-261-1/+2
| | | | | The caller explicitly specifies CM2 and CM3, rather than one blob containing both.
* gsmtap: make sure we agree with wireshark on GSMTAP channel typesHarald Welte2012-01-261-2/+2
|
* TLV/msgb: Return first byte of newly-pushed data from msgb_*_push()Harald Welte2012-01-221-14/+28
| | | | | The msgb_*_push() functions erroneously returned the firsrt byte after newly-pushed information, which makes no sense at all.
* msgb_trim(): actually trim to an absolute length, as the comment statesHarald Welte2012-01-141-5/+3
| | | | | The previous commit introduced a new msgb_trim() but the implementation differed from the specification.
* msgb: introduce msgb_trim() and msgb_l3trim() to trim msgb'sHarald Welte2012-01-141-0/+28
|
* auth_core: don't use anonymous unions to make certain gcc versions happyHarald Welte2011-12-071-1/+1
|
* auth_core: add functions for parsing algorithm namesHarald Welte2011-12-071-0/+3
|
* Add a generic abstraction for GSM/3G authentication algorithmsHarald Welte2011-12-062-1/+88
| | | | | Indiidual algorithms can be implemented as plugins. libosmogsm itself only provides COMP128v1 via this generic interface.
* comp128: mark ki and srand as 'const' input parametersHarald Welte2011-12-061-1/+1
|
* SMS: export gsm411_bcdify() and gsm411_unbcdify() functionsHarald Welte2011-12-011-0/+6
| | | | | The same functions are e.g. required by the NITZ code in 04.08, and we don't want copy+paste.
* core/conv: Add utility methods to know length of coded/decoded vectorsSylvain Munaut2011-11-241-0/+6
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Add support for other termination types (trunc & tail biting)Sylvain Munaut2011-11-241-6/+25
| | | | | | | | Note that this breaks the ABI and the low level API. But it shouldn't break the high level API, nor the conv code definitions (because fields default to 0, and for new fields '0' is the previous behavior) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Minor documentation improvementsSylvain Munaut2011-11-241-12/+18
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/a5: Add documentationSylvain Munaut2011-11-171-0/+14
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/a5: Add const qualifier on the keySylvain Munaut2011-11-171-3/+3
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* utils: Add declaration back for osmo_osmo_hexdump_nospcSylvain Munaut2011-11-131-0/+1
| | | | | | | | As it turns out, if a project uses the old name but without a declaration, it'll causes a segfault on 64 bits platform (because of the implicit int return type which doesn't apply since here it's a pointer). Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* include/gsm_04_11: Fix compatibility issue with GSM411_TMR_TC1ASylvain Munaut2011-11-121-1/+2
| | | | | | We need to keep the old one for compatibility ! Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sms: Rewrite of SMR process, extracted from OpenBSCAndreas Eversberg2011-11-122-1/+46
| | | | | | | | | | | The SMR process is used to transfer SMS TPDUs. It is now extracted from OpenBSC. It includes a real state machine now for easier debugging. Also it implements the TR1M and TR2M timers. The memory notification procedure is missing, but not required for network side. Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sms: Rewrite of SMC process, extracted from OpenBSCAndreas Eversberg2011-11-123-4/+67
| | | | | | | | The SMC process is used to transfer RP frames. It is now extracted from OpenBSC. It includes a real state machine now for easier debugging. Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sms: Moved utility functions of SMS processing to new gsm0411_utils.cAndreas.Eversberg2011-11-122-1/+32
| | | | | Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sms: Added DLSMS debuggingAndreas Eversberg2011-11-121-1/+2
| | | | | Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/lapdm: Fix TA and power level handling in the ACCH headerAndreas.Eversberg2011-11-121-2/+5
| | | | | | | | | | | | | Timing advance and power level indicated by MS (measurement reports) and BTS (SI 5/6) are now stored for use at ACCH data link connection. This is part of a set of commit to fix LAPDm to handle datalink connection on ACCH (SAPI 3) This is required to transfer SMS on SACCH of TCH/f or SDCCH/8 (4). Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/lapdm: Make T200 timer depends on the link type (SACCH is slower)Andreas.Eversberg2011-11-121-1/+1
| | | | | | | | | | This is part of a set of commit to fix LAPDm to handle datalink connection on ACCH (SAPI 3) This is required to transfer SMS on SACCH of TCH/f or SDCCH/8 (4). Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Fixed vty_down_level to move down from config nodesAndreas.Eversberg2011-11-121-0/+1
| | | | | | | | | When using ^D at config nodes above the CONFIG_NODE, the go_parent_cb function is used to go down by one node. This is equivalent to "exit" command. Written-by: Andreas.Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty/telnet_interface: Add telnet_exit functionAndreas.Eversberg2011-11-121-0/+2
| | | | | | | This frees socket and pending connections Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/rbtree: add const qualifier to some functionsSylvain Munaut2011-11-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | See kernel commit f4b477c47332367d35686bd2b808c2156b96d7c7 ---- The 'rb_first()', 'rb_last()', 'rb_next()' and 'rb_prev()' calls take a pointer to an RB node or RB root. They do not change the pointed objects, so add a 'const' qualifier in order to make life of the users of these functions easier. Indeed, if I have my own constant pointer &const struct my_type *p, and I call 'rb_next(&p->rb)', I get a GCC warning: warning: passing argument 1 of ?~@~Xrb_next?~@~Y discards qualifiers from pointer target type Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* utils: Fix a bad double osmo_ prefix for osmo_hexdump_nospcSylvain Munaut2011-11-101-1/+1
| | | | | | Hopefully no project where using them it seems Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: Add compatibility header with timer helpersSylvain Munaut2011-10-212-0/+81
| | | | | | Some of these are not always present, especially when cross compiling Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: add scalable RB-tree based timer infrastructurePablo Neira Ayuso2011-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds RB-tree based timers which scales better than the previous list-based implementation. It does not require any API changes. It breaks ABI because the osmo_timer_list structure has changed though (to avoid this in the future, we can put internal data in some private structure). The following table summarizes the worst-case computational complexity of this new implementation versus the previous one: rb-tree list-based ------- ---------- calculate next timer to expire O(1) O(n) insertion of new timer O(log n) O(n) deletion of timer O(log n) O(1) timer-fired scheduler O(log n) O(3n) The most repeated cases are: * the calculation of the next timer to expire, that happens in every loop of our select function. * the timer-fired scheduler execution. This new implementation only loses in the deletion of timer scenario, this happens because we may need to rebalance the tree after the removal. So I think there is some real gain if we have some situation in which we have to handle lots of timers.
* add rb-tree implementation to libosmocorePablo Neira Ayuso2011-10-172-1/+161
| | | | | | | | | This patch adds red black trees implementation to libosmocore. This data structure is very useful to search for elements in ordered sets in O(log n) instead of O(n) that lists provide. The first client of this code will be one follow up patch that implements rbtree-based timer scheduler.
* add header file containing UMA/GAN protocol definitionsHarald Welte2011-10-102-1/+154
|
* Added defines to use primitive/operation tuples in switch/case statementsAndreas Eversberg2011-10-101-0/+3
|
* Split of LAPDm into a core part and a GSM specific partroot2011-10-103-49/+175
| | | | | | | | | | | | | | Instead of mixing together the GSM layer 1 interface and RSL interface with the implementation of LAPD, the core function of LAPD is now extracted from LAPDm. The core implementation is now in lapd_core.c and lapd_core.h respectively. The lapd_core.c implements exactly one datalink instance for one SAP. The surrounding implementation "lapdm.c" codes/decodes the layer 2 headers and handles multiplexing and datalink instances, as well as translates primitives from/to RSL layer. lapd_core.c can now be used for other LAPD implementations. (ISDN/ABIS)
* Changed logging of LAPD from DLLAPDM to DLLAPDroot2011-10-101-1/+1
|
* gsmtap: Add type/subtypes for GMR-1 protocolSylvain Munaut2011-10-091-0/+23
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* GSMTAP: Add comments to explain how to make GSMTAP changesHarald Welte2011-10-081-0/+24
|
* GSMTAP: Import changes from WiresharkHarald Welte2011-10-081-0/+11
| | | | | | | | There have been some changes in the wireshark source code that have never been submitted to gsmtap.h GSMTAP_CHANNEL_PACCH has been defined in an incompatible way in mainline wirshark :(