projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add functions for checking for config differences
[project/netifd.git]
/
config.h
diff --git
a/config.h
b/config.h
index
5623a40
..
6dfb236
100644
(file)
--- a/
config.h
+++ b/
config.h
@@
-25,12
+25,24
@@
struct config_param_list {
const struct config_param_list *next[];
};
const struct config_param_list *next[];
};
-struct config_state {
- struct blob_attr *data;
- unsigned int version;
-};
+#ifndef BITS_PER_LONG
+#define BITS_PER_LONG (8 * sizeof(unsigned long))
+#endif
+
+static inline void set_bit(unsigned long *bits, int bit)
+{
+ bits[bit / BITS_PER_LONG] |= (1UL << (bit % BITS_PER_LONG));
+}
+
+static inline bool test_bit(unsigned long *bits, int bit)
+{
+ return !!(bits[bit / BITS_PER_LONG] & (1UL << (bit % BITS_PER_LONG)));
+}
void config_init_interfaces(const char *name);
void config_init_interfaces(const char *name);
-void config_set_state(struct config_state *state, const struct blob_attr *attr);
+bool config_check_equal(struct blob_attr *c1, struct blob_attr *c2,
+ const struct config_param_list *config);
+bool config_diff(struct blob_attr **tb1, struct blob_attr **tb2,
+ const struct config_param_list *config, unsigned long *diff);
#endif
#endif