Add serialization of trigger, condition and action classes
[lttng-tools.git] / src / lib / lttng-ctl / condition.c
index 76f416d429eb590343fcfe94bff44e1e884c6722..b3091576a6011baf649d3b45e22913d9f1cc6c31 100644 (file)
@@ -56,3 +56,31 @@ bool lttng_condition_validate(struct lttng_condition *condition)
 end:
        return valid;
 }
+
+LTTNG_HIDDEN
+ssize_t lttng_condition_serialize(struct lttng_condition *condition, char *buf)
+{
+       ssize_t ret, condition_size;
+       struct lttng_condition_comm condition_comm;
+
+       if (!condition) {
+               ret = -1;
+               goto end;
+       }
+
+       condition_comm.condition_type = (int8_t) condition->type;
+       ret = sizeof(struct lttng_condition_comm);
+       if (buf) {
+               memcpy(buf, &condition_comm, ret);
+               buf += ret;
+       }
+
+       condition_size = condition->serialize(condition, buf);
+       if (condition_size < 0) {
+               ret = condition_size;
+               goto end;
+       }
+       ret += condition_size;
+end:
+       return ret;
+}
This page took 0.024862 seconds and 5 git commands to generate.