ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.I.b.tar.gz#/lib/gcc-lib/m68k-next-nextstep3/2.7.2.2.f.2/include/driverkit/IODeviceMaster.h

This is IODeviceMaster.h in view mode; [Download] [Up]

/* 	Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
 *
 * IODeviceMaster class description.
 *
 * HISTORY
 * 08-Jan-93    Doug Mitchell at NeXT
 *      Created. 
 */

#ifndef	KERNEL

#import <objc/Object.h>
#import <driverkit/driverTypes.h>
#import <mach/port.h>

/*
 * IODeviceMaster class. Used in user space only, to do Get/Set parameter
 * type operations. 
 *
 * General return values for all methods in this class which return an 
 * IOReturn:
 *
 * IO_R_NO_DEVICE - IOObjectNumber out of range of known device objects.
 * IO_R_OFFLINE   - invalid IOObjectNumber, but not out of range. There
 *		    can be 'holes' in the IOObjectNumber space; IO_R_OFFLINE
 *		    indicates an IOObjectNumber assicated with such a 
 *		    non-existent device object.
 *
 * All other return codes are device-specific.
 */

@interface IODeviceMaster : Object
{
@private
	port_t	_deviceMasterPort;
	int	_IODeviceMaster_reserved[4];
}

/*
 * Obtain an instance of IODeviceMaster.
 */
+ new;

/*
 * Free an instance of IODeviceMaster.
 */
- free;

/*
 * Get device type and device name for specified IOObjectNumber.
 */
- (IOReturn)lookUpByObjectNumber	: (IOObjectNumber)objectNumber
			     deviceKind : (IOString *)deviceKind
			     deviceName : (IOString *)deviceName;
				   

/*
 * Get IOObjectNumber and device type for specified deviceName.
 */
- (IOReturn)lookUpByDeviceName		: (IOString)deviceName
			   objectNumber : (IOObjectNumber *)objectNumber
			     deviceKind : (IOString *)deviceKind;
			     
/*
 * Get/set parameter methods used at user level to communicate with
 * kernel-level drivers.
 */
- (IOReturn)getIntValues		: (unsigned *)parameterArray
			   forParameter : (IOParameterName)parameterName
			   objectNumber : (IOObjectNumber)objectNumber
			          count : (unsigned *)count;	/* in/out*/

- (IOReturn)getCharValues		: (unsigned char *)parameterArray
			   forParameter : (IOParameterName)parameterName
			   objectNumber : (IOObjectNumber)objectNumber
			          count : (unsigned *)count;	/* in/out*/
	
- (IOReturn)setIntValues		: (unsigned *)parameterArray
			   forParameter : (IOParameterName)parameterName
			   objectNumber : (IOObjectNumber)objectNumber
			          count : (unsigned)count;

- (IOReturn)setCharValues		: (unsigned char *)parameterArray
			   forParameter : (IOParameterName)parameterName
			   objectNumber : (IOObjectNumber)objectNumber
			          count : (unsigned)count;

@end	/* IODeviceMaster */

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.