1/* 2 * Copyright (c) 2000 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 * IOSerialStreamSync.cpp 24 * 25 * 2000-10-21 gvdl Initial real change to IOKit serial family. 26 * 27 */ 28 29#include "IOSerialDriverSync.h" 30 31#include "IOSerialStreamSync.h" 32#include "IORS232SerialStreamSync.h" 33#include "IOModemSerialStreamSync.h" 34 35OSDefineMetaClassAndAbstractStructors(IOSerialDriverSync, IOService); 36OSMetaClassDefineReservedUnused(IOSerialDriverSync, 0); 37OSMetaClassDefineReservedUnused(IOSerialDriverSync, 1); 38OSMetaClassDefineReservedUnused(IOSerialDriverSync, 2); 39OSMetaClassDefineReservedUnused(IOSerialDriverSync, 3); 40OSMetaClassDefineReservedUnused(IOSerialDriverSync, 4); 41OSMetaClassDefineReservedUnused(IOSerialDriverSync, 5); 42OSMetaClassDefineReservedUnused(IOSerialDriverSync, 6); 43OSMetaClassDefineReservedUnused(IOSerialDriverSync, 7); 44OSMetaClassDefineReservedUnused(IOSerialDriverSync, 8); 45OSMetaClassDefineReservedUnused(IOSerialDriverSync, 9); 46OSMetaClassDefineReservedUnused(IOSerialDriverSync, 10); 47OSMetaClassDefineReservedUnused(IOSerialDriverSync, 11); 48OSMetaClassDefineReservedUnused(IOSerialDriverSync, 12); 49OSMetaClassDefineReservedUnused(IOSerialDriverSync, 13); 50OSMetaClassDefineReservedUnused(IOSerialDriverSync, 14); 51OSMetaClassDefineReservedUnused(IOSerialDriverSync, 15); 52 53OSDefineMetaClassAndStructors(IOSerialStreamSync, IOService); 54OSMetaClassDefineReservedUnused(IOSerialStreamSync, 0); 55OSMetaClassDefineReservedUnused(IOSerialStreamSync, 1); 56OSMetaClassDefineReservedUnused(IOSerialStreamSync, 2); 57OSMetaClassDefineReservedUnused(IOSerialStreamSync, 3); 58OSMetaClassDefineReservedUnused(IOSerialStreamSync, 4); 59OSMetaClassDefineReservedUnused(IOSerialStreamSync, 5); 60OSMetaClassDefineReservedUnused(IOSerialStreamSync, 6); 61OSMetaClassDefineReservedUnused(IOSerialStreamSync, 7); 62OSMetaClassDefineReservedUnused(IOSerialStreamSync, 8); 63OSMetaClassDefineReservedUnused(IOSerialStreamSync, 9); 64OSMetaClassDefineReservedUnused(IOSerialStreamSync, 10); 65OSMetaClassDefineReservedUnused(IOSerialStreamSync, 11); 66OSMetaClassDefineReservedUnused(IOSerialStreamSync, 12); 67OSMetaClassDefineReservedUnused(IOSerialStreamSync, 13); 68OSMetaClassDefineReservedUnused(IOSerialStreamSync, 14); 69OSMetaClassDefineReservedUnused(IOSerialStreamSync, 15); 70 71OSDefineMetaClassAndStructors(IORS232SerialStreamSync, IOSerialStreamSync); 72OSDefineMetaClassAndStructors(IOModemSerialStreamSync, IOSerialStreamSync); 73 74#define super IOService 75 76bool IOSerialStreamSync::init(OSDictionary *dictionary, void *refCon) 77{ 78 if (!super::init(dictionary)) 79 return false; 80 81 fRefCon = refCon; 82 return true; 83} 84 85bool IOSerialStreamSync::attach(IOService *provider) 86{ 87 if (!super::attach(provider)) 88 return false; 89 90 fProvider = OSDynamicCast(IOSerialDriverSync, provider); 91 if (fProvider) 92 return true; 93 else { 94 super::detach(provider); 95 return false; 96 } 97} 98 99IOReturn IOSerialStreamSync:: 100acquirePort(bool sleep) 101 { return fProvider->acquirePort(sleep, fRefCon); } 102 103IOReturn IOSerialStreamSync:: 104releasePort() 105 { return fProvider->releasePort(fRefCon); } 106 107IOReturn IOSerialStreamSync:: 108setState(UInt32 state, UInt32 mask) 109 { return fProvider->setState(state, mask, fRefCon); } 110 111UInt32 IOSerialStreamSync:: 112getState() 113 { return fProvider->getState(fRefCon); } 114 115IOReturn IOSerialStreamSync:: 116watchState(UInt32 *state, UInt32 mask) 117 { return fProvider->watchState(state, mask, fRefCon); } 118 119UInt32 IOSerialStreamSync:: 120nextEvent() 121 { return fProvider->nextEvent(fRefCon); } 122 123IOReturn IOSerialStreamSync:: 124executeEvent(UInt32 event, UInt32 data) 125 { return fProvider->executeEvent(event, data, fRefCon); } 126 127IOReturn IOSerialStreamSync:: 128requestEvent(UInt32 event, UInt32 *data) 129 { return fProvider->requestEvent(event, data, fRefCon); } 130 131IOReturn IOSerialStreamSync:: 132enqueueEvent(UInt32 event, UInt32 data, bool sleep) 133 { return fProvider->enqueueEvent(event, data, sleep, fRefCon); } 134 135IOReturn IOSerialStreamSync:: 136dequeueEvent(UInt32 *event, UInt32 *data, bool sleep) 137 { return fProvider->dequeueEvent(event, data, sleep, fRefCon); } 138 139IOReturn IOSerialStreamSync:: 140enqueueData(UInt8 *buffer, UInt32 size, UInt32 *count, bool sleep) 141 { return fProvider->enqueueData(buffer, size, count, sleep, fRefCon); } 142 143IOReturn IOSerialStreamSync:: 144dequeueData(UInt8 *buffer, UInt32 size, UInt32 *count, UInt32 min) 145 { return fProvider->dequeueData(buffer, size, count, min, fRefCon); } 146