| History log of /src/lib/libprop |
| Revision | Date | Author | Comments |
| 1.23 | 26-Apr-2025 |
thorpej | Hide the private symbols.
|
| 1.22 | 23-Apr-2025 |
thorpej | Add support for serializing to, and de-serializing from, JSON, as specified in RFC 8259. Format is automatically detected for input, and can be specified explicitly for output. The default format remains XML.
As part of this change, generic prop_object_{internalize,externalize}() functions are provided, and the "_with_format" flavor allows the output format to be specified. Previous array- and dictionary-specific routines remain for backwards compatibility.
|
| 1.21 | 06-Jun-2020 |
thorpej | branches: 1.21.8; Improvements to the problib(3) API:
==> Provide a much more complete set of setters and getters for different value types in the prop_array_util(3) and prop_dictionary_util(3) functions.
==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs to be easier to use and less awkwardly named, Deprecate the old awkward names, and produce link-time warnings when they are referenced.
==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old APIs that support them still exist, but will now produce link-time warnings when used.
==> When the new prop_string(3) API is used, strings are internally de-duplicated as a memory footprint optimization.
==> Provide a rich set of bounds-checked gettter functions in and a corresponding set of convenience setters in the prop_number(3) API.
==> Add a new prop_bool_value(3) function that is equivalent to prop_bool_true(3), but aligned with the new "value" routines in prop_data(3), prop_string(3), and prop_number(3).
|
| 1.20 | 21-Mar-2012 |
matt | These directories default to WARNS?=5
|
| 1.19 | 30-Sep-2011 |
jym | branches: 1.19.2; Fix an implementation inconsistency with the prop_*_send_syscall() and prop_*_recv_syscall() functions from proplib(3). They now share the same logic as the one from prop_*_send_ioctl() functions: - returns an int - 0 indicates "no error", otherwise returns the error number (and set errno)
Many consumers of the prop_*_{ioctl, syscall} expect errno to be set on error and use err() to display the error message. As such, ensures that errno gets set before returning from these functions.
prop_*_send_syscall() functions returned a boolean, and now return an int. Fix all call sites to use the new paradigm (only quota2 is affected in src).
As the prop_*_{send,recv}_syscall() API appeared in -current and is only used by the recent quota2 code, I am not bumping the lib. The API change only affects the prop_*_send_syscall() function (recv_syscall()s were already used correctly), so ensure you are not mixing "old" -current quota binaries with a new proplib(3) (or the other way around). This change will be announced via a HEADS-UP and UPDATING.
Does not affect the kernel part of proplib.
Document the correct API in prop_array(3) and prop_dictionary(3).
Thanks to Francois Tigeot for noticing the API inconsistency and reporting it on tech-kern@.
ok bouyer@.
|
| 1.18 | 19-Jan-2011 |
bouyer | - Implement prop_{array,dictionary}_copyout(), based on prop_{array,dictionary}_copyout_ioctl(). - Implement prop_{array,dictionary}_recv_syscall(), which takes as parameter the pref we got from kernel and internalize it, and unmaps the buffer prop_{array,dictionary}_copyout() mapped for us. - add a prop_{array,dictionary}_send_syscall() for symetry, which is an alias to prop_{array,dictionary}_externalize_to_pref()
Discussed on tech-kern@ and tech-userlevel@
|
| 1.17 | 10-Oct-2009 |
bad | Implement prop_array_externalize_to_pref(), prop_array_copyin(), prop_dictionary_externalize_to_pref() and prop_dictionary_copyin() as discussed in the thread: http://mail-index.netbsd.org/tech-kern/2009/07/29/msg005594.html
Bump libprop shlib minor.
|
| 1.16 | 03-Jun-2008 |
haad | Add prop_array_util functions to proplib. This code is copied/changed prop_dictionary_util.
From manual page
The prop_array_util family of functions are provided to make getting and setting values in arrays more convenient in some applications.
OK by mjf@ and freza@.
|
| 1.15 | 05-Jan-2008 |
christos | branches: 1.15.4; 1.15.6; warns=4
|
| 1.14 | 27-Oct-2006 |
uwe | branches: 1.14.8; Add prop_dictionary_all_keys.3 link (hi, potr).
|
| 1.13 | 26-Oct-2006 |
thorpej | Add prop_array_t support to prop_kern.
|
| 1.12 | 26-Oct-2006 |
thorpej | - Add prop_dictionary_all_keys(). Takes a snapshot of a dictionary's keys and returns them in an array. This effectively allows a caller to mutate a dictionary while iterating over it (really, you iterate over the array of keys instead of the dictionary itself). - Add a slew of utility functions that make it more convenient (in some circumstances, anyway) to get/set values in a dictionary.
|
| 1.11 | 18-Oct-2006 |
martin | Re-enable lint warnings as errors, now that the source seems to lint fine on non-i386 arches.
|
| 1.10 | 17-Oct-2006 |
martin | Backout previous - this library is not ready for linting
|
| 1.9 | 15-Oct-2006 |
christos | die on lint errors.
|
| 1.8 | 12-Oct-2006 |
thorpej | Make prop_number_t handle both signed and unsigned numbers. The *integer* routines now take int64_t arguments, and new *unsigned_integer* routines take uint64_t arguments. See prop_number(3) for complete details.
|
| 1.7 | 22-Sep-2006 |
thorpej | Alter the protocol impemented by prop_kern to allow for bi-directional plist-based messages and to eliminate looping previously required to receive a plist from the kernel:
- prop_dictionary_copyin_ioctl() and prop_dictionary_copyout_ioctl() now take the cmd argument rather than the file open flag. The read-ness or write-ness of an ioctl command is checked by these routines to ensure that information is being passed to/from the userland component properly.
- prop_dictionary_copyout_ioctl() now allocates the memory for the XML plist on behalf of the userland component by way of uvm_mmap(). The XML plist is copied out to the newly-mapped anonymous region, and the pointer returned via the plistref.
- prop_dictionary_recv_ioctl() is responsible for munmap()'ing the region after parsing the XML plist into internal represenatation.
- A new prop_dictionary_sendrecv_ioctl() is added, allowing user space code to send a dictionary to the kernel and receive one back as a reply.
Update users of prop_kern for the API changes (Bluetooth).
This constitutes an ABI / protocol change -- but this will also be put into NetBSD 4.0 so that the first proplib release will implement the new scheme.
|
| 1.6 | 21-Aug-2006 |
thorpej | Several changes to proplib: - Arrays can now be externalized and internalized in the same way dictionaries can. - Add new "externalize to file" and "internalize from file" functions to make reading a property list from a file and writing a property list to a file more convenient. - Many assertions in the object implementations are gone. Instead, calling an accessor for one object type with a different object type as an argument will return a suitable "invalid" value. - prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called with a NULL object. - Externalized property lists now contain a reference to the Apple XML plist DTD. - Add a new prop_ingest(3) facility, which provides a convenient way to translate a dictionary into an arbitrary binary representation.
|
| 1.5 | 05-Jul-2006 |
thorpej | branches: 1.5.2; Add kernel and user space parts of a protocol for sending property lists to / from the kernel using ioctls.
|
| 1.4 | 18-May-2006 |
thorpej | - Add prop_array_equals(), prop_dictionary_equals(), and prop_dictionary_keysym_equals(), and prop_object_equals() functions. - Use realloc() where it makes sense. There will be more changes in this area. - Add a _prop_object_type structure that is used internally to keep information about the object types. Decreases the footprint of the objects slightly by replacing several pointers with just one.
|
| 1.3 | 27-Apr-2006 |
thorpej | Back out previous incorrect change.
|
| 1.2 | 27-Apr-2006 |
dogcow | Make it actually compile.
|
| 1.1 | 27-Apr-2006 |
thorpej | Support for building proplib in userspace.
|
| 1.5.2.1 | 23-Aug-2006 |
tron | Pull up following revision(s) (requested by thorpej in ticket #43): common/include/prop/prop_ingest.h: revision 1.1 common/lib/libprop/prop_number.c: revision 1.4 common/include/prop/prop_array.h: revision 1.3 common/lib/libprop/prop_object_impl.h: revision 1.4 common/include/prop/prop_dictionary.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.911 common/include/prop/Makefile: revision 1.2 common/lib/libprop/prop_bool.c: revision 1.4 distrib/sets/lists/base/shl.mi: revision 1.365 common/lib/libprop/prop_data.c: revision 1.3 lib/libprop/shlib_version: revision 1.4 lib/libprop/Makefile: revision 1.6 common/lib/libprop/prop_object.c: revision 1.4 common/lib/libprop/prop_object.3: revision 1.4 common/include/prop/proplib.h: revision 1.3 common/lib/libprop/Makefile.inc: revision 1.3 common/include/prop/prop_object.h: revision 1.4 common/lib/libprop/prop_array.c: revision 1.4 common/lib/libprop/prop_array.3: revision 1.4 common/lib/libprop/prop_string.c: revision 1.3 common/lib/libprop/prop_dictionary.3: revision 1.4 common/lib/libprop/prop_ingest.c: revision 1.1 common/lib/libprop/prop_ingest.3: revision 1.1 common/lib/libprop/prop_dictionary.c: revision 1.9 Several changes to proplib: - Arrays can now be externalized and internalized in the same way dictionaries can. - Add new "externalize to file" and "internalize from file" functions to make reading a property list from a file and writing a property list to a file more convenient. - Many assertions in the object implementations are gone. Instead, calling an accessor for one object type with a different object type as an argument will return a suitable "invalid" value. - prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called with a NULL object. - Externalized property lists now contain a reference to the Apple XML plist DTD. - Add a new prop_ingest(3) facility, which provides a convenient way to translate a dictionary into an arbitrary binary representation.
|
| 1.14.8.1 | 09-Jan-2008 |
matt | sync with HEAD
|
| 1.15.6.1 | 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
| 1.15.4.1 | 17-Jun-2008 |
yamt | sync with head.
|
| 1.19.2.1 | 17-Apr-2012 |
yamt | sync with head
|
| 1.21.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.1 | 03-Apr-2013 |
agc | branches: 1.1.2; file Version.map was initially added on branch agc-symver.
|
| 1.1.2.1 | 03-Apr-2013 |
agc | Add symbol versioning information for the following libraries:
libbluetooth libbsdmalloc libexecinfo libform libintl libipsec libkvm liblwres libnpf libp2k libpci libperfuse libppath libprop libpuffs librefuse librpcsvc librt librumpclient librumphijack librumpuser libukfs libusbhid libwrap
|
| 1.4 | 26-Apr-2025 |
thorpej | branches: 1.4.4; Hide the private symbols.
|
| 1.3 | 24-Apr-2025 |
martin | Remove the now static _prop_format_default and _prop_string_type_tags. Ride the minor bump from a few hours ago. XXX should use -fvisibility=hidden and only export public symbols XXX and then bump major
|
| 1.2 | 23-Apr-2025 |
thorpej | Add support for serializing to, and de-serializing from, JSON, as specified in RFC 8259. Format is automatically detected for input, and can be specified explicitly for output. The default format remains XML.
As part of this change, generic prop_object_{internalize,externalize}() functions are provided, and the "_with_format" flavor allows the output format to be specified. Previous array- and dictionary-specific routines remain for backwards compatibility.
|
| 1.1 | 21-Nov-2024 |
riastradh | libprop: Add expected symbols list.
NOTE: This exports a lot of _prop_* symbols which look internal and aren't mentioned in any prop/*.h file. Intentional?
PR lib/58838: shared libraries in base should all have expsym lists
|
| 1.4.4.2 | 02-Aug-2025 |
perseant | Sync with HEAD
|
| 1.4.4.1 | 26-Apr-2025 |
perseant | file prop.expsym was added on branch perseant-exfatfs on 2025-08-02 05:54:55 +0000
|
| 1.12 | 23-Apr-2025 |
thorpej | Add support for serializing to, and de-serializing from, JSON, as specified in RFC 8259. Format is automatically detected for input, and can be specified explicitly for output. The default format remains XML.
As part of this change, generic prop_object_{internalize,externalize}() functions are provided, and the "_with_format" flavor allows the output format to be specified. Previous array- and dictionary-specific routines remain for backwards compatibility.
|
| 1.11 | 06-Jun-2020 |
thorpej | branches: 1.11.8; Improvements to the problib(3) API:
==> Provide a much more complete set of setters and getters for different value types in the prop_array_util(3) and prop_dictionary_util(3) functions.
==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs to be easier to use and less awkwardly named, Deprecate the old awkward names, and produce link-time warnings when they are referenced.
==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old APIs that support them still exist, but will now produce link-time warnings when used.
==> When the new prop_string(3) API is used, strings are internally de-duplicated as a memory footprint optimization.
==> Provide a rich set of bounds-checked gettter functions in and a corresponding set of convenience setters in the prop_number(3) API.
==> Add a new prop_bool_value(3) function that is equivalent to prop_bool_true(3), but aligned with the new "value" routines in prop_data(3), prop_string(3), and prop_number(3).
|
| 1.10 | 10-Oct-2009 |
bad | Implement prop_array_externalize_to_pref(), prop_array_copyin(), prop_dictionary_externalize_to_pref() and prop_dictionary_copyin() as discussed in the thread: http://mail-index.netbsd.org/tech-kern/2009/07/29/msg005594.html
Bump libprop shlib minor.
|
| 1.9 | 11-Jan-2009 |
christos | bump shared libraries.
|
| 1.8 | 15-Sep-2008 |
haad | Bump libprop minor number, I forgot to do it when I have added prop_array_add_* routines. In version 1.2 of prop_array_util.c.
Pointed by bad@.
|
| 1.7 | 05-Mar-2008 |
cube | branches: 1.7.4; Bump libprop's minor after addition of prop_dictionary_make_immutable.
|
| 1.6 | 26-Oct-2006 |
thorpej | branches: 1.6.8; 1.6.14; - Add prop_dictionary_all_keys(). Takes a snapshot of a dictionary's keys and returns them in an array. This effectively allows a caller to mutate a dictionary while iterating over it (really, you iterate over the array of keys instead of the dictionary itself). - Add a slew of utility functions that make it more convenient (in some circumstances, anyway) to get/set values in a dictionary.
|
| 1.5 | 12-Oct-2006 |
thorpej | Bump libprop version to 0.4.
|
| 1.4 | 21-Aug-2006 |
thorpej | Several changes to proplib: - Arrays can now be externalized and internalized in the same way dictionaries can. - Add new "externalize to file" and "internalize from file" functions to make reading a property list from a file and writing a property list to a file more convenient. - Many assertions in the object implementations are gone. Instead, calling an accessor for one object type with a different object type as an argument will return a suitable "invalid" value. - prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called with a NULL object. - Externalized property lists now contain a reference to the Apple XML plist DTD. - Add a new prop_ingest(3) facility, which provides a convenient way to translate a dictionary into an arbitrary binary representation.
|
| 1.3 | 05-Jul-2006 |
thorpej | branches: 1.3.2; Add kernel and user space parts of a protocol for sending property lists to / from the kernel using ioctls.
|
| 1.2 | 18-May-2006 |
thorpej | - Add prop_array_equals(), prop_dictionary_equals(), and prop_dictionary_keysym_equals(), and prop_object_equals() functions. - Use realloc() where it makes sense. There will be more changes in this area. - Add a _prop_object_type structure that is used internally to keep information about the object types. Decreases the footprint of the objects slightly by replacing several pointers with just one.
|
| 1.1 | 27-Apr-2006 |
thorpej | Support for building proplib in userspace.
|
| 1.3.2.1 | 23-Aug-2006 |
tron | Pull up following revision(s) (requested by thorpej in ticket #43): common/include/prop/prop_ingest.h: revision 1.1 common/lib/libprop/prop_number.c: revision 1.4 common/include/prop/prop_array.h: revision 1.3 common/lib/libprop/prop_object_impl.h: revision 1.4 common/include/prop/prop_dictionary.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.911 common/include/prop/Makefile: revision 1.2 common/lib/libprop/prop_bool.c: revision 1.4 distrib/sets/lists/base/shl.mi: revision 1.365 common/lib/libprop/prop_data.c: revision 1.3 lib/libprop/shlib_version: revision 1.4 lib/libprop/Makefile: revision 1.6 common/lib/libprop/prop_object.c: revision 1.4 common/lib/libprop/prop_object.3: revision 1.4 common/include/prop/proplib.h: revision 1.3 common/lib/libprop/Makefile.inc: revision 1.3 common/include/prop/prop_object.h: revision 1.4 common/lib/libprop/prop_array.c: revision 1.4 common/lib/libprop/prop_array.3: revision 1.4 common/lib/libprop/prop_string.c: revision 1.3 common/lib/libprop/prop_dictionary.3: revision 1.4 common/lib/libprop/prop_ingest.c: revision 1.1 common/lib/libprop/prop_ingest.3: revision 1.1 common/lib/libprop/prop_dictionary.c: revision 1.9 Several changes to proplib: - Arrays can now be externalized and internalized in the same way dictionaries can. - Add new "externalize to file" and "internalize from file" functions to make reading a property list from a file and writing a property list to a file more convenient. - Many assertions in the object implementations are gone. Instead, calling an accessor for one object type with a different object type as an argument will return a suitable "invalid" value. - prop_object_type() now returns a new PROP_TYPE_UNKNOWN value if called with a NULL object. - Externalized property lists now contain a reference to the Apple XML plist DTD. - Add a new prop_ingest(3) facility, which provides a convenient way to translate a dictionary into an arbitrary binary representation.
|
| 1.6.14.1 | 24-Mar-2008 |
keiichi | sync with head.
|
| 1.6.8.1 | 23-Mar-2008 |
matt | sync with HEAD
|
| 1.7.4.1 | 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
| 1.11.8.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|