]>
git.saurik.com Git - apple/xnu.git/blob - libkern/libkern/c++/OSUnserialize.h
2 * Copyright (c) 2000-2016 Apple Inc. All rights reserved.
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
28 /* OSUnserialize.h created by rsulack on Mon 23-Nov-1998 */
30 #ifndef _OS_OSUNSERIALIZE_H
31 #define _OS_OSUNSERIALIZE_H
33 #include <libkern/c++/OSMetaClass.h>
34 #include <libkern/c++/OSString.h>
36 #include <sys/appleapiopts.h>
37 #include <sys/types.h>
46 * This header declares the <code>OSUnserializeXML</code> function.
51 * @function OSUnserializeXML
54 * Recreates an OSContainer object
55 * from its previously serialized OSContainer class instance data.
57 * @param buffer A buffer containing nul-terminated XML data
58 * representing the object to be recreated.
59 * @param errorString If non-<code>NULL</code>, and the XML parser
60 * finds an error in <code>buffer</code>,
61 * <code>*errorString</code> indicates the line number
62 * and type of error encountered.
65 * The recreated object, or <code>NULL</code> on failure.
68 * <b>Not safe</b> to call in a primary interrupt handler.
70 extern "C++" OSObjectPtr
OSUnserializeXML(
72 OSStringPtr
* errorString
= NULL
);
75 * @function OSUnserializeXML
78 * Recreates an OSContainer object
79 * from its previously serialized OSContainer class instance data.
81 * @param buffer A buffer containing nul-terminated XML data
82 * representing the object to be recreated.
83 * @param bufferSize The size of the block of memory. The function
84 * never scans beyond the first bufferSize bytes.
85 * @param errorString If non-<code>NULL</code>, and the XML parser
86 * finds an error in <code>buffer</code>,
87 * <code>*errorString</code> indicates the line number
88 * and type of error encountered.
91 * The recreated object, or <code>NULL</code> on failure.
94 * <b>Not safe</b> to call in a primary interrupt handler.
96 extern "C++" OSObjectPtr
OSUnserializeXML(
99 OSStringPtr
*errorString
= NULL
);
101 extern "C++" OSObjectPtr
102 OSUnserializeBinary(const char *buffer
, size_t bufferSize
, OSStringPtr
*errorString
);
104 #ifdef __APPLE_API_OBSOLETE
105 extern OSObjectPtr
OSUnserialize(const char *buffer
, OSStringPtr
*errorString
= NULL
);
106 #endif /* __APPLE_API_OBSOLETE */
108 #endif /* _OS_OSUNSERIALIZE_H */