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 *****************************************************************************/ 00031 #ifndef _RTEXIEVENTCODEGROUP_H_ 00032 #define _RTEXIEVENTCODEGROUP_H_ 00033 00034 #include "rtexisrc/rtEXIEventCode.h" 00035 #include "rtxsrc/rtxDynBitSet.h" 00036 #include "rtxsrc/rtxSList.h" 00037 00038 #ifdef __cplusplus 00039 extern "C" { 00040 #endif 00041 00047 typedef struct OSEXIEventCodeGroup { 00048 OSRTSList group; /* List of OSEXIEventCode* */ 00049 OSINT32 maxPart1; 00050 OSINT32 maxPart2; 00051 OSINT32 maxPart3; 00052 OSRTDynBitSet part1Set; 00053 OSRTDynBitSet part2Set; 00054 } OSEXIEventCodeGroup; 00055 00062 EXTERNEXI void rtEXIEventCodeGroupInit 00063 (OSCTXT* pctxt, OSEXIEventCodeGroup* pecgrp); 00064 00072 EXTERNEXI OSEXIEventCodeGroup* rtEXINewEventCodeGroup (OSCTXT* pctxt); 00073 00083 EXTERNEXI int rtEXIEventCodeGroupAdd 00084 (OSEXIEventCodeGroup* pecgrp, const OSEXIEventCode* pec); 00085 00096 EXTERNEXI OSEXIEventCodeGroup* 00097 rtEXIEventCodeGroupCopy (const OSEXIEventCodeGroup* pecgrp); 00098 00104 EXTERNEXI void rtEXIEventCodeGroupFreeMem (OSEXIEventCodeGroup* pecgrp); 00105 00113 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart1 (OSEXIEventCodeGroup* pecgrp); 00114 00122 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart2 (OSEXIEventCodeGroup* pecgrp); 00123 00131 EXTERNEXI int rtEXIEventCodeGroupGetBitsPart3 (OSEXIEventCodeGroup* pecgrp); 00132 00140 EXTERNEXI void rtEXIEventCodeGroupIncrPart1 00141 (OSCTXT* pctxt, OSEXIEventCodeGroup* pecgrp); 00142 00147 #define rtEXIEventCodeGroupHasPart1(pecgrp,part1) \ 00148 rtxDynBitSetTestBit(&pecgrp->part1Set,part1) 00149 00154 #define rtEXIEventCodeGroupHasPart2(pecgrp,part2) \ 00155 rtxDynBitSetTestBit(&pecgrp->part2Set,part2) 00156 00157 #ifdef _TRACE 00158 00164 EXTERNEXI void rtEXIEventCodeGroupPrint 00165 (OSCTXT* pctxt, const OSEXIEventCodeGroup* pecgrp); 00166 #endif 00167 00168 #ifdef __cplusplus 00169 } 00170 #endif 00171 00174 #endif