blob: 1adac21b9235c44cf69373e8d2ce095b88b9060b [file] [log] [blame]
/* ============================================================================
** Copyright (C) 2002-2006 COMNEON GmbH & Co. OHG. All rights reserved.
** ============================================================================
**
** ============================================================================
**
** This document contains proprietary information belonging to COMNEON.
** Passing on and copying of this document, use and communication of its
** contents is not permitted without prior written authorisation.
**
** ============================================================================
** Revision Information :
** File name: tic.h
** Version: /main/6
** Date: 2006-01-11 9:53:32
**
** ============================================================================
** Project: Mobile Station (MS)
** Block: -
** Process: TIC
**
** ============================================================================
** Contents: This file contains the interfaces for the timer management
** component.
**
** ============================================================================
** History:
**
** Date Author Comment
**
** 13.02.02 ges created.
**
** ============================================================================
*/
#ifndef TIC_H
#define TIC_H
/*============================================================================
Exported Type Declarations
============================================================================*/
/* External representation of the timer control block data type.*/
typedef struct tic_timer_s *tic_timer_t;
/* TIC control ids.
*
* TIC_INFO:
* Get timer information.
*
* TIC_TRACE: 0/1 = disable/enable the tic trace.
* tic_ctrl_trace_t trace;
* trace.stat = 1;
* tic_timer_control (TIC_CTRL_TRACE, &trace, sizeof (tic_ctrl_trace_t));
*/
typedef enum
{
TIC_CTRL_INFO,
TIC_CTRL_TRACE
}tic_req_t;
typedef struct tic_ctrl_info_s
{
UINT16 max_number; /* Max. number of available timers. */
UINT16 installed; /* Number of installed timers. */
} tic_ctrl_info_t;
typedef struct tic_ctrl_trace_s
{
UINT8 stat; /* 0/1 = disable/enable the tic trace. */
} tic_ctrl_trace_t;
/*============================================================================
Exported Function Declarations
============================================================================*/
/**B**************************************************************************
* Function: tic_timer_create
*----------------------------------------------------------------------------
* Purpose: This function creates a timer and places it on the
* list of created timers. The timer is activated by
* tic_timer_start(). Upon timer expiration the
* expiration_routine is called.
*
* Parameters: expfunc: timer expiration routine.
* arg: argument of the expiration routine.
*
* Returns: Timer handle.
***E*************************************************************************/
extern tic_timer_t tic_timer_create(VOID (*expfunc)(VOID *arg), VOID *arg);
/**B**************************************************************************
* Function: tic_timer_free
*----------------------------------------------------------------------------
* Purpose: This function is responsible for freeing a timer.
*
* Parameters: timer: timer handle.
*
* Returns: 1 means during dealloction the timer handler was executed,
* otherwise 0.
***E*************************************************************************/
extern SINT32 tic_timer_free(tic_timer_t timer);
/**B**************************************************************************
* Function: tic_timer_start
*----------------------------------------------------------------------------
* Purpose: This function is responsible for starting a timer.
*
* Parameters: timer: timer handle.
* secs: number of seconds.
* nano_secs: nano seconds.
*
* Returns: None.
***E*************************************************************************/
extern VOID tic_timer_start(tic_timer_t timer, UNSIGNED secs, UNSIGNED nano_secs);
/**B**************************************************************************
* Function: tic_timer_stop
*----------------------------------------------------------------------------
* Purpose: This function is responsible for stopping a timer.
*
* Parameters: timer: timer handle.
*
* Returns: 1 means during stopping the timer handler was executed,
* otherwise 0.
***E*************************************************************************/
extern SINT32 tic_timer_stop(tic_timer_t timer);
#endif /* TIC_H */