<!--
{
  "availability" : [
    "DriverKit: 19.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "USBSerialDriverKit",
  "identifier" : "/documentation/USBSerialDriverKit/IOUserUSBSerial/init",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "USBSerialDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserUSBSerial@F@init#"
  },
  "title" : "init"
}
-->

# init

Handles the basic initialization of the service.

```
virtual bool init();
```

## Return Value

`YES` if initialization is successful, or `NO` if an error occurred.

## Discussion

The system calls this method shortly after it instantiates your `IOUserUSBSerial` subclass, and before it calls the <doc://com.apple.documentation/documentation/SerialDriverKit/IOUserSerial/Start> method of your service. Limit the work you do in this method to simple tasks that must occur before your service starts. For example, use this method to allocate memory for your `ivars` structure.

Always call `super` at the beginning of your implementation of this method.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)