summaryrefslogtreecommitdiffstats
path: root/include/osmocom/core/bitvec.h
Commit message (Collapse)AuthorAgeFilesLines
* bitvec: Ensure bitvec.h and bitvec.c agree on function argument typeHarald Welte2017-01-151-1/+1
| | | | | | uint32_t may or may not be unsigned int. Change-Id: I21c96985fcbb72372b6df949301c21f1ebca41f2
* Always include <osmocom/core/talloc.h> and not <talloc.h>Harald Welte2017-01-151-1/+1
| | | | | | In EMBEDDED builds we don't have a system-wide talloc Change-Id: Icc526016bda45b36e584afee8669996752d6d89c
* Add function to get uninterrupted bit runPravin Kumarvel2017-01-061-0/+1
| | | | | | | | | Function bitvec_rl_curbit added to get number of uninterrupted bits run in vector starting from the current bit till max number of bits. Test case is added to check bitvec_rl_curbit. Change-Id: Iae153d3639ea6b891c1fc10d7801a435c9492e26
* Mark input parameter to bitvec_set_bits() as 'const'Harald Welte2016-06-271-1/+1
| | | | | | | The input data is accessed in a read-only manner, so it should be marked with the const qualifier. Change-Id: I0d6b86289fa647594f3da1f1c0e0168685307a37
* Add function to add bits from array to bitvecMax2016-03-171-0/+3
| | | | | | | | | Add function which adds specified number of bits from each element of array to the bit vector prefixing each addition with one and finishing entire sequence with adding 0. This is very common patter for various repetitive data structures described with CSN.1 in 3GPP standards. Corresponding test vectors and doxygen headers are added too.
* Expand bitvec interfaceMax2016-02-181-0/+9
| | | | | Add bit filling, shifting and other functions necessary for bit compression implementation. Add corresponding tests.
* bitvec: Test and fix regression for C++->C conversionHolger Hans Peter Freyther2016-01-301-2/+2
| | | | | | | | | | | | | bitvec_read_field/bitvec_write_field in the PCU used a C++ reference and when porting to C it was decided to pass the parameter by value and this lost the "back propagation" of the new index. Change the parameter to be an in/out parameter and this way do not have a silent semantic break in the osmo-pcu (where we copy the reference in csn.1 by value) and have a true compile failure. Add Max's simple test for bitvec_unhex function leaving the checking of bitvec_read_field and the side effect in the datastructure about the number of bits still open.
* Add bitvec-related functions from Osmo-PCUMax2016-01-261-0/+9
| | | | | | Allocation, pack/unpack, field access and helper routines used extensively by Osmo-PCU. Whenever memory allocation happens, alocator context is passed explicitly by caller.
* bitvec: Fix interface to consistently use unsigned intMax2016-01-221-5/+5
| | | | | | | Use unsigned int for the length throughout the interface. We will never have a a negative length. Sponsored-by: On-Waves ehf
* bitvec: Add get/set byte sequencesJacob Erlbeck2016-01-151-0/+10
| | | | | | | | | | | | | | | The new functions bitvec_get_bytes and bitvec_set_bytes copy byte sequences from bitvecs to uint8_t arrays and vice versa. While the bytes in the bitvecs do not need to be aligned, the uint8_t arrays always are. In case the bytes in the bitvec are aligned, the implementation uses memcpy. Note that the implementation like the other existing functions assume MSB first encoding. [hfreyther: Squash the comment fix into this commit as well] Sponsored-by: On-Waves ehf
* bitvec: Fix typo in the csn1 encoding codeHolger Hans Peter Freyther2014-12-281-1/+1
| | | | | We can curse about CSN.1 and 3GPP but I think we want to call it cursor here.
* include: Switch to #pragma once patternSylvain Munaut2014-06-161-4/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-181-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* some more doxygen work (include the notion of modules)Harald Welte2011-08-171-29/+21
|
* bitvec: add missing stdint.hHarald Welte2011-05-291-0/+1
|
* bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.cPablo Neira Ayuso2011-03-281-0/+2
| | | | | This patch adds bitvec_find_bit_pos() to bitvec.c where it really belongs to. Before this patch used to be part of gsm/rxlev_stat.c
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-231-0/+75
This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>