IOUserClient

Inherits from:
Declared In:

Overview

Provides a basis for communication between client applications and I/O Kit objects.



Functions

exportObjectToClient
releaseAsyncReference64

Release the mach_port_t reference held within the OSAsyncReference64 structure.

releaseNotificationPort

Release the mach_port_t passed to registerNotificationPort().

removeMappingForDescriptor

exportObjectToClient


public

virtual IOReturn exportObjectToClient( task_t task, OSObject *obj, io_object_t *clientObj);
Parameters
task

The task.

obj

The object we want to export to the client.

clientObj

Returned value is the client's port name.

Discussion

Make an arbitrary OSObject available to the client task.


releaseAsyncReference64


Release the mach_port_t reference held within the OSAsyncReference64 structure.

public

static IOReturn releaseAsyncReference64( OSAsyncReference64 reference);
Parameters
reference

The reference passed to the subclass IOAsyncMethod, or externalMethod() in the IOExternalMethodArguments.asyncReference field.

Return Value

A return code.

Discussion

The OSAsyncReference64 structure passed to async methods holds a reference to the wakeup mach port, which should be released to balance each async method call. Behavior is undefined if these calls are not correctly balanced.


releaseNotificationPort


Release the mach_port_t passed to registerNotificationPort().

public

static IOReturn releaseNotificationPort( mach_port_t port);
Parameters
reference

The mach_port_t argument previously passed to the subclass implementation of registerNotificationPort().

Return Value

A return code.

Discussion

The mach_port_t passed to the registerNotificationPort() methods should be released to balance each call to registerNotificationPort(). Behavior is undefined if these calls are not correctly balanced.


removeMappingForDescriptor


public

IOMemoryMap * removeMappingForDescriptor( IOMemoryDescriptor *memory);
Parameters
memory

The memory descriptor instance previously returned by the implementation of clientMemoryForType().

Return Value

A reference to the first IOMemoryMap instance found in the list of mappings created by IOUserClient from that passed memory descriptor is returned, or zero if none exist. The caller should release this reference.

Discussion

Remove the first mapping created from the memory descriptor returned by clientMemoryForType() from IOUserClient's list of mappings. If such a mapping exists, it is retained and the reference currently held by IOUserClient is returned to the caller.

Structs and Unions

ExpansionData

ExpansionData


protected

struct ExpansionData { };
Discussion

This structure will be used to expand the capablilties of this class in the future.

Member Data

reserved

reserved


protected

ExpansionData * reserved;
Discussion

Reserved for future use. (Internal use only)

 

 

Last Updated: 2009-10-14