---
title: OSSerialize
framework: kernel
role: symbol
role_heading: Class
path: kernel/osserialize
---

# OSSerialize

OSSerialize coordinates serialization of Libkern C++ objects into an XML stream.

## Declaration

```occ
class OSSerialize : OSObject
```

## Overview

Overview This class is for the most part internal to the OSContainer classes, used for transferring property tables between the kernel and user space. It should not be used directly. Classes that participate in serialization override the OSObject::serialize . function. Use Restrictions With very few exceptions in the I/O Kit, all Libkern-based C++ classes, functions, and macros are unsafe to use in a primary interrupt context. Consult the I/O Kit documentation related to primary interrupts for more information. OSSerialize provides no concurrency protection; it's up to the usage context to provide any protection necessary. Some portions of the I/O Kit, such as IORegistryEntry, handle synchronization via defined member functions for serializing properties.

## Topics

### Miscellaneous

- [addChar](kernel/osserialize/1808034-addchar.md)
- [addString](kernel/osserialize/1808045-addstring.md)
- [addXMLEndTag](kernel/osserialize/1808061-addxmlendtag.md)
- [addXMLStartTag](kernel/osserialize/1808073-addxmlstarttag.md)
- [clearText](kernel/osserialize/1808086-cleartext.md)
- [previouslySerialized](kernel/osserialize/1808096-previouslyserialized.md)
- [text](kernel/osserialize/1808110-text.md)
- [withCapacity](kernel/osserialize/1808120-withcapacity.md)

### Instance Methods

- [addBinary](kernel/osserialize/1575019-addbinary.md)
- [addBinaryObject](kernel/osserialize/1575027-addbinaryobject.md)
- [addChar](kernel/osserialize/1575032-addchar.md)
- [addString](kernel/osserialize/1575014-addstring.md)
- [addXMLEndTag](kernel/osserialize/1575029-addxmlendtag.md)
- [addXMLStartTag](kernel/osserialize/1575026-addxmlstarttag.md)
- [binarySerialize](kernel/osserialize/1575017-binaryserialize.md)
- [binarySerializeInternal](kernel/osserialize/3075326-binaryserializeinternal.md)
- [clearText](kernel/osserialize/1575024-cleartext.md)
- [endBinaryCollection](kernel/osserialize/3075327-endbinarycollection.md)
- [ensureCapacity](kernel/osserialize/1575028-ensurecapacity.md)
- [free](kernel/osserialize/1575020-free.md)
- [getCapacity](kernel/osserialize/1575030-getcapacity.md)
- [getCapacityIncrement](kernel/osserialize/1575031-getcapacityincrement.md)
- [getLength](kernel/osserialize/1575012-getlength.md)
- [getMetaClass](kernel/osserialize/1575013-getmetaclass.md)
- [initWithCapacity](kernel/osserialize/1575023-initwithcapacity.md)
- [previouslySerialized](kernel/osserialize/1575018-previouslyserialized.md)
- [setCapacityIncrement](kernel/osserialize/1575007-setcapacityincrement.md)
- [setIndexed](kernel/osserialize/3075328-setindexed.md)
- [text](kernel/osserialize/1575016-text.md)

### Type Methods

- [binaryWithCapacity](kernel/osserialize/1575009-binarywithcapacity.md)
- [withCapacity](kernel/osserialize/1575022-withcapacity.md)

## Relationships

### Inherits From

- [OSObject](kernel/osobject.md)

## See Also

### Serialization

- [OSSerializer](kernel/osserializer.md)
