Commit Graph

146 Commits

Author SHA1 Message Date
Dan Gohman d5b8ee6df9 (cargo-release) version 0.0.39 2022-01-27 11:50:44 -08:00
Dan Gohman 0b8f6b69a1 Exclude ioctls from the general module.
Ioctl codes are provided in the `ioctl` module, so blocklist them from the
`general` module to avoid duplication.
2022-01-27 11:50:05 -08:00
Dan Gohman feafe08040 Exclude the .github directory in the published package.
The .github, .rustfmt.toml, and .gitignore files aren't needed by
downstream users of the crate, so exclude them from the published
package.
2022-01-27 07:44:47 -08:00
Dan Gohman 3673970e70 Simplify the bindings by using only a single kernel version. (#20)
Originally, the idea of having multiple versions was to attempt to
support writing code that was strictly compatible with old versions.
However, my experience with linux-raw-sys so far as been that that's
not as useful as it seemed like it would be, and versioning all the
imports means having multiple versions of all the types, which gets
awkward.

So instead, switch to having just a single Linux version, 5.11 for
now, which is mostly a superset of the other versions.

This also helps reduce compile times, as there aren't multiple
versions of everything to parse.
2022-01-27 07:43:31 -08:00
Dan Gohman 7b371ee0d8 Define several macros used in the userfaultfd API.
Define the `UFFDIO_REGISTER_MODE_*`, `UFFDIO_COPY_MODE_*`, `UFFDIO_ZEROPAGE_MODE_*`,
and `UFFD_API` macros.
2022-01-26 18:23:42 -08:00
Dan Gohman 9ea366f5d4 Add a new ioctl module, and populate it with lots of ioctl codes. (#18)
We've been collecting manual definitions of ioctl codes for a while, and
it looks like we're going to be collecting more over time, so start trying
a different strategy: use a script and a C program to extract ioctl values
from the headers semi-automatically.

The script itself isn't very easy to run, and I'm open to ideas for how
to do it better. However, this should cover most of Linux's existing ioctls,
so hopefully we won't need to run it very often.
2022-01-26 11:35:51 -08:00
Dan Gohman 06bb7fac5c (cargo-release) start next development iteration 0.0.39-alpha.0 2022-01-25 12:03:23 -08:00
Dan Gohman 7600f5c701 (cargo-release) version 0.0.38 2022-01-25 12:03:14 -08:00
Dan Gohman 39534e6677 Update to bindgen 0.59.2. 2022-01-25 12:00:58 -08:00
Dan Gohman 7ed63a24c8 Define TIOCGWINSZ, FIONBIO, FIONREAD, and TCGETS on powerpc64le.
Linux's macro definitions for these are too complex for bindgen, so
define these manually.
2022-01-25 11:52:57 -08:00
Dan Gohman 657f24330d Add bindings for linux/userfaultfd.h. 2022-01-25 11:50:14 -08:00
Dan Gohman a0474c1832 (cargo-release) start next development iteration 0.0.38-alpha.0 2022-01-10 12:23:43 -08:00
Dan Gohman 743f5796cc (cargo-release) version 0.0.37 2022-01-10 12:23:23 -08:00
Dan Gohman 164c60d821 Update URLs from rsix to rustix. 2022-01-10 12:18:25 -08:00
Dan Gohman f3a1d49170 Document the purpose of the code in gen/modules/general.h.
Code in general.h should contain just what's needed for interoperability
with the Linux kernel ABI. Add a comment explaining this, and tidy up
a few parts of the code to follow this advice.
2022-01-10 12:17:09 -08:00
Friedel Ziegelmayer f913f2ceb2 feat: add msghdr (#13)
* feat: add msghdr

* regen

* add ip.h and ipv6.h

* include more from socket.h

* cleanup

* cleanup types and add mmsghdr
2022-01-10 12:16:43 -08:00
Mek101 279e8c04f5 Pin bindgen patch version 2022-01-03 12:58:22 -06:00
Mek101 15962501aa Update README binding generation commands 2022-01-03 12:58:22 -06:00
Mek101 ee0ab18f98 Fix BLKSSZGET and BLKPBSZGET for mips and powerpc 2022-01-03 12:58:22 -06:00
Dan Gohman abff3a05a7 (cargo-release) start next development iteration 0.0.37-alpha.0 2021-11-05 06:12:41 -07:00
Dan Gohman ffb0aeada1 (cargo-release) version 0.0.36 2021-11-05 06:12:27 -07:00
Dan Gohman 2f00e54a01 rustfmt 2021-11-05 06:09:54 -07:00
Dan Gohman bdcc11c3d7 Go back to Rust 2018 edition. 2021-11-05 06:08:40 -07:00
Dan Gohman 7d03e8b293 (cargo-release) start next development iteration 0.0.36-alpha.0 2021-11-04 11:52:56 -07:00
Dan Gohman a69433042a (cargo-release) version 0.0.35 2021-11-04 11:52:37 -07:00
Dan Gohman 6bbcbe7795 Add CI and chat badges. 2021-11-04 11:51:15 -07:00
Dan Gohman a2c1baa204 Fix compilation under --all-features compilation. 2021-11-04 09:01:16 -07:00
Dan Gohman a782f144f4 Rename rustc-std-workspace-core to core in Cargo.toml instead of lib.rs. 2021-11-04 08:37:34 -07:00
Dan Gohman a8298a69df Define c_long as i32/u32 instead of isize/usize. 2021-11-04 08:18:47 -07:00
Dan Gohman 3a3ecdba60 Update to Rust 2021. 2021-11-04 07:56:33 -07:00
Dan Gohman 81efccfdc3 (cargo-release) start next development iteration 0.0.35-alpha.0 2021-11-03 16:04:48 -07:00
Dan Gohman 57efde070d (cargo-release) version 0.0.34 2021-11-03 16:04:34 -07:00
Dan Gohman a54935c9e0 Use rustc-std-workspace-core like libc does. 2021-11-03 16:03:54 -07:00
Dan Gohman 31eaba2e0c (cargo-release) start next development iteration 0.0.34-alpha.0 2021-11-03 14:38:22 -07:00
Dan Gohman 16514c20fa (cargo-release) version 0.0.33 2021-11-03 14:38:08 -07:00
Dan Gohman c667510274 Add a compiler_builtins dependency in rustc-dep-of-std mode. 2021-11-03 14:37:50 -07:00
Dan Gohman 726d80e41f (cargo-release) start next development iteration 0.0.33-alpha.0 2021-11-03 14:26:23 -07:00
Dan Gohman 98b7831364 (cargo-release) version 0.0.32 2021-11-03 14:26:08 -07:00
Dan Gohman cee7ab90b9 Name the rustc-std-workspace-core dependency 'core'. 2021-11-03 14:25:44 -07:00
Dan Gohman 951eae2802 Fix the auto-generated rustc-dep-of-std to depend on no_std. 2021-11-03 13:55:52 -07:00
Dan Gohman a24c460700 (cargo-release) start next development iteration 0.0.32-alpha.0 2021-11-03 13:50:06 -07:00
Dan Gohman 3f9623c2d7 (cargo-release) version 0.0.31 2021-11-03 13:49:50 -07:00
Dan Gohman e16e143b1c Add rustc-dep-of-std support. 2021-11-03 13:48:17 -07:00
Dan Gohman ffc5cd966d Only run the push CI on the main branch. 2021-11-03 13:44:17 -07:00
Dan Gohman 28f73e9cc8 Define ctypes manually instead of depending on cty.
In `no_std` builds, define `ctypes` types manually instead of depending
on the `cty` crate. These types are straightforward to define for all
Linux targets.
2021-11-03 13:44:08 -07:00
Dan Gohman 3391946823 (cargo-release) start next development iteration 0.0.31-alpha.0 2021-11-02 07:22:44 -07:00
Dan Gohman 9cd26d241e (cargo-release) version 0.0.30 2021-11-02 07:22:26 -07:00
Dan Gohman afdeb8630c Re-export ctypes.
Since linux-raw-sys uses ctypes types in its public APIs, re-export
ctypes so that users can use it directly instead of having to redo
the no-std incantations.
2021-11-02 07:22:03 -07:00
Mek101 7e84e621ca Add BLKSSZGET and BLKPBSZGET ioctl arguments (#8)
* Add BLKPBSZGET for x86_64

* Add BLKPBSZGET for everyone but sparc

* Add BLKSSZGET for everyone but sparc

* Update reference bindings

* Fix BLKSSZGET and BLKPBSZGET included in sparc bindings

* Add BLKSSZGET and BLKPBSZGET to sparc
2021-11-02 07:19:02 -07:00
Dan Gohman e60f93ca1a (cargo-release) start next development iteration 0.0.30-alpha.0 2021-10-04 06:25:13 -07:00