173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*
273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *
473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  Licensed under the Apache License, Version 2.0 (the "License");
573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  you may not use this file except in compliance with the License.
673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  You may obtain a copy of the License at
773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *
873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *     http://www.apache.org/licenses/LICENSE-2.0
973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *
1073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  Unless required by applicable law or agreed to in writing, software
1173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  distributed under the License is distributed on an "AS IS" BASIS,
1273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  See the License for the specific language governing permissions and
1473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  limitations under the License.
1573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin */
1673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
1773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
1873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*
1973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  ======== wcdioctl.h ========
2073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  DSP-BIOS Bridge driver support functions for TI OMAP processors.
2173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *  Purpose:
2273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *      Contains structures and commands that are used for interaction
2373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *      between the DDSP API and class driver.
2473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *
2573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! Revision History
2673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! ================
2773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 19-Apr-2004 sb  Aligned DMM definitions with Symbian
2873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 08-Mar-2004 sb  Added the Dynamic Memory Mapping structs & offsets
2973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 15-Oct-2002 kc  Updated definitions for private PERF module.
3073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 16-Aug-2002 map Added ARGS_MGR_REGISTEROBJECT & ARGS_MGR_UNREGISTEROBJECT
3173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 Added CMD_MGR_REGISTEROBJECT_OFFSET &
3273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 CMD_MGR_UNREGISTEROBJECT_OFFSET
3373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 15-Jan-2002 ag  Added actaul bufSize to ARGS_STRM_[RECLAIM][ISSUE].
3473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 15-Nov-2001 ag  change to STRMINFO in ARGS_STRM_GETINFO.
3573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 11-Sep-2001 ag  ARGS_CMM_GETHANDLE defn uses DSP_HPROCESSOR.
3673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 23-Apr-2001 jeh Added pStatus to NODE_TERMINATE args.
3773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 13-Feb-2001 kc  DSP/BIOS Bridge name updates.
3873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 22-Nov-2000 kc: Added CMD_MGR_GETPERF_DATA_OFFSET for acquiring PERF stats.
3973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 27-Oct-2000 jeh Added timeouts to NODE_GETMESSAGE, NODE_PUTMESSAGE args.
4073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 Removed NODE_GETMESSAGESTRM args.
4173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 11-Oct-2000 ag: Added SM mgr(CMM) args.
4273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 27-Sep-2000 jeh Removed struct DSP_BUFFERATTR param from ARGS_STRM_ALLOCATEBUFFER.
4373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 25-Sep-2000 rr: Updated to Version 0.9
4473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 07-Sep-2000 jeh Changed HANDLE to DSP_HNOTIFICATION in RegisterNotify args.
4573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 Added DSP_STRMATTR to DSPNode_Connect args.
4673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 04-Aug-2000 rr: MEM and UTIL added to RM.
4773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 27-Jul-2000 rr: NODE, MGR,STRM and PROC added
4873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 27-Jun-2000 rr: Modifed to Use either PM or DSP/BIOS Bridge
4973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 IFDEF to build for PM or DSP/BIOS Bridge
5073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 28-Jan-2000 rr: NT_CMD_FROM_OFFSET moved out to dsptrap.h
5173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 24-Jan-2000 rr: Merged with Scott's code.
5273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 21-Jan-2000 sg: In ARGS_CHNL_GETMODE changed mode to be ULONG to be
5373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 consistent with chnldefs.h.
5473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 11-Jan-2000 rr: CMD_CFG_GETCDVERSION_OFFSET added.
5573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 12-Nov-1999 rr: CMD_BRD_MONITOR_OFFSET added
5673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 09-Nov-1999 kc: Added MEMRY and enabled CMD_BRD_IOCTL_OFFSET.
5773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 05-Nov-1999 ag: Added CHNL.
5873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 02-Nov-1999 kc: Removed field from ARGS_UTIL_TESTDLL.
5973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 29-Oct-1999 kc: Cleaned up for code review.
6073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 08-Oct-1999 rr: Util control offsets added.
6173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 13-Sep-1999 kc: Added ARGS_UTIL_TESTDLL for PM test infrastructure.
6273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *! 19-Aug-1999 rr: Created from WSX. Minimal Implementaion of BRD_Start and BRD
6373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *!                 and BRD_Stop. IOCTL Offsets and CTRL Code.
6473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin */
6573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#ifndef WCDIOCTL_
6773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define WCDIOCTL_
6873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#include <mem.h>
7073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#include <cmm.h>
7173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#include <strmdefs.h>
7273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#include <dbdcd.h>
7373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavintypedef union {
7573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* MGR Module */
7773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
7873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNode;
7973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NDBPROPS *pNDBProps;
8073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNDBPropsSize;
8173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *puNumNodes;
8273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MGR_ENUMNODE_INFO;
8373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
8573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uProcessor;
8673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_PROCESSORINFO *pProcessorInfo;
8773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uProcessorInfoSize;
8873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *puNumProcs;
8973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MGR_ENUMPROC_INFO;
9073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
9273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_UUID *pUuid;
9373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_DCDOBJTYPE objType;
9473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		CHAR *pszPathName;
9573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MGR_REGISTEROBJECT;
9673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
9873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_UUID *pUuid;
9973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_DCDOBJTYPE objType;
10073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MGR_UNREGISTEROBJECT;
10173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
10373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NOTIFICATION* *aNotifications;
10473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uCount;
10573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *puIndex;
10673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uTimeout;
10773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MGR_WAIT;
10873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* PROC Module */
11073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
11173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uProcessor;
11273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_PROCESSORATTRIN *pAttrIn;
11373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR *phProcessor;
11473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_ATTACH;
11573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
11773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
11873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG dwCmd;
11973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_CBDATA *pArgs;
12073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_CTRL;
12173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
12373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
12473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_DETACH;
12573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
12773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
12873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE *aNodeTab;
12973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNodeTabSize;
13073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *puNumNodes;
13173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *puAllocated;
13273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_ENUMNODE_INFO;
13373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
13573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
13673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uResourceType;
13773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_RESOURCEINFO *pResourceInfo;
13873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uResourceInfoSize;
13973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_ENUMRESOURCES;
14073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
14273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
14373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_PROCESSORSTATE *pProcStatus;
14473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uStateInfoSize;
14573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_GETSTATE;
14673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
14873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
14973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE *pBuf;
15073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
15173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	#ifndef RES_CLEANUP_DISABLE
15273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	    BYTE *  pSize;
15373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin    #endif
15473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uMaxSize;
15573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_GETTRACE;
15673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
15773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
15873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
15973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		INT iArgc;
16073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		CHAR **aArgv;
16173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		CHAR **aEnvp;
16273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_LOAD;
16373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
16473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
16573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
16673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uEventMask;
16773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNotifyType;
16873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NOTIFICATION* hNotification;
16973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_REGISTER_NOTIFY;
17073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
17273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
17373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_START;
17473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
17673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
17773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSize;
17873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID *ppRsvAddr;
17973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_RSVMEM;
18073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
18273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
18373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSize;
18473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pRsvAddr;
18573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_UNRSVMEM;
18673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
18873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
18973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMpuAddr;
19073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSize;
19173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pReqAddr;
19273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID *ppMapAddr;
19373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulMapAttr;
19473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_MAPMEM;
19573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
19773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
19873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSize;
19973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMapAddr;
20073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_UNMAPMEM;
20173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
20373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
20473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMpuAddr;
20573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSize;
20673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulFlags;
20773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_FLUSHMEMORY;
20873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
21073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
21173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_PROC_STOP;
21273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
21473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin                DSP_HPROCESSOR hProcessor;
21573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin                PVOID pMpuAddr;
21673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin                ULONG ulSize;
21773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin        } ARGS_PROC_INVALIDATEMEMORY;
21873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* NODE Module */
22173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
22273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
22373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_UUID *pNodeID;
22473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_CBDATA *pArgs;
22573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NODEATTRIN *pAttrIn;
22673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE *phNode;
22773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_ALLOCATE;
22873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
23073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
23173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uSize;
23273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_BUFFERATTR *pAttr;
23373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE **pBuffer;
23473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_ALLOCMSGBUF;
23573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
23673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
23773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
23873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		INT iPriority;
23973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_CHANGEPRIORITY;
24073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
24273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
24373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uStream;
24473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hOtherNode;
24573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uOtherStream;
24673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_STRMATTR *pAttrs;
24773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_CBDATA *pConnParam;
24873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_CONNECT;
24973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
25173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
25273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_CREATE;
25373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
25573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
25673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_DELETE;
25773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
25973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
26073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_BUFFERATTR *pAttr;
26173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE *pBuffer;
26273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_FREEMSGBUF;
26373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
26573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
26673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NODEATTR *pAttr;
26773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uAttrSize;
26873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_GETATTR;
26973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
27173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
27273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_MSG *pMessage;
27373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uTimeout;
27473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_GETMESSAGE;
27573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
27773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
27873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_PAUSE;
27973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
28173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
28273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_MSG *pMessage;
28373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uTimeout;
28473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_PUTMESSAGE;
28573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
28773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
28873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uEventMask;
28973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNotifyType;
29073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NOTIFICATION* hNotification;
29173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_REGISTERNOTIFY;
29273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
29473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
29573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_RUN;
29673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
29873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
29973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS *pStatus;
30073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_TERMINATE;
30173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
30373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
30473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_UUID *pNodeID;
30573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NDBPROPS *pNodeProps;
30673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_NODE_GETUUIDPROPS;
30773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin        /* STRM module */
30973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
31173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
31273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uSize;
31373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE **apBuffer;
31473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNumBufs;
31573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_ALLOCATEBUFFER;
31673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
31873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
31973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_CLOSE;
32073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
32273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
32373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE **apBuffer;
32473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNumBufs;
32573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_FREEBUFFER;
32673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
32873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
32973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		HANDLE *phEvent;
33073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_GETEVENTHANDLE;
33173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
33373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
33473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct STRM_INFO *pStreamInfo;
33573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uStreamInfoSize;
33673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_GETINFO;
33773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
33973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
34073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		bool bFlush;
34173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_IDLE;
34273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
34473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
34573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE *pBuffer;
34673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG dwBytes;
34773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG dwBufSize;
34873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DWORD dwArg;
34973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_ISSUE;
35073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
35273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HNODE hNode;
35373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uDirection;
35473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uIndex;
35573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct STRM_ATTR *pAttrIn;
35673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM *phStream;
35773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_OPEN;
35873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
36073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
36173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		BYTE **pBufPtr;
36273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG *pBytes;
36373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG *pBufSize;
36473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DWORD *pdwArg;
36573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_RECLAIM;
36673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
36873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM hStream;
36973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uEventMask;
37073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uNotifyType;
37173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct DSP_NOTIFICATION* hNotification;
37273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_REGISTERNOTIFY;
37373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
37573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HSTREAM *aStreamTab;
37673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT nStreams;
37773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT *pMask;
37873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uTimeout;
37973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_STRM_SELECT;
38073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* CMM Module */
38273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
38373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_OBJECT* hCmmMgr;
38473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		UINT uSize;
38573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_ATTRS *pAttrs;
38673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		OUT PVOID *ppBufVA;
38773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_CMM_ALLOCBUF;
38873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
39073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_OBJECT* hCmmMgr;
39173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pBufPA;
39273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG ulSegId;
39373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_CMM_FREEBUF;
39473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
39573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
39673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_HPROCESSOR hProcessor;
39773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_OBJECT* *phCmmMgr;
39873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_CMM_GETHANDLE;
39973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
40173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_OBJECT* hCmmMgr;
40273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		struct CMM_INFO *pCmmInfo;
40373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_CMM_GETINFO;
40473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* MEM Module */
40673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
40773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG cBytes;
40873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		MEM_POOLATTRS type;
40973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMem;
41073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MEM_ALLOC;
41173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
41373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG cBytes;
41473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		MEM_POOLATTRS type;
41573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMem;
41673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MEM_CALLOC;
41773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
41973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pMem;
42073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MEM_FREE;
42173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
42373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pBuffer;
42473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG cSize;
42573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pLockedBuffer;
42673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MEM_PAGELOCK;
42773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
42973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		PVOID pBuffer;
43073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG cSize;
43173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_MEM_PAGEUNLOCK;
43273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	/* UTIL module */
43473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct {
43573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		INT cArgc;
43673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		CHAR **ppArgv;
43773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	} ARGS_UTIL_TESTDLL;
43873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin} Trapped_Args;
44073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_BASE                    1
44273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* MGR module offsets */
44473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_BASE_OFFSET             CMD_BASE
44573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_ENUMNODE_INFO_OFFSET    (CMD_MGR_BASE_OFFSET + 0)
44673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_ENUMPROC_INFO_OFFSET    (CMD_MGR_BASE_OFFSET + 1)
44773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_REGISTEROBJECT_OFFSET   (CMD_MGR_BASE_OFFSET + 2)
44873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_UNREGISTEROBJECT_OFFSET (CMD_MGR_BASE_OFFSET + 3)
44973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_WAIT_OFFSET             (CMD_MGR_BASE_OFFSET + 4)
45073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#ifndef RES_CLEANUP_DISABLE
45273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_RESOUCES_OFFSET         (CMD_MGR_BASE_OFFSET + 5)
45373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_END_OFFSET              CMD_MGR_RESOUCES_OFFSET
45473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#else
45573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MGR_END_OFFSET              CMD_MGR_WAIT_OFFSET
45673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#endif
45773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_BASE_OFFSET            (CMD_MGR_END_OFFSET + 1)
45973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_ATTACH_OFFSET          (CMD_PROC_BASE_OFFSET + 0)
46073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_CTRL_OFFSET            (CMD_PROC_BASE_OFFSET + 1)
46173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_DETACH_OFFSET          (CMD_PROC_BASE_OFFSET + 2)
46273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_ENUMNODE_OFFSET        (CMD_PROC_BASE_OFFSET + 3)
46373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_ENUMRESOURCES_OFFSET   (CMD_PROC_BASE_OFFSET + 4)
46473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_GETSTATE_OFFSET        (CMD_PROC_BASE_OFFSET + 5)
46573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_GETTRACE_OFFSET        (CMD_PROC_BASE_OFFSET + 6)
46673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_LOAD_OFFSET            (CMD_PROC_BASE_OFFSET + 7)
46773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_REGISTERNOTIFY_OFFSET  (CMD_PROC_BASE_OFFSET + 8)
46873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_START_OFFSET           (CMD_PROC_BASE_OFFSET + 9)
46973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_RSVMEM_OFFSET          (CMD_PROC_BASE_OFFSET + 10)
47073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_UNRSVMEM_OFFSET        (CMD_PROC_BASE_OFFSET + 11)
47173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_MAPMEM_OFFSET          (CMD_PROC_BASE_OFFSET + 12)
47273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_UNMAPMEM_OFFSET        (CMD_PROC_BASE_OFFSET + 13)
47373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_FLUSHMEMORY_OFFSET      (CMD_PROC_BASE_OFFSET + 14)
47473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_STOP_OFFSET            (CMD_PROC_BASE_OFFSET + 15)
47573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_INVALIDATEMEMORY_OFFSET (CMD_PROC_BASE_OFFSET + 16)
47673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_PROC_END_OFFSET             CMD_PROC_INVALIDATEMEMORY_OFFSET
47773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_BASE_OFFSET            (CMD_PROC_END_OFFSET + 1)
48073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_ALLOCATE_OFFSET        (CMD_NODE_BASE_OFFSET + 0)
48173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_ALLOCMSGBUF_OFFSET     (CMD_NODE_BASE_OFFSET + 1)
48273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_CHANGEPRIORITY_OFFSET  (CMD_NODE_BASE_OFFSET + 2)
48373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_CONNECT_OFFSET         (CMD_NODE_BASE_OFFSET + 3)
48473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_CREATE_OFFSET          (CMD_NODE_BASE_OFFSET + 4)
48573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_DELETE_OFFSET          (CMD_NODE_BASE_OFFSET + 5)
48673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_FREEMSGBUF_OFFSET      (CMD_NODE_BASE_OFFSET + 6)
48773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_GETATTR_OFFSET         (CMD_NODE_BASE_OFFSET + 7)
48873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_GETMESSAGE_OFFSET      (CMD_NODE_BASE_OFFSET + 8)
48973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_PAUSE_OFFSET           (CMD_NODE_BASE_OFFSET + 9)
49073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_PUTMESSAGE_OFFSET      (CMD_NODE_BASE_OFFSET + 10)
49173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_REGISTERNOTIFY_OFFSET  (CMD_NODE_BASE_OFFSET + 11)
49273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_RUN_OFFSET             (CMD_NODE_BASE_OFFSET + 12)
49373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_TERMINATE_OFFSET       (CMD_NODE_BASE_OFFSET + 13)
49473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_GETUUIDPROPS_OFFSET    (CMD_NODE_BASE_OFFSET + 14)
49573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_NODE_END_OFFSET             CMD_NODE_GETUUIDPROPS_OFFSET
49673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
49773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_BASE_OFFSET            (CMD_NODE_END_OFFSET + 1)
49873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_ALLOCATEBUFFER_OFFSET  (CMD_STRM_BASE_OFFSET + 0)
49973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_CLOSE_OFFSET           (CMD_STRM_BASE_OFFSET + 1)
50073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_FREEBUFFER_OFFSET      (CMD_STRM_BASE_OFFSET + 2)
50173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_GETEVENTHANDLE_OFFSET  (CMD_STRM_BASE_OFFSET + 3)
50273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_GETINFO_OFFSET         (CMD_STRM_BASE_OFFSET + 4)
50373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_IDLE_OFFSET            (CMD_STRM_BASE_OFFSET + 5)
50473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_ISSUE_OFFSET           (CMD_STRM_BASE_OFFSET + 6)
50573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_OPEN_OFFSET            (CMD_STRM_BASE_OFFSET + 7)
50673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_RECLAIM_OFFSET         (CMD_STRM_BASE_OFFSET + 8)
50773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_REGISTERNOTIFY_OFFSET  (CMD_STRM_BASE_OFFSET + 9)
50873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_SELECT_OFFSET          (CMD_STRM_BASE_OFFSET + 10)
50973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_STRM_END_OFFSET             CMD_STRM_SELECT_OFFSET
51073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* Communication Memory Manager (UCMM) */
51273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_BASE_OFFSET             (CMD_STRM_END_OFFSET + 1)
51373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_ALLOCBUF_OFFSET         (CMD_CMM_BASE_OFFSET + 0)
51473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_FREEBUF_OFFSET          (CMD_CMM_BASE_OFFSET + 1)
51573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_GETHANDLE_OFFSET        (CMD_CMM_BASE_OFFSET + 2)
51673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_GETINFO_OFFSET          (CMD_CMM_BASE_OFFSET + 3)
51773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_CMM_END_OFFSET              CMD_CMM_GETINFO_OFFSET
51873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* MEMRY module offsets */
52073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_BASE_OFFSET             (CMD_CMM_END_OFFSET + 1)
52173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_ALLOC_OFFSET            (CMD_MEM_BASE_OFFSET + 0)
52273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_CALLOC_OFFSET           (CMD_MEM_BASE_OFFSET + 1)
52373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_FREE_OFFSET             (CMD_MEM_BASE_OFFSET + 2)
52473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_PAGELOCK_OFFSET         (CMD_MEM_BASE_OFFSET + 3)
52573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_PAGEUNLOCK_OFFSET       (CMD_MEM_BASE_OFFSET + 4)
52673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_MEM_END_OFFSET              CMD_MEM_PAGEUNLOCK_OFFSET
52773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* UTIL module */
52973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_UTIL_BASE_OFFSET            (CMD_MEM_END_OFFSET + 1)
53073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_UTIL_TESTDLL_OFFSET         (CMD_UTIL_BASE_OFFSET + 0)
53173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_UTIL_END_OFFSET             CMD_UTIL_TESTDLL_OFFSET
53273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* !!! place all command modules before CMD_BASE_END_OFFSET */
53473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define CMD_BASE_END_OFFSET             CMD_UTIL_END_OFFSET
53573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#endif				/* WCDIOCTL_ */
537