1 ///////////////////////////////////////////////////////////////////////////////
3 // common defines and typedefs, part of wmail
5 // Copyright 2000-2002, Sven Geisenhainer <sveng@informatik.uni-jena.de>.
6 // Copyright 2016-2017, Doug Torrance <dtorrance@piedmont.edu>.
7 // Copyright 2019, Jeremy Sowden <jeremy@azazel.net>.
9 // Redistribution and use in source and binary forms, with or without
10 // modification, are permitted provided that the following conditions
12 // 1. Redistributions of source code must retain the above copyright
13 // notice, this list of conditions, and the following disclaimer.
14 // 2. Redistributions in binary form must reproduce the above copyright
15 // notice, this list of conditions, and the following disclaimer in the
16 // documentation and/or other materials provided with the distribution.
17 // 3. The name of the author may not be used to endorse or promote products
18 // derived from this software without specific prior written permission.
20 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 #ifndef _COMMON_H_fdda99de15ce3f21ce7faf607a5b4985_
33 #define _COMMON_H_fdda99de15ce3f21ce7faf607a5b4985_
36 ///////////////////////////////////////////////////////////////////////////////
40 #define WMAIL_DISPLAY ""
42 // ticker scroll frame rate per seconds
45 // default mail check interval in seconds
46 #define WMAIL_CHECK_INTERVAL 1
48 // default client-button command
49 #define WMAIL_CLIENT_CMD "xterm -e mail"
51 // filename of the checksum-file
52 #define WMAIL_CHECKSUM_FILE ".wmail-cksums"
54 // filename of the config-file
55 #define WMAIL_RC_FILE ".wmailrc"
57 #define WMAIL_READSTATUS "O"
59 ///////////////////////////////////////////////////////////////////////////////
69 # define _Bool signed char
75 # define __bool_true_false_are_defined 1
79 ///////////////////////////////////////////////////////////////////////////////
82 void ABORT( const char *fmt
, ... );
83 void WARNING( const char *fmt
, ... );
84 char *MakePathName( const char *dir
, const char *file
);
88 void TRACE( const char *fmt
, ... );
89 #define ASSERT( EXPR ) do { \
91 ABORT( "%s(%i): Assertion failed: \"%s\"\n", \
92 __FILE__, __LINE__, #EXPR ); \
97 #define TRACE( fmt... )
98 #define ASSERT( EXPR )
102 #define PREFIX_MATCHES(S, P, CS) ( CS ? strncmp : strncasecmp ) ( (S), (P), sizeof (P) - 1) == 0