Home > Support > Documentation

rtEXIEventCodeGroup.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00028 #ifndef _RTEXIEVENTCODEGROUP_H_
00029 #define _RTEXIEVENTCODEGROUP_H_
00030 
00031 #include "rtexisrc/rtEXIEventCode.h"
00032 #include "rtxsrc/rtxDynBitSet.h"
00033 #include "rtxsrc/rtxSList.h"
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00044 typedef struct OSEXIEventCodeGroup {
00045    OSRTSList group;  /* List of OSEXIEventCode* */
00046    OSINT32 maxPart1;
00047    OSINT32 maxPart2;
00048    OSINT32 maxPart3;
00049    OSRTDynBitSet part1Set;
00050    OSRTDynBitSet part2Set;
00051 } OSEXIEventCodeGroup;
00052 
00059 EXTERNEXI void rtEXIEventCodeGroupInit 
00060 (OSCTXT* pctxt, OSEXIEventCodeGroup* pecgrp);
00061 
00069 EXTERNEXI OSEXIEventCodeGroup*  rtEXINewEventCodeGroup (OSCTXT* pctxt);
00070 
00080 EXTERNEXI int rtEXIEventCodeGroupAdd 
00081 (OSEXIEventCodeGroup* pecgrp, const OSEXIEventCode* pec);
00082 
00093 EXTERNEXI OSEXIEventCodeGroup*
00094 rtEXIEventCodeGroupCopy (const OSEXIEventCodeGroup* pecgrp);
00095 
00101 EXTERNEXI void rtEXIEventCodeGroupFreeMem (OSEXIEventCodeGroup* pecgrp);
00102 
00110 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart1 (OSEXIEventCodeGroup* pecgrp);
00111 
00119 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart2 (OSEXIEventCodeGroup* pecgrp);
00120 
00128 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart3 (OSEXIEventCodeGroup* pecgrp);
00129 
00137 EXTERNEXI void rtEXIEventCodeGroupIncrPart1 
00138 (OSCTXT* pctxt, OSEXIEventCodeGroup* pecgrp);
00139 
00144 #define rtEXIEventCodeGroupHasPart1(pecgrp,part1) \
00145 rtxDynBitSetTestBit(&pecgrp->part1Set,part1)
00146 
00151 #define rtEXIEventCodeGroupHasPart2(pecgrp,part2) \
00152 rtxDynBitSetTestBit(&pecgrp->part2Set,part2)
00153 
00154 #ifdef _TRACE
00155 
00161 EXTERNEXI void rtEXIEventCodeGroupPrint 
00162 (OSCTXT* pctxt, const OSEXIEventCodeGroup* pecgrp);
00163 #endif
00164 
00165 #ifdef __cplusplus
00166 }
00167 #endif
00168 
00169 #endif