Subject: prop_dictionary_ioctl(fd, cmd, &dict)
To: Jason Thorpe <>
From: Iain Hibbert <>
List: tech-kern
Date: 09/26/2006 20:01:48
On Tue, 26 Sep 2006, Jason Thorpe wrote:

> On Sep 25, 2006, at 2:57 PM, Iain Hibbert wrote:
> > 	prop_dictionary_ioctl(fd, cmd, &dict);
> The reason for NOT doing that is that you could not use an immutable
> dictionary as the outbound arguments.

Is it not acceptable to release an immutable? (The original can be
retained if wanted)


prop_dictionary_ioctl(int fd, u_long cmd, prop_dictionary_t *dictp)
	struct plistref pref;
	char *buf;
	int error;

	if (dictp == NULL)
		return (errno = EINVAL);

	if (ISSET(cmd, IOC_OUT)) {
		error = prop_dictionary_pack_pref(*dictp, &pref, &buf);
		if (error)
			return (error);

	if (ioctl(fd, cmd, &pref) == -1)
		error = errno;
		error = 0;

	if (ISSET(cmd, IOC_OUT))

	if (error)
		return (error);

	if (ISSET(cmd, IOC_IN)) {
		if (ISSET(cmd, IOC_OUT))

		error = prop_dictionary_unpack_pref(&pref, dictp);

	return (error);