TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
qrencode.h
Go to the documentation of this file.
1 
99 #ifndef QRENCODE_H
100 #define QRENCODE_H
101 
102 #include "global.h"
103 
104 #if defined(__cplusplus)
105 extern "C" {
106 #endif
107 
111 typedef enum {
112  QR_MODE_NUL = -1,
121 } QRencodeMode;
122 
126 typedef enum {
131 } QRecLevel;
132 
136 #define QRSPEC_VERSION_MAX 40
137 
141 #define MQRSPEC_VERSION_MAX 4
142 
143 
144 /******************************************************************************
145  * Input data (qrinput.c)
146  *****************************************************************************/
147 
154 typedef struct _QRinput QRinput;
155 
163 extern EXTRAS_EXPORT QRinput *QRinput_new(void);
164 
175 
187 
202 extern EXTRAS_EXPORT int QRinput_append(QRinput *input, QRencodeMode mode, int size, const unsigned char *data);
203 
215 extern EXTRAS_EXPORT int QRinput_appendECIheader(QRinput *input, unsigned int ecinum);
216 
222 extern EXTRAS_EXPORT int QRinput_getVersion(QRinput *input);
223 
232 extern EXTRAS_EXPORT int QRinput_setVersion(QRinput *input, int version);
233 
240 
250 
261 
267 extern EXTRAS_EXPORT void QRinput_free(QRinput *input);
268 
277 extern EXTRAS_EXPORT int QRinput_check(QRencodeMode mode, int size, const unsigned char *data);
278 
283 
291 
297 extern EXTRAS_EXPORT void QRinput_Struct_setParity(QRinput_Struct *s, unsigned char parity);
298 
311 
317 
331 
343 
347 extern EXTRAS_EXPORT int QRinput_setFNC1First(QRinput *input);
348 
352 extern EXTRAS_EXPORT int QRinput_setFNC1Second(QRinput *input, unsigned char appid);
353 
354 /******************************************************************************
355  * QRcode output (qrencode.c)
356  *****************************************************************************/
357 
377 typedef struct {
378  int version;
379  int width;
380  unsigned char *data;
381 } QRcode;
382 
387 typedef struct _QRcode_List {
390 } QRcode_List;
391 
404 
428 extern EXTRAS_EXPORT QRcode *QRcode_encodeString(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
429 
434 extern EXTRAS_EXPORT QRcode *QRcode_encodeString8bit(const char *string, int version, QRecLevel level);
435 
440 extern EXTRAS_EXPORT QRcode *QRcode_encodeStringMQR(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
441 
446 extern EXTRAS_EXPORT QRcode *QRcode_encodeString8bitMQR(const char *string, int version, QRecLevel level);
447 
460 extern EXTRAS_EXPORT QRcode *QRcode_encodeData(int size, const unsigned char *data, int version, QRecLevel level);
461 
466 extern EXTRAS_EXPORT QRcode *QRcode_encodeDataMQR(int size, const unsigned char *data, int version, QRecLevel level);
467 
472 extern EXTRAS_EXPORT void QRcode_free(QRcode *qrcode);
473 
481 
501 extern EXTRAS_EXPORT QRcode_List *QRcode_encodeStringStructured(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive);
502 
507 extern EXTRAS_EXPORT QRcode_List *QRcode_encodeString8bitStructured(const char *string, int version, QRecLevel level);
508 
522 extern EXTRAS_EXPORT QRcode_List *QRcode_encodeDataStructured(int size, const unsigned char *data, int version, QRecLevel level);
523 
529 extern EXTRAS_EXPORT int QRcode_List_size(QRcode_List *qrlist);
530 
535 extern EXTRAS_EXPORT void QRcode_List_free(QRcode_List *qrlist);
536 
537 
538 /******************************************************************************
539  * System utilities
540  *****************************************************************************/
541 
548 extern EXTRAS_EXPORT void QRcode_APIVersion(int *major_version, int *minor_version, int *micro_version);
549 
555 extern EXTRAS_EXPORT char *QRcode_APIVersionString(void);
556 
560 #ifndef _MSC_VER
561 extern EXTRAS_EXPORT void QRcode_clearCache(void) __attribute__ ((deprecated));
562 #else
563 extern EXTRAS_EXPORT void QRcode_clearCache(void);
564 #endif
565 
566 #if defined(__cplusplus)
567 }
568 #endif
569 
570 #endif /* QRENCODE_H */
EXTRAS_EXPORT void QRcode_List_free(QRcode_List *qrlist)
Free the QRcode_List.
Definition: qrencode.c:770
QRcode class.
Definition: qrencode.h:377
EXTRAS_EXPORT void QRinput_free(QRinput *input)
Free the input object.
Definition: qrinput.c:292
EXTRAS_EXPORT QRinput * QRinput_new2(int version, QRecLevel level)
Instantiate an input data object.
Definition: qrinput.c:114
EXTRAS_EXPORT int QRinput_append(QRinput *input, QRencodeMode mode, int size, const unsigned char *data)
Append data to an input object.
Definition: qrinput.c:221
ECI mode.
Definition: qrencode.h:118
EXTRAS_EXPORT int QRinput_appendECIheader(QRinput *input, unsigned int ecinum)
Append ECI header.
Definition: qrinput.c:274
EXTRAS_EXPORT QRcode * QRcode_encodeStringMQR(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive)
Micro QR Code version of QRcode_encodeString().
Definition: qrencode.c:652
highest
Definition: qrencode.h:130
FNC1, first position.
Definition: qrencode.h:119
EXTRAS_EXPORT int QRcode_List_size(QRcode_List *qrlist)
Return the number of symbols included in a QRcode_List.
Definition: qrencode.c:781
Numeric mode.
Definition: qrencode.h:113
EXTRAS_EXPORT int QRinput_Struct_insertStructuredAppendHeaders(QRinput_Struct *s)
Insert structured-append headers to the input structure.
Definition: qrinput.c:1588
EXTRAS_EXPORT QRcode_List * QRcode_encodeInputStructured(QRinput_Struct *s)
Create structured symbols from the input data.
Definition: qrencode.c:808
voidpf void uLong size
Definition: ioapi.h:136
EXTRAS_EXPORT QRinput * QRinput_new(void)
Instantiate an input data object.
Definition: qrinput.c:109
int version
Definition: qrinput.h:47
EXTRAS_EXPORT void QRcode_free(QRcode *qrcode)
Free the instance of QRcode class.
Definition: qrencode.c:421
EXTRAS_EXPORT QRecLevel QRinput_getErrorCorrectionLevel(QRinput *input)
Get current error correction level.
Definition: qrinput.c:172
EXTRAS_EXPORT QRcode * QRcode_encodeString8bitMQR(const char *string, int version, QRecLevel level)
Micro QR Code version of QRcode_encodeString8bit().
Definition: qrencode.c:725
EXTRAS_EXPORT int QRinput_check(QRencodeMode mode, int size, const unsigned char *data)
Validate the input data.
Definition: qrinput.c:817
EXTRAS_EXPORT QRcode * QRcode_encodeString(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive)
Create a symbol from the string.
Definition: qrencode.c:647
EXTRAS_EXPORT int QRinput_setVersionAndErrorCorrectionLevel(QRinput *input, int version, QRecLevel level)
Set version and error correction level of the QR code at once.
Definition: qrinput.c:189
FNC1, second position.
Definition: qrencode.h:120
EXTRAS_EXPORT char * QRcode_APIVersionString(void)
Return a string that identifies the library version.
Definition: qrencode.c:928
QRecLevel level
Definition: qrinput.h:48
QRecLevel
Level of error correction.
Definition: qrencode.h:126
EXTRAS_EXPORT int QRinput_setVersion(QRinput *input, int version)
Set version of the QR code that is to be encoded.
Definition: qrinput.c:160
8-bit data mode
Definition: qrencode.h:115
EXTRAS_EXPORT QRinput_Struct * QRinput_Struct_new(void)
Instantiate a set of input data object.
Definition: qrinput.c:1371
EXTRAS_EXPORT int QRinput_getVersion(QRinput *input)
Get current version.
Definition: qrinput.c:155
EXTRAS_EXPORT void QRcode_clearCache(void) __attribute__((deprecated))
Definition: qrencode.c:933
EXTRAS_EXPORT QRinput_Struct * QRinput_splitQRinputToStruct(QRinput *input)
Split a QRinput to QRinput_Struct.
Definition: qrinput.c:1483
EXTRAS_EXPORT QRinput * QRinput_newMQR(int version, QRecLevel level)
Instantiate an input data object.
Definition: qrinput.c:136
QRcode * code
Definition: qrencode.h:388
EXTRAS_EXPORT void QRinput_Struct_free(QRinput_Struct *s)
Free all of QRinput in the set.
Definition: qrinput.c:1415
QRencodeMode
Encoding mode.
Definition: qrencode.h:111
EXTRAS_EXPORT QRcode_List * QRcode_encodeStringStructured(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive)
Create structured symbols from the string.
Definition: qrencode.c:902
EXTRAS_EXPORT QRcode * QRcode_encodeInput(QRinput *input)
Create a symbol from the input data.
Definition: qrencode.c:605
EXTRAS_EXPORT int QRinput_setErrorCorrectionLevel(QRinput *input, QRecLevel level)
Set error correction level of the QR code that is to be encoded.
Definition: qrinput.c:177
Singly-linked list of QRcode.
Definition: qrencode.h:387
#define EXTRAS_EXPORT
Definition: global.h:33
EXTRAS_EXPORT QRcode * QRcode_encodeString8bit(const char *string, int version, QRecLevel level)
Same to QRcode_encodeString(), but encode whole data in 8-bit mode.
Definition: qrencode.c:701
unsigned char * data
symbol data
Definition: qrencode.h:380
Kanji (shift-jis) mode.
Definition: qrencode.h:116
EXTRAS_EXPORT void QRinput_Struct_setParity(QRinput_Struct *s, unsigned char parity)
Set parity of structured symbols.
Definition: qrinput.c:1386
EXTRAS_EXPORT QRcode * QRcode_encodeDataMQR(int size, const unsigned char *data, int version, QRecLevel level)
Micro QR Code version of QRcode_encodeData().
Definition: qrencode.c:710
lowest
Definition: qrencode.h:127
Alphabet-numeric mode.
Definition: qrencode.h:114
EXTRAS_EXPORT int QRinput_setFNC1First(QRinput *input)
Set FNC1-1st position flag.
Definition: qrinput.c:1616
struct _QRcode_List QRcode_List
Singly-linked list of QRcode.
EXTRAS_EXPORT QRcode * QRcode_encodeData(int size, const unsigned char *data, int version, QRecLevel level)
Encode byte stream (may include '\0') in 8-bit mode.
Definition: qrencode.c:696
int width
width of the symbol
Definition: qrencode.h:379
EXTRAS_EXPORT QRcode_List * QRcode_encodeDataStructured(int size, const unsigned char *data, int version, QRecLevel level)
Create structured symbols from byte stream (may include '\0').
Definition: qrencode.c:890
int version
version of the symbol
Definition: qrencode.h:378
const char int mode
Definition: ioapi.h:135
EXTRAS_EXPORT QRcode_List * QRcode_encodeString8bitStructured(const char *string, int version, QRecLevel level)
Same to QRcode_encodeStringStructured(), but encode whole data in 8-bit mode.
Definition: qrencode.c:894
EXTRAS_EXPORT int QRinput_Struct_appendInput(QRinput_Struct *s, QRinput *input)
Append a QRinput object to the set.
Definition: qrinput.c:1391
Internal use only.
Definition: qrencode.h:117
Terminator (NUL character). Internal use only.
Definition: qrencode.h:112
EXTRAS_EXPORT void QRcode_APIVersion(int *major_version, int *minor_version, int *micro_version)
Return a string that identifies the library version.
Definition: qrencode.c:915
EXTRAS_EXPORT int QRinput_setFNC1Second(QRinput *input, unsigned char appid)
Set FNC1-2nd position flag and application identifier.
Definition: qrinput.c:1627
struct _QRcode_List * next
Definition: qrencode.h:389