|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1998-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: #include <IOKit/IOLib.h> ! 23: ! 24: #ifdef __cplusplus ! 25: ! 26: #define logPrintf(x) \ ! 27: do { \ ! 28: kprintf x; \ ! 29: } while (0) ! 30: ! 31: #define verPrintf(x) logPrintf(x) ! 32: ! 33: // Assumes 'bool res = true' in current scope ! 34: #define TEST_ASSERT(t, l, c) \ ! 35: do { \ ! 36: if ( !(c) ) { \ ! 37: verPrintf(("TEST (%c) test %s failed\n", t, l)); \ ! 38: res = false; \ ! 39: } \ ! 40: } while(0) ! 41: ! 42: #define logSpace() do { } while(0) ! 43: #define checkPointSpace() ((void *) 0) ! 44: #define checkSpace(l, ckp, d) ((int) 1) ! 45: ! 46: // In TestContainers.cc ! 47: extern const int numStrCache; ! 48: extern const char *strCache[]; ! 49: ! 50: extern void testString(); ! 51: extern void testSymbol(); ! 52: extern void testData(); ! 53: ! 54: // In TestCollections.cc ! 55: extern void testArray(); ! 56: extern void testSet(); ! 57: extern void testDictionary(); ! 58: extern void testIterator(); ! 59: ! 60: // In TestDevice.cc ! 61: extern void testWorkLoop(); ! 62: ! 63: #include <libkern/c++/OSObject.h> ! 64: ! 65: class IOWorkLoop; ! 66: class IOCommandQueue; ! 67: class IOInterruptEventSource; ! 68: ! 69: class TestDevice; ! 70: typedef void (*TestDeviceAction)(TestDevice *, int, void *); ! 71: ! 72: class TestDevice : public OSObject ! 73: { ! 74: OSDeclareDefaultStructors(TestDevice) ! 75: ! 76: IOWorkLoop *workLoop; ! 77: int intCount; ! 78: IOCommandQueue *commQ; ! 79: ! 80: public: ! 81: IOInterruptEventSource *intES; ! 82: ! 83: virtual bool init(); ! 84: virtual void free(); ! 85: ! 86: void rawCommandOccurred ! 87: (void *field0, void *field1, void *field2, void *field3); ! 88: kern_return_t enqueueCommand(bool sleep, ! 89: TestDeviceAction act, int tag, void *dataP); ! 90: ! 91: void interruptAction(IOInterruptEventSource *event, int count); ! 92: ! 93: void producer1Action(int tag); ! 94: void producer2Action(int tag, void *inCount); ! 95: ! 96: void alarm(); ! 97: }; ! 98: ! 99: #endif /* __cplusplus */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.