]> git.proxmox.com Git - ceph.git/blob - ceph/src/cls/log/cls_log_client.h
update sources to v12.1.0
[ceph.git] / ceph / src / cls / log / cls_log_client.h
1 #ifndef CEPH_CLS_LOG_CLIENT_H
2 #define CEPH_CLS_LOG_CLIENT_H
3
4 #include "cls_log_types.h"
5
6 namespace librados {
7 class ObjectWriteOperation;
8 class ObjectReadOperation;
9 class IoCtx;
10 }
11
12 /*
13 * log objclass
14 */
15
16 void cls_log_add_prepare_entry(cls_log_entry& entry, const utime_t& timestamp,
17 const string& section, const string& name, bufferlist& bl);
18
19 void cls_log_add(librados::ObjectWriteOperation& op, list<cls_log_entry>& entries, bool monotonic_inc);
20 void cls_log_add(librados::ObjectWriteOperation& op, cls_log_entry& entry);
21 void cls_log_add(librados::ObjectWriteOperation& op, const utime_t& timestamp,
22 const string& section, const string& name, bufferlist& bl);
23
24 void cls_log_list(librados::ObjectReadOperation& op, utime_t& from, utime_t& to,
25 const string& in_marker, int max_entries,
26 list<cls_log_entry>& entries,
27 string *out_marker, bool *truncated);
28
29 void cls_log_trim(librados::ObjectWriteOperation& op, const utime_t& from_time, const utime_t& to_time,
30 const string& from_marker, const string& to_marker);
31 int cls_log_trim(librados::IoCtx& io_ctx, const string& oid, const utime_t& from_time, const utime_t& to_time,
32 const string& from_marker, const string& to_marker);
33
34 void cls_log_info(librados::ObjectReadOperation& op, cls_log_header *header);
35
36 #endif