/*
 * THIS FILE IS AUTOMATICALLY GENERATED BY /tmp/pkgbuild/net/nasd/work.aarch64eb/nasd-1.3/rpcgen/nasd_rpcgen
 * DO NOT MODIFY BY HAND
 *
 * Generated: Sat Apr 27 05:42:18 2024
 * Source: nasd_cheops_types.rpc
 * Annotation: off
 * Min alignment: 1
 * Pad to: 8
 * Standard prefix: not specified
 */

#ifndef __nasd_cheops_types_H_
#define __nasd_cheops_types_H_

#include <nasd/nasd_rpcgen_c.h>

#include <nasd/nasd_types.h>
#define NASD_MAX_DATA_STRIPE_SIZE 4
#define NASD_CHEOPS_MAX_FNAME_LEN 64
#define NASD_CHEOPS_MAX_STRIPE_SIZE 5
#define NASD_CHEOPS_BLOCK_SIZE 8192
#define RAID0 1
#define NORAID 2
#define RAID1 3
#define RAID5 4
#define LAST_DEFINED_LAYOUT 5
typedef nasd_int32 nasd_cheops_raid_level_t;
typedef nasd_edrfs_identifier_t nasd_identifier_list_t[5];
struct nasd_cheops_bs_handle_s {
  nasd_identifier_t bsid;
  nasd_int32 num_col;
  nasd_int32 num_data_col;
  nasd_int32 stripe_unit_size;
  nasd_cheops_raid_level_t raid_level;
  nasd_edrfs_identifier_t identifier_list[5];
  nasd_cookie_t cookie_list[5];
};
typedef struct nasd_cheops_bs_handle_s nasd_cheops_bs_handle_t;
#define NASD_CHEOPS_DR_NAMELEN 64
#define NASD_CHEOPS_MGR_NAMELEN 64
#define NASD_CHEOPS_PORT_NAMELEN 64
struct nasd_cheops_cl_dinfo_s {
  nasd_disk_ident_t dr_id;
  char dr_name[64];
  char dr_port[64];
  nasd_partnum_t partnum;
  nasd_int32 used_capacity;
  nasd_int32 max_capacity;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_cl_dinfo_s nasd_cheops_cl_dinfo_t;
struct nasd_cheops_mgr_info_s {
  char mgr_name[64];
  char mgr_port[64];
};
typedef struct nasd_cheops_mgr_info_s nasd_cheops_mgr_info_t;
typedef nasd_int32 nasd_cheops_reli_class_t;
typedef nasd_int32 nasd_cheops_ac_pattern_class_t;
typedef nasd_int32 nasd_cheops_wratio_class_t;
#define NASD_CHEOPS_QOS_LOW_RELI 1
#define NASD_CHEOPS_QOS_MOD_RELI 2
#define NASD_CHEOPS_QOS_HIGH_RELI 3
#define NASD_CHEOPS_QOS_ONE_SMALL_IO 1
#define NASD_CHEOPS_QOS_MANY_SMALL_IOS 2
#define NASD_CHEOPS_QOS_ONE_LARGE_IO 3
#define NASD_CHEOPS_QOS_MANY_LARGE_IOS 4
#define NASD_CHEOPS_QOS_MOSTLY_READ 1
#define NASD_CHEOPS_QOS_MOSTLY_WRITE 2
#define NASD_CHEOPS_QOS_READWRITE 3
struct nasd_cheops_bs_layout_s {
  nasd_cheops_raid_level_t raid_level;
  nasd_int32 num_col;
  nasd_int32 num_data_col;
  nasd_int32 stripe_unit_size;
};
typedef struct nasd_cheops_bs_layout_s nasd_cheops_bs_layout_t;
struct nasd_cheops_qos_req_s {
  nasd_int32 typ_access_size;
  nasd_int32 min_su_size;
  nasd_int32 access_pattern;
  nasd_int32 parallelism;
  nasd_int32 latency;
  nasd_int32 priority;
  nasd_cheops_reli_class_t reli_class;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_qos_req_s nasd_cheops_qos_req_t;
typedef nasd_int32 nasd_opp_status_t;
#define NASD_OPP_OK 0
#define NASD_OPP_REJECTED_TOO_OLD 1
#define NASD_OPP_REJECTED_TOO_NEW 2
#define NASD_OPP_REJECTED_NO_MATCH 3
#define NASD_OPP_DONTCARE 5551212
struct nasd_timestamp_s {
  nasd_int32 tv_sec;
  nasd_int32 tv_usec;
  nasd_int32 client_id;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_timestamp_s nasd_timestamp_t;
struct nasd_timestamp_vector_s {
  nasd_timestamp_t ts[4];
};
typedef struct nasd_timestamp_vector_s nasd_timestamp_vector_t;
struct nasd_host_tag_s {
  nasd_timestamp_t timestamp;
  nasd_int32 start_block;
  nasd_int32 len;
};
typedef struct nasd_host_tag_s nasd_host_tag_t;
typedef nasd_host_tag_t nasd_data_block_tag_t;
struct nasd_parity_block_tag_s {
  nasd_data_block_tag_t dtag[4];
};
typedef struct nasd_parity_block_tag_s nasd_parity_block_tag_t;
typedef nasd_parity_block_tag_t nasd_stripe_vector_t;
struct nasd_write_status_s {
  nasd_data_block_tag_t old_tag;
  nasd_opp_status_t status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_write_status_s nasd_write_status_t;
struct nasd_cheops_bs_lu_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
};
typedef struct nasd_cheops_bs_lu_args_s nasd_cheops_bs_lu_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_lu_args_otw_t[9];
struct nasd_cheops_bs_lu_res_s {
  nasd_cheops_bs_handle_t out_bs_handle;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_bs_lu_res_s nasd_cheops_bs_lu_res_t;
typedef nasd_otw_base_t nasd_cheops_bs_lu_res_otw_t[54];
struct nasd_cheops_mgr_lu_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
};
typedef struct nasd_cheops_mgr_lu_args_s nasd_cheops_mgr_lu_args_t;
typedef nasd_otw_base_t nasd_cheops_mgr_lu_args_otw_t[9];
struct nasd_cheops_mgr_lu_res_s {
  nasd_cheops_mgr_info_t out_mgr_info;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_mgr_lu_res_s nasd_cheops_mgr_lu_res_t;
typedef nasd_otw_base_t nasd_cheops_mgr_lu_res_otw_t[17];
struct nasd_cheops_dr_lu_args_s {
  nasd_cookie_t in_cookie;
  nasd_disk_ident_t in_drive_id;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_cheops_dr_lu_args_s nasd_cheops_dr_lu_args_t;
typedef nasd_otw_base_t nasd_cheops_dr_lu_args_otw_t[9];
struct nasd_cheops_dr_lu_res_s {
  nasd_cheops_cl_dinfo_t out_dr_info;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_dr_lu_res_s nasd_cheops_dr_lu_res_t;
typedef nasd_otw_base_t nasd_cheops_dr_lu_res_otw_t[19];
struct nasd_cheops_bs_re_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
};
typedef struct nasd_cheops_bs_re_args_s nasd_cheops_bs_re_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_re_args_otw_t[9];
struct nasd_cheops_bs_re_res_s {
  nasd_cheops_bs_handle_t out_bs_handle;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_bs_re_res_s nasd_cheops_bs_re_res_t;
typedef nasd_otw_base_t nasd_cheops_bs_re_res_otw_t[54];
struct nasd_cheops_bs_qc_args_s {
  nasd_cookie_t in_cookie;
  nasd_cheops_qos_req_t in_qos_req;
};
typedef struct nasd_cheops_bs_qc_args_s nasd_cheops_bs_qc_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_qc_args_otw_t[12];
struct nasd_cheops_bs_qc_res_s {
  nasd_cheops_bs_handle_t out_bs_handle;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_bs_qc_res_s nasd_cheops_bs_qc_res_t;
typedef nasd_otw_base_t nasd_cheops_bs_qc_res_otw_t[54];
struct nasd_cheops_bs_cr_args_s {
  nasd_cookie_t in_cookie;
};
typedef struct nasd_cheops_bs_cr_args_s nasd_cheops_bs_cr_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_cr_args_otw_t[8];
struct nasd_cheops_bs_cr_res_s {
  nasd_cheops_bs_handle_t out_bs_handle;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_bs_cr_res_s nasd_cheops_bs_cr_res_t;
typedef nasd_otw_base_t nasd_cheops_bs_cr_res_otw_t[54];
struct nasd_cheops_bs_rm_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
};
typedef struct nasd_cheops_bs_rm_args_s nasd_cheops_bs_rm_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_rm_args_otw_t[9];
struct nasd_cheops_bs_rm_res_s {
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_cheops_bs_rm_res_s nasd_cheops_bs_rm_res_t;
typedef nasd_otw_base_t nasd_cheops_bs_rm_res_otw_t[1];
struct nasd_cheops_bs_ga_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
};
typedef struct nasd_cheops_bs_ga_args_s nasd_cheops_bs_ga_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_ga_args_otw_t[9];
struct nads_cheops_bs_ga_res_s {
  nasd_attribute_t out_attr;
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nads_cheops_bs_ga_res_s nads_cheops_bs_ga_res_t;
typedef nasd_otw_base_t nads_cheops_bs_ga_res_otw_t[43];
struct nasd_cheops_bs_sa_args_s {
  nasd_cookie_t in_cookie;
  nasd_identifier_t in_bsid;
  nasd_attribute_t in_attr;
};
typedef struct nasd_cheops_bs_sa_args_s nasd_cheops_bs_sa_args_t;
typedef nasd_otw_base_t nasd_cheops_bs_sa_args_otw_t[51];
struct nads_cheops_bs_sa_res_s {
  nasd_status_t out_nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nads_cheops_bs_sa_res_s nads_cheops_bs_sa_res_t;
typedef nasd_otw_base_t nads_cheops_bs_sa_res_otw_t[1];

#endif /* !__nasd_cheops_types_H_ */
