xref: /illumos-gate/usr/src/cmd/iconv/charmap.h (revision 1a90c98d7539778aeb0a1d20f735b66aaba17fca)
148edc7cfSGordon Ross /*
248edc7cfSGordon Ross  * This file and its contents are supplied under the terms of the
348edc7cfSGordon Ross  * Common Development and Distribution License ("CDDL"), version 1.0.
448edc7cfSGordon Ross  * You may only use this file in accordance with the terms of version
548edc7cfSGordon Ross  * 1.0 of the CDDL.
648edc7cfSGordon Ross  *
748edc7cfSGordon Ross  * A full copy of the text of the CDDL should have accompanied this
848edc7cfSGordon Ross  * source.  A copy is of the CDDL is also available via the Internet
948edc7cfSGordon Ross  * at http://www.illumos.org/license/CDDL.
1048edc7cfSGordon Ross  */
1148edc7cfSGordon Ross 
1248edc7cfSGordon Ross /*
1348edc7cfSGordon Ross  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
1448edc7cfSGordon Ross  */
1548edc7cfSGordon Ross 
1648edc7cfSGordon Ross #ifndef _CHARMAP_H
1748edc7cfSGordon Ross #define	_CHARMAP_H
1848edc7cfSGordon Ross 
1948edc7cfSGordon Ross /*
2048edc7cfSGordon Ross  * CHARMAP file handling for iconv.
2148edc7cfSGordon Ross  */
2248edc7cfSGordon Ross 
2348edc7cfSGordon Ross /* Common header files. */
2448edc7cfSGordon Ross #include <stdio.h>
2548edc7cfSGordon Ross #include <stdlib.h>
2648edc7cfSGordon Ross #include <stdarg.h>
2748edc7cfSGordon Ross #include <sys/types.h>
2848edc7cfSGordon Ross #include <libintl.h>
2948edc7cfSGordon Ross 
3048edc7cfSGordon Ross enum cmap_pass {
3148edc7cfSGordon Ross 	CMAP_PASS_FROM,
3248edc7cfSGordon Ross 	CMAP_PASS_TO
3348edc7cfSGordon Ross };
3448edc7cfSGordon Ross 
3548edc7cfSGordon Ross extern int com_char;
3648edc7cfSGordon Ross extern int esc_char;
3748edc7cfSGordon Ross extern int mb_cur_max;
3848edc7cfSGordon Ross extern int mb_cur_min;
3948edc7cfSGordon Ross extern int last_kw;
4048edc7cfSGordon Ross extern int verbose;
4148edc7cfSGordon Ross extern int yydebug;
4248edc7cfSGordon Ross extern int lineno;
4348edc7cfSGordon Ross extern int debug;
4448edc7cfSGordon Ross extern int warnings;
4548edc7cfSGordon Ross extern int cflag;
4648edc7cfSGordon Ross extern int sflag;
4748edc7cfSGordon Ross 
4848edc7cfSGordon Ross int yyparse(void);
49*1a90c98dSToomas Soome int yyerror(const char *) __NORETURN;
5048edc7cfSGordon Ross void errf(const char *, ...);
5148edc7cfSGordon Ross void warn(const char *, ...);
5248edc7cfSGordon Ross 
5348edc7cfSGordon Ross void reset_scanner(const char *);
5448edc7cfSGordon Ross void scan_to_eol(void);
5548edc7cfSGordon Ross 
5648edc7cfSGordon Ross /* charmap.c - CHARMAP handling */
5748edc7cfSGordon Ross void init_charmap(void);
5848edc7cfSGordon Ross void add_charmap(char *, char *);
5948edc7cfSGordon Ross void add_charmap_posix(void);
6048edc7cfSGordon Ross void add_charmap_range(char *, char *, char *);
6148edc7cfSGordon Ross 
6248edc7cfSGordon Ross void charmap_init(char *to, char *fr);
6348edc7cfSGordon Ross size_t cm_iconv(const char **iptr, size_t *ileft, char **optr, size_t *oleft);
6448edc7cfSGordon Ross void charmap_dump(void);
6548edc7cfSGordon Ross 
6648edc7cfSGordon Ross #define	_(x)	gettext(x)
6748edc7cfSGordon Ross 
6848edc7cfSGordon Ross #endif /* _CHARMAP_H */
69