Added new concept of a tuning database; tryout phase
[hashcat.git] / include / shared.h
index 9895f01..41d388d 100644 (file)
@@ -153,6 +153,11 @@ static inline int  CPU_ISSET (int num, cpu_set_t *cs) { return (cs->count & (1 <
 #define SP_ROOT_CNT           (SP_PW_MAX * CHARSIZ)
 #define SP_MARKOV_CNT         (SP_PW_MAX * CHARSIZ * CHARSIZ)
 
+#define TUNING_DB_FILE                  "hashcat_tuning.hctab"
+#define TUNING_DB_DEFAULT_VECTOR_WIDTH  1
+#define TUNING_DB_DEFAULT_KERNEL_ACCEL  1
+#define TUNING_DB_DEFAULT_KERNEL_LOOPS  1
+
 #define INDUCT_DIR            "induct"
 #define OUTFILES_DIR          "outfiles"
 
@@ -213,525 +218,6 @@ extern hc_thread_mutex_t mux_display;
 #define PW_LENGTH_MIN_7400   0
 #define PW_LENGTH_MAX_7400   15
 
-/**
- * device accel macro
- */
-
-#define KERNEL_ACCEL_OSX_1800    1
-#define KERNEL_ACCEL_OSX_2500    2
-#define KERNEL_ACCEL_OSX_5000    8
-#define KERNEL_ACCEL_OSX_6100    1
-#define KERNEL_ACCEL_OSX_6211    2
-#define KERNEL_ACCEL_OSX_6231    1
-#define KERNEL_ACCEL_OSX_6241    4
-#define KERNEL_ACCEL_OSX_6800    2
-#define KERNEL_ACCEL_OSX_7100    1
-#define KERNEL_ACCEL_OSX_7200    1
-#define KERNEL_ACCEL_OSX_7900    1
-#define KERNEL_ACCEL_OSX_8200    1
-#define KERNEL_ACCEL_OSX_8700    2
-#define KERNEL_ACCEL_OSX_9100    4
-#define KERNEL_ACCEL_OSX_9200    1
-#define KERNEL_ACCEL_OSX_9300    1
-#define KERNEL_ACCEL_OSX_9400    1
-#define KERNEL_ACCEL_OSX_9500    1
-#define KERNEL_ACCEL_OSX_9600    1
-#define KERNEL_ACCEL_OSX_10000   1
-#define KERNEL_ACCEL_OSX_10500   4
-#define KERNEL_ACCEL_OSX_11300   1
-#define KERNEL_ACCEL_OSX_11600   1
-#define KERNEL_ACCEL_OSX_11700   1
-#define KERNEL_ACCEL_OSX_11800   1
-#define KERNEL_ACCEL_OSX_12200   1
-#define KERNEL_ACCEL_OSX_12400   1
-#define KERNEL_ACCEL_OSX_12500   1
-#define KERNEL_ACCEL_OSX_13000   1
-
-#define KERNEL_ACCEL_0       128
-#define KERNEL_ACCEL_10      128
-#define KERNEL_ACCEL_11      128
-#define KERNEL_ACCEL_12      128
-#define KERNEL_ACCEL_20      64
-#define KERNEL_ACCEL_21      64
-#define KERNEL_ACCEL_22      64
-#define KERNEL_ACCEL_23      64
-#define KERNEL_ACCEL_30      128
-#define KERNEL_ACCEL_40      64
-#define KERNEL_ACCEL_50      64
-#define KERNEL_ACCEL_60      64
-#define KERNEL_ACCEL_100     64
-#define KERNEL_ACCEL_101     64
-#define KERNEL_ACCEL_110     64
-#define KERNEL_ACCEL_111     64
-#define KERNEL_ACCEL_112     64
-#define KERNEL_ACCEL_120     64
-#define KERNEL_ACCEL_121     64
-#define KERNEL_ACCEL_122     64
-#define KERNEL_ACCEL_124     64
-#define KERNEL_ACCEL_130     64
-#define KERNEL_ACCEL_131     64
-#define KERNEL_ACCEL_132     64
-#define KERNEL_ACCEL_133     64
-#define KERNEL_ACCEL_140     64
-#define KERNEL_ACCEL_141     64
-#define KERNEL_ACCEL_150     64
-#define KERNEL_ACCEL_160     64
-#define KERNEL_ACCEL_190     64
-#define KERNEL_ACCEL_200     64
-#define KERNEL_ACCEL_300     64
-#define KERNEL_ACCEL_400     8
-#define KERNEL_ACCEL_500     8
-#define KERNEL_ACCEL_501     8
-#define KERNEL_ACCEL_900     128
-#define KERNEL_ACCEL_910     128
-#define KERNEL_ACCEL_1000    128
-#define KERNEL_ACCEL_1100    64
-#define KERNEL_ACCEL_1400    64
-#define KERNEL_ACCEL_1410    64
-#define KERNEL_ACCEL_1420    64
-#define KERNEL_ACCEL_1421    64
-#define KERNEL_ACCEL_1430    64
-#define KERNEL_ACCEL_1440    64
-#define KERNEL_ACCEL_1441    64
-#define KERNEL_ACCEL_1450    32
-#define KERNEL_ACCEL_1460    32
-#define KERNEL_ACCEL_1500    16
-#define KERNEL_ACCEL_1600    8
-#define KERNEL_ACCEL_1700    64
-#define KERNEL_ACCEL_1710    64
-#define KERNEL_ACCEL_1711    64
-#define KERNEL_ACCEL_1720    64
-#define KERNEL_ACCEL_1722    64
-#define KERNEL_ACCEL_1730    64
-#define KERNEL_ACCEL_1731    64
-#define KERNEL_ACCEL_1740    64
-#define KERNEL_ACCEL_1750    32
-#define KERNEL_ACCEL_1760    32
-#define KERNEL_ACCEL_1800    2
-#define KERNEL_ACCEL_2100    8
-#define KERNEL_ACCEL_2400    64
-#define KERNEL_ACCEL_2500    8
-#define KERNEL_ACCEL_2410    64
-#define KERNEL_ACCEL_2600    64
-#define KERNEL_ACCEL_2611    64
-#define KERNEL_ACCEL_2612    64
-#define KERNEL_ACCEL_2711    64
-#define KERNEL_ACCEL_2811    64
-#define KERNEL_ACCEL_3000    128
-#define KERNEL_ACCEL_3100    16
-#define KERNEL_ACCEL_3200    2
-#define KERNEL_ACCEL_3710    64
-#define KERNEL_ACCEL_3711    64
-#define KERNEL_ACCEL_3800    128
-#define KERNEL_ACCEL_4300    64
-#define KERNEL_ACCEL_4400    64
-#define KERNEL_ACCEL_4500    64
-#define KERNEL_ACCEL_4700    64
-#define KERNEL_ACCEL_4800    128
-#define KERNEL_ACCEL_4900    64
-#define KERNEL_ACCEL_5000    64
-#define KERNEL_ACCEL_5100    64
-#define KERNEL_ACCEL_5200    8
-#define KERNEL_ACCEL_5300    32
-#define KERNEL_ACCEL_5400    32
-#define KERNEL_ACCEL_5500    64
-#define KERNEL_ACCEL_5600    64
-#define KERNEL_ACCEL_5700    64
-#define KERNEL_ACCEL_5800    8
-#define KERNEL_ACCEL_6000    64
-#define KERNEL_ACCEL_6100    8
-#define KERNEL_ACCEL_6211    16
-#define KERNEL_ACCEL_6212    8
-#define KERNEL_ACCEL_6213    8
-#define KERNEL_ACCEL_6221    4
-#define KERNEL_ACCEL_6222    4
-#define KERNEL_ACCEL_6223    4
-#define KERNEL_ACCEL_6231    4
-#define KERNEL_ACCEL_6232    4
-#define KERNEL_ACCEL_6233    4
-#define KERNEL_ACCEL_6241    32
-#define KERNEL_ACCEL_6242    16
-#define KERNEL_ACCEL_6243    16
-#define KERNEL_ACCEL_6300    8
-#define KERNEL_ACCEL_6400    8
-#define KERNEL_ACCEL_6500    8
-#define KERNEL_ACCEL_6600    8
-#define KERNEL_ACCEL_6700    8
-#define KERNEL_ACCEL_6800    8
-#define KERNEL_ACCEL_6900    16
-#define KERNEL_ACCEL_7100    2
-#define KERNEL_ACCEL_7200    2
-#define KERNEL_ACCEL_7300    64
-#define KERNEL_ACCEL_7400    2
-#define KERNEL_ACCEL_7500    8
-#define KERNEL_ACCEL_7600    64
-#define KERNEL_ACCEL_7700    16
-#define KERNEL_ACCEL_7800    8
-#define KERNEL_ACCEL_7900    2
-#define KERNEL_ACCEL_8000    8
-#define KERNEL_ACCEL_8100    64
-#define KERNEL_ACCEL_8200    2
-#define KERNEL_ACCEL_8300    64
-#define KERNEL_ACCEL_8400    64
-#define KERNEL_ACCEL_8500    64
-#define KERNEL_ACCEL_8600    8
-#define KERNEL_ACCEL_8700    8
-#define KERNEL_ACCEL_8800    8
-#define KERNEL_ACCEL_8900    16
-#define KERNEL_ACCEL_9000    2
-#define KERNEL_ACCEL_9100    8
-#define KERNEL_ACCEL_9200    2
-#define KERNEL_ACCEL_9300    2
-#define KERNEL_ACCEL_9400    8
-#define KERNEL_ACCEL_9500    8
-#define KERNEL_ACCEL_9600    2
-#define KERNEL_ACCEL_9700    8
-#define KERNEL_ACCEL_9710    8
-#define KERNEL_ACCEL_9720    8
-#define KERNEL_ACCEL_9800    8
-#define KERNEL_ACCEL_9810    8
-#define KERNEL_ACCEL_9820    8
-#define KERNEL_ACCEL_9900    64
-#define KERNEL_ACCEL_10000   2
-#define KERNEL_ACCEL_10100   128
-#define KERNEL_ACCEL_10200   64
-#define KERNEL_ACCEL_10300   8
-#define KERNEL_ACCEL_10400   8
-#define KERNEL_ACCEL_10500   64
-#define KERNEL_ACCEL_10410   8
-#define KERNEL_ACCEL_10420   8
-#define KERNEL_ACCEL_10600   64
-#define KERNEL_ACCEL_10700   1
-#define KERNEL_ACCEL_10800   64
-#define KERNEL_ACCEL_10900   2
-#define KERNEL_ACCEL_11000   64
-#define KERNEL_ACCEL_11100   64
-#define KERNEL_ACCEL_11200   64
-#define KERNEL_ACCEL_11300   2
-#define KERNEL_ACCEL_11400   8
-#define KERNEL_ACCEL_11500   128
-#define KERNEL_ACCEL_11600   2
-#define KERNEL_ACCEL_11700   4
-#define KERNEL_ACCEL_11800   4
-#define KERNEL_ACCEL_11900   2
-#define KERNEL_ACCEL_12000   2
-#define KERNEL_ACCEL_12100   2
-#define KERNEL_ACCEL_12200   2
-#define KERNEL_ACCEL_12300   2
-#define KERNEL_ACCEL_12400   64
-#define KERNEL_ACCEL_12500   8
-#define KERNEL_ACCEL_12600   32
-#define KERNEL_ACCEL_12700   64
-#define KERNEL_ACCEL_12800   64
-#define KERNEL_ACCEL_12900   8
-#define KERNEL_ACCEL_13000   8
-
-/**
- * device loops macro
- */
-
-#define KERNEL_LOOPS_OSX_0       2
-#define KERNEL_LOOPS_OSX_10      2
-#define KERNEL_LOOPS_OSX_11      2
-#define KERNEL_LOOPS_OSX_12      2
-#define KERNEL_LOOPS_OSX_20      2
-#define KERNEL_LOOPS_OSX_21      2
-#define KERNEL_LOOPS_OSX_22      2
-#define KERNEL_LOOPS_OSX_23      2
-#define KERNEL_LOOPS_OSX_30      2
-#define KERNEL_LOOPS_OSX_40      2
-#define KERNEL_LOOPS_OSX_50      2
-#define KERNEL_LOOPS_OSX_60      2
-#define KERNEL_LOOPS_OSX_100     2
-#define KERNEL_LOOPS_OSX_101     2
-#define KERNEL_LOOPS_OSX_110     2
-#define KERNEL_LOOPS_OSX_111     2
-#define KERNEL_LOOPS_OSX_112     2
-#define KERNEL_LOOPS_OSX_120     2
-#define KERNEL_LOOPS_OSX_121     2
-#define KERNEL_LOOPS_OSX_122     2
-#define KERNEL_LOOPS_OSX_124     2
-#define KERNEL_LOOPS_OSX_130     2
-#define KERNEL_LOOPS_OSX_131     2
-#define KERNEL_LOOPS_OSX_132     2
-#define KERNEL_LOOPS_OSX_133     2
-#define KERNEL_LOOPS_OSX_140     2
-#define KERNEL_LOOPS_OSX_141     2
-#define KERNEL_LOOPS_OSX_150     2
-#define KERNEL_LOOPS_OSX_160     2
-#define KERNEL_LOOPS_OSX_190     2
-#define KERNEL_LOOPS_OSX_200     2
-#define KERNEL_LOOPS_OSX_300     2
-#define KERNEL_LOOPS_OSX_900     2
-#define KERNEL_LOOPS_OSX_1000    2
-#define KERNEL_LOOPS_OSX_1100    2
-#define KERNEL_LOOPS_OSX_1400    2
-#define KERNEL_LOOPS_OSX_1410    2
-#define KERNEL_LOOPS_OSX_1420    2
-#define KERNEL_LOOPS_OSX_1421    2
-#define KERNEL_LOOPS_OSX_1430    2
-#define KERNEL_LOOPS_OSX_1440    2
-#define KERNEL_LOOPS_OSX_1441    2
-#define KERNEL_LOOPS_OSX_1450    2
-#define KERNEL_LOOPS_OSX_1460    2
-#define KERNEL_LOOPS_OSX_1700    2
-#define KERNEL_LOOPS_OSX_1710    2
-#define KERNEL_LOOPS_OSX_1711    2
-#define KERNEL_LOOPS_OSX_1720    2
-#define KERNEL_LOOPS_OSX_1722    2
-#define KERNEL_LOOPS_OSX_1730    2
-#define KERNEL_LOOPS_OSX_1731    2
-#define KERNEL_LOOPS_OSX_1740    2
-#define KERNEL_LOOPS_OSX_1750    2
-#define KERNEL_LOOPS_OSX_1760    2
-#define KERNEL_LOOPS_OSX_2400    2
-#define KERNEL_LOOPS_OSX_2410    2
-#define KERNEL_LOOPS_OSX_2600    2
-#define KERNEL_LOOPS_OSX_2611    2
-#define KERNEL_LOOPS_OSX_2612    2
-#define KERNEL_LOOPS_OSX_2711    2
-#define KERNEL_LOOPS_OSX_2811    2
-#define KERNEL_LOOPS_OSX_3100    2
-#define KERNEL_LOOPS_OSX_3200    2
-#define KERNEL_LOOPS_OSX_3710    2
-#define KERNEL_LOOPS_OSX_3711    2
-#define KERNEL_LOOPS_OSX_3800    2
-#define KERNEL_LOOPS_OSX_4300    2
-#define KERNEL_LOOPS_OSX_4400    2
-#define KERNEL_LOOPS_OSX_4500    2
-#define KERNEL_LOOPS_OSX_4700    2
-#define KERNEL_LOOPS_OSX_4800    2
-#define KERNEL_LOOPS_OSX_4900    2
-#define KERNEL_LOOPS_OSX_5000    2
-#define KERNEL_LOOPS_OSX_5100    2
-#define KERNEL_LOOPS_OSX_5300    2
-#define KERNEL_LOOPS_OSX_5400    2
-#define KERNEL_LOOPS_OSX_5500    2
-#define KERNEL_LOOPS_OSX_5600    2
-#define KERNEL_LOOPS_OSX_5700    2
-#define KERNEL_LOOPS_OSX_6000    2
-#define KERNEL_LOOPS_OSX_6100    2
-#define KERNEL_LOOPS_OSX_6231    2
-#define KERNEL_LOOPS_OSX_6232    2
-#define KERNEL_LOOPS_OSX_6233    2
-#define KERNEL_LOOPS_OSX_6900    2
-#define KERNEL_LOOPS_OSX_7300    2
-#define KERNEL_LOOPS_OSX_7500    2
-#define KERNEL_LOOPS_OSX_7600    2
-#define KERNEL_LOOPS_OSX_7700    2
-#define KERNEL_LOOPS_OSX_7800    2
-#define KERNEL_LOOPS_OSX_8000    2
-#define KERNEL_LOOPS_OSX_8100    2
-#define KERNEL_LOOPS_OSX_8200    1
-#define KERNEL_LOOPS_OSX_8300    2
-#define KERNEL_LOOPS_OSX_8400    2
-#define KERNEL_LOOPS_OSX_8500    2
-#define KERNEL_LOOPS_OSX_8600    2
-#define KERNEL_LOOPS_OSX_8700    2
-#define KERNEL_LOOPS_OSX_9700    2
-#define KERNEL_LOOPS_OSX_9710    2
-#define KERNEL_LOOPS_OSX_9720    8
-#define KERNEL_LOOPS_OSX_9800    2
-#define KERNEL_LOOPS_OSX_9810    2
-#define KERNEL_LOOPS_OSX_9820    2
-#define KERNEL_LOOPS_OSX_9900    2
-#define KERNEL_LOOPS_OSX_10100   2
-#define KERNEL_LOOPS_OSX_10200   2
-#define KERNEL_LOOPS_OSX_10400   2
-#define KERNEL_LOOPS_OSX_10410   2
-#define KERNEL_LOOPS_OSX_10420   2
-#define KERNEL_LOOPS_OSX_10600   2
-#define KERNEL_LOOPS_OSX_10700   2
-#define KERNEL_LOOPS_OSX_10800   2
-#define KERNEL_LOOPS_OSX_11000   2
-#define KERNEL_LOOPS_OSX_11100   2
-#define KERNEL_LOOPS_OSX_11200   2
-#define KERNEL_LOOPS_OSX_11300   1
-#define KERNEL_LOOPS_OSX_11400   2
-#define KERNEL_LOOPS_OSX_11500   2
-#define KERNEL_LOOPS_OSX_11700   2
-#define KERNEL_LOOPS_OSX_11800   2
-#define KERNEL_LOOPS_OSX_12600   2
-
-#define KERNEL_LOOPS_0       256
-#define KERNEL_LOOPS_10      256
-#define KERNEL_LOOPS_11      256
-#define KERNEL_LOOPS_12      256
-#define KERNEL_LOOPS_20      256
-#define KERNEL_LOOPS_21      256
-#define KERNEL_LOOPS_22      256
-#define KERNEL_LOOPS_23      256
-#define KERNEL_LOOPS_30      256
-#define KERNEL_LOOPS_40      256
-#define KERNEL_LOOPS_50      64
-#define KERNEL_LOOPS_60      64
-#define KERNEL_LOOPS_100     128
-#define KERNEL_LOOPS_101     128
-#define KERNEL_LOOPS_110     128
-#define KERNEL_LOOPS_111     128
-#define KERNEL_LOOPS_112     128
-#define KERNEL_LOOPS_120     128
-#define KERNEL_LOOPS_121     128
-#define KERNEL_LOOPS_122     128
-#define KERNEL_LOOPS_124     128
-#define KERNEL_LOOPS_130     128
-#define KERNEL_LOOPS_131     128
-#define KERNEL_LOOPS_132     128
-#define KERNEL_LOOPS_133     128
-#define KERNEL_LOOPS_140     128
-#define KERNEL_LOOPS_141     128
-#define KERNEL_LOOPS_150     64
-#define KERNEL_LOOPS_160     64
-#define KERNEL_LOOPS_190     128
-#define KERNEL_LOOPS_200     128
-#define KERNEL_LOOPS_300     64
-#define KERNEL_LOOPS_400     256
-#define KERNEL_LOOPS_500     256
-#define KERNEL_LOOPS_501     256
-#define KERNEL_LOOPS_900     256
-#define KERNEL_LOOPS_910     256
-#define KERNEL_LOOPS_1000    256
-#define KERNEL_LOOPS_1100    128
-#define KERNEL_LOOPS_1400    64
-#define KERNEL_LOOPS_1410    64
-#define KERNEL_LOOPS_1420    64
-#define KERNEL_LOOPS_1421    64
-#define KERNEL_LOOPS_1430    64
-#define KERNEL_LOOPS_1440    64
-#define KERNEL_LOOPS_1441    64
-#define KERNEL_LOOPS_1450    32
-#define KERNEL_LOOPS_1460    32
-#define KERNEL_LOOPS_1500    256
-#define KERNEL_LOOPS_1600    256
-#define KERNEL_LOOPS_1700    32
-#define KERNEL_LOOPS_1710    32
-#define KERNEL_LOOPS_1711    32
-#define KERNEL_LOOPS_1720    32
-#define KERNEL_LOOPS_1722    32
-#define KERNEL_LOOPS_1730    32
-#define KERNEL_LOOPS_1731    32
-#define KERNEL_LOOPS_1740    32
-#define KERNEL_LOOPS_1750    16
-#define KERNEL_LOOPS_1760    16
-#define KERNEL_LOOPS_1800    16
-#define KERNEL_LOOPS_2100    256
-#define KERNEL_LOOPS_2400    256
-#define KERNEL_LOOPS_2410    256
-#define KERNEL_LOOPS_2500    256
-#define KERNEL_LOOPS_2600    128
-#define KERNEL_LOOPS_2611    128
-#define KERNEL_LOOPS_2612    128
-#define KERNEL_LOOPS_2711    64
-#define KERNEL_LOOPS_2811    64
-#define KERNEL_LOOPS_3000    256
-#define KERNEL_LOOPS_3100    16
-#define KERNEL_LOOPS_3200    16
-#define KERNEL_LOOPS_3710    128
-#define KERNEL_LOOPS_3711    128
-#define KERNEL_LOOPS_3800    256
-#define KERNEL_LOOPS_4300    128
-#define KERNEL_LOOPS_4400    128
-#define KERNEL_LOOPS_4500    128
-#define KERNEL_LOOPS_4700    128
-#define KERNEL_LOOPS_4800    256
-#define KERNEL_LOOPS_4900    128
-#define KERNEL_LOOPS_5000    64
-#define KERNEL_LOOPS_5100    256
-#define KERNEL_LOOPS_5200    256
-#define KERNEL_LOOPS_5300    32
-#define KERNEL_LOOPS_5400    32
-#define KERNEL_LOOPS_5500    128
-#define KERNEL_LOOPS_5600    64
-#define KERNEL_LOOPS_5700    64
-#define KERNEL_LOOPS_5800    256
-#define KERNEL_LOOPS_6000    64
-#define KERNEL_LOOPS_6100    64
-#define KERNEL_LOOPS_6211    200
-#define KERNEL_LOOPS_6212    200
-#define KERNEL_LOOPS_6213    200
-#define KERNEL_LOOPS_6221    200
-#define KERNEL_LOOPS_6222    200
-#define KERNEL_LOOPS_6223    200
-#define KERNEL_LOOPS_6231    200
-#define KERNEL_LOOPS_6232    200
-#define KERNEL_LOOPS_6233    200
-#define KERNEL_LOOPS_6241    200
-#define KERNEL_LOOPS_6242    200
-#define KERNEL_LOOPS_6243    200
-#define KERNEL_LOOPS_6300    256
-#define KERNEL_LOOPS_6400    256
-#define KERNEL_LOOPS_6500    256
-#define KERNEL_LOOPS_6600    200
-#define KERNEL_LOOPS_6700    256
-#define KERNEL_LOOPS_6800    200
-#define KERNEL_LOOPS_6900    64
-#define KERNEL_LOOPS_7100    256
-#define KERNEL_LOOPS_7200    200
-#define KERNEL_LOOPS_7300    64
-#define KERNEL_LOOPS_7400    200
-#define KERNEL_LOOPS_7500    16
-#define KERNEL_LOOPS_7600    128
-#define KERNEL_LOOPS_7700    128
-#define KERNEL_LOOPS_7800    64
-#define KERNEL_LOOPS_7900    256
-#define KERNEL_LOOPS_8000    64
-#define KERNEL_LOOPS_8100    128
-#define KERNEL_LOOPS_8200    200
-#define KERNEL_LOOPS_8300    64
-#define KERNEL_LOOPS_8400    64
-#define KERNEL_LOOPS_8500    16
-#define KERNEL_LOOPS_8600    16
-#define KERNEL_LOOPS_8700    16
-#define KERNEL_LOOPS_8800    256
-#define KERNEL_LOOPS_8900    1
-#define KERNEL_LOOPS_9000    16
-#define KERNEL_LOOPS_9100    256
-#define KERNEL_LOOPS_9200    200
-#define KERNEL_LOOPS_9300    1
-#define KERNEL_LOOPS_9400    200
-#define KERNEL_LOOPS_9500    200
-#define KERNEL_LOOPS_9600    200
-#define KERNEL_LOOPS_9700    200
-#define KERNEL_LOOPS_9710    200
-#define KERNEL_LOOPS_9720    200
-#define KERNEL_LOOPS_9800    200
-#define KERNEL_LOOPS_9820    200
-#define KERNEL_LOOPS_9810    200
-#define KERNEL_LOOPS_9900    256
-#define KERNEL_LOOPS_10000   200
-#define KERNEL_LOOPS_10100   512
-#define KERNEL_LOOPS_10200   64
-#define KERNEL_LOOPS_10300   128
-#define KERNEL_LOOPS_10400   256
-#define KERNEL_LOOPS_10410   256
-#define KERNEL_LOOPS_10420   256
-#define KERNEL_LOOPS_10500   64
-#define KERNEL_LOOPS_10600   64
-#define KERNEL_LOOPS_10700   64
-#define KERNEL_LOOPS_10800   32
-#define KERNEL_LOOPS_10900   200
-#define KERNEL_LOOPS_11000   256
-#define KERNEL_LOOPS_11100   128
-#define KERNEL_LOOPS_11200   128
-#define KERNEL_LOOPS_11300   256
-#define KERNEL_LOOPS_11400   128
-#define KERNEL_LOOPS_11500   256
-#define KERNEL_LOOPS_11600   512
-#define KERNEL_LOOPS_11700   64
-#define KERNEL_LOOPS_11800   64
-#define KERNEL_LOOPS_11900   200
-#define KERNEL_LOOPS_12000   200
-#define KERNEL_LOOPS_12100   200
-#define KERNEL_LOOPS_12200   256
-#define KERNEL_LOOPS_12300   256
-#define KERNEL_LOOPS_12400   256
-#define KERNEL_LOOPS_12500   256
-#define KERNEL_LOOPS_12600   32
-#define KERNEL_LOOPS_12700   10
-#define KERNEL_LOOPS_12800   100
-#define KERNEL_LOOPS_12900   64
-#define KERNEL_LOOPS_13000   64
-
 /**
  * Strings
  */
@@ -1798,6 +1284,7 @@ char *get_exec_path   ();
 char *get_install_dir (const char *progname);
 char *get_profile_dir (const char *homedir);
 char *get_session_dir (const char *profile_dir);
+uint count_lines (FILE *fd);
 
 void *rulefind (const void *key, void *base, int nmemb, size_t size, int (*compar) (const void *, const void *));
 
@@ -1920,17 +1407,6 @@ void hm_device_val_to_str (char *target_buf, int max_buf_size, char *suffix, int
 void myabort ();
 void myquit ();
 
-#ifdef OSX
-uint set_kernel_loops_osx (uint hash_mode);
-uint set_kernel_accel_osx (uint hash_mode);
-
-uint set_kernel_accel (uint hash_mode, bool isGpu);
-uint set_kernel_loops (uint hash_mode, bool isGpu);
-#else
-uint set_kernel_accel (uint hash_mode);
-uint set_kernel_loops (uint hash_mode);
-#endif
-
 void set_cpu_affinity (char *cpu_affinity);
 
 void usage_mini_print (const char *progname);
@@ -1954,6 +1430,11 @@ void sp_tbl_to_css (hcstat_table_t *root_table_buf, hcstat_table_t *markov_table
 void sp_stretch_markov (hcstat_table_t *in, hcstat_table_t *out);
 void sp_stretch_root (hcstat_table_t *in, hcstat_table_t *out);
 
+void tuning_db_destroy (tuning_db_t *tuning_db);
+tuning_db_t *tuning_db_alloc (FILE *fp);
+tuning_db_t *tuning_db_init (const char *tuning_db_file);
+tuning_db_entry_t *tuning_db_search (tuning_db_t *tuning_db, char *device_name, int attack_mode, int hash_type, int workload_profile);
+
 int bcrypt_parse_hash             (char *input_buf, uint input_len, hash_t *hash_buf);
 int cisco4_parse_hash             (char *input_buf, uint input_len, hash_t *hash_buf);
 int dcc_parse_hash                (char *input_buf, uint input_len, hash_t *hash_buf);