Array.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:2k
源码类别:

DVD

开发平台:

Others

  1. /****************************************************************************************
  2.  *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: $Workfile: Array.h $             
  6.  *
  7.  * Description: Interface for creating and manipulating a generic Array.
  8.  * ============
  9.  * 
  10.  * 
  11.  * Log:
  12.  * ====
  13.  * $Revision: 3 $
  14.  * Last Modified by $Author: Leslie $ at $Modtime: 03-01-30 16:34 $ 
  15.  ****************************************************************************************
  16.  * Updates:
  17.  ****************************************************************************************
  18.  * $Log: /SourceCode/I64_Common/I64_Reference/Playcore/DataStructures/Array.h $
  19.  * 
  20.  * 3     03-01-30 23:16 Leslie
  21.  * 
  22.  * 6     27/05/02 18:50 Nirm
  23.  * - Cleaned-up compilation-warnings.
  24.  * 
  25.  * 5     23/05/02 14:09 Ettim
  26.  * Adding support for an absolute 32 bit address on the scratch pad.
  27.  * 
  28.  * 4     23/04/02 9:28 Nirm
  29.  * - Added dependency in "Config.h".
  30.  * 
  31.  * 3     4/02/02 12:53 Nirm
  32.  * Added Array_freeExtra().
  33.  * 
  34.  * 2     9/01/02 14:48 Nirm
  35.  * Corrected Include-Paths.
  36.  * 
  37.  * 1     26/12/01 14:57 Nirm
  38.  ****************************************************************************************/
  39. #include "Config.h" // Global Configuration - do not remove!
  40. #ifndef __ARRAY_H_
  41. #define __ARRAY_H_
  42. /////////////////////////////////////////////////////////////////////////////
  43. // Array.h - Public Interface of a generic Array
  44. //
  45. // Author: Nir Milstein
  46. #include "IncludeSysDefs.h"
  47. /////////////////////////////////////////////////////////////////////////////
  48. // Generic Array Interface
  49. UINT32 Array_construct(UINT16 i_uElementsCnt, UINT16 i_cbElementSize,
  50.    WORD *io_pExternalMemoryPoolAddress);
  51. UINT32 Array_constructEx(UINT16 i_uElementsCnt, UINT16 i_cbElementSize,
  52.  DWORD *io_pExternalMemoryPoolAddress);
  53. void Array_destruct(UINT32 hArray);
  54. void Array_freeExtra(UINT32 hArray);
  55. UINT16 Array_getSize(UINT32 hArray);
  56. void ArrayInitBound(UINT32 hArray,UINT16 num);
  57. void Array_clear(UINT32 hArray);
  58. BOOL Array_getAt(UINT32 hArray, UINT16 uIndex, BYTE *o_pElementContainer);
  59. BOOL Array_setAt(UINT32 hArray, UINT16 uIndex, const BYTE *i_pElement);
  60. #ifdef DVD_VR_SUPPORT
  61. UINT32 Array_reconstruct(UINT32 hArray, UINT16 i_uNewElementsCnt);
  62. UINT16 Array_getCapacity(UINT32 hArray);
  63. #endif //DVD_VR_SUPPORT
  64. #endif //__ARRAY_H_