2008-07-13 21:15:55 +00:00
/* common.h - Header for all common functions in common.c */
/*
libzint - the open source barcode library
2017-05-11 21:14:38 +01:00
Copyright ( C ) 2009 - 2017 Robin Stuart < rstuart114 @ gmail . com >
2013-05-16 19:26:38 +02:00
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions
are met :
2016-02-20 09:38:03 +00:00
1. Redistributions of source code must retain the above copyright
notice , this list of conditions and the following disclaimer .
2013-05-16 19:26:38 +02:00
2. Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in the
2016-02-20 09:38:03 +00:00
documentation and / or other materials provided with the distribution .
2013-05-16 19:26:38 +02:00
3. Neither the name of the project nor the names of its contributors
may be used to endorse or promote products derived from this software
2016-02-20 09:38:03 +00:00
without specific prior written permission .
2013-05-16 19:26:38 +02:00
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS " AS IS " AND
ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT
LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY
2016-02-20 09:38:03 +00:00
OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF
2013-05-16 19:26:38 +02:00
SUCH DAMAGE .
2016-02-20 09:38:03 +00:00
*/
2008-07-13 21:15:55 +00:00
/* Used in some logic */
2009-06-02 20:23:38 +00:00
# ifndef __COMMON_H
# define __COMMON_H
# ifndef FALSE
2008-07-13 21:15:55 +00:00
# define FALSE 0
2009-06-02 20:23:38 +00:00
# endif
# ifndef TRUE
2008-07-13 21:15:55 +00:00
# define TRUE 1
2009-06-02 20:23:38 +00:00
# endif
2008-07-13 21:15:55 +00:00
/* The most commonly used set */
2009-10-06 19:03:00 +00:00
# define NEON "0123456789"
2008-07-13 21:15:55 +00:00
# include "zint.h"
2016-09-05 22:06:50 +01:00
# include <stdlib.h>
# define ustrcpy(target,source) strcpy((char*)target,(const char*)source)
2008-07-13 21:15:55 +00:00
2009-06-02 20:23:38 +00:00
# ifdef __cplusplus
2016-02-20 09:38:03 +00:00
extern " C " {
2009-06-02 20:23:38 +00:00
# endif /* __cplusplus */
2017-09-10 12:03:09 -03:00
extern size_t ustrlen ( const unsigned char data [ ] ) ;
2016-02-29 19:42:32 +00:00
extern int ctoi ( const char source ) ;
extern char itoc ( const int source ) ;
2016-02-20 09:38:03 +00:00
extern void to_upper ( unsigned char source [ ] ) ;
2016-09-05 22:06:50 +01:00
extern int is_sane ( const char test_string [ ] , const unsigned char source [ ] , const size_t length ) ;
2016-04-06 22:55:14 +02:00
extern void lookup ( const char set_string [ ] , const char * table [ ] , const char data , char dest [ ] ) ;
2017-07-21 15:16:23 +02:00
extern void bin_append ( const int arg , const int length , char * binary ) ;
2016-04-06 22:55:14 +02:00
extern int posn ( const char set_string [ ] , const char data ) ;
2016-02-29 19:42:32 +00:00
extern int module_is_set ( const struct zint_symbol * symbol , const int y_coord , const int x_coord ) ;
extern void set_module ( struct zint_symbol * symbol , const int y_coord , const int x_coord ) ;
2017-06-13 21:05:35 +02:00
extern int istwodigits ( const unsigned char source [ ] , const size_t position ) ;
2016-02-29 19:42:32 +00:00
extern int parunmodd ( const unsigned char llyth ) ;
2017-05-29 10:43:47 +01:00
extern void expand ( struct zint_symbol * symbol , const char data [ ] ) ;
extern void unset_module ( struct zint_symbol * symbol , const int y_coord , const int x_coord ) ;
extern int is_stackable ( const int symbology ) ;
extern int is_extendable ( const int symbology ) ;
extern int utf8toutf16 ( struct zint_symbol * symbol , const unsigned char source [ ] , int vals [ ] , size_t * length ) ;
extern void set_minimum_height ( struct zint_symbol * symbol , const int min_height ) ;
2009-06-02 20:23:38 +00:00
# ifdef __cplusplus
}
# endif /* __cplusplus */
2009-02-19 19:09:57 +00:00
2009-06-02 20:23:38 +00:00
# endif /* __COMMON_H */