Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   thorpej
Date:           Fri Sep 22 04:20:24 UTC 2006

Modified Files:
        src/common/include/prop: prop_dictionary.h proplib.h
        src/common/lib/libprop: prop_dictionary_copyin_ioctl.9
            prop_dictionary_send_ioctl.3 prop_kern.c
        src/distrib/sets/lists/comp: mi
        src/lib/libprop: Makefile
        src/sys/dev/bluetooth: bthub.c

Log Message:
Alter the protocol impemented by prop_kern to allow for bi-directional
plist-based messages and to eliminate looping previously required to
receive a plist from the kernel:

- prop_dictionary_copyin_ioctl() and prop_dictionary_copyout_ioctl()
  now take the cmd argument rather than the file open flag.  The
  read-ness or write-ness of an ioctl command is checked by these
  routines to ensure that information is being passed to/from the
  userland component properly.

- prop_dictionary_copyout_ioctl() now allocates the memory for the
  XML plist on behalf of the userland component by way of uvm_mmap().
  The XML plist is copied out to the newly-mapped anonymous region,
  and the pointer returned via the plistref.

- prop_dictionary_recv_ioctl() is responsible for munmap()'ing the
  region after parsing the XML plist into internal represenatation.

- A new prop_dictionary_sendrecv_ioctl() is added, allowing user space
  code to send a dictionary to the kernel and receive one back as a
  reply.

Update users of prop_kern for the API changes (Bluetooth).

This constitutes an ABI / protocol change -- but this will also be put
into NetBSD 4.0 so that the first proplib release will implement the new
scheme.


To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 src/common/include/prop/prop_dictionary.h
cvs rdiff -r1.3 -r1.4 src/common/include/prop/proplib.h
cvs rdiff -r1.3 -r1.4 src/common/lib/libprop/prop_dictionary_copyin_ioctl.9 \
    src/common/lib/libprop/prop_dictionary_send_ioctl.3
cvs rdiff -r1.1 -r1.2 src/common/lib/libprop/prop_kern.c
cvs rdiff -r1.930 -r1.931 src/distrib/sets/lists/comp/mi
cvs rdiff -r1.6 -r1.7 src/lib/libprop/Makefile
cvs rdiff -r1.3 -r1.4 src/sys/dev/bluetooth/bthub.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index