Commit Graph

25995 Commits

Author SHA1 Message Date
sef
df8959040c Surround the call to procfs_exit() by #ifdef PROCFS/#endif -- much to my
surprise, procfs actually is optional, and some people truly do generate
kernels without it.  Wow.  I built a kernel without 'options PROCFS' and
it compiled and linked.
1997-12-07 18:16:43 +00:00
bde
92dcad637d Added mouse.4. 1997-12-07 18:07:37 +00:00
jmb
a589526f29 update hub.mc with the latest set of anti-spam rules
Submitted by:	jmb
1997-12-07 16:59:28 +00:00
jmb
ee07318935 correct an error that i made in check_relay.
check_relay cannot return temporary errors.
	The temporary error is logged in the sendmail log, but on the SMTP
	protocol level, sendmail returns '550 Access Denied'.
Reviewed by:	jmb
Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-12-07 16:50:11 +00:00
yokota
6acb892697 Document recent mouse code changes. 1997-12-07 08:46:56 +00:00
peter
279e69b9ff s/ps/truss/ 1997-12-07 08:19:13 +00:00
yokota
e39f5b7c76 The `moused' daemon is made to support various serial mouse
protocols to recognized extra buttons and wheel/roller. It now has
PnP COM device support code, thus, some recent mouse products are
automatically detected and an appropriate protocol is selected.
The `-i' option will print the result of auto-detection.

- Added support for the following SERIAL mice:
      ALPS GlidePoint, MS IntelliMouse, Kensington Thinking Mouse
  (Genius NetMouse, NetMouse Pro, ASCII MieMouse, Logitech MouseMan+,
  FirstMouse+ are compatible with MS IntelliMouse, when connected
  to a serial port, thus requires no explicit support)
- Added PnP serial mouse identification capability as defined
  by Microsoft and Hayes in "Plug and Play External COM Device
  Specification, rev 1.00".  This support will enable us to identify
  the correct protocol to use, or choose a compatible protocol for the
  given mouse.
- Utilize new ioctls defined in `mouse.h' to get hardware and protocol
  information on PS/2 and bus mouse devices.  Try to guess the correct
  protocol and port combination based on the obtained info.
- Use MOUSE_SETLEVEL ioctl.
- Use constants defined in `mouse.h' rather than using own definitions.
- A New command line option.  The -i option prints the information
  collected though the PnP code and psm/mse ioctls mentioned above,
  and just quits.  This is to test `moused's ability, or inability, to
  detect the correct protocol for the given mouse automatically.
- A new command line option.  The -m option maps a physical button
  to a logical button.
- A new command line option.  The -z option maps the Z axis movement to
  another axis or a pair of buttons.
- Add other options: -3, -C -F -P.
- Added a handler for SIGHUP.  This has been suggested by somebody in the
  past (I don't remember who).  He wanted this because he wants to attach
  or detach a mouse while his laptop is suspended.  Now `moused' will
  reopens and reinitialize the specified port whenever a SIGHUP is
  received.  I don't know how useful this can be...
1997-12-07 08:11:16 +00:00
yokota
14e5988fe7 - Add support for the following mice to psm/moused/sysmouse:
MS IntelliMouse, Kensington Thinking Mouse, Genius NetScroll,
  Genius NetMouse, Genius NetMouse Pro, ALPS GlidePoint, ASCII
  MieMouse, Logitech MouseMan+, FirstMouse+

- The `psm' driver is made to recognize various models of PS/2 mice
and enable their extra features so that their additional buttons and
wheel/roller are recognized. The name of the detected model will be
printed at boot time.

- A set of new ioctl functions are added to the `psm', `mse' and
`sysmouse' drivers so that the userland program (such as the X server)
can query device information and change driver settings.

- The wheel/roller movement is handled as the `Z' axis movement by the
mouse drivers and the moused daemon. The Z axis movement may be mapped
to another axis movement or buttons.

- The mouse drivers support a new, standard mouse data format,
MOUSE_PROTO_SYSMOUSE format which can encode x, y, and x axis movement
and up to 10 buttons.

/sys/i386/include/mouse.h
- Added some fields to `mousestatus_t' to store Z axis movement
  and flag bits.
- Added the field `model' to `mousehw_t' to store mouse model code.
  Defined model codes.
- Extended `mousemode_t'.
- Added new protocols and some constants for them.
- Added new ioctl functions and structures.
- Removed obsolete ioctl definitions.

/sys/i386/include/console.h
- Added `dz' field to the structure `mouse_data' to pass Z axis movement
  to `syscons/sysmouse'.
- Removed LEFT_BUTTON, MIDDLE_BUTTON and RIGHT_BUTTON.  Use button bits
  defined in `mouse.h' instead.

/sys/i386/isa/psm.c
- Added a set of functions to detect various mice which have additional
  features (wheel and buttons) unavailable in the standard PS/2 mouse.
- Refined existing ioctl functions and added new ones.  Most important
  of all is MOUSE_SETLEVEL which manipulates the output level of the driver.
  While the output level remains zero, the output from the `psm' driver is
  in the standard PS/2 mouse format (three bytes long).  When the level
  is set to one, the `psm' driver will send data in the extended format.
  At the level two the driver uses the format which is native to the
  connected mouse is used. (Meaning that the output from the device is
  passed to the caller as is, unmodified.)  The `psm'  driver will pass
  such extended data format as is to the caller if the output level is
  two, but emulates the standard format if the output level is zero.
- Added kernel configuration flags to set initial resolution
  (PSM_CONFIG_RESOLUTION) and acceleration (PSM_CONFIG_ACCEL).
- Removed the compile options PSM_ACCEL, PSM_CHECKSYNC and PSM_EMULATION.
  Acceleration ratio is now specified by the kernel configuration flags
  stated above.  Sync check logic is refined and now standard.
  The sync check can be turned off by the new kernel configuration flags
  PSM_CONFIG_NOCHECKSYNC (0x100).  PSM_EMULATION has been of little use.
- Summer clean up :-)  Removed unused code and obsolete comments.

/sys/i386/isa/mse.c
- Created mseioctl() to deal with ioctl functions MOUSE_XXXX.
  Most importantly, the MOUSE_SETLEVEL ioctl will change the
  output format from the 5 byte format to the new, extended format
  so that the caller can take advantage of Z axis movement and additional
  buttons.
- Use constants defined in `mouse.h' rather than magic numbers.

/sys/i386/isa/syscons.c
- Changed scioctl() to reflect the new `console.h' and some of the new
  ioctls defined in `mouse.h'.  Most importantly, the MOUSE_SETLEVEL
  ioctl will change the `sysmouse' output format from the MouseSystems
  5 byte format to the new, extended format so that the caller can
  take advantage of Z axis movement and additional buttons.
- Added support for double/triple click actions of the left button and
  single click action of the right button in the virtual console.  The
  left button double click will select a word under the mouse pointer.
  The triple click will select a line and the single click of the right
  button will extend the selected region to the current position of
  the mouse pointer.  This will make the cut/paste support more compatible
  with xterm.

/sys/i386/isa/kbdio.h
- Added PSM_INTELLI_ID.
1997-12-07 08:09:19 +00:00
yokota
86f898b957 Removed obsolete options: PSM_CHECKSYNC, PSM_ACCEL and PSM_EMULATION. 1997-12-07 08:07:17 +00:00
nate
356879d288 - Added entry for 'Linksys Combo PCMCIA EthernetCard'
Submitted by:	Brad Karp <karp@eecs.harvard.edu>
1997-12-07 05:20:56 +00:00
brian
1a5893522d Only allow one arg to `delete' - the mask & gateway aren't necessary.
Delete AF_LINK routes as well as AF_INET.
Allow the word `default' as the arg to `delete' or in place of the
first two args (dest & netmask) to `add'.
Accept INTERFACE as the third arg to `add'.

  You can now say `add default interface' to create a default route
  through the tun interface.  It's reported that subsequent bind()s
  will bind to a broadcast address and not to the address currently
  assigned to the tun device - this is the first step towards
  supporting that first connection that was around from before the
  dynamic IP negotiation....
1997-12-07 04:09:15 +00:00
sef
d1f6ae4ce3 Use the new PF_LINGER flag -- when this is set in a process' proc structure,
said process will not have its event mask cleared (and be restarted) on
the last close of a procfs/mem file for that pid.  This reduces the chance
that a truss-monitored process will be left hanging with these bits set
and nobody looking for it.

This is the least-tested change of all of these, I'm afraid.
1997-12-07 04:08:48 +00:00
dyson
331974b30d Slight performance improvement, removal of unneeded SPLs. 1997-12-07 04:06:41 +00:00
sef
3442d56966 Clear the stop events and wakeup the process on teh last close of the
procfs/mem file.  While this doesn't prevent an unkillable process, it
means that a broken truss prorgam won't do it accidently now (well,
there's a small window of opportunity).  Note that this requires the
change to truss I am about to commit.
1997-12-07 04:01:03 +00:00
sef
a53f702fae Add a procfs-related flag for procp->p_pfsflags. 1997-12-07 03:59:26 +00:00
peter
5e4975d7f9 explicitly set MAN8 since only MAN1 is defaulted. 1997-12-07 02:35:18 +00:00
peter
fe9d6d67b2 Add $Id$ 1997-12-07 02:30:43 +00:00
peter
ace735d815 delete -static, add $Id$ 1997-12-07 02:29:28 +00:00
peter
f0d96a4246 add procctl 1997-12-07 02:27:48 +00:00
peter
127c7ca6a0 Move procctl to the Attic, it's been copied to usr.sbin/procctl as
suggested by bde via sef.
1997-12-07 02:26:23 +00:00
wosch
0252661afa Use getopts instead getopt(1). This should fix the problem
with whitespaces in pattern.
PR:	5211
1997-12-07 01:00:56 +00:00
wosch
0ac774a20f Delete truss manpage link. We have now a real truss command. 1997-12-06 23:40:13 +00:00
brian
1cdac2c8eb Correct cftypes128 index. 1997-12-06 22:43:58 +00:00
jdp
b62e86b383 Move nlist related defines from link.h into nlist.h. Clean up
nlist.h.
1997-12-06 17:59:52 +00:00
jdp
5ec301cdc6 Fix incorrect format string in call to errx(). 1997-12-06 17:55:07 +00:00
sef
48a1f82a2e Complain about empty command lines. 1997-12-06 17:13:54 +00:00
peter
3ab5048d88 err(3) already includes strerror(errno) and a trailing \n 1997-12-06 14:42:58 +00:00
peter
9f0d9f2754 recognize "FreeBSD ELF" as an executable type
close() takes a fd, not a char * :-)
1997-12-06 14:41:41 +00:00
peter
bb664e8a40 #include <unistd.h> to get it to compile
Submitted by: Andreas Klemm <andreas@klemm.gtn.com>
1997-12-06 14:39:30 +00:00
bde
f3274407b4 Use ENOIOCTL instead of -1 (= ERESTART) for diskslice ioctls that are
not handled at a particular level.
1997-12-06 14:27:56 +00:00
bde
e868842f11 Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that are
not handled at a particular level.  This fixes mainly restarting
of interrupted TIOCDRAINs and TIOCSETA{W,F}s.
1997-12-06 13:25:01 +00:00
brian
5bdfd46476 Reverse my previous change and use htons() on an int
instead of htonl() !

This results in the int a,b,c,d changing to b,a,c,d,
but as it's subsequently coerced to a u_short, the
ultimate answer is correct.

If this isn't fixed properly soon (by the author) I'll
have a look at it again.

Noted by:	eivind & ari@suutari.iki.fi
1997-12-06 12:00:32 +00:00
bde
1a4a2c1dd5 Added a kernel-only error code ENOICTL. This will be returned from
low level ioctl routines instead of the magic number -1 so that
callers can distinguish it from ERESTART (which happens to be -1).
-1 meant that the ioctl was not handled at the called level.
ERESTART is normal when a sleeping ioctl is interrupted.  ERESTART
got converted to ENOTTY instead of restarting the ioctl.  Many
(most?) ioctls can not be restarted safely, but this is apparently
supposed to be handled by drivers converting ERESTART to EINTR.
I first saw this problem for TIOCDRAIN.  Justin saw if for disk
ioctls.

Added missing parentheses.
1997-12-06 11:28:06 +00:00
ache
9c69c6726f Add AWE32 description to visualconfig 1997-12-06 08:20:00 +00:00
sef
999cc45d0b Set the close-on-exec flag in the child; otherwise, it eats up a
file descriptor that it shouldn't.
1997-12-06 08:01:00 +00:00
ache
ccf070cc8f Attach messages: remove unneded newlines and add
missing conf_printf
1997-12-06 07:48:22 +00:00
sef
40d07bddd6 First cut at printing out ioctl names intelligently. Note that this doesn't
handle linux ioctls (yet?).  This uses the mkioctl script from kdump,
bless its little heart.

Reviewed by:	Mike Smith
1997-12-06 06:51:14 +00:00
kato
515aa624c8 Sync with sys/i386/i386/trap.c revision 1.119. 1997-12-06 06:19:19 +00:00
jdp
a6916dfaa9 Add missing argument to warn() call. 1997-12-06 05:37:18 +00:00
sef
a9e2deb1a1 Add truss to the list of subdirectories. 1997-12-06 05:23:59 +00:00
sef
9e9a114f06 Truss program. Requires procfs. 1997-12-06 05:23:12 +00:00
sef
bfd5e43c20 Add procctl to the list of programs built. 1997-12-06 04:19:41 +00:00
sef
54294bb9ab First checkin of the procctl program. 1997-12-06 04:19:09 +00:00
sef
c7d273eccb Changes to allow event-based process monitoring and control. 1997-12-06 04:11:14 +00:00
dyson
9821c09585 Support an optional, sysctl enabled feature of idle process swapout. This
is apparently useful for large shell systems, or systems  with long running
idle processes.  To enable the feature:

	sysctl -w vm.swap_idle_enabled=1

Please note that some of the other vm sysctl variables have been renamed
to be more accurate.
Submitted by:	Much of it from Matt Dillon <dillon@best.net>
1997-12-06 02:23:36 +00:00
tegge
074a0947ba Add some extra flags in the caching page.
Some firmware versions becomes unreliable when these bits are not preserved,
e.g. ST15150N-0017 breaks if the DISC bit is cleared in the caching page.
This happened by default when editing the page.
1997-12-05 22:14:15 +00:00
bde
efd51d84cf Don't include <sys/lock.h> in headers when only `struct simplelock' is
required.  Fixed everything that depended on the pollution.
1997-12-05 19:55:52 +00:00
bde
dbfaf6f7a4 Const poisoning from ks_shortdesc. 1997-12-05 19:28:28 +00:00
bde
40c3cb0b98 Removed one const' from the declaration of ks_shortdesc'. The pointer
isn't actually const in vmstat.

Fixed pedantic syntax errors caused by trailing semicolons in macro
definitions.

Fixed style bugs and typos in revisions 1.26-1.33.
1997-12-05 19:14:36 +00:00
bde
8ee98ba6ee Moved declaration of M_IOV to a less bogus place. It belongs in
<sys/uio.h>, but it doesn't work there because of header pollution
(<sys/uio.h> is prematurely included by <sys/param.h>).
1997-12-05 18:58:13 +00:00