|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.0 (the 'License'). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License."
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24: /*
25: * Copyright 1997-1998 by Apple Computer, Inc., All rights reserved.
26: * Copyright 1994-1997 NeXT Software, Inc., All rights reserved.
27: *
28: * IdeCntInit.h - Initialization methods for Ide controller device class.
29: *
30: * HISTORY
31: *
32: * 11-Aug-1994 Rakesh Dubey at NeXT
33: * Created.
34: */
35:
36: #ifdef DRIVER_PRIVATE
37:
38: #ifndef _BSD_DEV_IDECNTINIT_H
39: #define _BSD_DEV_IDECNTINIT_H 1
40:
41: #import <driverkit/return.h>
42: #import <driverkit/driverTypes.h>
43: #import <driverkit/IODevice.h>
44: #import <driverkit/machine/directDevice.h>
45: #import <driverkit/generalFuncs.h>
46: #import "IdeCnt.h"
47: #import "IdeCntPublic.h"
48:
49: @interface IdeController(Initialize)
50:
51: -(BOOL)controllerPresent;
52:
53: - (BOOL)ideControllerInit:(IODeviceDescription *)devDesc;
54:
55: - (BOOL)ideDetectDrive:(unsigned int)unit override:(int)override;
56:
57: - (BOOL)ideDetectATAPIDevice:(unsigned int)unit override:(int)override;
58:
59: /*
60: * This is essential info on the IDE drive. It is either from the BIOS or
61: * from IDE_IDENTIFY_DRIVE command.
62: */
63: - (ideDriveInfo_t)getIdeDriveInfo:(unsigned int)unit;
64:
65: - (void)ideReset;
66:
67: /*
68: * Initializes the IDE interface by sending commands to controller.
69: */
70: - (void)resetAndInit;
71:
72: - (ide_return_t)setATADriveCapabilities:(unsigned int)unit
73: withBIOSInfo:(BOOL)biosInfo;
74:
75: - (ide_return_t)setATAPIDriveCapabilities:(unsigned int)unit;
76:
77: /*
78: * Does programming on the host side of the IDE interface. This is completely
79: * dependent upon a particular hardware.
80: */
81:
82: - (void)resetController;
83: - (BOOL)setControllerCapabilities;
84:
85: /*
86: * Returns NULL if the drive does not support the optional IDE_IDENTIFY_DRIVE
87: * command.
88: */
89: - (ideIdentifyInfo_t *)getIdeIdentifyInfo:(unsigned int)unit;
90:
91: /*
92: * Returns YES if we are using disk geometry.
93: */
94: -(BOOL)isDiskGeometry:(unsigned int)unit;
95:
96: /*
97: * Methods used for initialization.
98: */
99: - (ideDriveInfo_t)getIdeInfoFromBIOS:(unsigned)unit;
100: - (unsigned)getIdeTypeFromCMOS:(int)unit;
101:
102: @end
103:
104: #endif /* _BSD_DEV_IDECNTINIT_H */
105:
106: #endif /* DRIVER_PRIVATE */
107:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.