Changelog for HylaFAX 4.2.1
+* add coversheet information into the q-file (23 Nov 2004)
* fix documentation regarding DesiredEC (23 Nov 2004)
* change minsp to minbr for consistency (23 Nov 2004)
* fix hfaxd problem with file descriptors (23 Nov 2004)
{ "receiver", &FaxRequest::receiver },
{ "company", &FaxRequest::company },
{ "location", &FaxRequest::location },
+ { "voice", &FaxRequest::voice },
+ { "fromcompany", &FaxRequest::fromcompany },
+ { "fromlocation", &FaxRequest::fromlocation },
+ { "fromvoice", &FaxRequest::fromvoice },
+ { "regarding", &FaxRequest::regarding },
+ { "comments", &FaxRequest::comments },
{ "cover", &FaxRequest::cover },
{ "client", &FaxRequest::client },
{ "owner", &FaxRequest::owner },
case H_RECEIVER: receiver = tag; break;
case H_COMPANY: company = tag; break;
case H_LOCATION: location = tag; break;
+ case H_VOICE: voice = tag; break;
+ case H_FROMLOCATION: fromlocation = tag; break;
+ case H_FROMVOICE: fromvoice = tag; break;
+ case H_REGARDING: regarding = tag; break;
case H_COVER: cover = tag; break;
case H_CLIENT: client = tag; break;
case H_OWNER: owner = tag; break;
break;
case H_SUBADDR: subaddr = tag; break;
case H_PASSWD: passwd = tag; break;
- case H_STATE: state = tag[0] - '0'; break;
- case H_NPAGES: npages = atoi(tag); break;
+ case H_STATE: // NB: comments collides
+ if (cmd[0] == 's')
+ state = tag[0] - '0';
+ else
+ comments = tag;
+ break;
+ case H_NPAGES:
+ if (cmd[0] == 'n')
+ npages = atoi(tag);
+ else
+ fromcompany = tag;
+ break;
case H_TOTPAGES: totpages = atoi(tag); break;
case H_NTRIES: // NB: maxtries collides
if (cmd[0] == 'n')
fxStr receiver; // receiver's identity for cover page generation
fxStr company; // receiver's company for cover page generation
fxStr location; // receiver's location for cover page generation
+ fxStr voice; // receiver's voice number for cover page generation
+ fxStr fromcompany; // sender's company for cover page generation
+ fxStr fromlocation; // sender's location for cover page generation
+ fxStr fromvoice; // sender's voice number for cover page generation
+ fxStr regarding; // regarding subject for cover page generation
+ fxStr comments; // comments for cover page generation
fxStr cover; // continuation cover page filename
fxStr client; // identity of machine that submitted job
fxStr sigrate; // negotiated signalling rate
hash("receiver");
hash("company");
hash("location");
+ hash("voice");
+ hash("fromcompany");
+ hash("fromlocation");
+ hash("fromvoice");
+ hash("regarding");
+ hash("comments");
hash("cover");
hash("client");
hash("owner");
{ T_CHOPTHRESH, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_CLIENT, A_RUSR|A_RADM|A_WADM|A_ROTH },
{ T_COMMID, A_RUSR|A_RADM|A_ROTH },
+ { T_COMMENTS, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_COVER, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_DATAFORMAT, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_DIALSTRING, A_RUSR|A_WUSR|A_RADM|A_WADM },
{ T_DOCUMENT, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_DONEOP, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_EXTERNAL, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
+ { T_FROM_COMPANY, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
+ { T_FROM_LOCATION, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_FROM_USER, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
+ { T_FROM_VOICE, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_GROUPID, A_RUSR|A_RADM|A_ROTH },
{ T_JOBID, A_RUSR|A_RADM|A_ROTH },
{ T_JOBINFO, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_PAGEWIDTH, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_PASSWD, A_RUSR|A_WUSR|A_RADM|A_WADM },
{ T_POLL, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
+ { T_REGARDING, A_RUSR|A_MUSR|A_RADM|A_WADM|A_ROTH },
{ T_RETRYTIME, A_RUSR|A_MUSR|A_RADM|A_WADM|A_ROTH },
{ T_SCHEDPRI, A_RUSR|A_MUSR|A_RADM|A_WADM|A_ROTH },
{ T_SENDTIME, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_TO_COMPANY, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_TO_LOCATION, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_TO_USER, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
+ { T_TO_VOICE, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_USE_CONTCOVER, A_RUSR|A_RADM|A_WADM|A_ROTH },
{ T_USE_ECM, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_USE_TAGLINE, A_RUSR|A_WUSR|A_RADM|A_WADM|A_ROTH },
{ T_TO_USER, &Job::receiver },
{ T_TO_COMPANY, &Job::company },
{ T_TO_LOCATION, &Job::location },
+ { T_TO_VOICE, &Job::voice },
{ T_FROM_USER, &Job::sender },
+ { T_FROM_COMPANY, &Job::fromcompany },
+ { T_FROM_LOCATION, &Job::fromlocation },
+ { T_FROM_VOICE, &Job::fromvoice },
{ T_PASSWD, &Job::passwd },
{ T_CLIENT, &Job::client },
{ T_TAGLINE, &Job::tagline },
{ T_STATUS, &Job::notice },
{ T_DONEOP, &Job::doneop },
{ T_COMMID, &Job::commid },
+ { T_REGARDING, &Job::regarding },
+ { T_COMMENTS, &Job::comments },
};
static struct {
Token t;
defJob.receiver = "";
defJob.company = "";
defJob.location = "";
+ defJob.voice = "";
+ defJob.fromcompany = "";
+ defJob.fromlocation = "";
+ defJob.fromvoice = "";
+ defJob.regarding = "";
+ defJob.comments = "";
defJob.client = remotehost;
defJob.tagline = "";
defJob.doneop = "default";
job->receiver = curJob->receiver;
job->company = curJob->company;
job->location = curJob->location;
+ job->voice = curJob->voice;
+ job->fromcompany = curJob->fromcompany;
+ job->fromlocation = curJob->fromlocation;
+ job->fromvoice = curJob->fromvoice;
+ job->regarding = curJob->regarding;
+ job->comments = curJob->comments;
job->jobtype = curJob->jobtype;
job->tagline = curJob->tagline;
job->client = remotehost;
{ "BEGST", T_BEGST, false, true, "[ANY|scanline-time]" },
{ "CHOPTHRESHOLD",T_CHOPTHRESH, false, true, "[inches]" },
{ "CLIENT", T_CLIENT, false, true, "[<string>]" },
-{ "COMMENTS", T_COMMENTS, false,false, "[<string>]" },
+{ "COMMENTS", T_COMMENTS, false, true, "[<string>]" },
{ "COMMID", T_COMMID, false, true, "(communication identifier)" },
{ "COVER", T_COVER, false, true, "path-name" },
{ "DATAFORMAT", T_DATAFORMAT, false, true, "[ANY|G31D|G32D|G4]" },
{ "DOCUMENT", T_DOCUMENT, false, true, "path-name" },
{ "DONEOP", T_DONEOP, false, true, "[<string>]" },
{ "EXTERNAL", T_EXTERNAL, false, true, "[<string>]" },
-{ "FROMCOMPANY", T_FROM_COMPANY, false,false, "[<string>]" },
-{ "FROMLOCATION", T_FROM_LOCATION,false,false, "[<string>]" },
+{ "FROMCOMPANY", T_FROM_COMPANY, false, true, "[<string>]" },
+{ "FROMLOCATION", T_FROM_LOCATION,false, true, "[<string>]" },
{ "FROMUSER", T_FROM_USER, false, true, "[<string>]" },
-{ "FROMVOICE", T_FROM_VOICE, false,false, "[<string>]" },
+{ "FROMVOICE", T_FROM_VOICE, false, true, "[<string>]" },
{ "GROUPID", T_GROUPID, false, true, "(job group identifier)" },
{ "HRES", T_HRES, false,false, "[dots-per-inch]" },
{ "JOBID", T_JOBID, false, true, "(job identifier)" },
{ "PAGEWIDTH", T_PAGEWIDTH, false, true, "[millimeters]" },
{ "PASSWD", T_PASSWD, false, true, "[<string>]" },
{ "POLL", T_POLL, false, true, "selector [passwd]" },
-{ "REGARDING", T_REGARDING, false,false, "[<string>]" },
+{ "REGARDING", T_REGARDING, false, true, "[<string>]" },
{ "RETRYTIME", T_RETRYTIME, false, true, "[HHSS]" },
{ "SCHEDPRI", T_SCHEDPRI, false, true, "[<number>]" },
{ "SENDTIME", T_SENDTIME, false, true, "[NOW|YYYYMMDDHHSS]" },
{ "TOTPAGES", T_TOTPAGES, false, true, "[<number>]" },
{ "TOTTRIES", T_TOTTRIES, false, true, "[<number>]" },
{ "TOUSER", T_TO_USER, false, true, "[<string>]" },
-{ "TOVOICE", T_TO_VOICE, false,false, "[<string>]" },
+{ "TOVOICE", T_TO_VOICE, false, true, "[<string>]" },
{ "USECONTCOVER", T_USE_CONTCOVER,false, true, "[YES|NO]" },
{ "USEXVRES", T_USE_XVRES, false, true, "[YES|NO]" },
{ "USEECM", T_USE_ECM, false, true, "[YES|NO]" },
case T_TO_USER:
case T_TO_LOCATION:
case T_TO_COMPANY:
+ case T_TO_VOICE:
case T_FROM_USER:
+ case T_FROM_LOCATION:
+ case T_FROM_COMPANY:
+ case T_FROM_VOICE:
case T_USRKEY:
case T_PASSWD:
case T_CLIENT:
case T_STATUS:
case T_DONEOP:
case T_COMMID:
+ case T_REGARDING:
+ case T_COMMENTS:
if (opt_CRLF()) {
replyJobParamValue(*curJob, 213, t);
return (true);
IFPARM("TOUSER", name, "")
IFPARM("TOCOMPANY", company, "")
IFPARM("TOLOCATION", location, "")
+ IFPARM("TOVOICE", voicenumber, "")
+ IFPARM("FROMCOMPANY", fromcompany, "")
+ IFPARM("FROMLOCATION", fromlocation, "")
+ IFPARM("FROMVOICE", fromvoice, "")
+ IFPARM("REGARDING", regarding, "")
+ IFPARM("COMMENTS", comments, "")
IFPARM("JOBINFO", jobtag, "")
CHECKPARM("VRES", (u_int) vres)
CHECKPARM("PAGEWIDTH", (u_int) pageWidth)