---
title: IOUserClient
framework: kernel
role: symbol
role_heading: Class
path: kernel/iouserclient
---

# IOUserClient

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

## Declaration

```occ
class IOUserClient : IOService
```

## Overview

Overview

## Topics

### Miscellaneous

- [exportObjectToClient](kernel/iouserclient/1809421-exportobjecttoclient.md)
- [releaseAsyncReference64](kernel/iouserclient/1809435-releaseasyncreference64.md)
- [releaseNotificationPort](kernel/iouserclient/1809442-releasenotificationport.md)
- [removeMappingForDescriptor](kernel/iouserclient/1809451-removemappingfordescriptor.md)
- [sendAsyncResult64WithOptions](kernel/iouserclient/1809458-sendasyncresult64withoptions.md)

### DataTypes

- [ExpansionData](kernel/ioservice/expansiondata.md)

### Instance Variables

- [reserved](kernel/iouserclient/reserved.md)

### Instance Methods

- [AsyncCompletion](kernel/iouserclient/3325802-asynccompletion.md)
- [CopyClientEntitlements](kernel/iouserclient/3753507-copycliententitlements.md)
- [CopyClientEntitlements_Impl](kernel/iouserclient/3753508-copycliententitlements_impl.md)
- [CopyClientMemoryForType](kernel/iouserclient/3325804-copyclientmemoryfortype.md)
- [CreateActionKernelCompletion](kernel/iouserclient/3325806-createactionkernelcompletion.md)
- [CreateMemoryDescriptorFromClient](kernel/iouserclient/3674617-creatememorydescriptorfromclient.md)
- [CreateMemoryDescriptorFromClient_Impl](kernel/iouserclient/3674618-creatememorydescriptorfromclient.md)
- [Dispatch](kernel/iouserclient/3325807-dispatch.md)
- [KernelCompletion_Impl](kernel/iouserclient/3325809-kernelcompletion_impl.md)
- [clientClose](kernel/iouserclient/1400611-clientclose.md)
- [clientDied](kernel/iouserclient/1400591-clientdied.md)
- [clientMemoryForType](kernel/iouserclient/1400739-clientmemoryfortype.md)
- [clientMemoryForType](kernel/iouserclient/3553394-clientmemoryfortype.md)
- [connectClient](kernel/iouserclient/1400570-connectclient.md)
- [exportObjectToClient](kernel/iouserclient/1400687-exportobjecttoclient.md)
- [externalMethod](kernel/iouserclient/1400572-externalmethod.md)
- [free](driverkit/iouserclient/free.md)
- [getAsyncTargetAndMethodForIndex](kernel/iouserclient/1400681-getasynctargetandmethodforindex.md)
- [getAsyncTargetAndMethodForIndex](kernel/iouserclient/3553398-getasynctargetandmethodforindex.md)
- [getExternalAsyncMethodForIndex](kernel/iouserclient/1400712-getexternalasyncmethodforindex.md)
- [getExternalMethodForIndex](kernel/iouserclient/1400635-getexternalmethodforindex.md)
- [getExternalTrapForIndex](kernel/iouserclient/1400744-getexternaltrapforindex.md)
- [getMetaClass](kernel/iouserclient/1400689-getmetaclass.md)
- [getNotificationSemaphore](kernel/iouserclient/1400718-getnotificationsemaphore.md)
- [getService](kernel/iouserclient/1400589-getservice.md)
- [getTargetAndMethodForIndex](kernel/iouserclient/1400581-gettargetandmethodforindex.md)
- [getTargetAndMethodForIndex](kernel/iouserclient/3553399-gettargetandmethodforindex.md)
- [getTargetAndTrapForIndex](kernel/iouserclient/1400685-gettargetandtrapforindex.md)
- [init](driverkit/iouserclient/init.md)
- [init](kernel/iouserclient/3516501-init.md)
- [initWithTask](kernel/iouserclient/1400644-initwithtask.md)
- [initWithTask](kernel/iouserclient/3516502-initwithtask.md)
- [registerNotificationPort](kernel/iouserclient/1400665-registernotificationport.md)
- [registerNotificationPort](kernel/iouserclient/3516503-registernotificationport.md)
- [removeMappingForDescriptor](kernel/iouserclient/1400609-removemappingfordescriptor.md)
- [reserve](kernel/iouserclient/1400729-reserve.md)

### Type Methods

- [AsyncCompletion_Invoke](kernel/iouserclient/4520003-asynccompletion_invoke.md)
- [AsyncCompletion_Invoke](kernel/iouserclient/4520004-asynccompletion_invoke.md)
- [CopyClientEntitlements_Invoke](kernel/iouserclient/3753509-copycliententitlements_invoke.md)
- [CopyClientMemoryForType_Invoke](kernel/iouserclient/3325805-copyclientmemoryfortype_invoke.md)
- [CreateMemoryDescriptorFromClient_Invoke](kernel/iouserclient/3674619-creatememorydescriptorfromclient.md)
- [clientHasAuthorization](kernel/iouserclient/1400663-clienthasauthorization.md)
- [clientHasPrivilege](kernel/iouserclient/1400625-clienthasprivilege.md)
- [copyClientEntitlement](kernel/iouserclient/1400731-copycliententitlement.md)
- [copyClientEntitlementVnode](kernel/iouserclient/3553395-copycliententitlementvnode.md)
- [copyClientEntitlements](kernel/iouserclient/3230669-copycliententitlements.md)
- [copyClientEntitlementsVnode](kernel/iouserclient/3553396-copycliententitlementsvnode.md)
- [releaseAsyncReference64](kernel/iouserclient/1400558-releaseasyncreference64.md)
- [releaseNotificationPort](kernel/iouserclient/1400583-releasenotificationport.md)
- [sendAsyncResult](kernel/iouserclient/1400599-sendasyncresult.md)
- [sendAsyncResult64](kernel/iouserclient/1400605-sendasyncresult64.md)
- [sendAsyncResult64WithOptions](kernel/iouserclient/1400667-sendasyncresult64withoptions.md)
- [setAsyncReference](kernel/iouserclient/1400699-setasyncreference.md)
- [setAsyncReference64](kernel/iouserclient/1400633-setasyncreference64.md)
- [setAsyncReference64](kernel/iouserclient/3516504-setasyncreference64.md)

## Relationships

### Inherits From

- [IOService](kernel/ioservice.md)

## See Also

### User-Space Interactions

- [IOSharedDataQueue](kernel/ioshareddataqueue.md)
- [IOSharedInterruptController](kernel/iosharedinterruptcontroller.md)
- [IOStreamUserClient](kernel/iostreamuserclient.md)
- [IOStream](kernel/iostream.md)
- [IOStreamBuffer](kernel/iostreambuffer.md)
- [OSAction_IOUserClient_KernelCompletion](kernel/osaction_iouserclient_kernelcompletion.md)
- [OSAction_IOUserClient_KernelCompletionInterface](kernel/osaction_iouserclient_kernelcompletioninterface.md)
