X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Finclude%2Frados%2Fobjclass.h;fp=src%2Fceph%2Fsrc%2Finclude%2Frados%2Fobjclass.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=ea07dfc790aefc9708bced9dd90082ae6ab18067;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/include/rados/objclass.h b/src/ceph/src/include/rados/objclass.h deleted file mode 100644 index ea07dfc..0000000 --- a/src/ceph/src/include/rados/objclass.h +++ /dev/null @@ -1,181 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef CEPH_OBJCLASS_OBJCLASS_PUBLIC_H -#define CEPH_OBJCLASS_OBJCLASS_PUBLIC_H - -#ifdef __cplusplus - -#include "buffer.h" - -extern "C" { -#endif - -#ifndef BUILDING_FOR_EMBEDDED -#define CLS_VER(maj,min) \ -int __cls_ver__## maj ## _ ##min = 0; \ -int __cls_ver_maj = maj; \ -int __cls_ver_min = min; - -#define CLS_NAME(name) \ -int __cls_name__## name = 0; \ -const char *__cls_name = #name; -#define CLS_INIT(name) \ -void CEPH_CLS_API __cls_init() -#else -#define CLS_VER(maj,min) -#define CLS_NAME(name) -#define CLS_INIT(name) \ -void CEPH_CLS_API name##_cls_init() -#endif - -#define CLS_METHOD_RD 0x1 /// method executes read operations -#define CLS_METHOD_WR 0x2 /// method executes write operations -#define CLS_METHOD_PROMOTE 0x8 /// method cannot be proxied to base tier - -#define CLS_LOG(level, fmt, ...) \ - cls_log(level, " %s:%d: " fmt, __FILE__, __LINE__, ##__VA_ARGS__) -#define CLS_ERR(fmt, ...) CLS_LOG(0, fmt, ##__VA_ARGS__) - -/** - * Initialize a class. - */ -void __cls_init(); - -/** - * @typdef cls_handle_t - * - * A handle for interacting with the object class. - */ -typedef void *cls_handle_t; - -/** - * @typedef cls_method_handle_t - * - * A handle for interacting with the method of the object class. - */ -typedef void *cls_method_handle_t; - -/** - * @typedef cls_method_context_t - * - * A context for the method of the object class. - */ -typedef void* cls_method_context_t; - -/*class utils*/ -extern int cls_log(int level, const char *format, ...) - __attribute__((__format__(printf, 2, 3))); - -/* class registration api */ -extern int cls_register(const char *name, cls_handle_t *handle); - -#ifdef __cplusplus -} - -/** - * @typedef cls_method_cxx_call_t - * - */ -typedef int (*cls_method_cxx_call_t)(cls_method_context_t ctx, - class ceph::buffer::list *inbl, class ceph::buffer::list *outbl); - -/** - * Register a method. - * - * @param hclass - * @param method - * @param flags - * @param class_call - * @param handle - */ -extern int cls_register_cxx_method(cls_handle_t hclass, const char *method, int flags, - cls_method_cxx_call_t class_call, cls_method_handle_t *handle); - -/** - * Create an object. - * - * @param hctx - * @param exclusive - */ -extern int cls_cxx_create(cls_method_context_t hctx, bool exclusive); - -/** - * Remove an object. - * - * @param hctx - */ -extern int cls_cxx_remove(cls_method_context_t hctx); - -/** - * Check on the status of an object. - * - * @param hctx - * @param size - * @param mtime - */ -extern int cls_cxx_stat(cls_method_context_t hctx, uint64_t *size, time_t *mtime); - -/** - * Read contents of an object. - * - * @param hctx - * @param ofs - * @param len - * @param bl - */ -extern int cls_cxx_read(cls_method_context_t hctx, int ofs, int len, ceph::bufferlist *bl); - -/** - * Write to the object. - * - * @param hctx - * @param ofs - * @param len - * @param bl - */ -extern int cls_cxx_write(cls_method_context_t hctx, int ofs, int len, ceph::bufferlist *bl); - -/** - * Get xattr of the object. - * - * @param hctx - * @param name - * @param outbl - */ -extern int cls_cxx_getxattr(cls_method_context_t hctx, const char *name, - ceph::bufferlist *outbl); - -/** - * Set xattr of the object. - * - * @param hctx - * @param name - * @param inbl - */ -extern int cls_cxx_setxattr(cls_method_context_t hctx, const char *name, - ceph::bufferlist *inbl); - -/** - * Get value corresponding to a key from the map. - * - * @param hctx - * @param key - * @param outbl - */ -extern int cls_cxx_map_get_val(cls_method_context_t hctx, - const std::string &key, ceph::bufferlist *outbl); - -/** - * Set value corresponding to a key in the map. - * - * @param hctx - * @param key - * @param inbl - */ -extern int cls_cxx_map_set_val(cls_method_context_t hctx, - const std::string &key, ceph::bufferlist *inbl); - -#endif - -#endif