Lines Matching refs:p
19 static inline u64 ceph_decode_64(void **p) in ceph_decode_64() argument
21 u64 v = get_unaligned_le64(*p); in ceph_decode_64()
22 *p += sizeof(u64); in ceph_decode_64()
25 static inline u32 ceph_decode_32(void **p) in ceph_decode_32() argument
27 u32 v = get_unaligned_le32(*p); in ceph_decode_32()
28 *p += sizeof(u32); in ceph_decode_32()
31 static inline u16 ceph_decode_16(void **p) in ceph_decode_16() argument
33 u16 v = get_unaligned_le16(*p); in ceph_decode_16()
34 *p += sizeof(u16); in ceph_decode_16()
37 static inline u8 ceph_decode_8(void **p) in ceph_decode_8() argument
39 u8 v = *(u8 *)*p; in ceph_decode_8()
40 (*p)++; in ceph_decode_8()
43 static inline void ceph_decode_copy(void **p, void *pv, size_t n) in ceph_decode_copy() argument
45 memcpy(pv, *p, n); in ceph_decode_copy()
46 *p += n; in ceph_decode_copy()
52 static inline bool ceph_has_room(void **p, void *end, size_t n) in ceph_has_room() argument
54 return end >= *p && n <= end - *p; in ceph_has_room()
57 #define ceph_decode_need(p, end, n, bad) \ argument
59 if (!likely(ceph_has_room(p, end, n))) \
63 #define ceph_decode_64_safe(p, end, v, bad) \ argument
65 ceph_decode_need(p, end, sizeof(u64), bad); \
66 v = ceph_decode_64(p); \
68 #define ceph_decode_32_safe(p, end, v, bad) \ argument
70 ceph_decode_need(p, end, sizeof(u32), bad); \
71 v = ceph_decode_32(p); \
73 #define ceph_decode_16_safe(p, end, v, bad) \ argument
75 ceph_decode_need(p, end, sizeof(u16), bad); \
76 v = ceph_decode_16(p); \
78 #define ceph_decode_8_safe(p, end, v, bad) \ argument
80 ceph_decode_need(p, end, sizeof(u8), bad); \
81 v = ceph_decode_8(p); \
84 #define ceph_decode_copy_safe(p, end, pv, n, bad) \ argument
86 ceph_decode_need(p, end, n, bad); \
87 ceph_decode_copy(p, pv, n); \
107 static inline char *ceph_extract_encoded_string(void **p, void *end, in ceph_extract_encoded_string() argument
111 void *sp = *p; in ceph_extract_encoded_string()
126 *p = (char *) *p + sizeof (u32) + len; in ceph_extract_encoded_string()
139 #define ceph_decode_skip_n(p, end, n, bad) \ argument
141 ceph_decode_need(p, end, n, bad); \
142 *p += n; \
145 #define ceph_decode_skip_64(p, end, bad) \ argument
146 ceph_decode_skip_n(p, end, sizeof(u64), bad)
148 #define ceph_decode_skip_32(p, end, bad) \ argument
149 ceph_decode_skip_n(p, end, sizeof(u32), bad)
151 #define ceph_decode_skip_16(p, end, bad) \ argument
152 ceph_decode_skip_n(p, end, sizeof(u16), bad)
154 #define ceph_decode_skip_8(p, end, bad) \ argument
155 ceph_decode_skip_n(p, end, sizeof(u8), bad)
157 #define ceph_decode_skip_string(p, end, bad) \ argument
161 ceph_decode_32_safe(p, end, len, bad); \
162 ceph_decode_skip_n(p, end, len, bad); \
165 #define ceph_decode_skip_set(p, end, type, bad) \ argument
169 ceph_decode_32_safe(p, end, len, bad); \
171 ceph_decode_skip_##type(p, end, bad); \
174 #define ceph_decode_skip_map(p, end, ktype, vtype, bad) \ argument
178 ceph_decode_32_safe(p, end, len, bad); \
180 ceph_decode_skip_##ktype(p, end, bad); \
181 ceph_decode_skip_##vtype(p, end, bad); \
185 #define ceph_decode_skip_map_of_map(p, end, ktype1, ktype2, vtype2, bad) \ argument
189 ceph_decode_32_safe(p, end, len, bad); \
191 ceph_decode_skip_##ktype1(p, end, bad); \
192 ceph_decode_skip_map(p, end, ktype2, vtype2, bad); \
236 static inline void ceph_encode_64(void **p, u64 v) in ceph_encode_64() argument
238 put_unaligned_le64(v, (__le64 *)*p); in ceph_encode_64()
239 *p += sizeof(u64); in ceph_encode_64()
241 static inline void ceph_encode_32(void **p, u32 v) in ceph_encode_32() argument
243 put_unaligned_le32(v, (__le32 *)*p); in ceph_encode_32()
244 *p += sizeof(u32); in ceph_encode_32()
246 static inline void ceph_encode_16(void **p, u16 v) in ceph_encode_16() argument
248 put_unaligned_le16(v, (__le16 *)*p); in ceph_encode_16()
249 *p += sizeof(u16); in ceph_encode_16()
251 static inline void ceph_encode_8(void **p, u8 v) in ceph_encode_8() argument
253 *(u8 *)*p = v; in ceph_encode_8()
254 (*p)++; in ceph_encode_8()
256 static inline void ceph_encode_copy(void **p, const void *s, int len) in ceph_encode_copy() argument
258 memcpy(*p, s, len); in ceph_encode_copy()
259 *p += len; in ceph_encode_copy()
265 static inline void ceph_encode_filepath(void **p, void *end, in ceph_encode_filepath() argument
269 BUG_ON(*p + 1 + sizeof(ino) + sizeof(len) + len > end); in ceph_encode_filepath()
270 ceph_encode_8(p, 1); in ceph_encode_filepath()
271 ceph_encode_64(p, ino); in ceph_encode_filepath()
272 ceph_encode_32(p, len); in ceph_encode_filepath()
274 memcpy(*p, path, len); in ceph_encode_filepath()
275 *p += len; in ceph_encode_filepath()
278 static inline void ceph_encode_string(void **p, void *end, in ceph_encode_string() argument
281 BUG_ON(*p + sizeof(len) + len > end); in ceph_encode_string()
282 ceph_encode_32(p, len); in ceph_encode_string()
284 memcpy(*p, s, len); in ceph_encode_string()
285 *p += len; in ceph_encode_string()
301 static inline void ceph_start_encoding(void **p, u8 struct_v, u8 struct_compat, in ceph_start_encoding() argument
304 ceph_encode_8(p, struct_v); in ceph_start_encoding()
305 ceph_encode_8(p, struct_compat); in ceph_start_encoding()
306 ceph_encode_32(p, struct_len); in ceph_start_encoding()
319 static inline int ceph_start_decoding(void **p, void *end, u8 v, in ceph_start_decoding() argument
325 ceph_decode_need(p, end, CEPH_ENCODING_START_BLK_LEN, bad); in ceph_start_decoding()
326 *struct_v = ceph_decode_8(p); in ceph_start_decoding()
327 struct_compat = ceph_decode_8(p); in ceph_start_decoding()
334 *struct_len = ceph_decode_32(p); in ceph_start_decoding()
335 ceph_decode_need(p, end, *struct_len, bad); in ceph_start_decoding()
342 #define ceph_encode_need(p, end, n, bad) \ argument
344 if (!likely(ceph_has_room(p, end, n))) \
348 #define ceph_encode_64_safe(p, end, v, bad) \ argument
350 ceph_encode_need(p, end, sizeof(u64), bad); \
351 ceph_encode_64(p, v); \
353 #define ceph_encode_32_safe(p, end, v, bad) \ argument
355 ceph_encode_need(p, end, sizeof(u32), bad); \
356 ceph_encode_32(p, v); \
358 #define ceph_encode_16_safe(p, end, v, bad) \ argument
360 ceph_encode_need(p, end, sizeof(u16), bad); \
361 ceph_encode_16(p, v); \
363 #define ceph_encode_8_safe(p, end, v, bad) \ argument
365 ceph_encode_need(p, end, sizeof(u8), bad); \
366 ceph_encode_8(p, v); \
369 #define ceph_encode_copy_safe(p, end, pv, n, bad) \ argument
371 ceph_encode_need(p, end, n, bad); \
372 ceph_encode_copy(p, pv, n); \
374 #define ceph_encode_string_safe(p, end, s, n, bad) \ argument
376 ceph_encode_need(p, end, n, bad); \
377 ceph_encode_string(p, end, s, n); \