Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Consumers of the API may control visibility by means of a module. The
following is a useful pattern that may be used by implementors (here for
a couple of i2cdev ioctl definitions):
mod ioctl {
ioctl!(bad set_i2c_slave_address with super::I2C_SLAVE);
ioctl!(bad i2c_smbus with super::I2C_SMBUS);
}
This resolves #184.
|
|
Readability was unecessarily impaired via a myriad of attributes to
hide constants from the documentation. If these attributes are exposed
publically, including them in the documentation makes sense.
|
|
These had ior! rather than iow! previously. ior! is obviously
not correct for write operations.
|
|
if code incorporating these macros wants to publicly export the
functions they may do so by doing the following:
pub ioctl!(...);
Since the functions are unsafe, in many cases exposing the functions
publicly will not be desirable.
|
|
|
|
This change also adds macro usages in the tests. Nothing is asserted
but the use of the macros provides a basic compile-time check that
is otherwise missing.
Signed-off-by: Paul Osborne <osbpau@gmail.com>
|
|
This PR fixes the issue upstream https://github.com/rust-lang/rust/pull/26809
but no version 0.2.0 of the crate has been published as of yet.
Signed-off-by: Paul Osborne <osbpau@gmail.com>
|
|
|
|
|
|
|
|
This is more type-safe. Also, the old code wasn't cross-platform at all even
though it claimed to be. It wasn't even portable across architectures on
Linux.
|