1a8fdb4bcSmrg/*
2a8fdb4bcSmrgCopyright (c) 2001 by Juliusz Chroboczek
3a8fdb4bcSmrg
4a8fdb4bcSmrgPermission is hereby granted, free of charge, to any person obtaining a copy
5a8fdb4bcSmrgof this software and associated documentation files (the "Software"), to deal
6a8fdb4bcSmrgin the Software without restriction, including without limitation the rights
7a8fdb4bcSmrgto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8a8fdb4bcSmrgcopies of the Software, and to permit persons to whom the Software is
9a8fdb4bcSmrgfurnished to do so, subject to the following conditions:
10a8fdb4bcSmrg
11a8fdb4bcSmrgThe above copyright notice and this permission notice shall be included in
12a8fdb4bcSmrgall copies or substantial portions of the Software.
13a8fdb4bcSmrg
14a8fdb4bcSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15a8fdb4bcSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16a8fdb4bcSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17a8fdb4bcSmrgAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18a8fdb4bcSmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19a8fdb4bcSmrgOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20a8fdb4bcSmrgTHE SOFTWARE.
21a8fdb4bcSmrg*/
22a8fdb4bcSmrg
2377683534Smrg#ifndef LUIT_LUIT_H
2477683534Smrg#define LUIT_LUIT_H 1
2577683534Smrg
2677683534Smrgextern const char *locale_alias;
27a8fdb4bcSmrgextern int iso2022;
28a8fdb4bcSmrgextern int verbose;
29a8fdb4bcSmrgextern int sevenbit;
30a8fdb4bcSmrgextern int ilog;
31a8fdb4bcSmrgextern int olog;
32a8fdb4bcSmrg
334ed31819Smrg/* Not using Xfuncproto.h since that would pull in extra dependencies */
344ed31819Smrg#if (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \
354ed31819Smrg        || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
364ed31819Smrg# define LUIT_NORETURN __attribute__((noreturn))
374ed31819Smrg#else
384ed31819Smrg# define LUIT_NORETURN /* nothing */
394ed31819Smrg#endif
404ed31819Smrg
414ed31819Smrg#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203)
424ed31819Smrg# define LUIT_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
434ed31819Smrg#else /* not gcc >= 2.3 */
444ed31819Smrg# define LUIT_PRINTF(x,y) /* nothing */
454ed31819Smrg#endif
464ed31819Smrg
474ed31819Smrgvoid child(char *, char *, char *const *) LUIT_NORETURN;
48a8fdb4bcSmrgvoid parent(int, int);
49a8fdb4bcSmrg
504ed31819Smrgvoid ErrorF(const char *f,...) LUIT_PRINTF(1,2);
514ed31819Smrg
524ed31819Smrgvoid FatalError(const char *f,...) LUIT_NORETURN LUIT_PRINTF(1,2);
534ed31819Smrg
5477683534Smrg#endif /* LUIT_LUIT_H */
55