Annotation of coherent/a/usr/bob/uusrc/modemcap/Readme, revision 1.1.1.1

1.1       root        1: This package is a modem independent dial(3) package.  It provides a device
                      2: independent method for dialing and manipulating modems.  The format of the
                      3: description file is the ever present ;-) termcaps format.  You may want to
                      4: read the modemcap file to see just what capabilities are present.
                      5: 
                      6: This is Release 1.1 of this software.  Please bear in mind that I haven't
                      7: released this to the public before this release.
                      8: 
                      9: --< Start of the legal conditions of this software >--
                     10: 
                     11: This software is copyright 1987 John F. Haugh II, all rights reserved.
                     12: Use, duplication and disclosure subject to the terms and conditions of
                     13: the license agreement below.  This notice is intended to have legal
                     14: significance, and not to be taken lightly.  If you have any questions,
                     15: please contact the author at the address below.  This copyright covers
                     16: the entire software distribution it is enclosed with.  Removing this
                     17: copyright is a violation of federal copyright law.  Please consult an
                     18: attorney if you have any questions regarding the legal ramifications of
                     19: this agreement.
                     20: 
                     21: This software is licensed subject to the following terms and conditions.
                     22: In order that this product may expand into the universe to fill the current
                     23: (void) in this area, it is my intention that this software be widely
                     24: distributed, and maintained in a consistent fashion.  To this end, you
                     25: are authorized to redistribute this software in either source or binary
                     26: format, provided that, this agreement is retained as part of the release,
                     27: no direct profit is realized from the sale or transfer of this software,
                     28: and that credit is given the author for this work.  To facilitate this
                     29: package coming into acceptance, you must provide library versions of this
                     30: software and any documentation included with this package when distributing
                     31: binary versions embedded in your products.  Paying royalties would be
                     32: nice and you won't do it anyway, so don't even pretend to be nice people
                     33: unless you really want me to stay on top of this thing.  Author retains
                     34: all rights to derived works, and as a condition to your making modifications
                     35: to the source code, you are required by this agreement to provide detailed
                     36: notes concerning the actual modifications and the motivation behind the
                     37: modification itself.  Making the documentation look better is a nice idea
                     38: also.  And since I'm very lazy, please send me your documentation.  You
                     39: don't have to, but standardized documentation is a Good Thing.
                     40: 
                     41: The author provides this software without warrantee.  The user accepts by
                     42: use all responsibility for the performance (or lack thereof ;-) of this
                     43: software, including loss of profits, reputation, or job.
                     44: 
                     45: --< End of the legal stuff, now for the documentation. >--
                     46: 
                     47: call.c - a test program.  do a `make all' to create the library and compile
                     48: the call program.  read all the documentation before trying it out.
                     49: 
                     50: dial(3L) - a version of the standard dial(3) command which should be fairly
                     51: compatible with the one in your manual ...  has both dial() and undial()
                     52: routines.  see your manpage for more details.
                     53: 
                     54: hangup.c/hangup(3L) - a routine that attempts to absolutely hangup a modem.
                     55: it uses the modem capabilities database to figure out the best way to
                     56: hangup a modem.  it supports both hangup on DTR and hangup on command.
                     57: 
                     58: initmodem.c/initmodem(3L) - this routine takes a character pointer to a
                     59: modem name as it appears in the database and a file descriptor from a
                     60: open() call, and loads the database information.  after the database is
                     61: loaded, the modem is placed in the command mode.  beware, initmodem()
                     62: may make an alarm(2) call if the InitializationDelay requirement is present.
                     63: 
                     64: mdial.c/mdial(3L) - this routine builds a dial command string to give
                     65: to the dialer.  this is the weakest routine in the package, because i don't
                     66: have that many different modems around here, and hayes is pretty damned
                     67: common, so i don't see many others.  the first argument is a character string
                     68: telephone number, digits only, or if you understand your modem (boo on me)
                     69: you can put in pause commands.  the second argument is a file descriptor
                     70: from an open() call. this routine _will_ be the first to get fixed.
                     71: 
                     72: merror.c/merror(3L) - this routine is a modemcap replacement for perror.
                     73: an `int merrno' variable is maintained by the routines.  after an error
                     74: return, you can call merror with a character pointer just like perror(3)
                     75: and have a message printed on your standard error output.
                     76: 
                     77: mgetent.c/mgetent(3L) - this is a low level routine you shouldn't be
                     78: calling anyway.  it works like tgetent(3), only different.  mostly, it
                     79: doesn't have the neat things.  the first argument is a pointer to a
                     80: character buffer where the entry will be placed.  the second argument
                     81: is a pointer to the modem name.
                     82: 
                     83: mgetflag.c/mgetflag(3L) - just like tgetflag.  this is a low level
                     84: routine you might just want to use.  in particular, `if (mgetflag ("hc"))'
                     85: tests for modem hanging up on DTR being negated.  `if (HC)' does the
                     86: same thing after mgetent() ...
                     87: 
                     88: mgetnum.c/mgetnum(3L) - just like tgetnum.  don't see much use for using
                     89: it.
                     90: 
                     91: mgetstr.c/mgetstr(3L) - just like tgetstr, except it has a few quirks.
                     92: octal escapes are all three digits.  the format '^c' where 'c' is some
                     93: character, only works with upper case letters.  correctly at least.
                     94: ain't no way to get a null into the string, no how.
                     95: 
                     96: /etc/modemcap - a modem capabilities database.  read the file for more
                     97: details.
                     98: 
                     99: /etc/modemtype - a modem/port mapping table.  look at the example file.
                    100: 
                    101: you will need to make entries for your devices in the L-devices file.
                    102: the speed listed must be a legal speed according to the modemcap file.
                    103: any compilation errors or warnings should be brought to my attention. i
                    104: didn't get any the last time i compiled all this stuff.
                    105: 
                    106: the source is well enough (i'm lieing) documented for anyone to fix.
                    107: please don't add your local improvement.  if you insist, make the mods
                    108: and send me context diffs.  i'll tell you what i think about the change.
                    109: remember, according to the license you must let me in on what you are
                    110: doing.  this is in everyones best interest.
                    111: 
                    112: --< End of the documentation, now for my personal philosophical b.s. >--
                    113: 
                    114: It is not my intention to limit the use of this software or your profits,
                    115: except where such use is inconsistent with the spirit of humanity, whatever
                    116: the hell that means.  I don't care how much money you make selling your
                    117: new terminal program, just don't go jacking the price up because you
                    118: have added this thing.  I will only work on this package if I get feedback
                    119: and I have some motivation, other than being a nice guy.  I think I've been
                    120: nice enough by putting this thing out there.  If what you want makes sense
                    121: in a real way, I will probably include your suggestions, and if you are
                    122: polite, I might just give you credit ;-)  So don't be a jerk and pretend
                    123: that anyone actually works for free.  I have a car note just like you.
                    124: 
                    125: By way of this license and the legal mumbo-jumbo, I hope to keep people
                    126: from ripping me off, and totally trashing and perverting the integrity
                    127: of the code.  Please, don't construe this agreement to be limiting in
                    128: a negative way.  I hope to provide just enough limits to keep the code
                    129: consistent and portable across all machine environments, and hopefully,
                    130: you will use this thing enough that it becomes better and more useful
                    131: and fills the need for such a thing.  Who knows, we both might just make
                    132: some money off of this thing.
                    133: 
                    134: --
                    135: John F. Haugh II               QUOTE: "The important thing is to not stop
                    136: 7825 McCallum Blvd.                    questioning" -- Albert Einstein
                    137: Apt. 510                       TELCO: (214) 250-3311
                    138: Dallas, TX 75252               UUCP:  { backbone } !ihnp4!killer!jfh
                    139: 
                    140: 
                    141: ----------------------------------------------------------------------
                    142: 
                    143: All of this stuff is modified from [email protected]'s package,
                    144: so that it more closely follows the dial(3) manual page. Some things
                    145: were changed just because I wanted them to be done that way.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.