faxaddmodem.1m
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:8k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. ." $Id: faxaddmodem.1m,v 1.3 2007/08/15 20:14:05 faxguy Exp $
  2. ."
  3. ." HylaFAX Facsimile Software
  4. ."
  5. ." Copyright (c) 1990-1996 Sam Leffler
  6. ." Copyright (c) 1991-1996 Silicon Graphics, Inc.
  7. ." HylaFAX is a trademark of Silicon Graphics
  8. ." 
  9. ." Permission to use, copy, modify, distribute, and sell this software and 
  10. ." its documentation for any purpose is hereby granted without fee, provided
  11. ." that (i) the above copyright notices and this permission notice appear in
  12. ." all copies of the software and related documentation, and (ii) the names of
  13. ." Sam Leffler and Silicon Graphics may not be used in any advertising or
  14. ." publicity relating to the software without the specific, prior written
  15. ." permission of Sam Leffler and Silicon Graphics.
  16. ." 
  17. ." THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  18. ." EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  19. ." WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  20. ." 
  21. ." IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  22. ." ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  23. ." OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  24. ." WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  25. ." LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  26. ." OF THIS SOFTWARE.
  27. ."
  28. .if n .po 0
  29. .ds Fx fIHylas-1FAXs+1fP
  30. .TH FAXADDMODEM ${MANNUM1_8} "May 12, 1996"
  31. .SH NAME
  32. faxaddmodem - configure a modem for use with *(Fx
  33. .SH SYNOPSIS
  34. .B ${SBIN}/faxaddmodem
  35. [
  36. .B -s
  37. .I speed
  38. ] [
  39. .B -f
  40. ] [
  41. .B -nointeractive
  42. ] [
  43. .BI -skel= file
  44. ] [
  45. .I tty
  46. ]
  47. .SH DESCRIPTION
  48. .I faxaddmodem
  49. is an interactive shell script that does the
  50. necessary setup work to configure
  51. a modem for use by the *(Fx software.
  52. To enable use of the configured modem one must either use the
  53. .IR faxmodem (${MANNUM1_8})
  54. program or configure the
  55. .IR init (${MANNUM1_8})
  56. program to startup a
  57. .IR faxgetty (${MANNUM1_8})
  58. process for the newly configured modem.
  59. In either case the
  60. .IR faxq (${MANNUM1_8})
  61. program must also be running if outbound services are to be provided.
  62. .PP
  63. If the serial port name is not specified on the command line
  64. .I faxaddmodem
  65. will prompt for it.
  66. .PP
  67. The configuration work done by
  68. .I faxaddmodem
  69. falls into two main areas: creating the necessary files to run
  70. a facsimile server process, and defining the contents of the
  71. configuration database file.
  72. The 
  73. .I hylafax-config (${MANNUM4_5})
  74. manual page has an in-depth description of the contents of the
  75. configuration file and should be consulted when installing a
  76. modem.
  77. .PP
  78. Many aspects of configuring a modem are operating system-specific;
  79. .I faxaddmodem
  80. uses a collection of support routines and parameters
  81. that are generated by the
  82. .IR faxsetup (${MANNUM1_8})
  83. program.
  84. If 
  85. .I faxsetup
  86. has not been run on a machine prior to running then
  87. .I faxaddmodem
  88. will abort.
  89. .PP
  90. .I faxaddmodem
  91. can be used to install a new modem or re-configure an existing modem.
  92. In the latter case it will propagate all the
  93. server-related configuration parameters from the existing
  94. configuration file to the new configuration file.
  95. These parameter include items such as the phone number, area code,
  96. and tracing control parameters.
  97. Modem-related configuration parameters are, however, not propagated.
  98. Instead
  99. .I faxaddmodem
  100. deduces the type of modem attached to the specified serial
  101. port and then sets up the configuration parameters using a set of
  102. .I prototype
  103. configuration files that have been tested with like modems.
  104. If a modem is to be installed for which there is no existing
  105. prototype file,
  106. .I faxaddmodem
  107. will work from a comprehensive template of parameters that can be
  108. edited either during or after the installation process.
  109. .PP
  110. .I faxaddmodem
  111. deduces the type of modem attached to the serial port by sending
  112. commands to the modem at a fixed speed.
  113. By default, this speed is deduced by sending commands to
  114. the modem at successively decreasing speeds until a valid
  115. response is received.
  116. Alternatively,
  117. a fixed speed can be specified from the command line with the
  118. .B -s
  119. option.
  120. .PP
  121. Because
  122. .I faxaddmodem
  123. needs to read and write the modem that is to be installed
  124. it will not proceed with an installation if the modem is
  125. locked for use by another process.  If the modem is not locked
  126. and the
  127. .B -f
  128. option is used, then the system's
  129. .IR fuser (1)
  130. command will be invoked to ensure that faxaddmodem is the only
  131. process using the modem.
  132. .PP
  133. Finally, note that an installation can be safely aborted at any
  134. time by hitting the interrupt key.
  135. .I faxaddmodem
  136. delays making installation-related changes until after everything
  137. has been setup.
  138. .SH OPTIONS
  139. .TP 10
  140. .BI -s " speed"
  141. Communicate with the modem at a fixed
  142. .IR speed ;
  143. this may be any value recognized by the
  144. .IR stty (1)
  145. command.
  146. .TP 10
  147. .B -f
  148. Use the
  149. .IR fuser (1)
  150. command for exclusive access to the device.
  151. .TP 10
  152. .B -nointeractive
  153. Do not prompt for any input whenever a default option is available.
  154. .TP 10
  155. .BI -skel= file
  156. Use
  157. .B file
  158. as the skeleton configuration file (used when there is no existing modem config file).
  159. .SH "PROTOTYPE CONFIGURATION FILES"
  160. .I faxaddmodem
  161. uses prototype configuration files that have been
  162. created for known modems.
  163. These prototype files are kept in the
  164. .B config
  165. subdirectory and, by convention, have names
  166. that identify a brand or type of modem and the
  167. .SM DTE-DCE
  168. flow control scheme the prototype files configures.
  169. The
  170. .IR faxaddmodem (${MANNUM1_8})
  171. program that is used to configure a modem for use with
  172. *(Fx selects a prototype configuration file using information
  173. retrieved from the modem and comments embedded in the prototype files.
  174. For Class 1 and Class 1.0 modems the product ID code returned by the command
  175. ``s-1ATI0s+1''
  176. and the response from the command
  177. ``s-1ATI3s+1''
  178. are used to select a prototype configuration file, while for Class 2
  179. modems the manufacturer and model as returned by
  180. ``s-1AT+FMFR?s+1'' and ``s-1AT+FMDL?s+1'', respectively, are
  181. used (or ``s-1AT+FMI?s+1'' and ``s-1AT+FMM?s+1'' for
  182. Class 2.0 and Class 2.1 modems).
  183. .PP
  184. A Class 1 prototype configuration file is identified for use by
  185. .I faxaddmodem
  186. by searching for a comment of the form:
  187. .nf
  188. .sp .5
  189. fC# CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=DataportfR
  190. .sp .5
  191. .fi
  192. In this example ``144'' is the product ID code for an s-1AT&Ts+1 DataPort
  193. modem, ``.*'' is a regular expression matched against the result string
  194. returned by the ``s-1ATI3s+1'' command,
  195. and ``s-1RTSCTSs+1'' indicates the modem is configured to
  196. use hardware flow control during fax operation.
  197. The remainder of the line is evaluated by the
  198. .IR sh (1)
  199. and used to specify the modem's manufacturer and model (since Class 1
  200. modems do not have standard commands to query this information).
  201. .PP
  202. Class 2, 2.0, and 2.1 prototype configuration files match the string
  203. ``fImanufacturerfP-fImodelfP-fIflowcontrolfP'' against a
  204. .IR sh (1)
  205. glob pattern specified in the configuration file, where
  206. .I manufacturer
  207. and
  208. .I model
  209. are the strings returned by querying the modem and
  210. .I flowcontrol
  211. is either ``s-1RTSCTSs+1'' for hardware flow control or
  212. ``s-1XONXOFFs+1'' for software flow control.
  213. For example:
  214. .sp .5
  215. fC# CONFIG: CLASS2: ZyXEL*-RTSCTSfR
  216. .br
  217. fC# CONFIG: CLASS2.0: USRobotics*-XONXOFFfR
  218. .sp .5
  219. are configuration comments that appear in the prototype file for
  220. a s-1ZyXEL 1496Es+1 with Class 2 support, and for a US Robotics Courier
  221. modem with Class 2.0 firmware.
  222. .PP
  223. The
  224. .I faxaddmodem
  225. program merges server-specific configuration parameters
  226. into a prototype configuration according to comments
  227. placed in the prototype file.
  228. All lines between ``s-1BEGIN-SERVERs+1'' and ``s-1END-SERVERs+1''
  229. comments are placed with the appropriate server configuration
  230. parameters.
  231. Note that this means modem-related configuration parameters
  232. must be placed outside this area of the file.
  233. .SH FILES
  234. .ta w'${SPOOL}/etc/setup.modem    'u
  235. .nf
  236. ${SPOOL}/etc/setup.cache master configuration parameters
  237. ${SPOOL}/etc/setup.modem modem-related configuration support
  238. ${SPOOL}/config prototype configuration files
  239. ${LIBEXEC}/ondelay program to open device without waiting for carrier
  240. ${LIBEXEC}/lockname s-1SVR4 UUCPs+1 lockfile name generator
  241. .fi
  242. .PP
  243. Consult
  244. .IR hylafax-server (${MANNUM4_5})
  245. for a complete discussion of the structure and
  246. content of the spooling area.
  247. .SH "SEE ALSO"
  248. .IR hylafax-server (${MANNUM4_5}),
  249. .IR hylafax-config (${MANNUM4_5}),
  250. .IR faxsetup (${MANNUM1_8}),
  251. .IR faxq (${MANNUM1_8}),
  252. .IR faxgetty (${MANNUM1_8}),
  253. .IR faxmodem (${MANNUM1_8}),
  254. .IR faxconfig (${MANNUM1_8}),
  255. .IR faxsend (${MANNUM1_8})