]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/crapto1.h
FIX: should fix the typedefintion error for OS X regarding bool cmd_send
[proxmark3-svn] / armsrc / crapto1.h
index 50654db93a9c2892b9aa756e1ec3509dda3f6f6b..54d66c28c42b764b428287e10f759b862b8d23a8 100644 (file)
@@ -32,12 +32,12 @@ uint8_t crypto1_bit(struct Crypto1State*, uint8_t, int);
 uint8_t crypto1_byte(struct Crypto1State*, uint8_t, int);
 uint32_t crypto1_word(struct Crypto1State*, uint32_t, int);
 uint32_t prng_successor(uint32_t x, uint32_t n);
 uint8_t crypto1_byte(struct Crypto1State*, uint8_t, int);
 uint32_t crypto1_word(struct Crypto1State*, uint32_t, int);
 uint32_t prng_successor(uint32_t x, uint32_t n);
+uint32_t prng_successor_one(uint32_t x);
 
 struct Crypto1State* lfsr_recovery32(uint32_t ks2, uint32_t in);
 struct Crypto1State* lfsr_recovery64(uint32_t ks2, uint32_t ks3);
 uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd);
 
 struct Crypto1State* lfsr_recovery32(uint32_t ks2, uint32_t in);
 struct Crypto1State* lfsr_recovery64(uint32_t ks2, uint32_t ks3);
 uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd);
-struct Crypto1State*
-lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8]);
+struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8]);
 
 uint8_t lfsr_rollback_bit(struct Crypto1State* s, uint32_t in, int fb);
 uint8_t lfsr_rollback_byte(struct Crypto1State* s, uint32_t in, int fb);
 
 uint8_t lfsr_rollback_bit(struct Crypto1State* s, uint32_t in, int fb);
 uint8_t lfsr_rollback_byte(struct Crypto1State* s, uint32_t in, int fb);
@@ -69,10 +69,10 @@ static inline int parity(uint32_t x)
        x ^= x >> 4;
        return BIT(0x6996, x & 0xf);
 #else
        x ^= x >> 4;
        return BIT(0x6996, x & 0xf);
 #else
-        asm(    "movl %1, %%eax\n"
-               "mov %%ax, %%cx\n"
-               "shrl $0x10, %%eax\n"
-               "xor %%ax, %%cx\n"
+       __asm__(        "movl %1, %%eax\n"
+                               "mov %%ax, %%cx\n"
+                               "shrl $0x10, %%eax\n"
+                               "xor %%ax, %%cx\n"
                 "xor %%ch, %%cl\n"
                 "setpo %%al\n"
                 "movzx %%al, %0\n": "=r"(x) : "r"(x): "eax","ecx");
                 "xor %%ch, %%cl\n"
                 "setpo %%al\n"
                 "movzx %%al, %0\n": "=r"(x) : "r"(x): "eax","ecx");
Impressum, Datenschutz