libosmogsm  0.10.2.279.178b
Osmocom GSM library
bts_features.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <osmocom/core/utils.h>
4 #include <osmocom/core/bitvec.h>
5 
6 #define MAX_BTS_FEATURES 128
7 
8 /* N. B: always add new features to the end of the list (right before _NUM_BTS_FEAT) to avoid breaking compatibility
9  with BTS compiled against earlier version of this header. Also make sure that the description strings
10  gsm_bts_features_descs[] in gsm_data.c are also updated accordingly! */
27 };
28 
29 extern const struct value_string osmo_bts_features_descs[];
30 
31 const char *osmo_bts_feature_name(enum osmo_bts_features feature);
32 
33 static inline int osmo_bts_set_feature(struct bitvec *features, enum osmo_bts_features feature)
34 {
36  return bitvec_set_bit_pos(features, feature, 1);
37 }
38 
39 static inline bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature)
40 {
42  return bitvec_get_bit_pos(features, feature);
43 }
Definition: bts_features.h:23
osmo_bts_features
Definition: bts_features.h:11
Definition: bts_features.h:21
Definition: bts_features.h:12
Definition: bts_features.h:24
#define OSMO_ASSERT(exp)
Definition: bts_features.h:16
Definition: bts_features.h:25
int bitvec_set_bit_pos(struct bitvec *bv, unsigned int bitnr, enum bit_value bit)
Definition: bts_features.h:13
const struct value_string osmo_bts_features_descs[]
Definition: bts_features.c:26
enum bit_value bitvec_get_bit_pos(const struct bitvec *bv, unsigned int bitnr)
Definition: bts_features.h:18
Definition: bts_features.h:15
Definition: bts_features.h:20
Definition: bts_features.h:22
Definition: bts_features.h:17
Definition: bts_features.h:19
static bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature)
Definition: bts_features.h:39
Definition: bts_features.h:14
#define MAX_BTS_FEATURES
Definition: bts_features.h:6
Definition: bts_features.h:26
static int osmo_bts_set_feature(struct bitvec *features, enum osmo_bts_features feature)
Definition: bts_features.h:33
const char * osmo_bts_feature_name(enum osmo_bts_features feature)
return string representation of a BTS feature
Definition: bts_features.c:45