GNU Radio's GSM Package
bits.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <osmocom/core/bit16gen.h>
#include <osmocom/core/bit32gen.h>
#include <osmocom/core/bit64gen.h>

Go to the source code of this file.

Macros

#define OSMO_BIN_SPEC   "%d%d%d%d%d%d%d%d"
 
#define OSMO_BIN_PRINT(byte)
 
#define OSMO_BIT_SPEC   "%c%c%c%c%c%c%c%c"
 
#define OSMO_BIT_PRINT_EX(byte, ch)
 
#define OSMO_BIT_PRINT(byte)   OSMO_BIT_PRINT_EX(byte, '1')
 

Typedefs

typedef int8_t sbit_t
 
typedef uint8_t ubit_t
 
typedef uint8_t pbit_t
 

Enumerations

enum  osmo_br_mode { OSMO_BR_BITS_IN_DWORD = 31, OSMO_BR_BYTES_IN_DWORD = 24, OSMO_BR_BITS_IN_BYTE = 7, OSMO_BR_WORD_SWAP = 16 }
 

Functions

static unsigned int osmo_pbit_bytesize (unsigned int num_bits)
 
int osmo_ubit2pbit (pbit_t *out, const ubit_t *in, unsigned int num_bits)
 
int osmo_pbit2ubit (ubit_t *out, const pbit_t *in, unsigned int num_bits)
 
void osmo_nibble_shift_right (uint8_t *out, const uint8_t *in, unsigned int num_nibbles)
 
void osmo_nibble_shift_left_unal (uint8_t *out, const uint8_t *in, unsigned int num_nibbles)
 
void osmo_ubit2sbit (sbit_t *out, const ubit_t *in, unsigned int num_bits)
 
void osmo_sbit2ubit (ubit_t *out, const sbit_t *in, unsigned int num_bits)
 
int osmo_ubit2pbit_ext (pbit_t *out, unsigned int out_ofs, const ubit_t *in, unsigned int in_ofs, unsigned int num_bits, int lsb_mode)
 
int osmo_pbit2ubit_ext (ubit_t *out, unsigned int out_ofs, const pbit_t *in, unsigned int in_ofs, unsigned int num_bits, int lsb_mode)
 
uint32_t osmo_bit_reversal (uint32_t x, enum osmo_br_mode k)
 
uint32_t osmo_revbytebits_32 (uint32_t x)
 
uint32_t osmo_revbytebits_8 (uint8_t x)
 
void osmo_revbytebits_buf (uint8_t *buf, int len)
 
static uint16_t osmo_rol16 (uint16_t in, unsigned shift)
 

Detailed Description

Osmocom bit level support code.