source: svn/newcon3bcm2_21bu/dst/dmw/src/include/DMW_Mutex.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: 1.9 KB
Line 
1/*      DMW_Mutex.h
2
3
4        cafrii 040303 v1.0
5*/
6
7
8#ifndef __DMW_MUTEX_H__
9#define __DMW_MUTEX_H__
10
11#include "DHL_OSAL.h"
12#include "DMW_Status.h"                 /* added for epg porting : 2009.08.10 foxhunt */
13
14/* VxWorksÀÇ Mutex SemaphoreÀÇ ºÎÀÛ¿ëÀ» ÇØ¼ÒÇϱâ À§Çؼ­
15// Binary semaphore¸¦ ÀÌ¿ëÇÏ¿© Mutex¸¦ Èä³»³»´Â ±â´É Á¦°ø.
16//
17*/ 
18
19#define MAX_MUTEX_NAME 16
20
21typedef struct DMW_MUTEX_t
22{
23        DHL_OS_SEMA_ID semId;             /* vxWorks OS Semaphore ID. */
24
25        DHL_OS_TASK_ID      ownerTaskId;       /* ÇöÀç ÀÌ Mutex¸¦ lockÇϰí ÀÖ´Â taskÀÇ ID */
26        int             lockCount;         /* Mutex lock count. 0À̸é free mutex. */
27        int             initFailCount;     /* Mutex »ý¼º ½ÇÆÐ Ƚ¼ö */
28        BOOL            useOsMutex;        /* TRUEÀ̸é OS Mutex¸¦ »ç¿ëÇÔ. µðÆúÆ®(FALSE)´Â Binary Sema4¸¦ ÀÌ¿ëÇÑ´Ù. */
29       
30        /* properties of Mutex */
31        char name[MAX_MUTEX_NAME];
32       
33        int  flag;    /* OS_CreateXXSemaphore flag.  OS_SEM_FIFO or OS_SEM_PRIO */
34                      /* µðÆúÆ®(0)Àº OS_SEM_FIFO ÀÓ. */
35       
36        int  traceLevel;   /* debug trace level */
37                      /* 0À̸é no trace  */
38                     
39        /* UINT32  checkCode; */
40       
41} DMW_MUTEX;
42
43
44/* debug util  */
45extern void DMW_PrintMutex(DMW_MUTEX *pMutex);
46extern void DMW_SetMutexTraceLevel(DMW_MUTEX *pMutex, int traceLevel);
47extern DHL_OS_TASK_ID DMW_GetOwnerTaskId(DMW_MUTEX *pMutex);
48
49
50extern STATUS DMW_InitMutex(DMW_MUTEX *pMutex, char *name);
51extern STATUS DMW_LockMutex(DMW_MUTEX *pMutex);
52extern STATUS DMW_LockMutexWait(DMW_MUTEX *pMutex, int timeout);
53extern void DMW_UnlockMutex(DMW_MUTEX *pMutex);
54extern void DMW_DeleteMutex(DMW_MUTEX *pMutex);
55
56extern void DMW_RegisterMutexSymbols(void);
57
58#endif /* __DMW_MUTEX_H__ */
59
60/*************************************************************************
61  Revision history:
62
63        1.1  2005/03/22  DMW_DeleteMutex add
64        1.0  2005/03/00  version control start
65
66**********************************************************************/
67
Note: See TracBrowser for help on using the repository browser.