/*
    This file was generated by the command

       cfunctions qrencode.c

    at 22:29:16 on Friday  3 February 2017, local time.
*/
#ifndef CFH_QRENCODE_H
#define CFH_QRENCODE_H

/* From 'qrencode.c': */

#line 23 "qrencode.c"
typedef struct qr {
    char * input;
    int input_length;
    unsigned level;
    unsigned version;
    unsigned char * strinbuf;
    unsigned char * qrframe;
    unsigned char *framebase;
    unsigned char *framask;
    unsigned char *rlens;
    unsigned char  WD;
    unsigned char WDB;
    unsigned char neccblk1;
    unsigned char neccblk2;
    unsigned char datablkw;
    unsigned char eccblkwid;

    unsigned initialized : 1;
}
qr_t;
#define QRBIT(f,x,y) ( ( qr->f[((x)>>3) + (y) * qr->WDB] >> (7-((x) & 7 ))) & 1 )
#define QR_MINIMUM_VERSION 1
#define QR_MAXIMUM_VERSION 40
#define QR_MINIMUM_LEVEL 1
#define QR_MAXIMUM_LEVEL 4

#line 185 "qrencode.c"
void initframe (qr_t * qr );

#line 288 "qrencode.c"
unsigned initecc (qr_t * qr );

#line 322 "qrencode.c"
unsigned initeccsize (qr_t * qr );

#line 792 "qrencode.c"
void qrencode (qr_t * qr );

#line 825 "qrencode.c"
void qrfree (qr_t * qr );

#endif /* CFH_QRENCODE_H */
