- { FEAT_##type, #type, (flags), \
- 0, (v_int), 0, (v_str), \
- (set), (reset), (get), \
- (unmark), (mark), \
- (report) }
+ { FEAT_ ## type, #type, (flags), 0, (v_int), 0, (v_str), \
+ (set), (reset), (get), (unmark), (mark), (report) }
+#define F_I(type, v_int) \
+ { FEAT_ ## type, #type, FEAT_INT, 0, (v_int), 0, 0, 0, 0, 0, 0, 0, 0 }
+#define F_B(type, v_int) \
+ { FEAT_ ## type, #type, FEAT_BOOL, 0, (v_int), 0, 0, 0, 0, 0, 0, 0, 0 }
+#define F_S(type, flags, v_int) \
+ { FEAT_ ## type, #type, FEAT_STR | (flags), 0, 0, 0, (v_str), \
+ 0, 0, 0, 0, 0, 0 }