blob: f7bb029d66fb02fe265b8faec1e855d07a35690f [file] [log] [blame]
Wolfgang Denk4646d2a2006-05-30 15:56:48 +02001/**
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)
65extern "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__) */