We need an esalt to hold the unused IV otherwise the unique salt count becomes incorr...
[hashcat.git] / include / types.h
index 55873eb..a4fdbf8 100644 (file)
@@ -31,6 +31,12 @@ typedef struct
 
 } salt_t;
 
+typedef struct
+{
+  uint iv[4];
+
+} rar5_t;
+
 typedef struct
 {
   int   V;
@@ -669,9 +675,9 @@ typedef struct
 
 typedef struct
 {
-  uint cmds[15];
+  uint cmds[0x100];
 
-} gpu_rule_t;
+} kernel_rule_t;
 
 typedef struct
 {
@@ -803,7 +809,7 @@ typedef struct
 
 } wordr_t;
 
-#define RULES_MAX   16
+#define RULES_MAX   256
 #define PW_MIN      0
 #define PW_MAX      54
 #define PW_MAX1     (PW_MAX + 1)
@@ -818,15 +824,16 @@ struct __hc_device_param
   uint              sm_minor;
   uint              kernel_exec_timeout;
 
-  uint              gpu_processors;
-  uint              gpu_processor_cores;
-  uint              gpu_threads;
-  uint              gpu_accel;
-  uint64_t          gpu_maxmem_alloc;
-  uint              gpu_power;          // these both are based on their _user counterpart
-  uint              gpu_blocks;         // but are modified by autotuner and used inside crack loops
-  uint              gpu_power_user;
-  uint              gpu_blocks_user;
+  uint              device_processors;
+  uint              device_processor_cores;
+  uint64_t          device_maxmem_alloc;
+
+  uint              kernel_threads;
+  uint              kernel_accel;
+  uint              kernel_power;          // these both are based on their _user counterpart
+  uint              kernel_blocks;         // but are modified by autotuner and used inside crack loops
+  uint              kernel_power_user;
+  uint              kernel_blocks_user;
 
   uint              size_pws;
   uint              size_tmps;
@@ -875,10 +882,12 @@ struct __hc_device_param
   // device specific attributes starting
 
   char             *device_name;
+  char             *device_name_chksum;
   char             *device_version;
   char             *driver_version;
 
   cl_device_id      device;
+  cl_device_type    device_type;
 
   cl_kernel         kernel1;
   cl_kernel         kernel12;
@@ -987,7 +996,7 @@ typedef struct
   uint                devices_cnt;
   hc_device_param_t  *devices_param;
 
-  uint                gpu_blocks_all;
+  uint                kernel_blocks_all;
 
   /**
    * attack specific
@@ -1001,8 +1010,8 @@ typedef struct
   uint                attack_kern;
   uint                attack_exec;
 
-  uint                gpu_rules_cnt;
-  gpu_rule_t         *gpu_rules_buf;
+  uint                kernel_rules_cnt;
+  kernel_rule_t         *kernel_rules_buf;
 
   uint                combs_mode;
   uint                combs_cnt;
@@ -1081,6 +1090,7 @@ typedef struct
   char   *install_dir;
   char   *profile_dir;
   char   *session_dir;
+  char   *shared_dir;
   char   *outfile;
   uint    outfile_format;
   uint    outfile_autohex;
@@ -1110,9 +1120,9 @@ typedef struct
   uint    hex_wordlist;
   uint    pw_min;
   uint    pw_max;
-  float   gpu_blocks_div;
-  uint    gpu_accel;
-  uint    gpu_loops;
+  float   kernel_blocks_div;
+  uint    kernel_accel;
+  uint    kernel_loops;
   uint    powertune_enable;
   uint    scrypt_tmto;
   uint    segment_size;