1/* 2 * Copyright (c) 1998-2001 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * The contents of this file constitute Original Code as defined in and 7 * are subject to the Apple Public Source License Version 1.1 (the 8 * "License"). You may not use this file except in compliance with the 9 * License. Please obtain a copy of the License at 10 * http://www.apple.com/publicsource and read it before using this file. 11 * 12 * This Original Code and all software distributed under the License are 13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the 17 * License for the specific language governing rights and limitations 18 * under the License. 19 * 20 * @APPLE_LICENSE_HEADER_END@ 21 */ 22 23#ifndef _IOKIT_IOFIREWIREAVCUSERCLIENTCOMMON_H_ 24#define _IOKIT_IOFIREWIREAVCUSERCLIENTCOMMON_H_ 25 26#include <IOKit/avc/IOFireWireAVCConsts.h> 27 28#define kIOFireWireAVCLibConnection 13 29 30enum IOFWAVCUserClientCommandCodes { 31 kIOFWAVCUserClientOpen, // kIOUCScalarIScalarO 0,0 32 kIOFWAVCUserClientClose, // kIOUCScalarIScalarO 0,0 33 kIOFWAVCUserClientOpenWithSessionRef, // kIOUCScalarIScalarO 1,0 34 kIOFWAVCUserClientGetSessionRef, // kIOUCScalarIScalarO 0,1 35 kIOFWAVCUserClientAVCCommand, // kIOUCStructIStructO -1,-1 36 kIOFWAVCUserClientAVCCommandInGen, // kIOUCStructIStructO -1,-1 37 kIOFWAVCUserClientUpdateAVCCommandTimeout, // kIOUCScalarIScalarO 0,0 38 kIOFWAVCUserClientMakeP2PInputConnection, // KIOUCScalarIScalarO 1, 0 39 kIOFWAVCUserClientBreakP2PInputConnection, // KIOUCScalarIScalarO 1, 0 40 kIOFWAVCUserClientMakeP2POutputConnection, // KIOUCScalarIScalarO 1, 0 41 kIOFWAVCUserClientBreakP2POutputConnection, // KIOUCScalarIScalarO 1, 0 42 kIOFWAVCUserClientCreateAsyncAVCCommand, // kIOUCStructIStructO -1,-1 43 kIOFWAVCUserClientSubmitAsyncAVCCommand, // kIOUCScalarIScalarO 1, 0 44 kIOFWAVCUserClientCancelAsyncAVCCommand, // kIOUCScalarIScalarO 1, 0 45 kIOFWAVCUserClientReleaseAsyncAVCCommand, // kIOUCScalarIScalarO 1, 0 46 kIOFWAVCUserClientReinitAsyncAVCCommand, // // kIOUCScalarIStructI 1, -1 47 kIOFWAVCUserClientNumCommands 48}; 49 50enum IOFWAVCUserClientAsyncCommandCodes { 51 kIOFWAVCUserClientInstallAsyncAVCCommandCallback = kIOFWAVCUserClientNumCommands, // kIOUCScalarIScalarO 1, 1 52 kIOFWAVCUserClientNumAsyncCommands 53}; 54 55 56enum IOFWAVCProtocolUserClientCommandCodes { 57 kIOFWAVCProtocolUserClientSendAVCResponse, // kIOUCScalarIStructI 2, -1 58 kIOFWAVCProtocolUserClientFreeInputPlug, // kIOUCScalarIScalarO 1, 0 59 kIOFWAVCProtocolUserClientReadInputPlug, // kIOUCScalarIScalarO 1, 1 60 kIOFWAVCProtocolUserClientUpdateInputPlug, // kIOUCScalarIScalarO 3, 0 61 kIOFWAVCProtocolUserClientFreeOutputPlug, // kIOUCScalarIScalarO 1, 0 62 kIOFWAVCProtocolUserClientReadOutputPlug, // kIOUCScalarIScalarO 1, 1 63 kIOFWAVCProtocolUserClientUpdateOutputPlug, // kIOUCScalarIScalarO 3, 0 64 kIOFWAVCProtocolUserClientReadOutputMasterPlug, // kIOUCScalarIScalarO 0, 1 65 kIOFWAVCProtocolUserClientUpdateOutputMasterPlug, // kIOUCScalarIScalarO 2, 0 66 kIOFWAVCProtocolUserClientReadInputMasterPlug, // kIOUCScalarIScalarO 0, 1 67 kIOFWAVCProtocolUserClientUpdateInputMasterPlug, // kIOUCScalarIScalarO 2, 0 68 kIOFWAVCProtocolUserClientPublishAVCUnitDirectory, // kIOUCScalarIScalarO 0, 0 69 kIOFWAVCProtocolUserClientSetSubunitPlugSignalFormat, // kIOUCScalarIScalarO 4, 0 70 kIOFWAVCProtocolUserClientGetSubunitPlugSignalFormat, // kIOUCScalarIScalarO 3, 1 71 kIOFWAVCProtocolUserClientConnectTargetPlugs, // kIOUCStructIStructO 72 kIOFWAVCProtocolUserClientDisconnectTargetPlugs, // kIOUCScalarIScalarO 6, 0 73 kIOFWAVCProtocolUserClientGetTargetPlugConnection, // kIOUCStructIStructO 74 kIOFWAVCProtocolUserClientAVCRequestNotHandled, // kIOUCScalarIStructI 4, -1 75 kIOFWAVCProtocolUserClientNumCommands 76}; 77 78enum IOFWAVCProtocolUserClientAsyncCommandCodes { 79 kIOFWAVCProtocolUserClientSetAVCRequestCallback = kIOFWAVCProtocolUserClientNumCommands, // kIOUCScalarIScalarO 2, 0 80 kIOFWAVCProtocolUserClientAllocateInputPlug, // kIOUCScalarIScalarO 1, 1 81 kIOFWAVCProtocolUserClientAllocateOutputPlug, // kIOUCScalarIScalarO 1, 1 82 kIOFWAVCProtocolUserClientInstallAVCCommandHandler, // kIOUCScalarIScalarO 4, 0 83 kIOFWAVCProtocolUserClientAddSubunit, // kIOUCScalarIScalarO 5, 1 84 kIOFWAVCProtocolUserClientNumAsyncCommands 85}; 86 87typedef struct _AVCConnectTargetPlugsInParams 88{ 89 UInt32 sourceSubunitTypeAndID; 90 IOFWAVCPlugTypes sourcePlugType; 91 UInt32 sourcePlugNum; 92 UInt32 destSubunitTypeAndID; 93 IOFWAVCPlugTypes destPlugType; 94 UInt32 destPlugNum; 95 Boolean lockConnection; 96 Boolean permConnection; 97}AVCConnectTargetPlugsInParams; 98 99typedef struct _AVCConnectTargetPlugsOutParams 100{ 101 UInt32 sourcePlugNum; 102 UInt32 destPlugNum; 103}AVCConnectTargetPlugsOutParams; 104 105typedef struct _AVCGetTargetPlugConnectionInParams 106{ 107 UInt32 subunitTypeAndID; 108 IOFWAVCPlugTypes plugType; 109 UInt32 plugNum; 110}AVCGetTargetPlugConnectionInParams; 111 112typedef struct _AVCGetTargetPlugConnectionOutParams 113{ 114 UInt32 connectedSubunitTypeAndID; 115 IOFWAVCPlugTypes connectedPlugType; 116 UInt32 connectedPlugNum; 117 Boolean lockConnection; 118 Boolean permConnection; 119}AVCGetTargetPlugConnectionOutParams; 120 121#define kAsyncCmdSharedBufInterimRespOffset 0 122#define kAsyncCmdSharedBufFinalRespOffset 512 123 124#endif // _IOKIT_IOFIREWIREAVCUSERCLIENTCOMMON_H_