Merge branch 'mpc86xx'
[platform/kernel/u-boot.git] / cpu / ixp / npe / include / ix_symbols.h
1 /**
2  * ============================================================================
3  * = COPYRIGHT
4  * 
5  * @par
6  * IXP400 SW Release version 2.0
7  * 
8  * -- Copyright Notice --
9  * 
10  * @par
11  * Copyright 2001-2005, Intel Corporation.
12  * All rights reserved.
13  * 
14  * @par
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions
17  * are met:
18  * 1. Redistributions of source code must retain the above copyright
19  *    notice, this list of conditions and the following disclaimer.
20  * 2. Redistributions in binary form must reproduce the above copyright
21  *    notice, this list of conditions and the following disclaimer in the
22  *    documentation and/or other materials provided with the distribution.
23  * 3. Neither the name of the Intel Corporation nor the names of its contributors
24  *    may be used to endorse or promote products derived from this software
25  *    without specific prior written permission.
26  * 
27  * @par
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
29  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
32  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38  * SUCH DAMAGE.
39  * 
40  * @par
41  * -- End of Copyright Notice --
42  * = PRODUCT
43  *      Intel(r) IXP425 Software Release
44  *
45  * = FILENAME
46  *      ix_symbols.h
47  *
48  * = DESCRIPTION
49  *      This file declares all the global preprocessor symbols required by 
50  *      the IXA SDK Framework API.
51  *
52  * = AUTHOR
53  *      Intel Corporation
54  *
55  * = CHANGE HISTORY
56  *      4/23/2002 10:41:13 AM - creation time 
57  * ============================================================================
58  */
59
60 #if !defined(__IX_SYMBOLS_H__)
61 #define __IX_SYMBOLS_H__
62
63
64 #if defined(__cplusplus)
65 extern "C"
66 {
67 #endif /* end defined(__cplusplus) */
68
69 /**
70  * The IX_EXPORT_FUNCTION symbol will be used for compilation on different platforms.
71  * We are planning to provide a simulation version of the library that should work
72  * with the Transactor rather than the hardware. This implementation will be done on
73  * WIN32 in the form of a DLL that will need to export functions and symbols.
74  */
75 #if (_IX_OS_TYPE_ == _IX_OS_WIN32_)
76 #    if defined(_IX_LIB_INTERFACE_IMPLEMENTATION_)
77 #        define IX_EXPORT_FUNCTION __declspec( dllexport )
78 #    elif defined(_IX_LIB_INTERFACE_IMPORT_DLL_)
79 #        define IX_EXPORT_FUNCTION __declspec( dllimport )
80 #    else
81 #        define IX_EXPORT_FUNCTION extern 
82 #    endif
83 #elif (_IX_OS_TYPE_ == _IX_OS_WINCE_)
84 #    define IX_EXPORT_FUNCTION __declspec(dllexport)
85 #else
86 #    define IX_EXPORT_FUNCTION  extern
87 #endif
88
89
90 /**
91  * This symbols should be defined when we want to build for a multithreaded environment
92  */
93 #define _IX_MULTI_THREADED_     1
94     
95
96 /**
97  * This symbol should be defined in the case we to buils for a multithreaded environment
98  * but we want that our modules to work as if they are used in a single threaded environment.
99  */
100 /* #define _IX_RM_EXPLICIT_SINGLE_THREADED_    1  */
101
102 #if defined(__cplusplus)
103 }
104 #endif /* end defined(__cplusplus) */
105
106 #endif /* end !defined(__IX_SYMBOLS_H__) */