<!--
{
  "documentType" : "article",
  "framework" : "CoreFoundation",
  "identifier" : "/documentation/CoreFoundation/1560944-cfsocket-flags",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "CFSocket Flags"
}
-->

# CFSocket Flags

Flags that can be set on a CFSocket object to control its behavior.

## Discussion

The flags for a CFSocket object are set with [`CFSocketSetSocketFlags(_:_:)`](/documentation/CoreFoundation/CFSocketSetSocketFlags(_:_:)). To immediately enable or disable a callback, use [`CFSocketEnableCallBacks(_:_:)`](/documentation/CoreFoundation/CFSocketEnableCallBacks(_:_:)) and [`CFSocketDisableCallBacks(_:_:)`](/documentation/CoreFoundation/CFSocketDisableCallBacks(_:_:)).

## Topics

### Constants

[`var kCFSocketAutomaticallyReenableReadCallBack: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketAutomaticallyReenableReadCallBack)

[`var kCFSocketAutomaticallyReenableAcceptCallBack: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketAutomaticallyReenableAcceptCallBack)

[`var kCFSocketAutomaticallyReenableDataCallBack: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketAutomaticallyReenableDataCallBack)

[`var kCFSocketAutomaticallyReenableWriteCallBack: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketAutomaticallyReenableWriteCallBack)

[`var kCFSocketLeaveErrors: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketLeaveErrors)

[`var kCFSocketCloseOnInvalidate: CFOptionFlags`](/documentation/CoreFoundation/kCFSocketCloseOnInvalidate)

When enabled using [`CFSocketSetSocketFlags(_:_:)`](/documentation/CoreFoundation/CFSocketSetSocketFlags(_:_:)), the native socket associated with a CFSocket object is closed when the CFSocket object is invalidated. When disabled, the native socket remains open. This option is enabled by default.



---

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)