everything: shotgun attempt to put PROTO_WS and PROTO_WSS across core and in modules...
[sip-router] / endianness.c
1 /* 
2  * $Id$
3  * 
4  * Copyright (C) 2008 iptelorg GmbH
5  *
6  * Permission to use, copy, modify, and distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 /*
19  *  endianness compile and runtime  tests
20  * 
21  * History:
22  * --------
23  *  2008-06-13  created by andrei
24  */
25
26 /*!
27  * \file
28  * \brief SIP-router core :: 
29  * \ingroup core
30  * Module: \ref core
31  */
32
33 #include "endianness.h"
34
35 int _endian_test_int=1 /* used for the runtime endian tests */;
36
37
38 /* return 0 on success, -1 on error (compile time detected endianness is
39  * different from run time)
40  */
41 int endianness_sanity_check()
42 {
43 #ifdef __IS_LITTLE_ENDIAN
44         return is_little_endian()-1;
45 #elif defined __IS_BIG_ENDIAN
46         return is_big_endian()-1;
47 #else
48 #warning BUG: endianness macro are not defined
49         return -1;
50 #endif
51 }
52