| PROP_SEND_SYCALL(3) | Library Functions Manual | PROP_SEND_SYCALL(3) |
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
#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);
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).
If successful, functions return zero. Otherwise, an error number is returned to indicate the error.
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);
}
prop_array_send_syscall() and
prop_dictionary_send_syscall() will fail if:
prop_array_recv_syscall() and
prop_dictionary_recv_syscall() will fail if:
prop_array(3), prop_dictionary(3), proplib(3), prop_copyin_ioctl(9)
The proplib(3) property container object library first appeared in NetBSD 4.0.
| January 17, 2011 | NetBSD 11.0 |