and antenna diversity:
Check the hardware capabilities---transmit power control (TPC),
antenna diversity---before setting up the sysctls that control
those capabilities. Previously, the TPC and ant. diversity sysctls
were not setup because ath_sysctlattach was called before sc_hastpc
and sc_hasdiversity were initialized, so users could not view/control
antenna diversity or TPC settings, even on hardware with those
capabilities.
Obey the user's transmit-antenna selection even when sending IBSS
beacons on hardware with VEOL capability; for all other hardware/modes,
only switch transmit antennas after every four beacons if the user
has not selected a transmit antenna---i.e., they chose antenna 1
or 2 instead of 0 ("auto").
as I thought. The latter actually sets the station listen interval.
We cannot get/set "drop-unencrypted" and "privacy" properties
independently with SIOCS80211NWKEY, so put back IEEE80211_IOC_PRIVACY
and IEEE80211_IOC_DROPUNENCRYPTED.
Thanks Sam Leffler for pointing out my mistakes.
- Add new -C option to 'usermod'. This allows a quick way to temporary
lock a users account. This is similar to how FreeBSD do it using
'adduser'. This function can be very handy to administrators!
- Import a function to check if the inputted class actually exists. It
contains my modifications to test whether /etc/login.conf exists
in the first place. -OpenBSD
- Add new -C option to 'usermod'. This allows a quick way to temporary
lock a users account. This is similar to how FreeBSD do it using
'adduser'. This function can be very handy to administrators!
- Import a function to check if the inputted class actually exists. It
contains my modifications to test whether /etc/login.conf exists
in the first place. -OpenBSD
While I am there:
- KNF (long wrapped lines, and spaces after void casts).
- Factor out some common code.
- Fix error messages.
1. Consistently capitalize them.
2. Fix err->errx and warn->warnx inappropriate uses.
3. Use regerror where appropriate.
4. Don't call warn()/err() to report errors after you trashed errno
by calling other syscalls. Save and restore the errno instead,
or in the warn() case, call warn() first.
- Fix size_t - int, uid_t - int confusion.
- Pass lint
not guaranteed to be signed, so comparison with -1 will cause a
warning (turned error) for some of our ports (e.g. our arm ports).
Fix this by making the 'ch' variable an int instead of a char.
compile support for the duplicate ioctls from FreeBSD if it is a
COMPAT_FREEBSD kernel:
IEEE80211_IOC_SSID
IEEE80211_IOC_WEPTXKEY
IEEE80211_IOC_CHANNEL
IEEE80211_IOC_PRIVACY
IEEE80211_IOC_DROPUNENCRYPTED
IEEE80211_IOC_BSSID
IEEE80211_IOC_BEACON_INTERVAL
IEEE80211_IOC_WEPKEY
in NetBSD 2.0:
* If 2.x compatibility is enabled (#ifdef COMPAT_20),
compile support for OSIOCG80211STATS and OSIOCG80211ZSTATS,
with the same ioctl numbers as SIOCG80211STATS and
SIOCG80211ZSTATS in 2.x. OSIOCG80211STATS and
OSIOCG80211ZSTATS return an ieee80211_ostats struct,
which has the same layout as ieee80211_stats in 2.x.
* Add new ioctl numbers for SIOCG80211STATS and SIOCG80211ZSTATS.
Both these ioctls will copy at most ifr_buflen bytes of
the new ieee80211_stats to ifr_buf.
and size of a userland buffer. The kernel shall not copyout more
than ifr_buflen bytes to ifr_buf. For future ioctls that use
ifr_buf and ifr_buflen instead of ifr_data, the kernel can return
a larger struct in the future than when the ioctl is introduced,
without breaking ABI compatibility, provided that the size, order,
and semantics of the fields at the front of the struct does not
change.
it in pmap_create(), and freeing the lev1map in pmap_destroy(). This
means that pm_lev1map is consistent for the life of the pmap.
2. pmap_extract() now uses vtophys() for the kernel pmap. This avoids
having to lock the kernel pmap, since kernel PT pages are never freed.
3. Because of (1), pmap_asn_alloc() no longer needs to operate on a locked
pmap; pm_lev1map will never change over the life of the pmap, and all
other access to the pmap is done in per-CPU fields or with atomic
operations.
4. Because of (3), pmap_activate() no longer needs to lock the pmap
to do its work, thus eliminating the deadlock with sched_lock described
in PR port-alpha/25599. This is safe because we are guaranteed that
the pmap is still alive, since by definition an LWP that uses that it
is about to run.
Thanks to Michael Hitch for the analysis, and Michael and Ragge for testing.
TAILQ set of macros from queue.h... It's way too easy to make mistakes...
config(1) was segfaulting in deldev() in some situations... Reported by
Brend Ernesti.
-fabricate a trivial geometry also in the case of images <=1M
(XXX I didn't add a check for >0 size -- this is generally harmless
because there are enough boundary checks present, and it allows
to test some corner cases in the disklabel handling code)
-ignore the VNF_KLABEL flag -- the vnd device is if limited (and
well-defined!) lifetime anyway, and the implications of "keeplabel"
are confusing at best
images from "normal" into cloop2-format compressed images and back.
Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing
by me.
Compressed disk images can be used with the vnd(4) driver when compiled with
VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
images from "normal" into cloop2-format compressed images and back.
Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing
by me.
Compressed disk images can be used with the vnd(4) driver when compiled with
VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
and plain file images too. If no TOC can be read, a single track is
assumed which spans the whole thing.
The disklabel will be updated if supported by the device. If not, just
the ISO volume label information will be printed.