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 * qosregistry.h
2073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin *
2173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin * DSP-BIOS Bridge driver support functions for TI OMAP processors.
2273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin */
2373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
2473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
2573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#ifndef __QOSTI_H__
2673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
2773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define __QOSTI_H__
2873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
2973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#include <dbapi.h>
3073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
3273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   TLoadMode
3473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   The node load mode for qos.
3873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
3973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin ============================================================================ */
4073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
4173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinenum TLoadMode
4273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin{
4373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
4473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	EStaticLoad,
4573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
4673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	EDynamicLoad
4773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
4873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
4973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
5073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name    CQosTI
5273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc    An example class that uses the DSP BIOS/Bridge interfaces.and
5673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin          demonstrates creating an xDAIS Socket Node on the DSP. It sends
5873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
5973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin          messages and data buffers to the DSP, and then receives the qosd
6073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin          data back from the DSP for display.
6273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
6673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	RHwaOmap            iDsp ;
6873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
6973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
7073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   TQosResourceID
7273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   List of available resource types
7673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
7773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
7873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin */
7973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavintypedef enum _QOSDATATYPE {
8173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Memory_DynLoad = 0,
8373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Memory_DynAlloc,
8573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Memory_Scratch,
8773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
8873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Processor_C55X,
8973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Processor_C6X,
9173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Peripheral_DMA,
9373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Stream,
9573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Component,
9773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
9873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_Registry,
9973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	QOSDataType_DynDependentLibrary
10173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin} QOSDATATYPE;
10273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define QOS_USER_DATA_TYPE	0x80000000	/* Flag indicating a application-defined
10473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										   data type ID */
10573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
10773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
10873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   QOSDATA
10973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   Generic data for resource management is described by the following
11373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  structure
11473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
11673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
11773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSDATA {
11873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
11973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	ULONG Id;
12073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA *Next;
12273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	 ULONG(*TypeSpecific)(struct QOSDATA *DataObject, ULONG FunctionCode,
12473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin			 											ULONG Parameter1);
12573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	 /* ptr to type-specific func. */
12673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	ULONG Size;		/* size of data plus this header */
12873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
12973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	char Data[];
13073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
13273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  ============================================================================
13473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  name   QOSFNTYPESPECIFIC
13673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//
13873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
13973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  desc   Pointer to type-specific function handler for the data object
14073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  ============================================================================
14273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavintypedef ULONG(*QOSFNTYPESPECIFIC)(struct QOSDATA *DataObject,ULONG FunctionCode,
14473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin															ULONG Parameter1);
14573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Memory_Scratch_FunctionHandler(struct QOSDATA *DataObject,
14773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
14873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
14973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Memory_DynAlloc_FunctionHandler(struct QOSDATA *DataObject,
15073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
15173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
15273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Memory_DynLoad_FunctionHandler(struct QOSDATA *DataObject,
15373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
15473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
15573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Processor_FunctionHandler(struct QOSDATA *DataObject,
15673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
15773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
15873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Resource_DefaultFunctionHandler(struct QOSDATA *DataObject,
15973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										  ULONG FunctionCode, ULONG Parameter1);
16073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
16173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Component_DefaultFunctionHandler(struct QOSDATA *DataObject,
16273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
16373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
16473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_DynDependentLibrary_FunctionHandler(struct QOSDATA *DataObject,
16573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin									      ULONG FunctionCode, ULONG Parameter1);
16673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
16773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG QOS_Registry_FunctionHandler(struct QOSDATA *DataObject,
16873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin										ULONG FunctionCode, ULONG Parameter1);
16973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
17173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   QOSREGISTRY
17373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   The QOSREGISTRY structure contains a list of all resources and
17773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  components in the system
17873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
17973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
18173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
18273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSREGISTRY {
18473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
18673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA *ResourceRegistry;
18873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
18973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA *ComponentRegistry;
19073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
19273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  ============================================================================
19473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  name   QOSRESOURCE_MEMORY
19673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//
19873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
19973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  desc   System memory resources are characterized by the following structure
20073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  ============================================================================
20273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSRESOURCE_MEMORY {
20473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
20673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT align;		/* alignment of memory heap */
20873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
20973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT heapId;		/* resource heap ID */
21073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT size;		/* size of memory heap */
21273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT type;		/* type of memory: prefer/require/scratch/persist */
21473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT allocated;		/* size of heap in use (not free) */
21673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT largestfree;	/* size of largest contiguous free block */
21873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
21973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT group;		/* scratch group ID (only for scratch memory) */
22073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
22273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
22473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   QOSRESOURCE_PROCESSOR
22673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
22973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   Each processor is described by its processor type, hardware
23073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  attributes, and available processing cycles (MIPS).
23173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
23273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================*/
23373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
23473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSRESOURCE_PROCESSOR {
23573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
23673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
23773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
23873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT MaxMips;		/* max cpu cycles required for component */
23973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT TypicalMips;	/* typical cpu cycles required */
24173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT MaxCycles;		/* max cpu cycles for single iteration */
24373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT TypicalCycles;	/* typical cpu cycles for single iteration */
24573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT Utilization;	/* percentage of time cpu is idle */
24773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
24873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT currentLoad;
24973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT predLoad;
25173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT currDspFreq;
25373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT predictedFreq;
25573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin} ;
25873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
25973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
26073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   QOSRESOURCE_STREAM
26273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   Bridge Streams are introduced as a QoS resource structure
26673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
26773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
26873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
26973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSRESOURCE_STREAM {
27173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
27373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct DSP_STRMATTR Attrs;	/* Stream attributes for this stream */
27573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT Direction;		/* DSP_TONODE or DSP_FROMNODE */
27773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
27873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
27973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin struct QOSDYNDEPLIB {
28173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
28373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct DSP_UUID depLibUuid;	/* UUID of Dynamic Dependent Library */
28573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	const CHAR *depLibPath;	/* Path to Dynamic Dependent Library */
28773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
28873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
28973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
29173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   QOSCOMPONENT
29373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   Bridge Streams are introduced as a QoS resource structure
29773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
29873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
29973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
30073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSCOMPONENT {
30273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA data;
30473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT InUse;		/* Count of instances of this component in use */
30673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT aTaskId;
30873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
30973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT VariantID;
31073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	UINT InterfaceID;
31273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct DSP_UUID NodeUuid;
31473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	PVOID dynNodePath;
31673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDATA *resourceList;
31873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
31973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	struct QOSDYNDEPLIB *dynDepLibList;
32073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin};
32273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
32473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   Registry-specific QOS_FN_xxx definitions
32673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
32973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   These are defines for the registry-specific function codes
33073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
33273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin */
33373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define QOS_FN_GetNumDynAllocMemHeaps 		1
33573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define QOS_FN_HasAvailableResource			2
33773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
33873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
33973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name   Resource-specific QOS_FN_xxx definitions
34173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  desc   These are defines for the resource-specific function codes
34573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  ============================================================================
34773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
34873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
34973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define QOS_FN_ResourceIsAvailable	1
35073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#define QOS_FN_ResourceUpdateInfo	2
35273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin//  ============================================================================
35473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  name        DSPRegistry_Create
35673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
35973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
36073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Creates empty Registry, then adds all the default system resources
36273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
36473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		none
36673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
36873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
36973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		QOSREGISTRY*	ptr to new system registry
37073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		NULL			Failure (out of memory)
37273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
37473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
37673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
37873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
37973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSREGISTRY *DSPRegistry_Create();
38073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
38273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPRegistry_Delete
38473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
38873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
38973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Deletes Registry and cleans up QoS Gateway & Registry objects that it
39073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		owns.
39173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
39273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
39373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
39473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		registry		ptr to previously created registry
39573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
39673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
39773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
39873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		none
39973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
40173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
40373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
40573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinvoid DSPRegistry_Delete(struct QOSREGISTRY *registry);
40773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
40873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
40973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPRegistry_Find
41173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
41573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Finds resource(s) or component(s) that match the given Id. For
41773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		resources, each matching
41873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
41973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		resource's TypeSpecific function is called with the function
42073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ID QOS_FN_ResourceUpdateInfo to
42173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ensure that all resources have current data in their structures.
42373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
42573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Id	requested Id
42773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
42873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		registry		system registry
42973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ResultList		ptr to results array
43173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Size			ptr to ULONG number of entries available in array
43373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
43573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_OK			successful
43773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
43873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_ESIZE		block for results is too small
43973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_ENOTFOUND	item not found
44173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
44373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10008
44573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
44773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
44873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPRegistry_Find(UINT Id, struct QOSREGISTRY *registry,
44973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin									struct QOSDATA **ResultList, ULONG *Size);
45073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
45273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPRegistry_Add
45473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
45873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
45973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Add given resource or component to the list
46073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
46173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
46273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
46373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		listhead		system registry (in the case of adding resources or
46473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		components to the system)
46573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
46673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin						or component (in the case of adding required resources
46773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin						to a component)
46873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
46973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		entry			entry to add in list
47073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
47273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS		Error code or DSP_SOK for success
47473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
47673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
47873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
47973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
48073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPRegistry_Add(struct QOSDATA *listhead, struct QOSDATA *entry);
48273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/* ============================================================================
48473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPRegistry_Remove
48673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
48973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
49073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
49173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Removes given resource or component from the list
49273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
49373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
49473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
49573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		listhead		system registry (in the case of removing resources or
49673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		components from the system)
49773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
49873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin						or component (in the case of removing required
49973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin						resources from a component)
50073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
50173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		entry			resource or component to remove
50273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
50373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
50473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
50573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS	Error code or DSP_SOK for success
50673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
50773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
50873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
50973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
51073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
51273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPRegistry_Remove(struct QOSDATA *listhead, struct QOSDATA *entry);
51473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
51673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPQos_TypeSpecific
51873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
51973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
52273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Calls the type-specific function defined for this data type.
52473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Internally, this is implemented
52573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		as a call to the QOSDATA structure's TypeSpecific() function.
52773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
52873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
52973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DataObject		Far pointer to the structure for the data object
53173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		FunctionCode	Type-specific function code
53373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Parameter1		Function-specific parameter
53573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
53773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
53873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		ULONG			Function-specific return code.
53973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
54073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
54173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
54273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085, SR10008
54373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
54473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
54573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
54673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinULONG DSPQos_TypeSpecific(struct QOSDATA *DataObject, ULONG FunctionCode,
54773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin															ULONG Parameter1);
54873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
54973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
55073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
55173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPComponent_Register
55273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
55373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
55473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
55573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
55673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
55773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Informs Registry that the given component is using system resources.
55873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Internally, this
55973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
56073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		increments the InUse field of the QOSCOMPONENT structure.
56173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
56273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
56373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
56473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		registry		system registry
56573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
56673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		comp			component using system resources
56773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
56873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
56973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
57073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS		Error code or DSP_SOK for success
57173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
57273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
57373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
57473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
57573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
57673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
57773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
57873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPComponent_Register(struct QOSREGISTRY *registry,
57973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin													struct QOSCOMPONENT *comp);
58073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
58273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPComponent_Unregister
58473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
58873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
58973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Informs Registry that component is no longer using system resources.
59073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Internally, this
59173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
59273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		decrements the InUse field of the QOSCOMPONENT structure.
59373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
59473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
59573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
59673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		registry		system registry
59773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
59873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		comp			component releasing system resources
59973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
60073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
60173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
60273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS		Error code or DSP_SOK for success
60373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
60473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
60573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
60673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):  SR10085
60773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
60873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
60973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPComponent_Unregister(struct QOSREGISTRY *registry,
61173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin													struct QOSCOMPONENT *comp);
61273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
61473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPData_Create
61673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
61973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
62073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
62173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Allocates and initializes a QOSDATA structure.
62273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
62373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
62473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
62573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		id				type of data
62673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
62773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
62873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
62973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		QOSDATA *		ptr to data structure or NULL for failure
63073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
63173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
63273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
63373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):
63473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
63573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
63673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
63773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinstruct QOSDATA *DSPData_Create(ULONG id);
63873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
63973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
64073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPData_Delete
64273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
64673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Deletes a QOSDATA structure, recursively deleting any associated lists.
64873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
64973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
65073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
65173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		data			ptr to data structure to delete
65273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
65373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
65473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
65573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		DSP_STATUS		Error code or DSP_SOK for success
65673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
65773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
65873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
65973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):
66073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
66173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
66273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
66373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz ZavinDSP_STATUS DSPData_Delete(struct QOSDATA *data);
66473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
66573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin/*  ============================================================================
66673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
66773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin  name        DSPData_IsResource
66873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
66973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Implementation
67273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Determines whether a QOSDATA structure Id is a "resource" type ID.
67473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Parameters
67673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		Id				type ID to check
67873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
67973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Return
68073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
68173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		bool			TRUE for resources, FALSE otherwise.
68273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
68373b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin	Requirement Coverage
68473b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
68573b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin		This method addresses requirement(s):
68673b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
68773b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin*/
68873b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
68973b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavinbool DSPData_IsResource(ULONG Id);
69073b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
69173b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin#endif
69273b11d6e96b6d49896738a1a1c87b295c1b96be2Rebecca Schultz Zavin
693