Subject: Re: binary plist support
To: Jason Thorpe <thorpej@shagadelic.org>
From: Jachym Holecek <freza@NetBSD.org>
List: tech-kern
Date: 10/27/2007 17:59:18
# Jason Thorpe 2007-10-16:
> [... comments on previous version ...]
I'm done with (hopefully) final version:
ftp://ftp.netbsd.org/pub/NetBSD/misc/freza/bplist-2007-10-27.diff
The API is:
<prop/prop_object.h>
typedef enum {
PROP_ENCODING_DEFAULT = 0,
PROP_ENCODING_XML = 1,
PROP_ENCODING_BINARY = 2
} prop_encoding_t;
<prop/prop_array.h>
/* Externalize as XML */
char *prop_array_externalize(prop_array_t);
/* Internalize any supported encoding */
prop_array_t prop_array_internalize(const uint8_t *, size_t);
/* Externalize with given encoding. */
bool prop_array_externalize_with_encoding(prop_array_t, uint8_t **,
size_t *, prop_encoding_t);
/* Externalize to file with given encoding. */
bool prop_array_externalize_to_file_with_encoding(prop_array_t,
const char *, prop_encoding_t);
/* Externalize to file with default encoding. */
bool prop_array_externalize_to_file(prop_array_t, const char *);
/* Internalize any supported encoding from file. */
prop_array_t prop_array_internalize_from_file(const char *);
<prop/prop_dictionary.h>
/* ... goes much the same as prop_array.h */
As you may notice, prop_${foo}_internalize() signature has changed, I can
cook a patch against NetBSD-4 ~tomorrow so that we don't have to bloat the
API with backwards compatibility (4.0 is the first version to include
proplib and we still have time to forward-compat it).
Comments?
-- Jachym