Whamcloud - gitweb
LU-12511 utils: Move utilies specific values out of Lustre UAPI headers
[fs/lustre-release.git] / lustre / include / lustre / lustreapi.h
index a9ecd8d..b959bf1 100644 (file)
@@ -54,10 +54,16 @@ extern "C" {
 #define LL_MAXQUOTAS 3
 #endif
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(a) ((sizeof(a)) / (sizeof((a)[0])))
+#ifndef SEL_UNIT_SIZE
+#define SEL_UNIT_SIZE 1024llu
 #endif
 
+#ifndef LOV_PATTERN_DEFAULT
+#define LOV_PATTERN_DEFAULT    0xffffffff
+#endif
+
+typedef struct statx lstatx_t;
+
 #define lustre_fid struct lu_fid
 
 /* Currently external applications can access this but in the
@@ -196,6 +202,7 @@ enum {
        NEWERXY_ATIME = 0,      /* neweraY */
        NEWERXY_MTIME = 1,      /* newermY */
        NEWERXY_CTIME = 2,      /* newercY */
+       NEWERXY_BTIME = 3,      /* newerbY | newerBY */
        NEWERXY_MAX,
 };
 
@@ -208,7 +215,7 @@ struct find_param {
        time_t                   fp_atime;
        time_t                   fp_mtime;
        time_t                   fp_ctime;
-       /* {a,m,c}sign cannot be bitfields due to using pointers to
+       /* {a,m,c,b}sign cannot be bitfields due to using pointers to
         * access them during argument parsing. */
        int                      fp_asign;
        int                      fp_msign;
@@ -291,12 +298,13 @@ struct find_param {
                                 fp_exclude_ext_size:1,
                                 fp_lazy:1,
                                 fp_newerxy:1,
-                                fp_unused_bit2:1, /* All of these unused bit */
-                                fp_unused_bit3:1, /* fields available to use.*/
-                                fp_unused_bit4:1, /* Once all unused fields  */
-                                fp_unused_bit5:1, /* are used we need to add */
-                                fp_unused_bit6:1, /* a separate flag field at*/
-                                fp_unused_bit7:1; /* the end of the struct.  */
+                                fp_exclude_btime:1,
+                                fp_unused_bit3:1, /* All of these unused bit */
+                                fp_unused_bit4:1, /* fields available to use.*/
+                                fp_unused_bit5:1, /* Once all unused fields  */
+                                fp_unused_bit6:1, /* are used we need to add */
+                                fp_unused_bit7:1; /* a separate flag field at*/
+                                                  /* the end of the struct.  */
 
        enum llapi_layout_verbose fp_verbose;
        int                      fp_quiet;
@@ -362,6 +370,9 @@ struct find_param {
         * fp_newery[NEWERXY_MAX][1]: ! -- newerXY reference
         */
        time_t                   fp_newery[NEWERXY_MAX][2];
+
+       time_t                   fp_btime;
+       int                      fp_bsign;
 };
 
 int llapi_ostlist(char *path, struct find_param *param);
@@ -552,6 +563,30 @@ int llapi_hsm_request(const char *path, const struct hsm_user_request *request);
 int llapi_hsm_current_action(const char *path, struct hsm_current_action *hca);
 
 /* JSON handling */
+enum llapi_json_types {
+       LLAPI_JSON_INTEGER = 1,
+       LLAPI_JSON_BIGNUM,
+       LLAPI_JSON_REAL,
+       LLAPI_JSON_STRING
+};
+
+struct llapi_json_item {
+       char                    *lji_key;
+       __u32                   lji_type;
+       union {
+               int             lji_integer;
+               __u64           lji_u64;
+               double          lji_real;
+               char            *lji_string;
+       };
+       struct llapi_json_item  *lji_next;
+};
+
+struct llapi_json_item_list {
+       int                     ljil_item_count;
+       struct llapi_json_item  *ljil_items;
+};
+
 int llapi_json_init_list(struct llapi_json_item_list **item_list);
 int llapi_json_destroy_list(struct llapi_json_item_list **item_list);
 int llapi_json_add_item(struct llapi_json_item_list **item_list, char *key,