.gitignore: update to ignore all make created files
[keystone-rtos/ibl.git] / src / interp / coff / osal.h
1 /*
2  *
3  * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ 
4  * 
5  * 
6  *  Redistribution and use in source and binary forms, with or without 
7  *  modification, are permitted provided that the following conditions 
8  *  are met:
9  *
10  *    Redistributions of source code must retain the above copyright 
11  *    notice, this list of conditions and the following disclaimer.
12  *
13  *    Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the 
15  *    documentation and/or other materials provided with the   
16  *    distribution.
17  *
18  *    Neither the name of Texas Instruments Incorporated nor the names of
19  *    its contributors may be used to endorse or promote products derived
20  *    from this software without specific prior written permission.
21  *
22  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
23  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
24  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
26  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
27  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
28  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
31  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
32  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  *
34 */
38 #ifndef OSAL_H_
39 #define OSAL_H_
42 /********************************************************************
43  * IBL Adaptions
44  *
45  *  The ibl will use the file based definition, but define it to be 
46  *  directed into the BOOT_MODULE_FXN_TABLE calls.
47  *
48  ********************************************************************/
49 #include "iblloc.h"
51 #define FILE_BASED  1
52 #define FILE        BOOT_MODULE_FXN_TABLE       /* use the already existing global */
55 /* Redirect seek and reads */
56 #define fseek(x,y,z)        (*x->seek)((Int32)(y),(Int32)(z))
57 #define fread(w,x,y,z)      (((*z->read)((Uint8 *)(w),(Uint32)((x)*(y)))) == 0 ? (y) : 0)
59 /* Use stdlib functions where possible */
60 #define mem_copy(dest,src,nbytes)           iblMemcpy((void *)(dest),(void *)(src),nbytes)
61 #define mem_write(buf, nbytes, addr, page)  iblMemcpy((void *)(addr),(void *)(buf),nbytes)
62 #define str_comp                            strcmp
63 #define strn_copy                           strncpy
65 #define malloc                              iblMalloc
66 #define free                                iblFree
69 /***********************
70  * Function Prototypes
71  **********************/
72 char* strn_copy(char* dst, const char* src, unsigned int n);
73 int str_comp(const char *s1, const char *s2);
75 #endif /*OSAL_H_*/