Commit Graph

63 Commits

Author SHA1 Message Date
kristerw 83b5a18c99 Restore the system priority level in case of errors.
OK:ed by martin.
2002-12-28 21:09:14 +00:00
drochner cc12f9fb4e remove ttydefchars declaration which was wrong anyway,
a correct one is now pulled in from <sys/ttydefaults.h>
2002-12-10 13:50:10 +00:00
lukem 0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
christos 729ccbc9cd si_ -> sel_ 2002-11-26 19:49:00 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
martin 2fe85a6623 Uniformly pass a "struct isdn_l3_driver *" through layer 2, so we
do not have to search for that driver later while we already knew it
at layer 1.
2002-05-21 10:31:10 +00:00
martin 3d49645449 Remove debug printf accidently commited.
Noticed by Thomas Klausner.
2002-05-17 09:28:34 +00:00
wiz da0b574ae0 Comment out token after #endif. 2002-05-16 19:30:41 +00:00
martin d1a8d9aaa3 Sync layer 3 B-channel accounting with layer 2.
Sprinkle some update_controller_leds() calls to places that change this
state.
2002-05-02 18:56:55 +00:00
drochner 14a494bc05 return ENXIO if a driver cannot be found 2002-04-17 15:23:47 +00:00
martin e4998611e9 Fix copyright notice. 2002-04-14 12:24:26 +00:00
martin a56dc0602f Document a puzzling assignement. 2002-04-12 06:21:57 +00:00
martin 30453d09bc Print hardware device name in layer 1 debug output. 2002-04-09 20:48:21 +00:00
martin 7486d374b8 Fix typo in debug message. 2002-04-09 20:47:24 +00:00
martin bf8b82a971 Move isic_intr_enable to a file not depending on the HSCX driver, so
ifpci-only configurations build again.

Remove the now unused controller enable function from the passive drivers
l2<->l1 interface.
2002-04-01 12:14:26 +00:00
martin ed4ba39c75 Add a command to layer 1 drivers to update LED state for controllers that
have status LEDs.
2002-03-30 17:54:17 +00:00
martin 4afabfd9b3 Cache a pointer to layer 3 driver state in a call descriptor.
Use this instead of expensive isdn_find_l3_by_bri() calls where possible.
2002-03-30 11:43:33 +00:00
martin e14f4779db Avoid duplicate expensive lookups by passing a pointer to the call
descriptor/a pointer to the layer 3 state directly to driver functions,
instead of their ID/index.
2002-03-30 11:15:41 +00:00
martin 3ba8ce25ee Pass subaddresses and calling party number type/plan to userland on
incoming calls.
2002-03-30 07:08:13 +00:00
martin f5e2c967fc Split BRI attaching into two phases, so lower layer drivers can get their
BRI identifier and L3 driver state early on, then finish initializing and
announce the controller to userland when it's ready.
2002-03-29 20:29:53 +00:00
martin ea03e4fc22 Better check ioctl parameters and reject requests for not (currently)
present controllers.

Clear our TEI on persistent (physical) deactivation, instead of setting it
to a bogus 0.
2002-03-29 15:01:27 +00:00
martin ebd73ccd11 After Jason Thorpe explained to me how it is supposed to work, implement
(de)activate for pcmcia cards.
Implement detach/(de)activate for PCI cards.
Clean up internal state (free call-descriptors) if a controller is
detached while it has open connections.
2002-03-27 07:39:35 +00:00
martin 9611ef91c3 Cosmetical nitpick: initialize TEI to -1 instead of 0, to prevent
controllers that don't touch it at all to display a bogus, but
theoreticaly valid value.
2002-03-25 20:28:41 +00:00
martin 0db68b667b Now that we have all pieces in place (and enough granularity to specify
B-channel and D-channel drivers separately) split the Fritz!PCI card
driver out of the isic driver.

The new device is called "ifpci" and uses the same D-channel driver as the
isic devices, but has it's own B-channel driver.
2002-03-25 16:39:52 +00:00
martin 909e313a80 Remove a leftover from the BRI registry at layer 2.
Initialize layer 2's idea of it's BRI id after attaching.
2002-03-25 14:44:46 +00:00
martin 963ecd396e Plug a memory hole when detaching ISDN controllers. 2002-03-25 14:25:06 +00:00
martin a994533d0a Make pcmcia cards detach properly.
Notify userland of attaching/detaching cards.
This partly fixes PR 15951.
2002-03-25 12:07:33 +00:00
martin 0bc69b6498 Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
2002-03-24 20:35:43 +00:00
martin 9cea4a0ab0 Bring the daic driver into the new ISDN world order.
Enable active card support in the ISDN subsystem. (Had been disabled since
it couldn't be tested before.)
2002-03-22 09:54:15 +00:00
martin 4a7710e8d9 Fix a long standing confusion between n_mgm_command and mph_command_req
by removing the former completely.
This makes isdntrace work again.
2002-03-19 20:10:45 +00:00
martin af693ebcf6 Wakeup sleeping processes when the ISDN connection gets established
or disestablished. Hint from Matthias Drochner.
2002-03-18 23:28:03 +00:00
martin b07c2da1c9 Fix an uninitialized use of a variable by removing it completely. 2002-03-18 22:15:28 +00:00
martin e2c42aeaa8 Remove all knowledge about specific application (layer 4) drivers from
the generic layer 4 and layer 3 management system.

This should make the layer 4 driver API LKM clean - finaly.

Make the Fritz!PCI driver work again after resent changes (oops!),
noted by Frank Kardel (PR 15948) and Matthias Scheeler.
2002-03-17 20:54:04 +00:00
martin 14a03255ac Remove the hard coded layer 4 driver coding from the accounting data
and functions, use the call ID instead.
2002-03-17 11:08:31 +00:00
martin 1e802e7eba Clean up the application (layer 4) driver vs. B channel driver interface.
One step further on the way to make layer 4 drivers LKMable.
2002-03-17 09:45:58 +00:00
martin 94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
drochner c651007643 until the B-channel bookkeeping is fixed, do at least as much as necessary
to get rid of bogus error messages
2002-02-14 16:46:23 +00:00
drochner 29cc8db414 until the B-channel bookkeeping is fixed, do at least as much as necessary
to get rid of bogus error messages
2002-02-14 16:20:47 +00:00
drochner 3131bb3941 Reduce the "unknown protocol discriminator" message from "error" to
"information". On my mixed Euro-ISDN/1TR6 line I get fooded otherwise.
2002-02-14 16:17:05 +00:00
martin 046f73ccbb More ALTQ gotchas from Thomas Klausner:
Use IFQ_SET_MAXLEN instead of accesing opaque queue members directly.
Don't forget to IFQ_SET_READY the queue.
2002-02-10 15:29:58 +00:00
martin 7942602380 Don't crash when trying to read phone data while there is no ISDN
connection. From FreeBSD, via Matthias Drochner.
2002-01-27 11:42:13 +00:00
martin a585d748dc Duplicate include protection. 2002-01-21 11:38:16 +00:00
martin f1c55df387 Now that the sppp driver has a payload based timestamp, use that to calculate
ISDN timeouts as well. Now LCP echo request/replies won't keep the connection
open any more.
2002-01-06 20:18:19 +00:00
martin cd66b662e5 Slight stylistic cleanup, no functional change. 2002-01-06 13:26:46 +00:00
martin 99772f59c4 Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h
containing the userland visible thinks (i.e. ioctl definitions).

Remove all (both) old ioctls, as they had a brain dead API and made keeping
binary compatibility more or less impossible.

Replace by several new ioctls. While there, remove any arbitrary limits
(resulting from the old, broken ioctls) and allow any length of names
and passwords.
2002-01-04 12:21:24 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem 4f2ad95259 add RCSIDs 2001-11-13 00:56:55 +00:00
martin 5eb2c7d064 Install i4b_rbch_ioctl.h, it is needed i.e. for userland PPP.
Requested by Brian Somers.
2001-10-21 17:02:06 +00:00