Initial commit
[hashcat.git] / include / types.h
index 34451da..732c3e5 100644 (file)
@@ -127,6 +127,15 @@ typedef struct
 
 } krb5pa_t;
 
+typedef struct
+{
+  uint account_info[512];
+  uint checksum[4];
+  uint edata2[2560];
+  uint edata2_len;
+
+} krb5tgs_t;
+
 typedef struct
 {
   uint salt_buf[16];
@@ -818,6 +827,35 @@ typedef struct
 
 } wordr_t;
 
+typedef struct
+{
+  char *device_name;
+  char *alias_name;
+
+} tuning_db_alias_t;
+
+typedef struct
+{
+  char *device_name;
+  int   attack_mode;
+  int   hash_type;
+  int   workload_profile;
+  int   vector_width;
+  int   kernel_accel;
+  int   kernel_loops;
+
+} tuning_db_entry_t;
+
+typedef struct
+{
+  tuning_db_alias_t *alias_buf;
+  int                alias_cnt;
+
+  tuning_db_entry_t *entry_buf;
+  int                entry_cnt;
+
+} tuning_db_t;
+
 #define RULES_MAX   256
 #define PW_MIN      0
 #define PW_MAX      54
@@ -831,8 +869,6 @@ struct __hc_device_param
   cl_device_id      device;
   cl_device_type    device_type;
 
-  cl_event          event;
-
   uint    device_id;
   uint    platform_devices_id;   // for mapping with hms devices
 
@@ -853,10 +889,12 @@ struct __hc_device_param
   uint    kernel_threads;
   uint    kernel_loops;
   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_loops_min;
+  uint    kernel_loops_max;
+  uint    kernel_accel_min;
+  uint    kernel_accel_max;
+  uint    kernel_power;
   uint    kernel_power_user;
-  uint    kernel_blocks_user;
 
   uint    size_pws;
   uint    size_tmps;
@@ -895,6 +933,9 @@ struct __hc_device_param
   uint    innerloop_pos;
   uint    innerloop_left;
 
+  uint    exec_pos;
+  double  exec_ms[EXEC_CACHE];
+
   uint    speed_pos;
   u64     speed_cnt[SPEED_CACHE];
   float   speed_ms[SPEED_CACHE];
@@ -1028,7 +1069,12 @@ typedef struct
 
   hc_device_param_t *devices_param;
 
-  uint    kernel_blocks_all;
+  /**
+   * workload specific
+   */
+
+  uint    kernel_power_all;
+  float   kernel_power_div;
 
   /**
    * attack specific
@@ -1152,6 +1198,7 @@ typedef struct
   uint    quiet;
   uint    force;
   uint    benchmark;
+  uint    benchmark_repeats;
   uint    runtime;
   uint    remove;
   uint    remove_timer;
@@ -1162,11 +1209,11 @@ typedef struct
   uint    hex_wordlist;
   uint    pw_min;
   uint    pw_max;
-  float   kernel_blocks_div;
   uint    powertune_enable;
   uint    scrypt_tmto;
   uint    segment_size;
   char   *truecrypt_keyfiles;
+  uint    workload_profile;
 
   uint    hash_mode;
   uint    hash_type;