/**********************************************************************
 * Copyright (c) 1998 - 2000 by Borst Automation, Fachingen
 * All rights reserved
 *
 * Filename:  HartLoL.h
 * Project:   HART
 * Date:      Sep-10-99
 * Author(s): W. Borst
 *
 * Revision History:
 * Date:      Name:       Version:  Description:
 * Dec-03-98  W. Borst    -----     Initial Draft
 * Sep-10-99  W. Borst    1.1       Changes for Project be001/99
 * Jul-25-00  W. Borst    1.2       Changes for Project li001/00
 * 
 *
 * Description: Mainly function prototypes and variables of HartLoL.c
 *
 **********************************************************************/
#ifndef __hartlol_h__
#define __hartlol_h__

/**********************************************************************
 * Includes                                                           *
 **********************************************************************/
#ifdef __HARTLOL_H__
  #include <string.h>
  #include "..\Common\Types.h"
  #include "..\Common\Hart.h"
  #include "..\Common\PcComPrt.h"
  #include "..\Protocol\HartLoL.h"
  #include "..\Api\UserApi.h"
  #include "..\Api\HartApi.h"
  #include "..\FbHart\FbHart.h"
#endif

/**********************************************************************
 * External Variables                                                 *
 **********************************************************************/
#ifndef __HARTLOL_H__
  extern T_APP_INTF   strHrtAppIf;     /* Interface buffer for
                                          the Application */ 
#endif

/**********************************************************************
 * Function Prototypes                                                *
 **********************************************************************/
#ifdef __HARTLOL_H__
  static VOID DataLinkLayerFunction(VOID);
  static VOID BuildDefaultResponse(VOID);
  static BOOL IsValidDel(VOID);
  static VOID CopyFrameToApp(VOID);
  static VOID BuildValidResponse(T_APP_INTF*);
  static VOID CopyStrApp(VOID);
  static VOID StartTimeOut(BYTE,BYTE);
  static VOID StopTimeOut(VOID);
  static VOID GetNextChar(VOID);
  static VOID GetFirstChar(VOID);
#endif
VOID hrt5msCycle(VOID);
VOID hrtGetChar(VOID);
VOID hrtTransmitDone(VOID);
VOID hrtInit(VOID);
#endif