|
|
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: /*
23: * Copyright (c) 1998 Apple Computer, Inc. All rights reserved.
24: *
25: * HISTORY
26: * 23 Nov 98 sdouglas created.
27: * 30 Sep 99 sdouglas, merged IODeviceMemory into IOMemoryDescriptor.
28: */
29:
30: #include <IOKit/IODeviceMemory.h>
31:
32: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
33:
34: IODeviceMemory * IODeviceMemory::withRange(
35: IOPhysicalAddress start,
36: IOPhysicalLength length )
37: {
38: return( (IODeviceMemory *) IOMemoryDescriptor::withPhysicalAddress(
39: start, length, kIODirectionNone ));
40: }
41:
42:
43: IODeviceMemory * IODeviceMemory::withSubRange(
44: IODeviceMemory * of,
45: IOPhysicalAddress offset,
46: IOPhysicalLength length )
47: {
48: return( (IODeviceMemory *) IOMemoryDescriptor::withSubRange(
49: of, offset, length, kIODirectionNone ));
50: }
51:
52:
53: OSArray * IODeviceMemory::arrayFromList(
54: InitElement list[],
55: IOItemCount count )
56: {
57: OSArray * array;
58: IODeviceMemory * range;
59: IOItemCount i;
60:
61: array = OSArray::withCapacity( count );
62: if( 0 == array )
63: return( 0);
64:
65: for( i = 0; i < count; i++) {
66: range = IODeviceMemory::withRange( list[i].start, list[i].length );
67: if( range) {
68: range->setTag( list[i].tag );
69: array->setObject( range);
70: range->release();
71: } else {
72: array->release();
73: array = 0;
74: break;
75: }
76: }
77:
78: return( array );
79: }
80:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.