1/* $Id$ */ 2/* 3 * Copyright (c) 1990-1996 Sam Leffler 4 * Copyright (c) 1991-1996 Silicon Graphics, Inc. 5 * HylaFAX is a trademark of Silicon Graphics 6 * 7 * Permission to use, copy, modify, distribute, and sell this software and 8 * its documentation for any purpose is hereby granted without fee, provided 9 * that (i) the above copyright notices and this permission notice appear in 10 * all copies of the software and related documentation, and (ii) the names of 11 * Sam Leffler and Silicon Graphics may not be used in any advertising or 12 * publicity relating to the software without the specific, prior written 13 * permission of Sam Leffler and Silicon Graphics. 14 * 15 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 17 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 18 * 19 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR 20 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, 21 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 22 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 24 * OF THIS SOFTWARE. 25 */ 26 27/* 28 * Warning, this file was automatically created by the HylaFAX configure script 29 * 30 * VERSION: @VERSION@ 31 * DATE: @DATE@ 32 * TARGET: @TARGET@ 33 * CCOMPILER: @CCOMPILER@ 34 * CXXCOMPILER: @CXXCOMPILER@ 35 */ 36#ifndef _CONFIG_ 37#define _CONFIG_ 38#include "port.h" 39 40/* 41 * HylaFAX version number string 42 */ 43#define HYLAFAX_VERSION HYLAFAX_VERSION_STRING 44 45#define FAX_SPOOLDIR "@SPOOL@" /* pathname to top of spooling area */ 46#define FAX_CLIENTBIN "@BIN@" /* place for client apps */ 47#define FAX_LIBEXEC "@LIBEXEC@" /* place for lib executables */ 48#define FAX_LIBDATA "@LIBDATA@" /* place for lib data files */ 49 50/* 51 * Client-server configuration definitions. 52 * 53 * There are currently 2 possible transport methods: INET 54 * (TCP/IP sockets), and Unix (Unix-domain sockets). 55 * The latter has some limitations but may be useful to folks 56 * not working in a network environment. 57 * 58 * NB: The Unix-domain support is unfinished. 59 */ 60#define FAX_USER "@FAXUID@" /* account name of the ``fax user'' */ 61#define FAX_SERVICE "hylafax" /* client-server service name */ 62#define FAX_PROTONAME "tcp" /* protocol used by client+server */ 63#define FAX_DEFPORT 4559 /* port to use if service is unknown */ 64#define FAX_DEFHOST "localhost" /* default host for inet-service */ 65#define FAX_DEFUNIX "/tmp/hyla.unix"/* default Unix-domain socket */ 66 67#ifndef CONFIG_INETTRANSPORT 68#define CONFIG_INETTRANSPORT 1 /* support for TCP/IP sockets */ 69#endif 70#ifndef CONFIG_UNIXTRANSPORT 71#define CONFIG_UNIXTRANSPORT 0 /* support for Unix domain sockets */ 72#endif 73 74#define FAX_TYPERULES "typerules" /* file type and conversion rules */ 75#define FAX_DIALRULES "dialrules" /* client dialstring conversion rules */ 76#define FAX_PAGESIZES "pagesizes" /* page size database */ 77#define FAX_COVER "faxcover.ps" /* prototype cover sheet file */ 78 79/* 80 * System-wide configuration files for client applications (and 81 * the hfaxd process) are located in the LIBDATA directory. Apps 82 * look first for FAX_SYSCONF, possibly followed by an 83 * application-specific configuration file (e.g. sendfax.conf), 84 * followed by a per-user configuration file located (by default) 85 * in the user's home directory (~). This multi-level scheme 86 * is intended to simplify both site and user customization. 87 */ 88#define FAX_SYSCONF FAX_LIBDATA "/hyla.conf" 89#define FAX_USERCONF "~/.hylarc" /* per-user configuration file */ 90 91/* 92 * Server configuration definitions. 93 * 94 * The master spooling directory is broken up into several 95 * subdirectories to isolate information that should be 96 * protected (e.g. documents) and to minimize the number 97 * of files in a single directory (e.g. the send queue). 98 */ 99#define FAX_ARCHDIR "archive" /* subdir for archived jobs */ 100#define FAX_BINDIR "bin" /* subdir for server helper cmds */ 101#define FAX_CLIENTDIR "client" /* subdir for client FIFO files */ 102#define FAX_DOCDIR "docq" /* subdir for documents to send */ 103#define FAX_DONEDIR "doneq" /* subdir for completed jobs */ 104#define FAX_ETCDIR "etc" /* subdir for configuration files */ 105#define FAX_INFODIR "info" /* subdir for remote machine info */ 106#define FAX_LOGDIR "log" /* subdir for log files */ 107#define FAX_POLLDIR "pollq" /* subdir for pollable documents */ 108#define FAX_RECVDIR "recvq" /* subdir for received facsimiles */ 109#define FAX_SENDDIR "sendq" /* subdir for send description files */ 110#define FAX_STATUSDIR "status" /* subdir for server status files */ 111#define FAX_TMPDIR "tmp" /* subdir for temp copies of docs */ 112 113/* 114 * Files that reside in FAX_DOCDIR, FAX_SENDDIR, FAX_RECVDIR, 115 * FAX_POLLDIR, and FAX_ARCHDIR are named using sequence number 116 * information that is kept in a sequence file in the specific 117 * directory (e.g. docq/seqf for document files). 118 */ 119#define FAX_SEQF "seqf" /* sequencing info filename */ 120 121/* 122 * Job description files that reside in FAX_SENDDIR and 123 * FAX_DONEDIR are named using the job identifier and a 124 * prefix string (``q'' currently). 125 */ 126#define FAX_QFILEPREF "q" /* prefix for job queue file */ 127 128/* 129 * Configuration files that reside in the spooling area 130 * are all named with a ``config'' prefix to uniquely 131 * identify them. 132 */ 133#define FAX_CONFIG FAX_ETCDIR "/config" 134 135/* 136 * Send/recv logging information is written to an xferfaxlog 137 * file; currently in an ASCII format designed for processing 138 * by programs like awk and perl. 139 */ 140#define FAX_XFERLOG FAX_ETCDIR "/xferfaxlog" 141 142/* 143 * Client access to services on the server machine is controlled 144 * by information in the ``hosts.hfaxd'' file. This is actually a 145 * minsomer; the file has much more information than host names 146 * (but it used to only have host-related information). 147 */ 148#define FAX_PERMFILE FAX_ETCDIR "/hosts.hfaxd" 149 150/* 151 * Server processes write various status information to files 152 * that reside in the ``status'' directory. These files are 153 * named, by convention using their device identifier ad an 154 * ``info'' suffix (e.g. ttyf2.info). 155 */ 156#define FAX_INFOSUF "info" /* suffix for server info files */ 157 158#define FAX_FIFO "FIFO" /* FIFO file for talking to daemon */ 159#define MODEM_ANY "any" /* any modem acceptable identifier */ 160 161/* NB: all times are given in seconds */ 162#define FAX_REQBUSY (3*60) /* requeue interval on busy answer */ 163#define FAX_REQPROTO (1*60) /* requeue interval on protocol error */ 164#define FAX_REQUEUE (5*60) /* requeue interval on other */ 165#define FAX_RETBUSY (u_int)-1 /* retry maximum on busy answer */ 166#define FAX_RETRY (u_int)-1 /* retry maximum for others */ 167#define FAX_RETRIES 3 /* number times to retry send */ 168#define FAX_REDIALS 12 /* number times to dial phone */ 169#define FAX_TIMEOUT "now + 3 hours" /* default job timeout (at syntax) */ 170#define FAX_DEFVRES @DEFVRES@ /* default vertical resolution */ 171 /* default is no email notification */ 172#define FAX_DEFNOTIFY SendFaxJob::no_notice 173#define FAX_DEFPRIORITY 127 /* default job priority */ 174 175/* 176 * UUCP lock file support exists for both ASCII-style and 177 * binary-style files. The difference refers to whether 178 * the process ID's written to the lock file are written 179 * in ASCII or binary. HylaFAX server programs can be 180 * configured to use either through the configuration files 181 * and there is also support for certain lock file naming 182 * conventions required by different systems such as SCO 183 * and SVR4. Consult the documentation for more details. 184 */ 185#define UUCP_LOCKDIR "@UUCP_LOCKDIR@" /* directory for UUCP lock files */ 186#define UUCP_LOCKTYPE "@UUCP_LOCKTYPE@" /* UUCP lock file type */ 187#define UUCP_LOCKMODE 0444 /* UUCP lock file creation mode */ 188#define UUCP_PIDDIGITS 10 /* # digits to write to lock file */ 189/* 190 * HylaFAX server processes that create UUCP lock files 191 * check that the lock file owner exists and if they do 192 * not they can be configured to automatically purge the 193 * lock file. This operation is only done for lock files 194 * that appear to be orphaned longer than some period of 195 * time. The default value for this interval is 30 seconds 196 * but it can be changed through the configuration files. 197 * Setting this value to 0 disables this automatic purging 198 * of UUCP lock files. 199 */ 200#define UUCP_LCKTIMEOUT 30 /* UUCP lock auto-expiration (secs) */ 201 202/* 203 * Default syslog facility. This value can be redefined 204 * through the LogFaclity configuration parameters read 205 * by all the server programs. 206 */ 207#define LOG_FAX "daemon" /* logging identity */ 208 209/* 210 * The pathnames of the getty, vgetty, and egetty programs 211 * invoked by faxgetty to handle inbound data and voice 212 * calls and for doing adaptive call type deduction. These 213 * parameters are compiled into the binary to avoid possible 214 * security problems. 215 */ 216#ifndef _PATH_GETTY 217#define _PATH_GETTY "@PATHGETTY@" /* getty program for data call */ 218#endif 219#ifndef _PATH_VGETTY 220#define _PATH_VGETTY "@PATHVGETTY@" /* vgetty program for voice call */ 221#endif 222#ifndef _PATH_EGETTY 223#define _PATH_EGETTY "@PATHEGETTY@" /* egetty for deducing call type */ 224#endif 225 226/* 227 * The default pathname for the Fontmap(s) file 228 * is compiled into util/TextFormat.o but can be overridden 229 * through configuration files. 230 */ 231#ifndef _PATH_FONTMAP 232#define _PATH_FONTMAP "@FONTMAP@" /* location of Fontmap(s) */ 233#endif 234 235/* 236 * The default pathname for the location of the fonts 237 * is compiled into util/TextFormat.o but can be overridden 238 * through configuration files. 239 */ 240#ifndef _PATH_AFM 241#define _PATH_AFM "@FONTPATH@" /* location of Fonts */ 242#endif 243 244/* 245 * The following commands are invoked by server processes 246 * to do work that might need to be customized. Typically 247 * these ``commands'' are shell scripts, but there's nothing 248 * to stop them from being something else. 249 * 250 * Note that non-absolute pathnames must be given relative 251 * to the top of the spooling area. 252 */ 253#define FAX_NOTIFYCMD FAX_BINDIR "/notify" /* cmd to do job notification */ 254#define FAX_TRANSCMD FAX_BINDIR "/transcript"/* cmd to return transcript */ 255#define FAX_FAXRCVDCMD FAX_BINDIR "/faxrcvd" /* cmd to process a recvd fax */ 256#define FAX_POLLRCVDCMD FAX_BINDIR "/pollrcvd" /* cmd to process a recvd fax */ 257#define FAX_PS2FAXCMD FAX_BINDIR "/ps2fax" /* cmd to convert postscript */ 258#define FAX_PDF2FAXCMD FAX_BINDIR "/pdf2fax" /* cmd to convert PDF */ 259#define FAX_PCL2FAXCMD FAX_BINDIR "/pcl2fax" /* cmd to convert PCL */ 260#define FAX_TIFF2FAXCMD FAX_BINDIR "/tiff2fax" /* cmd to convert TIFF */ 261#define FAX_COVERCMD FAX_BINDIR "/mkcover" /* cmd to make cont coverpage */ 262#define FAX_WEDGEDCMD FAX_BINDIR "/wedged" /* cmd to handle wedged modem */ 263 264/* 265 * SNPP-related client-server definitions. 266 */ 267#define SNPP_SERVICE "snpp" /* Simple Network Pager Protocol */ 268#define SNPP_PROTONAME "tcp" /* protocol used by client+server */ 269#define SNPP_DEFPORT 444 /* port to use if service is unknown */ 270#define SNPP_DEFHOST "localhost" /* default host for SNPP service */ 271/* default values for SNPP job scheduling and handling */ 272#define SNPP_DEFQUEUE false /* default is synchronous delivery */ 273#define SNPP_DEFLEVEL 1 /* default service level */ 274#define SNPP_DEFRETRIES 3 /* number times to retry send */ 275#define SNPP_DEFREDIALS 12 /* number times to dial phone */ 276#define SNPP_DEFNOTIFY "none" /* default is no email notification */ 277#define SNPP_DEFPRIORITY 127 /* default job priority */ 278 279/* 280 * Sequence numbers are assigned for jobs and documents 281 * stored in the fax filesystem. We no longer constrain these 282 * numbers to be 16-bit values. 283 */ 284#define MAXSEQNUM 999999999 285#define NEXTSEQNUM(x) (((x)+1) % MAXSEQNUM) 286 287/* 288 * PAM Authentication 289 */ 290@HAVE_PAM@ 291 292/* 293 * JBIG library support 294 */ 295@HAVE_JBIG@ 296@HAVE_JBIGTIFF@ 297 298/* 299 * i18n support 300 */ 301@ENABLE_NLS@ 302#define LOCALEDIR "@LOCALEDIR@" 303#define LOCALE_DOMAIN "@LOCALE_DOMAIN@" 304 305#endif 306 307#if defined(__DragonFly__) 308 #define HAS_UTMPX 1 309 #define HAS_EXIT_STATUS 1 310#endif 311