source: svn/newcon3bcm2_21bu/nexus/app/bapp_task.h

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 2.6 KB
Line 
1/***************************************************************
2**
3** Broadcom Corp. Confidential
4** Copyright 1998-2000 Broadcom Corp. All Rights Reserved.
5**
6** THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
7** SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
8** YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
9** SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10**
11** File:                bapp_task.h
12** Description: Encapsulate OS functions.
13**
14** Created: Mon Sep 25 18:12:35 PDT 2006 by Jeff Fisher
15**
16****************************************************************/
17
18#ifndef __BAPP_TASK_H__
19#define __BAPP_TASK_H__
20
21#include "bapp_types.h"
22#include "bapp_task_priorities.h"
23
24
25#define TICKS_TO_MS(ticks)      ((ticks) * 1000/g_ticks_per_second)
26#define MS_TO_TICKS(x)                           (((x) * g_ticks_per_second)/ 1000)
27
28typedef struct bapp_task_params
29{
30    int priority;                               /* 0 is highest, 63 lowest */
31    unsigned int stack_size;    /* stack size in words */
32    unsigned int *stack;                /* buffer to be used for thread stack */
33    const char *name;                   /* thread name */
34} bapp_task_params;
35
36typedef struct bapp_task *bapp_task_t;
37typedef struct bapp_task_queue *bapp_task_queue_t ;
38typedef struct bapp_task_event *bapp_task_event_t;
39typedef struct bapp_task_mutex *bapp_task_mutex_t;
40
41
42
43typedef void (*bapp_task_func)(void *pd);
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49void bapp_task_init(void);
50void bapp_task_start(void);
51bapp_result_t bapp_task_start_task( bapp_task_t *handle, 
52                                                          const bapp_task_params *params, 
53                                                          bapp_task_func func, 
54                                                          void *data );
55void bapp_task_stop_task(bapp_task_t handle);
56bapp_result_t bapp_task_create_queue(  bapp_task_queue_t *handle, 
57                                                                 bapp_task_event_t *events, 
58                                                                 int num_events );
59void bapp_task_delete_queue(  bapp_task_queue_t handle );
60bapp_result_t bapp_task_post_event( bapp_task_queue_t handle, 
61                                                          bapp_task_event_t event );
62bapp_task_event_t bapp_task_pend_event( bapp_task_queue_t handle, 
63                                                                                 int timeout_ms );
64void bapp_task_reset_queue( bapp_task_queue_t handle);
65bapp_result_t bapp_task_create_mutex( bapp_task_mutex_t *handle );
66void bapp_task_delete_mutex( bapp_task_mutex_t handle );
67bapp_result_t bapp_task_acquire_mutex( bapp_task_mutex_t handle, 
68                                                                 int timeout_ms  );
69bapp_result_t bapp_task_release_mutex( bapp_task_mutex_t handle );
70void bapp_task_sleep( unsigned int sleep_ms );
71unsigned int bapp_task_getticks( void );
72unsigned int bapp_task_enter_critical(void);
73void bapp_task_exit_critical(unsigned int flags);
74
75extern int g_ticks_per_second;
76#ifdef __cplusplus
77}
78#endif
79
80#endif /* __BAPP_TASK_H__ */
Note: See TracBrowser for help on using the repository browser.