/** @file Prototype.h
 
   This file is taken from the Windows driver and adapted for Linux.
 
   @par CREATION  
   @author Krauth Julien
   @date   09.10.2006
   
   @par VERSION
   @verbatim
   $LastChangedRevision:$
   $LastChangedDate:$
   @endverbatim   
   
   @par LICENCE
   @verbatim
   Copyright (C) 2004,2005  ADDI-DATA GmbH for the source code of this module.
        
        ADDI-DATA GmbH 
        Dieselstrasse 3 
        D-77833 Ottersweier 
        Tel: +19(0)7223/9493-0 
        Fax: +49(0)7223/9493-92 
        http://www.addi-data-com 
        info@addi-data.com         
   @endverbatim   
 */
/*
  +-----------------------------------------------------------------------+
  | (C) ADDI-DATA GmbH          Dieselstrasse 3      D-77833 Ottersweier  |
  +-----------------------------------------------------------------------+
  | Tel : +49 (0) 7223/9493-0     | email    : info@addi-data.com         |
  | Fax : +49 (0) 7223/9493-92    | Internet : http://www.addi-data.com   |
  +-----------------------------------------------------------------------+
  | Project   : -                 | Compiler : BORLAND C                  |
  | Modulname : Prototype.H       | Version  : 3.1                        |
  +-------------------------------+---------------------------------------+
  | Author    : S.Weber           | Date     : 26.02.04                   |
  +-----------------------------------------------------------------------+
  | Description : Prototype header                                        |
  +-----------------------------------------------------------------------+
  |                             UPDATE'S                                  |
  +-----------------------------------------------------------------------+
  |   Date   |   Author  |          Description of updates                |
  +----------+-----------+------------------------------------------------+
  |          |           |                                                |
  +-----------------------------------------------------------------------+
*/


#ifndef SET3701_PROTOTYPE
   #define SET3701_PROTOTYPE
   
/************************************************************************/
/* Eeprom.c                                                             */
/************************************************************************/

INT  i_EepromRead        (pstr_AddressInformation ps_Address,
                          WORD                     w_offset,
                          WORD *                  pw_Value);

INT  i_EepromWrite       (pstr_AddressInformation ps_Address,
                          WORD                     w_offset,
                          WORD                     w_EepromValue);

INT  i_EepromReadBlock   (pstr_AddressInformation ps_Address,
                          WORD                     w_StartAddress,
                          WORD                     w_Size,
                          PWORD                   pw_Value);

INT  i_EepromWriteBlock  (pstr_AddressInformation ps_Address,
                          WORD                     w_StartAddress,
                          WORD                     w_Size,
                          PWORD                   pw_Value);   

/************************************************************************/
/* UpdateHeader.c                                                       */
/************************************************************************/

INT i_UpdateHeader_GetHeaderSize     (pstr_AddressInformation          ps_Address,
                                      WORD *                           pw_HeaderSize);


INT  i_UpdateHeader_GetEepromSize    (pstr_AddressInformation          ps_Address,
                                      WORD *                           pw_EepromSize);


INT  i_UpdateHeader_ReadBoardEeprom  (pstr_AddressInformation          ps_Address,
                                      WORD                              w_StartAddress,
                                      WORD                              w_SizeToRead,
                                      WORD*                            pw_Eeprom);


INT  i_UpdateHeader_WriteBoardEeprom (pstr_AddressInformation          ps_Address,
                                      WORD                              w_StartAddress,
                                      WORD                              w_SizeToWrite,
                                      WORD*                            pw_Eeprom);

INT  i_UpdateHeader_CompareBoardEeprom(pstr_AddressInformation          ps_Address,
                                       WORD                              w_StartAddress,
                                       WORD                              w_CompareSize,
                                       WORD*                            pw_Eeprom);

VOID v_UpdateHeader_GetHeaderInfos   (WORD* pw_HeaderData,
                                      WORD* pw_GlobalHeaderSizeAddress,
                                      WORD* pw_MainAnalogInputStartAddress,
                                      WORD* pw_LVDTHeaderStartAddress,
                                      WORD* pw_TimerCounterHeaderStartAddress);

INT  i_UpdateHeader_MakeNewHeader    (WORD*                            pw_OldHeader,
                                      WORD                              w_NumberOfLVDTType,
                                      pstr_LVDTSingleInformations      ps_LVDTInformations,
                                      WORD*                            pw_NewHeaderSize,
                                      WORD**                          ppw_NewHeaderData);

VOID v_UpdateHeader_GetLVDT          (WORD*                        pw_Header,
                                      WORD*                        pw_NumberOfLVDTType,
                                      pstr_LVDTSingleInformations  ps_LVDTInformations);

#endif

