[comp.dcom.modems] Wanted: ideas for flexible modem configuration

jeffr@sco.COM (Jeff Radick) (05/17/88)

I am trying to figure out a more-or-less general scheme to
have a single framework from within which to configure and
control modems for both synchronous and asynchronous lines.

I am working strictly within a xenix/unix sys 5 framework;
I have no bsd facilities (well, this is strictly not true:
I think my company has in its archives a 4.3BSD distribution
tape set that I can look at but [a] that's a lot of unfamiliar code
to wade through and [b] I am doubtful of the legality of my pirating
ideas from it after having eyeballed the source code).  Solutions used
in other environments will be useful and the ideas are welcome
even though I might not be able to use them.

What I want ideally is to obtain a collection of references to
documented more-or-less standard solutions to this problem,
so that what I am doing can fit in with the rest of the world,
if possible, and if such a solution even exists.  I will eventually
devise solutions to these problems anyway (if I have to), but I
would rather first know about particular strategies that the world
at large likes or dislikes before reinventing the wheel, if indeed
that is even necessary.

I should mention that I am looking at this from the point of view
of a software engineer who is about to implement something,
rather than as, for example, a site administrator or operations
manager who just wants to procure a means for accomplishing a
task.

I essentially have two problems that I would like to solve,
or discover existing solutions to:
    (a) I have a serial port that can operate either as a
	synchronous or asynchronous DTE.  Is there a general
	scheme for interfacing to this device (i.e., standard
	sets of ioctls, pushing/popping stream modules, etc)
	so that at different times I can use the port for different
	purposes without having to reconfigure my kernel?
    (b) Let's say I have a modem that is capable of operating either
	synchronous or asynchronous at 2400bps.  Is there a framework
	that will allow me to use, say, the same dialer program
	for this modem either with UUCP or with an SNA 3270 emulator?
	I mean, it would be kind of nice to use the same dialer
	for the same modem.  The only thing is, some modems (in particular
	the Hayes-Smartmodem-2400-compatible ones) require some extra
	commands over and above those strictly for dialing the number
	establishing a connection that say "async mode" or "sync mode".

I have a few questions regarding a few specific things I have heard
that may relate to this:
    (1) What is this "modemcap" thing that I have been seeing
	occasional references to in this (comp.dcom.modems) newsgroup?
	What particular product or environment does it occur in?
	How is it used, and what sort of flexibility does it have?
	Is it a proprietary, closely guarded secret mechanism, or
	is it an idea that can be freely adopted without fear of
	stepping on anybody's toes legally?
    (2) I have heard a rumor that Sun's OS has a solution for at least
	problem (a) above.  Is this true?  The same questions of
	freedom of use of IDEAS applies here: if they do it, can I 
	find out how they do it and do it the same way without
	running into legal problems?

Please e-mail me responses as I do not usually read the comp.unix*
newsgroups; if there is sufficient interest in this I will post a
summary of replies.

The fact that I am asking this question does not imply that any
such solution will ever be adopted by my company in any of our
products, particularly our UUCP implementation in our XENIX package.
In fact nothing I say has any meaningful implications regarding
anything at all.  However, I do want to understand these problems
and if I hear of or think of (or some combination thereof) a good
solution I will definitely do my best to convey the relevant ideas
to those of my company who might be in a position to adopt such a
solution.

Jeff Radick				uunet!sco!jeffr or jeffr@sco.COM
The Santa Cruz Operation, Inc.
(408) 458-1422