]> git.mxchange.org Git - simgear.git/blob - simgear/math/fg_memory.h
Converted to the LGPL licencing terms.
[simgear.git] / simgear / math / fg_memory.h
1 // fg_memory.h -- memcpy/bcopy portability declarations
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Library General Public
5 // License as published by the Free Software Foundation; either
6 // version 2 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Library General Public License for more details.
12 //
13 // You should have received a copy of the GNU Library General Public
14 // License along with this library; if not, write to the
15 // Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 // Boston, MA  02111-1307, USA.
17 //
18 // $Id$
19
20
21 #ifndef _FG_MEMORY_H
22 #define _FG_MEMORY_H
23
24 #ifdef HAVE_CONFIG_H
25 #  include <config.h>
26 #endif
27
28 #ifdef HAVE_MEMCPY
29
30 #  ifdef HAVE_MEMORY_H
31 #    include <memory.h>
32 #  endif
33
34 #  define fgmemcmp            memcmp
35 #  define fgmemcpy            memcpy
36 #  define fgmemzero(dest,len) memset(dest,0,len)
37
38 #elif defined(HAVE_BCOPY)
39
40 #  define fgmemcmp              bcmp
41 #  define fgmemcpy(dest,src,n)  bcopy(src,dest,n)
42 #  define fgmemzero             bzero
43
44 #else
45
46 /* 
47  * Neither memcpy() or bcopy() available.
48  * Use substitutes provided be zlib.
49  */
50
51 #  include <zutil.h>
52 #  define fgmemcmp zmemcmp
53 #  define fgmemcpy zmemcpy
54 #  define fgmemzero zmemzero
55
56 #endif
57
58 #endif // _FG_MEMORY_H
59
60