uint salt_buf[16];
uint data_buf[112];
uint keyfile_buf[16];
+ uint signature;
} tc_t;
} pstoken_t;
+typedef struct
+{
+ u32 type;
+ u32 mode;
+ u32 magic;
+ u32 salt_len;
+ u32 salt_buf[4];
+ u32 verify_bytes;
+ u32 compress_length;
+ u32 data_len;
+ u32 data_buf[2048];
+ u32 auth_len;
+ u32 auth_buf[4];
+
+} zip2_t;
+
typedef struct
{
uint P[256];
typedef struct
{
+ uint salt_pos;
+ uint digest_pos;
+ uint hash_pos;
uint gidvid;
uint il_pos;
u64 words_off;
u64 words_done;
- uint *result;
-
uint outerloop_pos;
uint outerloop_left;
// device specific attributes starting
char *device_name;
+ char *device_vendor;
char *device_name_chksum;
char *device_version;
char *driver_version;
bool opencl_v12;
- cl_uint vendor_id;
+ cl_uint device_vendor_id;
+ cl_uint platform_vendor_id;
cl_kernel kernel1;
cl_kernel kernel12;
cl_kernel kernel_amp;
cl_kernel kernel_tm;
cl_kernel kernel_weak;
+ cl_kernel kernel_memset;
cl_context context;
cl_program program;
cl_program program_mp;
cl_program program_amp;
- cl_program program_weak;
cl_command_queue command_queue;
void *kernel_params_mp_l[PARAMCNT];
void *kernel_params_amp[PARAMCNT];
void *kernel_params_tm[PARAMCNT];
+ void *kernel_params_memset[PARAMCNT];
u32 kernel_params_buf32[PARAMCNT];
u64 kernel_params_mp_l_buf64[PARAMCNT];
u32 kernel_params_amp_buf32[PARAMCNT];
+ u32 kernel_params_memset_buf32[PARAMCNT];
};
typedef struct __hc_device_param hc_device_param_t;
uint restore_disable;
uint status;
uint status_timer;
- uint status_automat;
+ uint status_machine_readable;
uint quiet;
uint force;
uint benchmark;
uint scrypt_tmto;
uint segment_size;
char *truecrypt_keyfiles;
+ char *veracrypt_keyfiles;
+ uint veracrypt_pim;
uint workload_profile;
uint hash_mode;