/*
 * THIS FILE IS AUTOMATICALLY GENERATED BY /pbulk/work/net/nasd/work/nasd-1.3/rpcgen/nasd_rpcgen
 * DO NOT MODIFY BY HAND
 *
 * Generated: Sat Jan  3 11:58:55 2026
 * Source: nasd_drive_types.rpc
 * Annotation: off
 * Min alignment: 1
 * Pad to: 8
 * Standard prefix: not specified
 */

#ifndef __nasd_drive_types_H_
#define __nasd_drive_types_H_

#include <nasd/nasd_rpcgen_c.h>

#include <nasd/nasd_types.h>
struct nasd_p_getattr_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_p_getattr_dr_args_s nasd_p_getattr_dr_args_t;
#define NASD_P_GETATTR_DR_ARGS_MAX 16
typedef nasd_otw_base_t nasd_p_getattr_dr_args_otw_t[2];
struct nasd_p_getattr_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
  nasd_attribute_t out_attribute;
};
typedef struct nasd_p_getattr_dr_res_s nasd_p_getattr_dr_res_t;
#define NASD_P_GETATTR_DR_RES_MAX 344
typedef nasd_otw_base_t nasd_p_getattr_dr_res_otw_t[43];
struct nasd_p_setattr_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_attribute_t in_attribute;
  nasd_fieldmask_t in_fieldmask;
  nasd_partnum_t in_partnum;
  nasd_guard_t in_guard;
  nasd_rpcgen_int8 pad001[1];
};
typedef struct nasd_p_setattr_dr_args_s nasd_p_setattr_dr_args_t;
#define NASD_P_SETATTR_DR_ARGS_MAX 352
typedef nasd_otw_base_t nasd_p_setattr_dr_args_otw_t[44];
struct nasd_p_setattr_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
  nasd_attribute_t out_attribute;
};
typedef struct nasd_p_setattr_dr_res_s nasd_p_setattr_dr_res_t;
#define NASD_P_SETATTR_DR_RES_MAX 344
typedef nasd_otw_base_t nasd_p_setattr_dr_res_otw_t[43];
struct nasd_p_create_dr_args_s {
  nasd_attribute_t in_attribute;
  nasd_fieldmask_t in_fieldmask;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[2];
};
typedef struct nasd_p_create_dr_args_s nasd_p_create_dr_args_t;
#define NASD_P_CREATE_DR_ARGS_MAX 344
typedef nasd_otw_base_t nasd_p_create_dr_args_otw_t[43];
struct nasd_p_create_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
  nasd_identifier_t out_identifier;
  nasd_attribute_t out_attribute;
};
typedef struct nasd_p_create_dr_res_s nasd_p_create_dr_res_t;
#define NASD_P_CREATE_DR_RES_MAX 352
typedef nasd_otw_base_t nasd_p_create_dr_res_otw_t[44];
struct nasd_p_fastread_dr_res_s {
  nasd_status_t nasd_status;
  nasd_len_t out_datalen;
};
typedef struct nasd_p_fastread_dr_res_s nasd_p_fastread_dr_res_t;
#define NASD_P_FASTREAD_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_fastread_dr_res_otw_t[1];
struct nasd_p_fastwrite_dr_res_s {
  nasd_len_t out_datalen;
  nasd_status_t nasd_status;
};
typedef struct nasd_p_fastwrite_dr_res_s nasd_p_fastwrite_dr_res_t;
#define NASD_P_FASTWRITE_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_fastwrite_dr_res_otw_t[1];
struct nasd_p_part_creat_dr_args_s {
  nasd_partnum_t in_partnum;
  nasd_uint16 in_min_protection;
  nasd_key_t in_partition_key;
  nasd_key_t in_black_key;
  nasd_key_t in_red_key;
  nasd_rpcgen_int8 pad001[4];
  nasd_uint64 in_blkcnt;
};
typedef struct nasd_p_part_creat_dr_args_s nasd_p_part_creat_dr_args_t;
#define NASD_P_PART_CREAT_DR_ARGS_MAX 64
typedef nasd_otw_base_t nasd_p_part_creat_dr_args_otw_t[8];
struct nasd_p_part_creat_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_part_creat_dr_res_s nasd_p_part_creat_dr_res_t;
#define NASD_P_PART_CREAT_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_part_creat_dr_res_otw_t[1];
struct nasd_p_smpl_op_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_offset_t in_offset;
  nasd_len_t in_len;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[2];
};
typedef struct nasd_p_smpl_op_dr_args_s nasd_p_smpl_op_dr_args_t;
#define NASD_P_SMPL_OP_DR_ARGS_MAX 24
typedef nasd_otw_base_t nasd_p_smpl_op_dr_args_otw_t[3];
struct nasd_p_thrtl_op_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_offset_t in_offset;
  nasd_uint64 in_bms_targ;
  nasd_len_t in_len;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[2];
};
typedef struct nasd_p_thrtl_op_dr_args_s nasd_p_thrtl_op_dr_args_t;
#define NASD_P_THRTL_OP_DR_ARGS_MAX 32
typedef nasd_otw_base_t nasd_p_thrtl_op_dr_args_otw_t[4];
struct nasd_p_flush_obj_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_p_flush_obj_dr_args_s nasd_p_flush_obj_dr_args_t;
#define NASD_P_FLUSH_OBJ_DR_ARGS_MAX 16
typedef nasd_otw_base_t nasd_p_flush_obj_dr_args_otw_t[2];
struct nasd_p_flush_obj_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_flush_obj_dr_res_s nasd_p_flush_obj_dr_res_t;
#define NASD_P_FLUSH_OBJ_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_flush_obj_dr_res_otw_t[1];
struct nasd_p_remove_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_p_remove_dr_args_s nasd_p_remove_dr_args_t;
#define NASD_P_REMOVE_DR_ARGS_MAX 16
typedef nasd_otw_base_t nasd_p_remove_dr_args_otw_t[2];
struct nasd_p_remove_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_remove_dr_res_s nasd_p_remove_dr_res_t;
#define NASD_P_REMOVE_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_remove_dr_res_otw_t[1];
struct nasd_p_initialize_dr_args_s {
  nasd_key_t in_master_key;
  nasd_key_t in_drive_key;
};
typedef struct nasd_p_initialize_dr_args_s nasd_p_initialize_dr_args_t;
#define NASD_P_INITIALIZE_DR_ARGS_MAX 32
typedef nasd_otw_base_t nasd_p_initialize_dr_args_otw_t[4];
struct nasd_p_initialize_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_initialize_dr_res_s nasd_p_initialize_dr_res_t;
#define NASD_P_INITIALIZE_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_initialize_dr_res_otw_t[1];
struct nasd_p_change_key_dr_args_s {
  nasd_key_t in_new_key;
  nasd_partnum_t in_partnum;
  nasd_uint16 in_type;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_change_key_dr_args_s nasd_p_change_key_dr_args_t;
#define NASD_P_CHANGE_KEY_DR_ARGS_MAX 24
typedef nasd_otw_base_t nasd_p_change_key_dr_args_otw_t[3];
struct nasd_p_change_key_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_change_key_dr_res_s nasd_p_change_key_dr_res_t;
#define NASD_P_CHANGE_KEY_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_change_key_dr_res_otw_t[1];
struct nasd_p_eject_obj_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_p_eject_obj_dr_args_s nasd_p_eject_obj_dr_args_t;
#define NASD_P_EJECT_OBJ_DR_ARGS_MAX 16
typedef nasd_otw_base_t nasd_p_eject_obj_dr_args_otw_t[2];
struct nasd_p_eject_obj_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_eject_obj_dr_res_s nasd_p_eject_obj_dr_res_t;
#define NASD_P_EJECT_OBJ_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_eject_obj_dr_res_otw_t[1];
struct nasd_p_strt_iread_dr_args_s {
  nasd_identifier_t in_index_identifier;
  nasd_identifier_t in_data_identifier;
  nasd_timespec_t in_earliest_start;
  nasd_timespec_t in_latest_start;
  nasd_client_addr_t in_client_addr;
  nasd_int32 in_interval;
  nasd_int32 in_offset;
  nasd_int32 in_flownum;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[2];
};
typedef struct nasd_p_strt_iread_dr_args_s nasd_p_strt_iread_dr_args_t;
#define NASD_P_STRT_IREAD_DR_ARGS_MAX 56
typedef nasd_otw_base_t nasd_p_strt_iread_dr_args_otw_t[7];
struct nasd_p_strt_iread_dr_res_s {
  nasd_status_t nasd_status;
  nasd_index_stream_identifier_t out_stream_id;
  nasd_timespec_t out_start_time;
};
typedef struct nasd_p_strt_iread_dr_res_s nasd_p_strt_iread_dr_res_t;
#define NASD_P_STRT_IREAD_DR_RES_MAX 16
typedef nasd_otw_base_t nasd_p_strt_iread_dr_res_otw_t[2];
struct nasd_p_stop_iread_dr_args_s {
  nasd_index_stream_identifier_t in_stream_id;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_stop_iread_dr_args_s nasd_p_stop_iread_dr_args_t;
#define NASD_P_STOP_IREAD_DR_ARGS_MAX 8
typedef nasd_otw_base_t nasd_p_stop_iread_dr_args_otw_t[1];
struct nasd_p_stop_iread_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_stop_iread_dr_res_s nasd_p_stop_iread_dr_res_t;
#define NASD_P_STOP_IREAD_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_stop_iread_dr_res_otw_t[1];
struct nasd_p_rshutdown_dr_args_s {
  nasd_drive_rshutdown_flags_t in_flags;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_rshutdown_dr_args_s nasd_p_rshutdown_dr_args_t;
#define NASD_P_RSHUTDOWN_DR_ARGS_MAX 8
typedef nasd_otw_base_t nasd_p_rshutdown_dr_args_otw_t[1];
struct nasd_p_rshutdown_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_rshutdown_dr_res_s nasd_p_rshutdown_dr_res_t;
#define NASD_P_RSHUTDOWN_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_rshutdown_dr_res_otw_t[1];
struct nasd_drive_info_s {
  nasd_timespec_t cur_time;
};
typedef struct nasd_drive_info_s nasd_drive_info_t;
typedef nasd_otw_base_t nasd_drive_info_otw_t[1];
struct nasd_p_getinfo_dr_res_s {
  nasd_drive_info_t info;
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_getinfo_dr_res_s nasd_p_getinfo_dr_res_t;
#define NASD_P_GETINFO_DR_RES_MAX 16
typedef nasd_otw_base_t nasd_p_getinfo_dr_res_otw_t[2];
#define NASD_REMOTE_FUNCTION_NAME_SIZE 64
typedef nasd_byte nasd_remote_function_name_t[64];
struct nasd_p_remote_attach_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_remote_function_name_t in_name;
  nasd_rpcgen_int8 pad001[2];
  nasd_len_t in_args_len;
};
typedef struct nasd_p_remote_attach_dr_args_s nasd_p_remote_attach_dr_args_t;
#define NASD_P_REMOTE_ATTACH_DR_ARGS_MAX 80
typedef nasd_otw_base_t nasd_p_remote_attach_dr_args_otw_t[10];
struct nasd_p_remote_attach_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_remote_attach_dr_res_s nasd_p_remote_attach_dr_res_t;
#define NASD_P_REMOTE_ATTACH_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_remote_attach_dr_res_otw_t[1];
struct nasd_p_remote_detach_dr_args_s {
  nasd_identifier_t in_identifier;
  nasd_partnum_t in_partnum;
  nasd_rpcgen_int8 pad001[6];
};
typedef struct nasd_p_remote_detach_dr_args_s nasd_p_remote_detach_dr_args_t;
#define NASD_P_REMOTE_DETACH_DR_ARGS_MAX 16
typedef nasd_otw_base_t nasd_p_remote_detach_dr_args_otw_t[2];
struct nasd_p_remote_detach_dr_res_s {
  nasd_status_t nasd_status;
  nasd_rpcgen_int8 pad001[4];
};
typedef struct nasd_p_remote_detach_dr_res_s nasd_p_remote_detach_dr_res_t;
#define NASD_P_REMOTE_DETACH_DR_RES_MAX 8
typedef nasd_otw_base_t nasd_p_remote_detach_dr_res_otw_t[1];

#endif /* !__nasd_drive_types_H_ */
