Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

prop_dictionary_send_ioctl(3) [netbsd man page]

PROP_SEND_IOCTL(3)					   BSD Library Functions Manual 					PROP_SEND_IOCTL(3)

NAME
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 SYNOPSIS
#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); int prop_dictionary_sendrecv_ioctl(prop_dictionary_t dict, int fd, unsigned long cmd, prop_dictionary_t *dictp); DESCRIPTION
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). RETURN VALUES
If successful, functions return zero. Otherwise, an error number is returned to indicate the error. EXAMPLES
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 communica- tion (for example to specify arguments for the ioctl operation). ERRORS
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. SEE ALSO
prop_array(3), prop_dictionary(3), proplib(3), prop_copyin_ioctl(9) HISTORY
The proplib property container object library first appeared in NetBSD 4.0. BSD
January 21, 2008 BSD

Check Out this Related Man Page

PROP_SEND_SYCALL(3)					   BSD Library Functions Manual 				       PROP_SEND_SYCALL(3)

NAME
prop_array_send_syscall, prop_array_recv_syscall, prop_dictionary_send_syscall, prop_dictionary_recv_syscall -- send and receive property lists to and from the kernel using syscalls SYNOPSIS
#include <prop/proplib.h> int prop_array_send_syscall(prop_array_t array, struct plistref *prefp); int prop_array_recv_syscall(const struct plistref *prefp, prop_array_t *arrayp); int prop_dictionary_send_syscall(prop_dictionary_t dict, struct plistref *prefp); int prop_dictionary_recv_syscall(const struct plistref *prefp, prop_dictionary_t *dictp); DESCRIPTION
The prop_array_send_syscall, prop_array_recv_syscall, prop_dictionary_send_syscall, and prop_dictionary_recv_syscall functions implement the user space side of a protocol for sending property lists to and from the kernel using syscall(2). RETURN VALUES
If successful, functions return zero. Otherwise, an error number is returned to indicate the error. EXAMPLES
The following (simplified) example demonstrates using prop_dictionary_send_syscall() and prop_dictionary_recv_syscall() in an application: void foo_setprops(prop_dictionary_t dict) { struct pref pref; (void) prop_dictionary_send_syscall(dict, &pref); (void) my_syscall_set(&pref); } prop_dictionary_t foo_getprops(void) { prop_dictionary_t dict; struct pref pref; (void) my_syscall_get(&pref); if (prop_dictionary_recv_syscall(&pref, &dict) != 0) return (NULL); return (dict); } ERRORS
prop_array_send_syscall() and prop_dictionary_send_syscall() will fail if: [ENOMEM] Cannot allocate memory [ENOTSUP] Not supported prop_array_recv_syscall() and prop_dictionary_recv_syscall() will fail if: [EIO] Input/output error [ENOTSUP] Not supported SEE ALSO
prop_array(3), prop_dictionary(3), proplib(3), prop_copyin_ioctl(9) HISTORY
The proplib property container object library first appeared in NetBSD 4.0. BSD
January 17, 2011 BSD
Man Page