1 #ifndef __TAILOR_H
2 # define __TAILOR_H
3 /*!
4 *  \file tailor.h
5 *  \brief Machine/target dependent definitions.
6 */
7 /*
8 *  Copyright (c) 2010, 2011, 2013 Free Software Foundation, Inc.
9 *  Copyright (c) 1994, 95, 96, 1997, 2000 Thomas Esken
10 *
11 *  This software doesn't claim completeness, correctness or usability.
12 *  On principle I will not be liable for ANY damages or losses (implicit
13 *  or explicit), which result from using or handling my software.
14 *  If you use this software, you agree without any exception to this
15 *  agreement, which binds you LEGALLY !!
16 *
17 *  This program is free software; you can redistribute it and/or modify
18 *  it under the terms of the `GNU General Public License' as published by
19 *  the `Free Software Foundation'; either version 3, or (at your option)
20 *  any later version.
21 *
22 *  You should have received a copy of the `GNU General Public License'
23 *  along with this program; if not, write to the:
24 *
25 */
26 
27 
28 
29 /*
30 *  $Id: tailor.h 3.01 2000/06/14 03:00:01 tom Exp $
31 */
32 
33 
34 
35 /*
36 *  SUB-include definitions header files  ;<
37 */
38 # include "defines.h"
39 # if HAVE_CONFIG_H
40 #  include <config.h>
41 # endif
42 
43 # include <unistd.h>
44 # include <stdlib.h>
45 
46 # define GCAL_NLS
47 # include <locale.h>
48 
49 # include <gettext.h>
50 
51 # define _(Str) gettext(Str)
52 # define N_(Str) (Str)
53 
54 # ifdef HAVE_LANGINFO_H
55 #  include <langinfo.h>
56 # endif
57 
58 /*
59 *  Detect the machine / os.
60 */
61 /*
62 *  Define the symbol MSDOS for MS-DOS machines.
63 */
64 # if defined(__MSDOS__) || defined(__MSDOS) || defined(_MSDOS)
65      /* Now let's define the symbol MSDOS generally. */
66 #  ifndef MSDOS
67 #   define MSDOS
68 #  endif
69 # endif
70 # if defined(__TURBOC__) || defined(__ZTC__) || defined(M_I86)
71 #  ifndef MSDOS
72        /* Now let's define the symbol MSDOS generally. */
73 #   define MSDOS
74 #  endif
75 # endif
76 /*
77 *  Define the symbol OS2 for OS/2 machines.
78 */
79 # if defined(__OS2__) || defined(__OS2) || defined(_OS2)
80        /* Now let's define the symbol OS2 generally. */
81 #  ifndef OS2
82 #   define OS2
83 #  endif
84 # endif
85 /*
86 *  Microsoft-C or Borland-C or Waterloo-C under OS/2.
87 */
88 # if defined(OS2)
89 #  if defined(MSDOS) || defined(__TURBOC__)
90 #   ifdef MSDOS
91 #    undef MSDOS
92 #   endif
93 #  endif
94 # endif
95 /*
96 *  Define the symbol LINUX for Linux machines.
97 */
98 # if defined(__LINUX__) || defined(__LINUX) || defined(_LINUX) || defined(LINUX)
99      /* Now let's define the symbol LINUX generally. */
100 #  ifndef LINUX
101 #   define LINUX
102 #  endif
103 # endif
104 # if defined(__linux__) || defined(__linux) || defined(_linux) || defined(linux)
105      /* Now let's define the symbol LINUX generally. */
106 #  ifndef LINUX
107 #   define LINUX
108 #  endif
109 # endif
110 /*
111 *  Define the symbol UNIX for UN*X machines.
112 */
113 # if defined(__UNIX__) || defined(__UNIX) || defined(_UNIX)
114      /* Now let's define the symbol UNIX generally. */
115 #  ifndef UNIX
116 #   define UNIX
117 #  endif
118 # endif
119 # if defined(__unix__) || defined(__unix) || defined(_unix) || defined(unix)
120      /* Now let's define the symbol UNIX generally. */
121 #  ifndef UNIX
122 #   define UNIX
123 #  endif
124 # endif
125 # ifdef MSDOS
126 #  ifdef UNIX
127 #   if (defined(__GNUC__) || defined(__GO32__)) && !defined(M_UNIX)
128 	 /* Now let's define the symbol DJG (DJ-GCC under MSDOS) for these machines. */
129 #    ifndef DJG
130 #     define DJG
131 #    endif
132 #   endif
133 #   undef MSDOS
134 #  else	/* !UNIX */
135 #   if defined(__i386) || defined(i386)
136 	 /* Now let's define the symbol SCO for these machines, too. */
137 #    ifndef SCO
138 #     define SCO
139 #    endif
140 #    undef MSDOS
141 #   endif
142 #  endif /* !UNIX */
143 # endif	/* !MSDOS */
144 
145 
146 
147 /*
148 *  Target specific predefines.
149 */
150 # if defined(MSDOS) || defined(DJG) || defined(WIN32)
151 #  define USE_PROTOTYPES 1
152 #  define STDC_HEADERS 1
153 #  define HAVE_ASSERT_H 1
154 #  define HAVE_CTYPE_H 1
155 #  define HAVE_ERRNO_H 1
156 #  define HAVE_SIGNAL_H 1
157 #  define HAVE_LIMITS_H 1
158 #  define HAVE_SYS_STAT_H 1
159 #  define HAVE_SYS_TYPES_H 1
160 #  define HAVE_UPPER_LOWER 1
161 #  define HAVE_ISDIGIT 1
162 #  define HAVE_ISALPHA 1
163 #  define HAVE_ISALNUM 1
164 #  define HAVE_ISSPACE 1
165 #  define HAVE_SIGNAL 1
166 #  define HAVE_STRTOL 1
167 #  define HAVE_STRSTR 1
168 #  define HAVE_STRCSPN 1
169 #  define HAVE_SYSTEM 1
170 #  define HAVE_TIME_T 1
171 #  define HAVE_VOID 1
172 #  ifdef DJG
173 #   define HAVE_UNISTD_H 1
174 #   define HAVE_MATH_H 1
175 #   define HAVE_LIBM 1
176 		   /* Directory/folder separator. */
177 #   define DIR2_SEP      "/"
178 #   if 0
179 #    define HAVE_REGEX_H 1
180 #    define HAVE_GNU_RE_COMPILE_PATTERN 1
181 #   endif /* 0 */
182 #  else	/* !DJG */
183 #   include <io.h>
184 #   define HD_TOP20CC 1
185 #  endif /* !DJG */
186 #  if USE_PAGER
187 		   /* Default number of terminal rows. */
188 #   define SCREEN_ROWS   25
189 #  endif
190 		 /* Disk/Drive separator. */
191 #  define DISK_SEP      ":"
192 		 /* Directory/folder separator. */
193 #  define DIR_SEP       "\\"
194 		 /* Path separator. */
195 #  define PATH_SEP      ";"
196 # else /* !MSDOS && !DJG && !WIN32 */
197 #  if defined(OS2)
198 #   define USE_PROTOTYPES 1
199 #   if !defined(__GNUC__) && !defined(__EMX__)
200 #    define STDC_HEADERS 1
201 #    define HAVE_ASSERT_H 1
202 #    define HAVE_CTYPE_H 1
203 #    define HAVE_ERRNO_H 1
204 #    define HAVE_LIMITS_H 1
205 #    define HAVE_SIGNAL_H 1
206 #    define HAVE_SYS_STAT_H 1
207 #    define HAVE_SYS_TYPES_H 1
208 #    define HAVE_UPPER_LOWER 1
209 #    define HAVE_ISDIGIT 1
210 #    define HAVE_ISALPHA 1
211 #    define HAVE_ISALNUM 1
212 #    define HAVE_ISSPACE 1
213 #    define HAVE_SIGNAL 1
214 #    define HAVE_STRTOL 1
215 #    define HAVE_STRSTR 1
216 #    define HAVE_STRCSPN 1
217 #    define HAVE_SYSTEM 1
218 #    define HAVE_TIME_T 1
219 #    define HAVE_VOID 1
220 #   endif /* !__GCC__ && !__EMX__ */
221 #   if 0
222 #    define HAVE_REGEX_H 1
223 #    define HAVE_GNU_RE_COMPILE_PATTERN 1
224 #    define HAVE_MATH_H 1
225 #    define HAVE_LIBM 1
226 #    define HAVE_LIBTERMCAP 1
227 #    define HAVE_TERMCAP_H 1
228 #    define HAVE_TERMIOS_H 1
229 #    define HAVE_TERMIOS_FUNCS 1
230 #    define HAVE_UNISTD_H 1
231 #    define HAVE_FCNTL_H 1
232 #    define HAVE_SYS_IOCTL_H 1
233 #    define HAVE_SYS_STREAM_H 1
234 #    define HAVE_SYS_TIME_H 1
235 #    define HAVE_SYS_WAIT_H 1
236 #    define HAVE_DUP 1
237 #    define HAVE_DUP2 1
238 #    define HAVE_STRCHR 1
239 #    define HAVE_STRRCHR 1
240 #   endif /* 0 */
241 #   include <io.h>
242 #   if USE_PAGER
243 		   /* Default number of terminal rows. */
244 #    define SCREEN_ROWS   25
245 #   endif
246 		 /* Disk/Drive separator. */
247 #   define DISK_SEP      ":"
248 		 /* Directory/folder separator. */
249 #   define DIR_SEP       "\\"
250 		 /* Path separator. */
251 #   define PATH_SEP      ";"
252 #   ifdef __GNUC__
253 		   /* Environment variable holding path to termcap data base file. */
254 #    define ENV_VAR_TCAP  "TERMCAP"
255 		   /* Name of termcap database file. */
256 #    define FNAME_TCAP    "termcap.dat"
257 		   /* Name of default terminal type. */
258 #    define DFLT_TERM     "ansi"
259 #   endif
260 #  else	/* !OS2 */
261 #   if defined(ACORN)
262 #    define USE_PROTOTYPES 1
263 #    define STDC_HEADERS 1
264 #    define HAVE_ASSERT_H 1
265 #    define HAVE_CTYPE_H 1
266 #    define HAVE_ERRNO_H 1
267 #    define HAVE_LIMITS_H 1
268 #    define HAVE_SIGNAL_H 1
269 #    define HAVE_SYS_STAT_H 1
270 #    define HAVE_SYS_TYPES_H 1
271 #    define HAVE_UPPER_LOWER 1
272 #    define HAVE_ISDIGIT 1
273 #    define HAVE_ISALPHA 1
274 #    define HAVE_ISALNUM 1
275 #    define HAVE_ISSPACE 1
276 #    define HAVE_SIGNAL 1
277 #    define HAVE_STRTOL 1
278 #    define HAVE_STRSTR 1
279 #    define HAVE_STRCSPN 1
280 #    define HAVE_TIME_T 1
281 #    define HAVE_VOID 1
282 		 /* Disk/Drive separator. */
283 #    define DISK_SEP      "$"
284 		 /* Directory/Folder separator. */
285 #    define DIR_SEP       "."
286 		 /* Path separator. */
287 #    define PATH_SEP      ","
288 		 /* Name of program search path environment variable. */
289 #    define ENV_VAR_PATH  "Run$Path"
290 #    ifdef __GNUC__
291 #     define HAVE_UNISTD_H 1
292 #     if 0
293 #      define HAVE_REGEX_H 1
294 #      define HAVE_GNU_RE_COMPILE_PATTERN 1
295 #     endif /* 0 */
296 #    endif /* !__GNUC__ */
297 #   else /* !ACORN */
298 #    if defined(AMIGA)
299 #     define USE_PROTOTYPES 1
300 #     define STDC_HEADERS 1
301 #     define HAVE_ASSERT_H 1
302 #     define HAVE_CTYPE_H 1
303 #     define HAVE_ERRNO_H 1
304 #     define HAVE_LIMITS_H 1
305 #     define HAVE_SIGNAL_H 1
306 #     define HAVE_SYS_TYPES_H 1
307 #     define HAVE_UPPER_LOWER 1
308 #     define HAVE_ISDIGIT 1
309 #     define HAVE_ISALPHA 1
310 #     define HAVE_ISALNUM 1
311 #     define HAVE_ISSPACE 1
312 #     define HAVE_SIGNAL 1
313 #     define HAVE_STRTOL 1
314 #     define HAVE_STRSTR 1
315 #     define HAVE_STRCSPN 1
316 #     define HAVE_TIME_T 1
317 #     define HAVE_VOID 1
318 #     ifdef __GNUC__
319 #      define HAVE_UNISTD_H 1
320 #      if 0
321 #       define HAVE_REGEX_H 1
322 #       define HAVE_GNU_RE_COMPILE_PATTERN 1
323 #      endif /* 0 */
324 #     endif /* !__GNUC__ */
325 #    else /* !AMIGA */
326 #     if defined(ATARI)
327 #      define USE_PROTOTYPES 1
328 #      ifdef __GNUC__
329 #       ifndef STDC_HEADERS
330 #        define STDC_HEADERS 1
331 #       endif
332 #       define HAVE_UNISTD_H 1
333 #       if 0
334 #        define HAVE_REGEX_H 1
335 #        define HAVE_GNU_RE_COMPILE_PATTERN 1
336 #       endif /* 0 */
337 #      else /* !__GNUC__ */
338 #       define STDC_HEADERS 1
339 #      endif /* !__GNUC__ */
340 #      define HAVE_ASSERT_H 1
341 #      define HAVE_CTYPE_H 1
342 #      define HAVE_ERRNO_H 1
343 #      define HAVE_LIMITS_H 1
344 #      define HAVE_SIGNAL_H 1
345 #      define HAVE_SYS_STAT_H 1
346 #      define HAVE_SYS_TYPES_H 1
347 #      define HAVE_UPPER_LOWER 1
348 #      define HAVE_ISDIGIT 1
349 #      define HAVE_ISALPHA 1
350 #      define HAVE_ISALNUM 1
351 #      define HAVE_ISSPACE 1
352 #      define HAVE_SIGNAL 1
353 #      define HAVE_STRTOL 1
354 #      define HAVE_STRSTR 1
355 #      define HAVE_STRCSPN 1
356 #      define HAVE_TIME_T 1
357 #      define HAVE_VOID 1
358 		 /* Directory/folder separator. */
359 #      define DIR_SEP       "\\"
360 		 /* Path separator. */
361 #      define PATH_SEP      ","
362 #     else /* !ATARI */
363 #      if defined(__50SERIES) || defined(PRIMOS)
364 		 /* Prime/PRIMOS. */
365 #       define USE_PROTOTYPES 1
366 #       define STDC_HEADERS 1
367 #       define HAVE_ASSERT_H 1
368 #       define HAVE_CTYPE_H 1
369 #       define HAVE_ERRNO_H 1
370 #       define HAVE_LIMITS_H 1
371 #       define HAVE_SIGNAL_H 1
372 #       define HAVE_SYS_STAT_H 1
373 #       define HAVE_SYS_TYPES_H 1
374 #       define HAVE_UPPER_LOWER 1
375 #       define HAVE_ISDIGIT 1
376 #       define HAVE_ISALPHA 1
377 #       define HAVE_ISALNUM 1
378 #       define HAVE_ISSPACE 1
379 #       define HAVE_SIGNAL 1
380 #       define HAVE_STRTOL 1
381 #       define HAVE_STRSTR 1
382 #       define HAVE_STRCSPN 1
383 #       define HAVE_TIME_T 1
384 #       define HAVE_VOID 1
385 		 /* Directory/folder separator. */
386 #       define DIR_SEP       ">"
387 #      else /* !__50SERIES */
388 #       if defined(VAXC) || defined(VMS)
389 		 /* DEC Vax. */
390 		 /* Now let's define the symbol UNIX as default. */
391 #        ifndef UNIX
392 #         define UNIX
393 #        endif
394 #        define USE_PROTOTYPES 1
395 #        ifdef __GNUC__
396 #         define HAVE_REGEX_H 1
397 #         define HAVE_GNU_RE_COMPILE_PATTERN 1
398 #        else /* !__GNUC__ */
399 #        endif /* !__GNUC__ */
400 #        define STDC_HEADERS 1
401 #        define HAVE_ASSERT_H 1
402 #        define HAVE_CTYPE_H 1
403 #        define HAVE_ERRNO_H 1
404 #        define HAVE_LIMITS_H 1
405 #        define HAVE_SIGNAL_H 1
406 #        define HAVE_SYS_STAT_H 1
407 #        define HAVE_SYS_TYPES_H 1
408 #        define HAVE_UPPER_LOWER 1
409 #        define HAVE_ISDIGIT 1
410 #        define HAVE_ISALPHA 1
411 #        define HAVE_ISALNUM 1
412 #        define HAVE_ISSPACE 1
413 #        define HAVE_SIGNAL 1
414 #        define HAVE_STRTOL 1
415 #        define HAVE_STRSTR 1
416 #        define HAVE_STRCSPN 1
417 #        define HAVE_SYSTEM 1
418 #        define HAVE_TIME_T 1
419 #        define HAVE_VOID 1
420 #        ifdef VAXC
421 #         include <unixio.h>
422 #        endif
423 		 /* Disk/Drive separator. */
424 #        define DISK_SEP       ":"
425 		 /* Directory/folder separator. */
426 #        define DIR_SEP        "]"
427 		 /* Suffix (version number) separator. */
428 #        define SUFFIX_SEP     ";"
429 		 /* Name of programs default options variable. */
430 #        define ENV_VAR_GCAL   "GCAL_OPT"
431 #        ifndef unlink
432 #         define unlink(file)  delete((file))
433 #        endif
434 #       else
435 		 /*
436 		    default: UNIX.  Let `configure' detect what's in store .)
437 		    Now let's define the symbol UNIX (NOT GNU or RMS, hehe) as default.
438 		  */
439 #        ifndef UNIX
440 #         define UNIX
441 #        endif
442 #       endif /* default: UNIX */
443 #      endif /* !__50SERIES */
444 #     endif /* !ATARI */
445 #    endif /* !AMIGA */
446 #   endif /* !ACORN */
447 #  endif /* !OS2 */
448 # endif	/* !MSDOS && !DJG && !WIN32 */
449 
450 /*
451 *  Compiler specific macro for prototyping.
452 */
453 # ifndef __P_
454 #  if (defined(__STDC__) && __STDC__) || defined(__cplusplus) || USE_PROTOTYPES
455 #   define __P_(gc_proto)  gc_proto
456 #  else	/* !__STDC__ && !__cplusplus && !USE_PROTOTYPES */
457 #   define __P_(gc_proto)  ()
458 #  endif /* !__STDC__ && !__cplusplus && !USE_PROTOTYPES */
459 # endif
460 
461 
462 
463 /*
464 *  Function prototype begin and end declarations.
465 */
466 # ifdef __cplusplus
467 #  ifndef __BEGIN_DECLARATIONS
468 #   define __BEGIN_DECLARATIONS  extern "C" {
469 #  endif
470 #  ifndef __END_DECLARATIONS
471 #   define __END_DECLARATIONS    }
472 #  endif
473 # else /* !__cplusplus */
474 #  ifndef __BEGIN_DECLARATIONS
475 #   define __BEGIN_DECLARATIONS
476 #  endif
477 #  ifndef __END_DECLARATIONS
478 #   define __END_DECLARATIONS
479 #  endif
480 # endif	/* !__cplusplus */
481 
482 
483 
484 /*
485 *  Action specific preprocessor constants.
486 */
487 /*
488 *  Termcap action is only allowed on these systems.
489 */
490 # ifndef DJG
491 #  if defined(UNIX) || (defined(OS2) && defined(__GNUC__))
492 #   if HAVE_TTYLIBS
493 #    define GCAL_TCAP
494 #   endif
495 #  endif
496 # endif
497 
498 /*!
499 *  Writing a shell script is only allowed on these systems.
500 */
501 # if defined(UNIX) && !defined(DJG)
502 #  define GCAL_SHELL
503 # endif
504 
505 /*!
506 *  Using an external pager is only allowed on these systems.
507 */
508 # if defined(UNIX) && !defined(DJG) && USE_PAGER
509 #  define GCAL_EPAGER
510 # endif
511 
512 /*!
513 *  Email option is only allowed on these systems.
514 */
515 # if defined(__GNUC__) || defined(UNIX) || defined(OS2) || defined(MSDOS) || defined(DJG) || defined(WIN32)
516 #  define GCAL_EMAIL
517 # endif
518 
519 
520 
521 /*
522 *  Target specific preprocessor statements.
523 */
524 # ifdef GCAL_TCAP
525 /* Name of terminal mode/type environment varable. */
526 #  ifndef ENV_VAR_TERM
527 #   define ENV_VAR_TERM  "TERM"
528 #  endif
529 # endif
530 
531 # ifdef GCAL_SHELL
532 /*! The comment character used by shell scripts. */
533 #  define SHL_REM  "#"
534 
535 /*! The escape character used by shell scripts. */
536 #  define SHL_ESC       "\\"
537 
538 /*! Name of default `chmod' program. */
539 #  ifndef CHMOD_PRGR
540 #   define CHMOD_PRGR  "chmod"
541 #  endif
542 
543 /*! Make created shell script executable for all users. */
544 #  define CHMOD_OPTS  "+x"
545 
546 /*! ID for the first line of a shell script. */
547 #  if HAVE_SYS_INTERPRETER && !defined(SHELL)
548 #   define SHELL  "! /bin/sh"
549 #  endif
550 # endif
551 
552 # ifdef GCAL_EMAIL
553 /*! Input redirection symbol. */
554 #  ifndef REDIRECT_IN
555 #   define REDIRECT_IN        "<"
556 #  endif
557 
558 /*! Stores the name of default mailer program in environment. */
559 #  ifndef ENV_VAR_MAILPROG
560 #   define ENV_VAR_MAILPROG  "MAILPROG"
561 #  endif
562 
563 /*! Name of default eMail address environment variable 1. */
564 #  ifndef ENV_VAR_MAILTO
565 #   define ENV_VAR_MAILTO    "MAILTO"
566 #  endif
567 
568 /*! Name of default eMail address environment variable 2. */
569 #  ifndef ENV_VAR_USER
570 #   define ENV_VAR_USER      "USER"
571 #  endif
572 
573 /*! Name of default eMail address environment variable 3. */
574 #  ifndef ENV_VAR_LOGNAME
575 #   define ENV_VAR_LOGNAME   "LOGNAME"
576 #  endif
577 
578 /*! Name of default mailer if $MAILPROG is not set. */
579 #  ifndef MAIL_PRGR
580 #   define MAIL_PRGR         "mail"
581 #  endif
582 # endif	/* GCAL_EMAIL */
583 
584 
585 
586 # if USE_RC || defined(GCAL_EMAIL)
587 /* The proper function for a temporary file name according to used target system. */
588 #  ifdef MSDOS
589 #   define TMPFILENAME  tempnam(NULL, NULL)
590 #  else	/* !MSDOS */
591 # include <tmpdir.h>
592 # include <stdio.h>
593 
594 static char __buftmpfn[2048];
_tmpfn()595 static char *_tmpfn ()
596 {
597   int fd;
598   if (path_search (__buftmpfn, sizeof (__buftmpfn), NULL, "gcal", false) < 0)
599     return NULL;
600 
601   fd = mkostemp (__buftmpfn, 0);
602   if (fd < 0)
603     return NULL;
604 
605   close (fd);
606   return __buftmpfn;
607 }
608 
609 #   define TMPFILENAME  _tmpfn ()
610 #  endif /* !MSDOS */
611 # endif	/* GCAL_EMAIL || USE_RC */
612 
613 
614 
615 /*! Default number of terminal columns, unconditional. */
616 # ifndef SCREEN_COLS
617 #  define SCREEN_COLS   80
618 # endif
619 
620 
621 
622 # if USE_PAGER
623 /*! Default number of terminal rows. */
624 #  ifndef SCREEN_ROWS
625 #   define SCREEN_ROWS    24
626 #  endif
627 
628 #  ifdef GCAL_EPAGER
629 /*! Name of external pager program environment variable. */
630 #   define ENV_VAR_PAGER  "PAGER"
631 
632 /*! Name of preferred external pager program. */
633 #   ifndef PAGER1_PROG
634 #    define PAGER1_PROG    "less"
635 #   endif
636 
637 /*! Name of alternative external pager program. */
638 #   ifndef PAGER2_PROG
639 #    define PAGER2_PROG    "more"
640 #   endif
641 
642 /*! Name of second alternative external pager program. */
643 #   ifndef PAGER3_PROG
644 #    define PAGER3_PROG    "pg"
645 #   endif
646 #  endif /* GCAL_EPAGER */
647 # endif	/* USE_PAGER */
648 
649 
650 
651 # ifdef GCAL_NLS
652 /*! Name of first used national language environment variable. */
653 #  define ENV_VAR_LANGUAGE     "LANGUAGE"
654 
655 /*! Name of second used national language environment variable. */
656 #  define ENV_VAR_LC_ALL       "LC_ALL"
657 
658 /*! Name of third used national language environment variable. */
659 #  if HAVE_LC_MESSAGES
660 #   define ENV_VAR_LC_MESSAGES  "LC_MESSAGES"
661 #  endif
662 
663 /*! Name of fourth used national language environment variable. */
664 #  define ENV_VAR_LANG         "LANG"
665 # endif
666 
667 
668 
669 /*! The character used to specify the actual directory folder. */
670 # ifndef ACTUAL_DIR
671 #  define ACTUAL_DIR    "."
672 # endif
673 
674 /*! Default directory/folder separator. */
675 # ifndef DIR_SEP
676 #  define DIR_SEP       "/"
677 # endif
678 
679 /*! Default path separator. */
680 # ifndef PATH_SEP
681 #  define PATH_SEP      ":"
682 # endif
683 
684 /*! Name of home directory environment variable. */
685 # ifndef ENV_VAR_HOME
686 #  define ENV_VAR_HOME  "HOME"
687 # endif
688 
689 /*! Name of program search path environment variable. */
690 # ifndef ENV_VAR_PATH
691 #  define ENV_VAR_PATH  "PATH"
692 # endif
693 
694 /*! Name of data search path environment variable. */
695 # ifndef ENV_VAR_GCALPATH
696 #  define ENV_VAR_GCALPATH  "GCALPATH"
697 # endif
698 
699 /*! Name of programs default options variable. */
700 # ifndef ENV_VAR_GCAL
701 #  define ENV_VAR_GCAL  "GCAL"
702 # endif
703 
704 /*! Name of variable for setting ANSI-sequences to default. */
705 # ifndef ENV_VAR_GCALANSI
706 #  define ENV_VAR_GCALANSI  "GCALANSI"
707 # endif
708 
709 /*! Name of variable for ordering the date. */
710 # ifndef ENV_VAR_GCAL_DATE_FORMAT
711 #  define ENV_VAR_GCAL_DATE_FORMAT  "GCAL_DATE_FORMAT"
712 # endif
713 
714 
715 
716 /*
717 *  Define how the German `Umlaute' letters and other accent characters
718 *    are displayed and how the default marking characters are displayed.
719 */
720 # if USE_EASC
721 #  if defined(NeXT)
722 	   /* NeXTstep character set. */
723 #   define AE          "\303"
724 #   define OE          "\324"
725 #   define UE          "\300"
726 #   define SZ          "\222"
727 #   define AAE         "\316"
728 #   define OOE         "\333"
729 #   define UUE         "\232"
730 #   define ARA         "\251"
731 #   define ERA_M       "\301"
732 #   define ELA         "\312"
733 #   define ADG         "\302"
734 #   define EDG         "\310"
735 #   define ODG         "\323"
736 #   define CD          "\200"
737 	   /* Marking character 1 start (current day). */
738 #   define BUF_HLS1S   "<"
739 	   /* Marking character 1 end (current day). */
740 #   define BUF_HLS1E   ">"
741 	   /* Marking character 2 start (holiday). */
742 #   define BUF_HLS2S   ":"
743 	   /* Marking character 2 end (holiday). */
744 #   define BUF_HLS2E   ":"
745 #  else
746 #   if defined(ATARI)
747 	   /* Atari character set. */
748 #    define AE          "\204"
749 #    define OE          "\224"
750 #    define UE          "\201"
751 #    define SZ          "\377"
752 #    define AAE         "\216"
753 #    define OOE         "\231"
754 #    define UUE         "\232"
755 #    define ARA         "\240"
756 #    define ERA_M       "\202"
757 #    define ELA         "\212"
758 #    define ADG         "\203"
759 #    define EDG         "\210"
760 #    define ODG         "\223"
761 #    define CD          "\207"
762 	   /* Marking character 1 start (current day). */
763 #    define BUF_HLS1S   "<"
764 	   /* Marking character 1 end (current day). */
765 #    define BUF_HLS1E   ">"
766 	   /* Marking character 2 start (holiday). */
767 #    define BUF_HLS2S   ":"
768 	   /* Marking character 2 end (holiday). */
769 #    define BUF_HLS2E   ":"
770 #   else
771 #    if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(SCO) || defined(COHERENT)
772 	   /* IBM PC character set. */
773 #     define AE          "\204"
774 #     define OE          "\224"
775 #     define UE          "\201"
776 #     define SZ          "\341"
777 #     define AAE         "\216"
778 #     define OOE         "\231"
779 #     define UUE         "\232"
780 #     define ARA         "\240"
781 #     define ERA_M       "\202"
782 #     define ELA         "\212"
783 #     define ADG         "\203"
784 #     define EDG         "\210"
785 #     define ODG         "\223"
786 #     define CD          "\207"
787 	   /*! Marking character 1 start (current day). */
788 #     define BUF_HLS1S   "\021"
789 	   /*! Marking character 1 end (current day). */
790 #     define BUF_HLS1E   "\020"
791 	   /*! Marking character 2 start (holiday). */
792 #     define BUF_HLS2S   "\256"
793 	   /*! Marking character 2 end (holiday). */
794 #     define BUF_HLS2E   "\257"
795 #    else /* !IBM PC character set. */
796 	   /* (defined(UNIX) && !defined(SCO) && !defined(COHERENT) && !defined(NeXT)) || defined(AMIGA) || ... */
797 	   /* ISO Latin-1 character set. */
798 #     define AE          "\344"
799 #     define OE          "\366"
800 #     define UE          "\374"
801 #     define SZ          "\337"
802 #     define AAE         "\304"
803 #     define OOE         "\326"
804 #     define UUE         "\334"
805 #     define ARA         "\301"
806 #     define ERA_M       "\351"
807 #     define ELA         "\350"
808 #     define ADG         "\342"
809 #     define EDG         "\352"
810 #     define ODG         "\364"
811 #     define CD          "\347"
812 	   /*! Marking character 1 start (current day). */
813 #     define BUF_HLS1S   "<"
814 	   /*! Marking character 1 end (current day). */
815 #     define BUF_HLS1E   ">"
816 	   /*! Marking character 2 start (holiday). */
817 #     define BUF_HLS2S   ":"
818 	   /*! Marking character 2 end (holiday). */
819 #     define BUF_HLS2E   ":"
820 #    endif /* !IBM PC character set. */
821 #   endif /* Atari character set. */
822 #  endif /* NeXTstep character set. */
823 # else /* !USE_EASC */
824 #  define AE          "\"a"
825 #  define OE          "\"o"
826 #  define UE          "\"e"
827 #  define SZ          "ss"
828 #  define AAE         "\"A"
829 #  define OOE         "\"O"
830 #  define UUE         "\"U"
831 #  define ARA         "'a"
832 #  define ERA_M       "'e"
833 #  define ELA         "`e"
834 #  define ADG         "^a"
835 #  define EDG         "^e"
836 #  define ODG         "^o"
837 #  define CD          ",c"
838      /*! Marking character 1 start (current day). */
839 #  define BUF_HLS1S    "<"
840      /*! Marking character 1 end (current day). */
841 #  define BUF_HLS1E    ">"
842      /*! Marking character 2 start (holiday). */
843 #  define BUF_HLS2S    ":"
844      /*! Marking character 2 end (holiday). */
845 #  define BUF_HLS2E    ":"
846 # endif	/* !USE_EASC */
847 
848 
849 
850 /*
851 *  Define the default highlighting sequences.
852 */
853 # if USE_HLS
854 #  if defined(MSDOS) || defined(OS2) || defined(LINUX) || defined(DJG)
855        /*! Highlighting sequence 1 start (current day). */
856 #   define HLS1S  "\033[1m"
857        /*! Highlighting sequence 2 start (holiday). */
858 #   define HLS2S  "\033[36m"
859 #  else	/* !MSDOS && !OS2 && !LINUX && !DJG */
860        /*! Highlighting sequence 1 start (current day). */
861 #   define HLS1S  "\033[7m"
862        /*! Highlighting sequence 2 start (holiday). */
863 #   define HLS2S  "\033[1m"
864 #  endif /* !MSDOS && !OS2 && !LINUX && !DJG */
865      /*! Highlighting sequence 1 end (current day). */
866 #  define HLS1E       "\033[0m"
867      /*! Highlighting sequence 2 end (holiday). */
868 #  define HLS2E       "\033[0m"
869      /*! Termcap mode character HLS 1 start (current day). */
870 #  define TC_MC_HL1S  "mr"
871      /*! Termcap mode character HLS 1 end (current day). */
872 #  define TC_MC_HL1E  "me"
873      /*! Termcap mode character HLS 2 start (holiday). */
874 #  define TC_MC_HL2S  "md"
875      /*! Termcap mode character HLS 2 end (holiday). */
876 #  define TC_MC_HL2E  "me"
877 # else /* !USE_HLS */
878      /*! Highlighting sequence 1 start (current day). */
879 #  define HLS1S       BUF_HLS1S
880      /*! Highlighting sequence 1 end (current day). */
881 #  define HLS1E       BUF_HLS1E
882      /*! Highlighting sequence 2 start (holiday). */
883 #  define HLS2S       BUF_HLS2S
884      /*! Highlighting sequence 2 end (holiday). */
885 #  define HLS2E       BUF_HLS2E
886 # endif	/* !USE_HLS */
887 /*! Maximum number of termcap mode chars/single HL sequences used. */
888 # define TC_MC_MAX  4
889 /*! Print blank character if highlighting is disabled. */
890 # define NO_HLS  " "
891 
892 #endif /* __TAILOR_H */
893