]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/table-types.h
Merge remote-tracking branch 'origin/dev-table' into dev-table
[libucw.git] / ucw / table-types.h
index 8ca14f6ee29465439d0332267ed124d9613c302f..e7b4366b22c9aaeffe1aaa79a29e3b641dc37eda 100644 (file)
@@ -18,9 +18,6 @@ enum size_units {
   SIZE_UNIT_AUTO
 };
 
-#define COL_TYPE_SIZE       &xt_size
-#define COL_TYPE_TIMESTAMP  &xt_timestamp
-
 #define TIMESTAMP_EPOCH     XTYPE_FMT_RAW
 #define TIMESTAMP_DATETIME  XTYPE_FMT_PRETTY
 
@@ -29,19 +26,17 @@ enum size_units {
 extern const struct xtype xt_size;
 extern const struct xtype xt_timestamp;
 
-bool table_set_col_opt_size(struct table *tbl, uint col_inst_idx, const char *col_arg, char **err);
-bool table_set_col_opt_timestamp(struct table *tbl, uint col_inst_idx, const char *col_arg, char **err);
+int table_set_col_opt_size(struct table *tbl, uint col_inst_idx, const char *col_arg, char **err);
+int table_set_col_opt_timestamp(struct table *tbl, uint col_inst_idx, const char *col_arg, char **err);
 
-#define TBL_COL_SIZE(_name, _width)           { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = COL_TYPE_SIZE, .set_col_instance_option = table_set_col_opt_size }
-#define TBL_COL_TIMESTAMP(_name, _width)      { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = COL_TYPE_TIMESTAMP, .set_col_instance_option = table_set_col_opt_timestamp }
+#define TBL_COL_SIZE(_name, _width)       { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = &xt_size, .set_col_instance_option = table_set_col_opt_size }
+#define TBL_COL_TIMESTAMP(_name, _width)  { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = &xt_timestamp, .set_col_instance_option = table_set_col_opt_timestamp }
 
-#define TBL_COL_SIZE_FMT(_name, _width, _units)         { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = COL_TYPE_SIZE, .set_col_instance_option = table_set_col_opt_size }
-#define TBL_COL_TIMESTAMP_FMT(_name, _width, _fmt)      { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = COL_TYPE_TIMESTAMP, .set_col_instance_option = table_set_col_opt_timestamp }
+#define TBL_COL_SIZE_FMT(_name, _width, _units)    { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = &xt_size, .set_col_instance_option = table_set_col_opt_size }
+#define TBL_COL_TIMESTAMP_FMT(_name, _width, _fmt) { .name = _name, .width = _width, .fmt = XTYPE_FMT_DEFAULT, .type_def = &xt_timestamp, .set_col_instance_option = table_set_col_opt_timestamp }
 
-void table_col_size_name(struct table *tbl, const char *col_name, u64 val);
-void table_col_timestamp_name(struct table *tbl, const char * col_name, u64 val);
 
-void table_col_size(struct table *tbl, int col, u64 val);
-void table_col_timestamp(struct table *tbl, int col, u64 val);
+TABLE_COL_PROTO(size, u64)
+TABLE_COL_PROTO(timestamp, u64)
 
 #endif