QRencode
|
Go to the source code of this file.
Data Structures | |
struct | QRcode |
QRcode class. More... | |
struct | _QRcode_List |
Typedefs | |
typedef struct _QRinput | QRinput |
Singly linked list to contain input strings. | |
typedef struct _QRinput_Struct | QRinput_Struct |
Set of QRinput for structured symbols. | |
typedef struct _QRcode_List | QRcode_List |
Singly-linked list of QRcode. | |
Enumerations | |
enum | QRencodeMode { QR_MODE_NUL = -1, QR_MODE_NUM = 0, QR_MODE_AN, QR_MODE_8, QR_MODE_KANJI, QR_MODE_STRUCTURE } |
Encoding mode. More... | |
enum | QRecLevel { QR_ECLEVEL_L = 0, QR_ECLEVEL_M, QR_ECLEVEL_Q, QR_ECLEVEL_H } |
Level of error correction. More... | |
Functions | |
QRinput * | QRinput_new (void) |
Instantiate an input data object. | |
QRinput * | QRinput_new2 (int version, QRecLevel level) |
Instantiate an input data object. | |
int | QRinput_append (QRinput *input, QRencodeMode mode, int size, const unsigned char *data) |
Append data to an input object. | |
int | QRinput_getVersion (QRinput *input) |
Get current version. | |
int | QRinput_setVersion (QRinput *input, int version) |
Set version of the QR-code that is to be encoded. | |
QRecLevel | QRinput_getErrorCorrectionLevel (QRinput *input) |
Get current error correction level. | |
int | QRinput_setErrorCorrectionLevel (QRinput *input, QRecLevel level) |
Set error correction level of the QR-code that is to be encoded. | |
void | QRinput_free (QRinput *input) |
Free the input object. | |
int | QRinput_check (QRencodeMode mode, int size, const unsigned char *data) |
Validate the input data. | |
QRinput_Struct * | QRinput_Struct_new (void) |
Instantiate a set of input data object. | |
void | QRinput_Struct_setParity (QRinput_Struct *s, unsigned char parity) |
Set parity of structured symbols. | |
int | QRinput_Struct_appendInput (QRinput_Struct *s, QRinput *input) |
Append a QRinput object to the set. | |
void | QRinput_Struct_free (QRinput_Struct *s) |
Free all of QRinput in the set. | |
QRinput_Struct * | QRinput_splitQRinputToStruct (QRinput *input) |
Split a QRinput to QRinput_Struct. | |
int | QRinput_Struct_insertStructuredAppendHeaders (QRinput_Struct *s) |
Insert structured-append headers to the input structure. | |
QRcode * | QRcode_encodeInput (QRinput *input) |
Create a symbol from the input data. | |
QRcode * | QRcode_encodeString (const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive) |
Create a symbol from the string. | |
QRcode * | QRcode_encodeString8bit (const char *string, int version, QRecLevel level) |
Same to QRcode_encodeString(), but encode whole data in 8-bit mode. | |
void | QRcode_free (QRcode *qrcode) |
Free the instance of QRcode class. | |
QRcode_List * | QRcode_encodeInputStructured (QRinput_Struct *s) |
Create structured symbols from the input data. | |
QRcode_List * | QRcode_encodeStringStructured (const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive) |
Create structured symbols from the string. | |
QRcode_List * | QRcode_encodeString8bitStructured (const char *string, int version, QRecLevel level) |
Same to QRcode_encodeStringStructured(), but encode whole data in 8-bit mode. | |
int | QRcode_List_size (QRcode_List *qrlist) |
Return the number of symbols included in a QRcode_List. | |
void | QRcode_List_free (QRcode_List *qrlist) |
Free the QRcode_List. |
typedef struct _QRinput QRinput |
Singly linked list to contain input strings.
An instance of this class contains its version and error correction level too. It is required to set them by QRinput_setVersion() and QRinput_setErrorCorrectionLevel(), or use QRinput_new2() to instantiate an object.
typedef struct _QRinput_Struct QRinput_Struct |
Set of QRinput for structured symbols.
typedef struct _QRcode_List QRcode_List |
Singly-linked list of QRcode.
Used to represent a structured symbols. A list is terminated with NULL.
enum QRencodeMode |
enum QRecLevel |
QRinput* QRinput_new | ( | void | ) |
Instantiate an input data object.
The version is set to 0 (auto-select) and the error correction level is set to QR_ECLEVEL_L.
ENOMEM | unable to allocate memory. |
Instantiate an input data object.
version | version number. |
level | Error correction level. |
ENOMEM | unable to allocate memory for input objects. |
EINVAL | invalid arguments. |
int QRinput_append | ( | QRinput * | input, |
QRencodeMode | mode, | ||
int | size, | ||
const unsigned char * | data | ||
) |
Append data to an input object.
The data is copied and appended to the input object.
input | input object. |
mode | encoding mode. |
size | size of data (byte). |
data | a pointer to the memory area of the input data. |
0 | success. |
-1 | an error occurred and errno is set to indeicate the error. See Execptions for the details. |
ENOMEM | unable to allocate memory. |
EINVAL | input data is invalid. |
int QRinput_getVersion | ( | QRinput * | input | ) |
Get current version.
input | input object. |
int QRinput_setVersion | ( | QRinput * | input, |
int | version | ||
) |
Set version of the QR-code that is to be encoded.
input | input object. |
version | version number (0 = auto) |
0 | success. |
-1 | invalid argument. |
Get current error correction level.
input | input object. |
Set error correction level of the QR-code that is to be encoded.
input | input object. |
level | Error correction level. |
0 | success. |
-1 | invalid argument. |
void QRinput_free | ( | QRinput * | input | ) |
Free the input object.
All of data chunks in the input object are freed too.
input | input object. |
int QRinput_check | ( | QRencodeMode | mode, |
int | size, | ||
const unsigned char * | data | ||
) |
Validate the input data.
mode | encoding mode. |
size | size of data (byte). |
data | a pointer to the memory area of the input data. |
0 | success. |
-1 | invalid arguments. |
QRinput_Struct* QRinput_Struct_new | ( | void | ) |
Instantiate a set of input data object.
ENOMEM | unable to allocate memory. |
void QRinput_Struct_setParity | ( | QRinput_Struct * | s, |
unsigned char | parity | ||
) |
Set parity of structured symbols.
s | structured input object. |
parity | parity of s. |
int QRinput_Struct_appendInput | ( | QRinput_Struct * | s, |
QRinput * | input | ||
) |
Append a QRinput object to the set.
s | structured input object. |
input | an input object. |
>0 | number of input objects in the structure. |
-1 | an error occurred. See Exceptions for the details. |
ENOMEM | unable to allocate memory. |
void QRinput_Struct_free | ( | QRinput_Struct * | s | ) |
Free all of QRinput in the set.
s | a structured input object. |
QRinput_Struct* QRinput_splitQRinputToStruct | ( | QRinput * | input | ) |
Split a QRinput to QRinput_Struct.
It calculates a parity, set it, then insert structured-append headers.
input | input object. Version number and error correction level must be set. |
ERANGE | input data is too large. |
EINVAL | invalid input data. |
ENOMEM | unable to allocate memory. |
int QRinput_Struct_insertStructuredAppendHeaders | ( | QRinput_Struct * | s | ) |
Insert structured-append headers to the input structure.
It calculates a parity and set it if the parity is not set yet.
s | input structure |
0 | success. |
-1 | an error occurred and errno is set to indeicate the error. See Execptions for the details. |
EINVAL | invalid input object. |
ENOMEM | unable to allocate memory. |
Create a symbol from the input data.
input | input data. |
EINVAL | invalid input object. |
ENOMEM | unable to allocate memory for input objects. |
QRcode* QRcode_encodeString | ( | const char * | string, |
int | version, | ||
QRecLevel | level, | ||
QRencodeMode | hint, | ||
int | casesensitive | ||
) |
Create a symbol from the string.
The library automatically parses the input string and encodes in a QR Code symbol.
string | input string. It must be NULL terminated. |
version | version of the symbol. If 0, the library chooses the minimum version for the given input data. |
level | error correction level. |
hint | tell the library how non-alphanumerical characters should be encoded. If QR_MODE_KANJI is given, kanji characters will be encoded as Shif-JIS characters. If QR_MODE_8 is given, all of non-alphanumerical characters will be encoded as is. If you want to embed UTF-8 string, choose this. |
casesensitive | case-sensitive(1) or not(0). |
EINVAL | invalid input object. |
ENOMEM | unable to allocate memory for input objects. |
Same to QRcode_encodeString(), but encode whole data in 8-bit mode.
void QRcode_free | ( | QRcode * | qrcode | ) |
QRcode_List* QRcode_encodeInputStructured | ( | QRinput_Struct * | s | ) |
Create structured symbols from the input data.
s |
QRcode_List* QRcode_encodeStringStructured | ( | const char * | string, |
int | version, | ||
QRecLevel | level, | ||
QRencodeMode | hint, | ||
int | casesensitive | ||
) |
Create structured symbols from the string.
The library automatically parses the input string and encodes in a QR Code symbol.
string | input string. It should be NULL terminated. |
version | version of the symbol. |
level | error correction level. |
hint | tell the library how non-alphanumerical characters should be encoded. If QR_MODE_KANJI is given, kanji characters will be encoded as Shif-JIS characters. If QR_MODE_8 is given, all of non-alphanumerical characters will be encoded as is. If you want to embed UTF-8 string, choose this. |
casesensitive | case-sensitive(1) or not(0). |
EINVAL | invalid input object. |
ENOMEM | unable to allocate memory for input objects. |
QRcode_List* QRcode_encodeString8bitStructured | ( | const char * | string, |
int | version, | ||
QRecLevel | level | ||
) |
Same to QRcode_encodeStringStructured(), but encode whole data in 8-bit mode.
int QRcode_List_size | ( | QRcode_List * | qrlist | ) |
Return the number of symbols included in a QRcode_List.
qrlist | a head entry of a QRcode_List. |
void QRcode_List_free | ( | QRcode_List * | qrlist | ) |
Free the QRcode_List.
qrlist | a head entry of a QRcode_List. |