int ctdb_pulldb_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
struct ctdb_pulldb **out);
+size_t ctdb_pulldb_ext_len(struct ctdb_pulldb_ext *pulldb);
+void ctdb_pulldb_ext_push(struct ctdb_pulldb_ext *pulldb, uint8_t *buf);
+int ctdb_pulldb_ext_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
+ struct ctdb_pulldb_ext **out);
+
size_t ctdb_traverse_start_len(struct ctdb_traverse_start *traverse);
void ctdb_traverse_start_push(struct ctdb_traverse_start *traverse,
uint8_t *buf);
return 0;
}
+size_t ctdb_pulldb_ext_len(struct ctdb_pulldb_ext *pulldb)
+{
+ return sizeof(struct ctdb_pulldb_ext);
+}
+
+void ctdb_pulldb_ext_push(struct ctdb_pulldb_ext *pulldb, uint8_t *buf)
+{
+ memcpy(buf, pulldb, sizeof(struct ctdb_pulldb_ext));
+}
+
+int ctdb_pulldb_ext_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
+ struct ctdb_pulldb_ext **out)
+{
+ struct ctdb_pulldb_ext *pulldb;
+
+ if (buflen < sizeof(struct ctdb_pulldb_ext)) {
+ return EMSGSIZE;
+ }
+
+ pulldb = talloc_memdup(mem_ctx, buf, sizeof(struct ctdb_pulldb_ext));
+ if (pulldb == NULL) {
+ return ENOMEM;
+ }
+
+ *out = pulldb;
+ return 0;
+}
+
size_t ctdb_ltdb_header_len(struct ctdb_ltdb_header *header)
{
return sizeof(struct ctdb_ltdb_header);