Merge commit 'pg/master' into postgres
[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 #include "endianness.h"
27
28 int _endian_test_int=1 /* used for the runtime endian tests */;
29
30
31 /* return 0 on success, -1 on error (compile time detected endianness is
32  * different from run time)
33  */
34 int endianness_sanity_check()
35 {
36 #ifdef __IS_LITTLE_ENDIAN
37         return is_little_endian()-1;
38 #elif defined __IS_BIG_ENDIAN
39         return is_big_endian()-1;
40 #else
41 #warning BUG: endianness macro are not defined
42         return -1;
43 #endif
44 }
45