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
LIBRARY
library “libprop”
SYNOPSIS
#include
<libprop/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
Theprop_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.