1/*
2 * Copyright (c) 2009 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/*
24     File:       DeviceControlPriv.h
25
26     Contains:   xxx put contents here xxx
27
28     Version:    xxx put version here xxx
29
30     DRI:        xxx put dri here xxx
31
32     Copyright:  � 1999-2001 by Apple Computer, Inc., all rights reserved.
33
34     Warning:    *** APPLE INTERNAL USE ONLY ***
35                 This file contains unreleased SPI's
36
37     BuildInfo:  Built by:            wgulland
38                 On:                  Tue Mar 12 16:49:01 2002
39                 With Interfacer:     3.0d35   (Mac OS X for PowerPC)
40                 From:                DeviceControlPriv.i
41                     Revision:        3
42                     Dated:           6/15/99
43                     Last change by:  KW
44                     Last comment:    fix screwup
45
46     Bugs:       Report bugs to Radar component "System Interfaces", "Latest"
47                 List the version information (from above) in the Problem Description.
48
49*/
50#ifndef __DEVICECONTROLPRIV__
51#define __DEVICECONTROLPRIV__
52
53#ifndef __DEVICECONTROL__
54#include <DeviceControl.h>
55#endif
56
57
58
59
60
61
62#if PRAGMA_ONCE
63#pragma once
64#endif
65
66#ifdef __cplusplus
67extern "C" {
68#endif
69
70#if PRAGMA_IMPORT
71#pragma import on
72#endif
73
74#if PRAGMA_STRUCT_ALIGN
75    #pragma options align=mac68k
76#elif PRAGMA_STRUCT_PACKPUSH
77    #pragma pack(push, 2)
78#elif PRAGMA_STRUCT_PACK
79    #pragma pack(2)
80#endif
81
82typedef UInt32                          DeviceConnectionID;
83enum {
84  kDeviceControlComponentType   = FOUR_CHAR_CODE('devc'), /* Component type */
85  kDeviceControlSubtypeFWDV     = FOUR_CHAR_CODE('fwdv') /* Component subtype */
86};
87
88
89
90
91/* Private calls made by the Isoc component */
92
93EXTERN_API( ComponentResult )
94DeviceControlEnableAVCTransactions(ComponentInstance instance) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0100, 0x7000, 0xA82A);
95
96
97EXTERN_API( ComponentResult )
98DeviceControlDisableAVCTransactions(ComponentInstance instance) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0101, 0x7000, 0xA82A);
99
100
101EXTERN_API( ComponentResult )
102DeviceControlSetDeviceConnectionID(
103  ComponentInstance    instance,
104  DeviceConnectionID   connectionID)                          FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
105
106
107EXTERN_API( ComponentResult )
108DeviceControlGetDeviceConnectionID(
109  ComponentInstance     instance,
110  DeviceConnectionID *  connectionID)                         FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
111
112
113
114/* selectors for component calls */
115enum {
116    kDeviceControlEnableAVCTransactionsSelect  = 0x0100,
117    kDeviceControlDisableAVCTransactionsSelect = 0x0101,
118    kDeviceControlSetDeviceConnectionIDSelect  = 0x0102,
119    kDeviceControlGetDeviceConnectionIDSelect  = 0x0103
120};
121
122#if PRAGMA_STRUCT_ALIGN
123    #pragma options align=reset
124#elif PRAGMA_STRUCT_PACKPUSH
125    #pragma pack(pop)
126#elif PRAGMA_STRUCT_PACK
127    #pragma pack()
128#endif
129
130#ifdef PRAGMA_IMPORT_OFF
131#pragma import off
132#elif PRAGMA_IMPORT
133#pragma import reset
134#endif
135
136#ifdef __cplusplus
137}
138#endif
139
140#endif /* __DEVICECONTROLPRIV__ */
141
142