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
