]> git.proxmox.com Git - ceph.git/blame - ceph/src/cls/user/cls_user_ops.h
update sources to v12.1.0
[ceph.git] / ceph / src / cls / user / cls_user_ops.h
CommitLineData
7c673cae
FG
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3
4#ifndef CEPH_CLS_USER_OPS_H
5#define CEPH_CLS_USER_OPS_H
6
7c673cae 7#include "cls_user_types.h"
7c673cae
FG
8
9struct cls_user_set_buckets_op {
10 list<cls_user_bucket_entry> entries;
11 bool add;
12 real_time time; /* op time */
13
14 cls_user_set_buckets_op() : add(false) {}
15
16 void encode(bufferlist& bl) const {
17 ENCODE_START(1, 1, bl);
18 ::encode(entries, bl);
19 ::encode(add, bl);
20 ::encode(time, bl);
21 ENCODE_FINISH(bl);
22 }
23
24 void decode(bufferlist::iterator& bl) {
25 DECODE_START(1, bl);
26 ::decode(entries, bl);
27 ::decode(add, bl);
28 ::decode(time, bl);
29 DECODE_FINISH(bl);
30 }
31
32 void dump(Formatter *f) const;
33 static void generate_test_instances(list<cls_user_set_buckets_op*>& ls);
34};
35WRITE_CLASS_ENCODER(cls_user_set_buckets_op)
36
37struct cls_user_remove_bucket_op {
38 cls_user_bucket bucket;
39
40 cls_user_remove_bucket_op() {}
41
42 void encode(bufferlist& bl) const {
43 ENCODE_START(1, 1, bl);
44 ::encode(bucket, bl);
45 ENCODE_FINISH(bl);
46 }
47
48 void decode(bufferlist::iterator& bl) {
49 DECODE_START(1, bl);
50 ::decode(bucket, bl);
51 DECODE_FINISH(bl);
52 }
53
54 void dump(Formatter *f) const;
55 static void generate_test_instances(list<cls_user_remove_bucket_op*>& ls);
56};
57WRITE_CLASS_ENCODER(cls_user_remove_bucket_op)
58
59struct cls_user_list_buckets_op {
60 string marker;
61 string end_marker;
62 int max_entries; /* upperbound to returned num of entries
63 might return less than that and still be truncated */
64
65 cls_user_list_buckets_op()
66 : max_entries(0) {}
67
68 void encode(bufferlist& bl) const {
69 ENCODE_START(2, 1, bl);
70 ::encode(marker, bl);
71 ::encode(max_entries, bl);
72 ::encode(end_marker, bl);
73 ENCODE_FINISH(bl);
74 }
75
76 void decode(bufferlist::iterator& bl) {
77 DECODE_START(2, bl);
78 ::decode(marker, bl);
79 ::decode(max_entries, bl);
80 if (struct_v >= 2) {
81 ::decode(end_marker, bl);
82 }
83 DECODE_FINISH(bl);
84 }
85
86 void dump(Formatter *f) const;
87 static void generate_test_instances(list<cls_user_list_buckets_op*>& ls);
88};
89WRITE_CLASS_ENCODER(cls_user_list_buckets_op)
90
91struct cls_user_list_buckets_ret {
92 list<cls_user_bucket_entry> entries;
93 string marker;
94 bool truncated;
95
96 cls_user_list_buckets_ret() : truncated(false) {}
97
98 void encode(bufferlist& bl) const {
99 ENCODE_START(1, 1, bl);
100 ::encode(entries, bl);
101 ::encode(marker, bl);
102 ::encode(truncated, bl);
103 ENCODE_FINISH(bl);
104 }
105
106 void decode(bufferlist::iterator& bl) {
107 DECODE_START(1, bl);
108 ::decode(entries, bl);
109 ::decode(marker, bl);
110 ::decode(truncated, bl);
111 DECODE_FINISH(bl);
112 }
113
114 void dump(Formatter *f) const;
115 static void generate_test_instances(list<cls_user_list_buckets_ret*>& ls);
116};
117WRITE_CLASS_ENCODER(cls_user_list_buckets_ret)
118
119
120struct cls_user_get_header_op {
121 cls_user_get_header_op() {}
122
123 void encode(bufferlist& bl) const {
124 ENCODE_START(1, 1, bl);
125 ENCODE_FINISH(bl);
126 }
127
128 void decode(bufferlist::iterator& bl) {
129 DECODE_START(1, bl);
130 DECODE_FINISH(bl);
131 }
132
133 void dump(Formatter *f) const;
134 static void generate_test_instances(list<cls_user_get_header_op*>& ls);
135};
136WRITE_CLASS_ENCODER(cls_user_get_header_op)
137
138struct cls_user_get_header_ret {
139 cls_user_header header;
140
141 cls_user_get_header_ret() {}
142
143 void encode(bufferlist& bl) const {
144 ENCODE_START(1, 1, bl);
145 ::encode(header, bl);
146 ENCODE_FINISH(bl);
147 }
148
149 void decode(bufferlist::iterator& bl) {
150 DECODE_START(1, bl);
151 ::decode(header, bl);
152 DECODE_FINISH(bl);
153 }
154
155 void dump(Formatter *f) const;
156 static void generate_test_instances(list<cls_user_get_header_ret*>& ls);
157};
158WRITE_CLASS_ENCODER(cls_user_get_header_ret)
159
160struct cls_user_complete_stats_sync_op {
161 real_time time;
162
163 cls_user_complete_stats_sync_op() {}
164
165 void encode(bufferlist& bl) const {
166 ENCODE_START(1, 1, bl);
167 ::encode(time, bl);
168 ENCODE_FINISH(bl);
169 }
170
171 void decode(bufferlist::iterator& bl) {
172 DECODE_START(1, bl);
173 ::decode(time, bl);
174 DECODE_FINISH(bl);
175 }
176
177 void dump(Formatter *f) const;
178 static void generate_test_instances(list<cls_user_complete_stats_sync_op*>& ls);
179};
180WRITE_CLASS_ENCODER(cls_user_complete_stats_sync_op)
181
182
183#endif