/* reveng.h
- * Greg Cook, 30/Jul/2015
+ * Greg Cook, 24/Feb/2016
*/
/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
- * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Gregory Cook
+ * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 Gregory Cook
*
* This file is part of CRC RevEng.
*
/* Global definitions */
/* CRC RevEng version string */
-#define VERSION "1.3.1"
+#define VERSION "1.4.0"
/* bmpbit.c */
typedef BMP_T bmp_t;
extern int pident(const poly_t a, const poly_t b);
/* model.c */
-#define M_OVERWR 256
-
typedef struct {
poly_t spoly; /* polynomial with highest-order term removed. length determines CRC width */
poly_t init; /* initial register value. length == poly.length */
extern void mcpy(model_t *dest, const model_t *src);
extern void mfree(model_t *model);
extern int mcmp(const model_t *a, const model_t *b);
-extern int mbynam(model_t *dest, const char *key);
-extern void mbynum(model_t *dest, int num);
-extern int mcount(void);
-extern char *mnames(void);
extern char *mtostr(const model_t *model);
-extern void mmatch(model_t *model, int flags);
extern void mcanon(model_t *model);
extern void mcheck(model_t *model);
extern void mrev(model_t *model);
extern void mnovel(model_t *model);
+/* preset.c */
+#define M_OVERWR 256
+
+extern int mbynam(model_t *dest, const char *key);
+extern void mbynum(model_t *dest, int num);
+extern int mcount(void);
+extern char *mnames(void);
+extern void mmatch(model_t *model, int flags);
+
/* reveng.c */
#define R_HAVEP 512
#define R_HAVEI 1024
static int l_reveng_models(lua_State *L){
- char *models[80];
+ // This array needs to be adjusted if RevEng adds more crc-models.
+ char *models[100];
int count = 0;
int in_width = luaL_checkinteger(L, 1);
if( in_width > 89 ) return returnToLuaWithError(L,"Width cannot exceed 89, got %d", in_width);
- uint8_t width[80];
+ // This array needs to be adjusted if RevEng adds more crc-models.
+ uint8_t width[100];
width[0] = (uint8_t)in_width;
int ans = GetModels(models, &count, width);
if (!ans) return 0;