Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PROP_SEND_SYCALL(3)        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(3) property container object library first appeared in
     NetBSD 4.0.

NetBSD 10.99                   January 17, 2011                   NetBSD 10.99