prop_send_ioctl(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
PROP_SEND_IOCTL(3)      NetBSD Library Functions Manual     PROP_SEND_IOCTL(3)

prop_array_send_ioctl, prop_array_recv_ioctl, prop_dictionary_send_ioctl, prop_dictionary_recv_ioctl, prop_dictionary_sendrecv_ioctl -- Send and receive propertly lists to and from the kernel using ioctl
#include <prop/proplib.h> int prop_array_send_ioctl(prop_array_t array, int fd, unsigned long cmd); int prop_array_recv_ioctl(int fd, unsigned long cmd, prop_array_t *arrayp); int prop_dictionary_send_ioctl(prop_dictionary_t dict, int fd, unsigned long cmd); int prop_dictionary_recv_ioctl(int fd, unsigned long cmd, prop_dictionary_t *dictp); prop_dictionary_sendrecv_ioctl(prop_dictionary_t dict, int fd, unsigned long cmd, prop_dictionary_t *dictp);
The prop_array_send_ioctl, prop_array_recv_ioctl, prop_dictionary_send_ioctl, prop_dictionary_recv_ioctl, and prop_dictionary_sendrecv_ioctl functions implement the user space side of a protocol for sending property lists to and from the kernel using ioctl(2).
If successful, functions return zero. Otherwise, an error number is returned to indicate the error.
prop_array_send_ioctl() and prop_dictionary_send_ioctl() will fail if: [ENOMEM] Cannot allocate memory [ENOTSUP] Not supported prop_array_recv_ioctl() and prop_dictionary_recv_ioctl() will fail if: [EIO] Input/output error [ENOTSUP] Not supported In addition to these, ioctl(2) errors may be returned.
The following (simplified) example demonstrates using prop_dictionary_send_ioctl() and prop_dictionary_recv_ioctl() in an application: void foo_setprops(prop_dictionary_t dict) { int fd; fd = open("/dev/foo", O_RDWR, 0640); if (fd == -1) return; (void) prop_dictionary_send_ioctl(dict, fd, FOOSETPROPS); (void) close(fd); } prop_dictionary_t foo_getprops(void) { prop_dictionary_t dict; int fd; fd = open("/dev/foo", O_RDONLY, 0640); if (fd == -1) return (NULL); if (prop_dictionary_recv_ioctl(fd, FOOGETPROPS, &dict) != 0) return (NULL); (void) close(fd); return (dict); } The prop_dictionary_sendrecv_ioctl function combines the send and receive functionality, allowing for ioctls that require two-way communication (for example to specify arguments for the ioctl operation).
prop_array(3), prop_dictionary(3), proplib(3), prop_copyin_ioctl(9)
The proplib property container object library first appeared in NetBSD 4.0. NetBSD 5.0 January 21, 2008 NetBSD 5.0
Powered by man-cgi (2020-09-24). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.