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