Query: prop_array_copyin_ioctl
OS: netbsd
Section: 9
Links: netbsd man pages all man pages
Forums: unix linux community forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
PROP_COPYIN_IOCTL(9) BSD Kernel Developer's Manual PROP_COPYIN_IOCTL(9)NAMEprop_array_copyin_ioctl, prop_array_copyout_ioctl, prop_array_copyin, prop_array_copyout, prop_dictionary_copyin_ioctl, prop_dictionary_copyout_ioctl, prop_dictionary_copyin, prop_dictionary_copyout -- Copy property lists to and from kernel spaceSYNOPSIS#include <prop/proplib.h> int prop_array_copyin_ioctl(const struct plistref *pref, const u_long cmd, prop_array_t *arrayp); int prop_array_copyin(const struct plistref *pref, prop_array_t *arrayp); int prop_array_copyout_ioctl(struct plistref *pref, const u_long cmd, prop_array_t array); int prop_array_copyout(struct plistref *pref, prop_array_t array); int prop_dictionary_copyin_ioctl(const struct plistref *pref, const u_long cmd, prop_dictionary_t *dictp); int prop_dictionary_copyin(const struct plistref *pref, prop_dictionary_t *dictp); int prop_dictionary_copyout_ioctl(struct plistref *pref, const u_long cmd, prop_dictionary_t dict); int prop_dictionary_copyout(struct plistref *pref, prop_dictionary_t dict);DESCRIPTIONThe prop_array_copyin_ioctl, prop_array_copyout_ioctl, prop_dictionary_copyin_ioctl, and prop_dictionary_copyout_ioctl functions implement the kernel side of a protocol for copying property lists to and from the kernel using ioctl(2). The functions prop_array_copyin, prop_array_copyout, prop_dictionary_copyin, and prop_dictionary_copyout implement the kernel side of a protocol for copying property lists to the kernel as arguments of normal system calls. A kernel routine receiving or returning a property list will be passed a pointer to a struct plistref. This structure encapsulates the ref- erence to the property list in externalized form.RETURN VALUESIf successful, functions return zero. Otherwise, an error number will be returned to indicate the error.EXAMPLESThe following (simplified) example demonstrates using prop_dictionary_copyin_ioctl() and prop_dictionary_copyout_ioctl() in an ioctl routine: extern prop_dictionary_t fooprops; int fooioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct lwp *l) { prop_dictionary_t dict, odict; int error; switch (cmd) { case FOOSETPROPS: { const struct plistref *pref = (const struct plistref *) data; error = prop_dictionary_copyin_ioctl(pref, cmd, &dict); if (error) return (error); odict = fooprops; fooprops = dict; prop_object_release(odict); break; } case FOOGETPROPS: { struct plistref *pref = (struct plistref *) data; error = prop_dictionary_copyout_ioctl(pref, cmd, fooprops); break; } default: return (EPASSTHROUGH); } return (error); } The following (simplified) example demonstrates using prop_array_copyin() in a routine: int foocopyin(const struct plistref *pref)) { prop_array_t array; int error; error = prop_array_copyin(pref, &array); if (error) return (error); ... }ERRORSprop_array_copyin_ioctl() and prop_dictionary_copyin_ioctl() will fail if: [EFAULT] Bad address [EIO] Input/output error [ENOMEM] Cannot allocate memory [ENOTSUP] Not supported prop_array_copyout_ioctl() and prop_dictionary_copyout_ioctl() will fail if: [EFAULT] Bad address [ENOMEM] Cannot allocate memory [ENOTSUP] Not supportedSEE ALSOprop_array(3), prop_dictionary(3), prop_send_ioctl(3), prop_send_syscall(3), proplib(3)HISTORYThe proplib property container object library first appeared in NetBSD 4.0.BSDJanuary 17, 2011 BSD
Related Man Pages |
---|
prop_array_recv_ioctl(3) - netbsd |
prop_dictionary_sendrecv_ioctl(3) - netbsd |
prop_send_syscall(3) - netbsd |
prop_array_copyout_ioctl(9) - netbsd |
prop_copyin_ioctl(9) - netbsd |
Similar Topics in the Unix Linux Community |
---|
Unix File Permissions |
sorting left-justified numeric values |
NetBSD 6.1.2: apm and admd not found |
Grep command to show the number of results |