-
Meta:
- Rust 1.63
- bitflags 2
- significant compile-time improvements
-
Some APIs were factored out into new toplevel API modules, with their
corresponding cargo feature flags:rustix::event
, forepoll
,eventfd
, andpoll
rustix::pipe
, forpipe
,tee
,splice
, and related functionsrustix::procfs
, for procfs-related APIsrustix::stdio
, for*std{in,out,err}
rustix::system
, foruname
,sysinfo
, andsethostname
-
rustix::io
changes:SeekFrom
was moved torustix::fs
.
-
rustix::net
changes:socket
now takes anOption<Protocol>
andProtocol
no longer implementsDefault
; changeProtocol::default()
toNone
.sendmsg_noaddr
is renamed tosendmsg
.getsockopt_nosigpipe
andsetsockopt_nosigpipe
are renamed toget_socket_nosigpipe
andset_socket_nosigpipe
.AcceptFlags
is renamed toSocketFlags
.
-
rustix::event
changes:epoll
changes:epoll::epoll_add
,epoll::epoll_mod
, andepoll::epoll_del
were renamed toepoll::add
,epoll::modify
, andepoll::delete
.- The
EventVec
iterator now returnsEvent
s rather than tuples. epoll::Event::data
is changed from au64
to a customEventData
type which can hold either au64
or a*mut c_void
.
-
rustix::fs
changes:rustix::fs::chmodat_with
is renamed torustix::fs::chmodat
.rustix::fs::cwd()
is replaced withrustix::fs::CWD
.- Non-
*at
versions of several functions that implicitly operate onCWD
were also added.
- Non-
-
rustix::termios
changes:- The API now fully supports arbitrary speeds. The
cfsetispeed
,cfsetospeed
,cfsetspeed
,tcsetattr2
, andtcgetattr2
functions, as well as theCBAUD
andCIBAUD
constants, are replaced byset_input_speed
,set_output_speed
, andset_speed
functions onTermios
. - The speed macros such as
B9600
are no longer required (B9600
now always has the value 9600, and so on for all the other speed macros), but they can still be used. They're now in therustix::termios::speed
module. cfmakeraw
is now calledTermios::make_raw
.
- The API now fully supports arbitrary speeds. The
-
rustix::process
changes:Pid::from_raw
is no longerunsafe
.Pid::from_raw_nonzero
is removed, and a newPid::from_raw_unchecked
is added.ReaperStatus::pid
is now anOption<Pid>
, as the OS doesn't always provide it.
-
rustix::io_uring
changes:io_uring_cqe
now supports thebig_cqe
field, and no longer implementsCopy
andClone
.