/*************************************************************** ** (c)2009 Broadcom Corporation ** ** This program is the proprietary software of Broadcom Corporation and/or its licensors, ** and may only be used, duplicated, modified or distributed pursuant to the terms and ** conditions of a separate, written license agreement executed between you and Broadcom ** (an "Authorized License"). Except as set forth in an Authorized License, Broadcom grants ** no license (express or implied), right to use, or waiver of any kind with respect to the ** Software, and Broadcom expressly reserves all rights in and to the Software and all ** intellectual property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU ** HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY ** NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. ** ** Except as expressly set forth in the Authorized License, ** ** 1. This program, including its structure, sequence and organization, constitutes the valuable trade ** secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof, ** and to use this information only in connection with your use of Broadcom integrated circuit products. ** ** 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" ** AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR ** WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO ** THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES ** OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, ** LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION ** OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF ** USE OR PERFORMANCE OF THE SOFTWARE. ** ** 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS ** LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR ** EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR ** USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT ** ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE ** LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ** ANY LIMITED REMEDY. ** ** Created: 8/22/2002 by Jeffrey P. Fisher ** ** $brcm_Workfile: bgfx_defs.h $ ** $brcm_Revision: Refsw_7550/2 $ ** $brcm_Date: 9/25/09 12:54p $ ** ** Revision History: ** ** $brcm_Log: /nexus/lib/softgfx/src/bgfx_defs.h $ ** ** Refsw_7550/2 9/25/09 12:54p kagrawal ** SW7550-50: Performance optimized gfx from 7003 latest ** ** Refsw_7550/1 9/7/09 5:04p kagrawal ** SW7550-3: Initial check-in for Soft Graphics ** ****************************************************************/ #ifndef __bgfx_defs_h__ #define __bgfx_defs_h__ #include #include #include #include "bgfx_types.h" /* local definitions */ #define SGL_DEFAULT_CACHE_SIZE 1024 /* Debug macros */ #ifdef CONFIG_SGL_DEBUG #define SGL_TRACE(x) ((bgfx_get_debug_level() > 1) ? (printf x) : (void) 0) #define SGL_DEBUG(x) ((bgfx_get_debug_level()) ? (printf x) : (void) 0) #else #define SGL_TRACE(x) BDBG_MSG(x) #define SGL_DEBUG(x) BDBG_ERR(x) #endif #define SGL_IO_CHECK(x) \ err = x; \ if (err <= 0) { \ SGL_DEBUG(( "IO Failure %s <%d>:\n\t", __FILE__, __LINE__ )); \ goto done; \ } /* Data structures stored little endian, swapping required on big endian systems only */ #define SGL_SWAP_INT(x) x #define SGL_SWAP_ULONG(x) x #define SGL_MEMSET memset #define SGL_MEMCPY memcpy #define SGL_MALLOC(size) malloc(size) #define SGL_FREE(ptr) free(ptr) #ifdef __cplusplus extern "C" { #endif /**************************************************************** * Set the current debug message level. * When compile time debugging is enabled this function can * be used to set the verbosity of the debug messages. ****************************************************************/ void bgfx_set_debug_level(int level /* debug level selectively enables debugging messages */ ); /**************************************************************** * Get the current debug message level. * When compile time debugging is enabled this function can * be used to get the verbosity of the debug messages. ****************************************************************/ int bgfx_get_debug_level(void); /**************************************************************** * global sgil initialization * Initialize global IO and locking support functions. * prot_p must be an allocated and initialized bgfx_prot_t structure. * It is important that these entities exist for the entire time * SGIL is running and initialized. ****************************************************************/ void bgfx_config(bgfx_io_t *io_p, /* SGIL_RW read callback funtion */ bgfx_prot_t *prot_p /* allocated, initialized sgil_prot_t reference */ ); /**************************************************************** * lock access to global SGIL resources * Used internaly to control access to global data structures * ****************************************************************/ void bgfx_lock(void); /**************************************************************** * unlock access to global SGIL resources * Used internaly to unlock access to global data structures * ****************************************************************/ void bgfx_unlock(void); /**************************************************************** * Internal function to read data * Used internaly to read data from a stream. * ****************************************************************/ long bgfx_read(void *buffer, long size, long count, void *fp ); int bgfx_set( void *fp,int offset, int whence); unsigned int bgfx_tell(void *fp ); /**************************************************************** * Flush cache * Used internaly perform cache flush. * ****************************************************************/ void bgfx_cacheflush(void *ptr,int nbytes); #ifdef __cplusplus } #endif #endif /* __bgfx_defs_h__ */