1/*  *********************************************************************
2    *  Broadcom Common Firmware Environment (CFE)
3    *
4    *  Main CFE include file			File: cfe.h
5    *
6    *  This file is the first file included by most CFE modules.  It
7    *  brings in definitions for the most commonly used internal
8    *  routines and data and also makes sure the right configuration
9    *  files get included in the correct order.   If you need to
10    *  bring in additional definitions, put them _after_ this file.
11    *
12    *  Author:  Mitch Lichtenberg
13    *
14    *********************************************************************
15    *
16    *  Copyright 2000,2001,2002,2003
17    *  Broadcom Corporation. All rights reserved.
18    *
19    *  This software is furnished under license and may be used and
20    *  copied only in accordance with the following terms and
21    *  conditions.  Subject to these conditions, you may download,
22    *  copy, install, use, modify and distribute modified or unmodified
23    *  copies of this software in source and/or binary form.  No title
24    *  or ownership is transferred hereby.
25    *
26    *  1) Any source code used, modified or distributed must reproduce
27    *     and retain this copyright notice and list of conditions
28    *     as they appear in the source file.
29    *
30    *  2) No right is granted to use any trade name, trademark, or
31    *     logo of Broadcom Corporation.  The "Broadcom Corporation"
32    *     name may not be used to endorse or promote products derived
33    *     from this software without the prior written permission of
34    *     Broadcom Corporation.
35    *
36    *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
37    *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
38    *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
39    *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
40    *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
41    *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
42    *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
43    *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
44    *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
45    *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
46    *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
47    *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
48    *     THE POSSIBILITY OF SUCH DAMAGE.
49    ********************************************************************* */
50
51#ifndef _CFE_H
52#define _CFE_H
53
54/*  *********************************************************************
55    *  Version number
56    ********************************************************************* */
57
58#ifdef CFE_VER_PFX
59#define CFE_VER_PREFIX	CFE_VER_PFX
60#else
61#define CFE_VER_PREFIX  ""
62#endif
63#define CFE_VER_MAJOR	CFE_VER_MAJ
64#define CFE_VER_MINOR	CFE_VER_MIN
65#define CFE_VER_BUILD   CFE_VER_ECO
66
67/*  *********************************************************************
68    *  Global include files (stuff we always use)
69    ********************************************************************* */
70
71#include "cpu_config.h"		/* CPU configuration, needed for stuff below */
72#include "lib_types.h"		/* basic types */
73#include "lib_queue.h"		/* queues, lists */
74#include "lib_string.h"		/* string mangling */
75#include "lib_malloc.h"		/* memory allocator */
76#include "lib_printf.h"		/* printf and sprintf, etc. */
77#include "lib_hssubr.h"		/* hyperspace routines for 64-bit archs */
78
79/*  *********************************************************************
80    *  Common CFE functions used by most things
81    ********************************************************************* */
82
83#include "cfe_iocb.h"		/* External APIs */
84#include "cfe_device.h"		/* Device structures */
85#include "cfe_ioctl.h"		/* IOCTL commands to devices */
86#include "cfe_error.h"		/* master error code list */
87#include "cfe_console.h"	/* console input/output */
88#include "cfe_timer.h"		/* timer/polling routines */
89#include "cfe_devfuncs.h"	/* internally callable CFE API */
90#include "cfe_cache.h"		/* Cache-related stuff */
91
92/*  *********************************************************************
93    *  Board and CPU specific include files
94    ********************************************************************* */
95
96#include "bsp_config.h"		/* board configuration */
97#include "endian.h"		/* which way endian */
98#include "addrspace.h"		/* Address space conversions */
99#include "cfe_main.h"		/* top-level board stuff */
100
101#endif
102