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