]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/reveng/reveng.h
Merge pull request #551 from pwpiwi/remove_reveng
[proxmark3-svn] / client / reveng / reveng.h
diff --git a/client/reveng/reveng.h b/client/reveng/reveng.h
deleted file mode 100644 (file)
index 48dcb31..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/* reveng.h
- * Greg Cook, 9/Apr/2015
- */
-
-/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
- * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015  Gregory Cook
- *
- * This file is part of CRC RevEng.
- *
- * CRC RevEng is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * CRC RevEng is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with CRC RevEng.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef REVENG_H
-#define REVENG_H 1
-
-/* Configuration options */
-
-#include "config.h"
-
-#ifndef BMP_T
-#  error config.h: BMP_T must be defined as unsigned long or a longer unsigned type
-#endif
-
-#ifndef BMP_C
-#  error config.h: BMP_C() must define a BMP_T constant
-#endif
-
-#if !defined PRESETS && !defined BMPMACRO
-#  undef BMP_BIT
-#  undef BMP_SUB
-#endif
-
-#undef BMP_POF2
-
-#ifdef BMP_BIT
-#  ifndef BMP_SUB
-#    error config.h: BMP_SUB must be defined as the highest power of two that is strictly less than BMP_BIT
-#  elif BMP_BIT < 32
-#    error config.h: BMP_BIT must be at least 32
-#  elif BMP_SUB < 16
-#    error config.h: BMP_SUB must be at least 16
-#  elif (BMP_SUB >= BMP_BIT || BMP_SUB << 1 < BMP_BIT || BMP_SUB & (BMP_SUB - 1))
-#    error config.h: BMP_SUB must be defined as the highest power of two that is strictly less than BMP_BIT
-#  else /* BMP_SUB */
-#    define SETBMP()
-#  endif /* BMP_SUB */
-#  if BMP_BIT == 32
-#    define BMP_POF2 5
-#  elif BMP_BIT == 64
-#    define BMP_POF2 6
-#  elif BMP_BIT == 128
-#    define BMP_POF2 7
-#  elif BMP_BIT == 256
-#    define BMP_POF2 8
-#  elif BMP_BIT == 512
-#    define BMP_POF2 9
-#  elif BMP_BIT == 1024
-#    define BMP_POF2 10
-#  elif BMP_BIT == 2048
-#    define BMP_POF2 11
-#  elif BMP_BIT == 4096
-#    define BMP_POF2 12
-#  elif BMP_BIT == 8192
-#    define BMP_POF2 13
-#  elif BMP_BIT == 16384
-#    define BMP_POF2 14
-#  elif BMP_BIT == 32768
-#    define BMP_POF2 15
-#  elif BMP_BIT == 65536
-#    define BMP_POF2 16
-/* may extend list as required */
-#  elif (BMP_BIT & (BMP_BIT - 1)) == 0
-#    define BMP_POF2 1
-#  endif
-#else /* BMP_BIT */
-#  define BMP_BIT bmpbit
-#  define BMP_SUB bmpsub
-#  define SETBMP() setbmp()
-#endif /* BMP_BIT */
-
-/* Global definitions */
-
-/* CRC RevEng version string */
-#define VERSION "1.3.0"
-
-/* bmpbit.c */
-typedef BMP_T bmp_t;
-
-extern int bmpbit, bmpsub;
-extern void setbmp(void);
-
-/* poly.c */
-#define P_REFIN      1
-#define P_REFOUT     2
-#define P_MULXN      4
-#define P_RTJUST     8
-#define P_UPPER     16
-#define P_SPACE     32
-#define P_LTLBYT    64
-#define P_DIRECT   128
-
-/* default flags */
-#define P_BE     (P_RTJUST | P_MULXN)
-#define P_LE     (P_REFIN | P_REFOUT | P_MULXN)
-#define P_BELE   (P_REFOUT | P_MULXN)
-#define P_LEBE   (P_REFIN | P_RTJUST | P_MULXN)
-
-/* A poly_t constant representing the polynomial 0. */
-#define PZERO {0UL, (bmp_t *) 0}
-
-typedef struct {
-       unsigned long length;   /* number of significant bits */
-       bmp_t *bitmap;          /* bitmap, MSB first, */
-                               /* left-justified in each word */
-} poly_t;
-
-extern poly_t filtop(FILE *input, unsigned long length, int flags, int bperhx);
-extern poly_t strtop(const char *string, int flags, int bperhx);
-extern char *ptostr(const poly_t poly, int flags, int bperhx);
-extern char *pxsubs(const poly_t poly, int flags, int bperhx, unsigned long start, unsigned long end);
-extern poly_t pclone(const poly_t poly);
-extern void pcpy(poly_t *dest, const poly_t src);
-extern void pcanon(poly_t *poly);
-extern void pnorm(poly_t *poly);
-extern void psnorm(poly_t *poly);
-extern void pchop(poly_t *poly);
-extern void pkchop(poly_t *poly);
-extern unsigned long plen(const poly_t poly);
-extern int pcmp(const poly_t *a, const poly_t *b);
-extern int psncmp(const poly_t *a, const poly_t *b);
-extern int ptst(const poly_t poly);
-extern unsigned long pfirst(const poly_t poly);
-extern unsigned long plast(const poly_t poly);
-extern poly_t psubs(const poly_t src, unsigned long head, unsigned long start, unsigned long end, unsigned long tail);
-extern void pright(poly_t *poly, unsigned long length);
-extern void pshift(poly_t *dest, const poly_t src, unsigned long head, unsigned long start, unsigned long end, unsigned long tail);
-extern void ppaste(poly_t *dest, const poly_t src, unsigned long skip, unsigned long seek, unsigned long end, unsigned long fulllength);
-extern void pdiff(poly_t *dest, const poly_t src, unsigned long ofs);
-extern void psum(poly_t *dest, const poly_t src, unsigned long ofs);
-extern void prev(poly_t *poly);
-extern void prevch(poly_t *poly, int bperhx);
-extern void prcp(poly_t *poly);
-extern void pinv(poly_t *poly);
-extern poly_t pmod(const poly_t dividend, const poly_t divisor);
-extern poly_t pcrc(const poly_t message, const poly_t divisor, const poly_t init, const poly_t xorout, int flags);
-extern int piter(poly_t *poly);
-extern void palloc(poly_t *poly, unsigned long length);
-extern void pfree(poly_t *poly);
-extern void praloc(poly_t *poly, unsigned long length);
-extern int pmpar(const poly_t poly, const poly_t mask);
-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 */
-       int flags;              /* P_REFIN and P_REFOUT indicate reflected input/output */
-       poly_t xorout;          /* final register XOR mask. length == poly.length */
-       poly_t check;           /* optional check value, the CRC of the UTF-8 string "123456789" */
-       const char *name;       /* optional canonical name of the model */
-} model_t;
-
-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);
-
-/* reveng.c */
-#define R_HAVEP    512
-#define R_HAVEI   1024
-#define R_HAVERI  2048
-#define R_HAVERO  4096
-#define R_HAVEX   8192
-#define R_HAVEQ  16384
-
-#define R_SPMASK 0x7FFFFFFUL
-
-extern model_t *reveng(const model_t *guess, const poly_t qpoly, int rflags, int args, const poly_t *argpolys);
-
-/* cli.c */
-#define C_INFILE  1
-#define C_FORCE   2
-#define C_RESULT  4
-
-#define BUFFER 32768
-
-extern int reveng_main(int argc, char *argv[]);
-extern void ufound(const model_t *model);
-extern void uerror(const char *msg);
-extern void uprog(const poly_t gpoly, int flags, unsigned long seq);
-
-#endif /* REVENG_H */
Impressum, Datenschutz