亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jobs.c++

?? fax相關的東西
?? C++
?? 第 1 頁 / 共 4 頁
字號:
HylaFAXServer::jstatLine(Token t, const char* fmt ...){    printf("    %s: ", parmToken(t));    va_list ap;    va_start(ap, fmt);    vprintf(fmt, ap);    va_end(ap);    printf("\r\n");}/* * Implement the jparm command that returns the entire * job state as a series of parameter: value pairs. * This command is mainly intended for debugging and * may go away in the final spec (or become a site cmd). */voidHylaFAXServer::jstatCmd(const Job& job){    lreply(217, "Job state: jobid %s groupid %s",	(const char*) job.jobid, (const char*) job.groupid);    if (checkAccess(job, T_SENDTIME, A_READ)) {	if (job.tts != 0) {	    const struct tm* tm = cvtTime(job.tts);	    // XXX should this include seconds? (useful for debugging)	    jstatLine(T_SENDTIME, "%d%02d%02d%02d%02d%02d"		, tm->tm_year+1900		, tm->tm_mon+1		, tm->tm_mday		, tm->tm_hour		, tm->tm_min		, tm->tm_sec	    );	} else	    jstatLine(T_SENDTIME, "%s", "NOW");    }    if (checkAccess(job, T_LASTTIME, A_READ)) {	time_t tv = job.killtime - job.tts;	jstatLine(T_LASTTIME, "%02d%02d%02d",	    tv/(24*60*60), (tv/(60*60))%24, (tv/60)%60);    }    if (checkAccess(job, T_RETRYTIME, A_READ))	jstatLine(T_RETRYTIME, "%02d%02d", job.retrytime/60, job.retrytime%60);    if (checkAccess(job, T_STATE, A_READ))	jstatLine(T_STATE,	"%s", stateVals[job.state]);    if (checkAccess(job, T_NOTIFY, A_READ))	jstatLine(T_NOTIFY,	"%s", notifyVals[job.notify]);    if (checkAccess(job, T_PAGECHOP, A_READ))	jstatLine(T_PAGECHOP,	"%s", chopVals[job.pagechop]);    if (checkAccess(job, T_CHOPTHRESH, A_READ))	jstatLine(T_CHOPTHRESH,	"%g", job.chopthreshold);    if (checkAccess(job, T_DATAFORMAT, A_READ))	jstatLine(T_DATAFORMAT,	"%s", dataVals[job.desireddf]);    if (checkAccess(job, T_USE_ECM, A_READ))	jstatLine(T_USE_ECM,	"%s", boolString(job.desiredec));    if (checkAccess(job, T_USE_TAGLINE, A_READ))	jstatLine(T_USE_TAGLINE,"%s", boolString(job.desiredtl));    if (checkAccess(job, T_USE_XVRES, A_READ))	jstatLine(T_USE_XVRES,"%s", boolString(job.usexvres));    if (checkAccess(job, T_USE_CONTCOVER, A_READ))	jstatLine(T_USE_CONTCOVER,"%s", boolString(job.useccover));    u_int i, n;    for (i = 0, n = N(strvals); i < n; i++)	if (checkAccess(job, strvals[i].t, A_READ))	    jstatLine(strvals[i].t, "%s", (const char*) (job.*strvals[i].p));    for (i = 0, n = N(shortvals); i < n; i++)	if (checkAccess(job, shortvals[i].t, A_READ))	    jstatLine(shortvals[i].t, "%u", job.*shortvals[i].p);    /*     * NB: This assumes access to T_DOCUMENT is sufficient     *     for access to T_COVER and T_POLL also.     */    if (checkAccess(job, T_DOCUMENT, A_READ)) {	for (i = 0, n = job.items.length(); i < n; i++) {	    const FaxItem& fitem = job.items[i];	    switch (fitem.op) {	    case FaxRequest::send_fax:		jstatLine(T_DOCUMENT, "%s %s %u", docTypeNames[fitem.op],		    (const char*) fitem.item, fitem.dirnum);		break;	    case FaxRequest::send_tiff:	    case FaxRequest::send_tiff_saved:	    case FaxRequest::send_pdf:	    case FaxRequest::send_pdf_saved:	    case FaxRequest::send_postscript:	    case FaxRequest::send_postscript_saved:	    case FaxRequest::send_pcl:	    case FaxRequest::send_pcl_saved:	    case FaxRequest::send_data:	    case FaxRequest::send_data_saved:		jstatLine(		    (fitem.item.length() > 7 && fitem.item.tail(6) == ".cover" ?			T_COVER : T_DOCUMENT) 		    , "%s %s"		    , docTypeNames[fitem.op]		    , (const char*) fitem.item		);		break;	    case FaxRequest::send_page:	    case FaxRequest::send_page_saved:		jstatLine(T_DOCUMENT		    , fitem.addr == "" ? "%s \"%s\"" : "%s \"%s\" \"%s\""		    , docTypeNames[fitem.op]		    , (const char*) fitem.item		    , (const char*) fitem.addr		);		break;	    case FaxRequest::send_poll:		jstatLine(T_POLL		    , fitem.addr == "" ? "\"%s\"" : "\"%s\" \"%s\""		    , (const char*) fitem.item		    , (const char*) fitem.addr		);		break;	    }	}    }    reply(217, "End of job %s state.", (const char*) job.jobid);}/*  * Set a job state parameter value from an array of * parameter names; the value is the index into the * array.  Parameter names are case-insensitive.  * Unknown values cause an error reply.   */boolHylaFAXServer::setValue(u_short& v, const char* value, const char* what,    const char* valNames[], u_int nValNames){    for (u_int i = 0; i < nValNames; i++)	if (strcasecmp(value, valNames[i]) == 0) {	    v = i;	    return (true);	}    reply(503, "Unknown %s value %s.", what, value);    return (false);}voidHylaFAXServer::parmBotch(Token t){    reply(503, "Botch, don't know how to set %s parameter.", parmToken(t));}/* * Discard any prepared documents so that * they will be re-prepared with revised * parameters. */voidHylaFAXServer::flushPreparedDocuments(Job& job){    u_int j = 0;    while (j < job.items.length()) {	FaxItem& fitem = job.items[j];	if (fitem.op == FaxRequest::send_fax) {	    // NB: don't waste time requesting ACK	    fxStr emsg;	    sendQueuer(emsg, "U%s", (const char*) fitem.item);	    job.items.remove(j);	    continue;	}	if (fitem.isSavedOp())	    fitem.op--;				// assumes order of enum	j++;    }    job.pagehandling = "";			// force recalculation}/* * Set a job state parameter that has a string value. */boolHylaFAXServer::setJobParameter(Job& job, Token t, const fxStr& value){    if (checkParm(job, t, A_WRITE|A_MODIFY)) {	switch (t) {	case T_NOTIFY:	    return setValue(job.notify, value, parmToken(t),		notifyVals, N(notifyVals));	case T_PAGECHOP:	    if (setValue(job.pagechop, value, parmToken(t),	      chopVals, N(chopVals))) {		job.pagehandling = "";		// force recalculation		return (true);	    } else		return (false);	case T_DATAFORMAT:	    if (setValue(job.desireddf, value, parmToken(t),	      dataVals, N(dataVals))) {		flushPreparedDocuments(job);		return (true);	    } else		return (false);	}	for (u_int i = 0, n = N(strvals); i < n; i++)	    if (strvals[i].t == t) {		job.*strvals[i].p = value;		return (true);	    }	parmBotch(t);    }    return (false);}/* * Set a job state parameter that has a integer value. */boolHylaFAXServer::setJobParameter(Job& job, Token t, u_short value){    if (checkParm(job, t, A_WRITE|A_MODIFY)) {	for (u_int i = 0, n = N(shortvals); i < n; i++)	    if (shortvals[i].t == t) {		if (job.*shortvals[i].p != value) {		    // XXX constrain values per A_MODIFY		    job.*shortvals[i].p = value;	// XXX		    /*		     * Handle parameters with side effects.		     */		    switch (t) {		    case T_PAGEWIDTH:		    case T_PAGELENGTH:		    case T_VRES:		    case T_HRES:			flushPreparedDocuments(job);			break;		    case T_SCHEDPRI:			job.pri = job.usrpri;		// reload			break;		    }		}		return (true);	    }	parmBotch(t);    }    return (false);}/* * Set a job state parameter that has a time value. */boolHylaFAXServer::setJobParameter(Job& job, Token t, time_t value){    if (checkParm(job, t, A_WRITE|A_MODIFY)) {	time_t now = Sys::now();	switch (t) {	case T_SENDTIME:	    if (value != 0) {			// explicit time		/*		 * We don't complain anymore if this value is in the		 * past.  Instead, we verify that the killtime is in		 * the future, ensuring that a window of send-time		 * opportunity still exists.		 */		job.tts = value;	    } else				// ``NOW''		job.tts = now;	    return (true);	case T_LASTTIME:	    /*	     * Convert client-specified kill time (as a relative number)	     * to an absolute time.  If the time-to-send has been set,	     * then the killtime is relative to that; otherwise it's	     * made relative to ``now''.  Note that this implies the	     * order of setting SENDTIME and LASTTIME is important; if	     * a client sets LASTTIME before SENDTIME then an unexpected	     * value may be installed for LASTTIME.	     */	    job.killtime = value + (job.tts == 0 ? now : job.tts);	    if (job.killtime < now) {		reply(503, "Bad time to send; time window is entirely in the past.");		return (false);	    }	    return (true);	case T_RETRYTIME:	    job.retrytime = value;	    return (true);	}	parmBotch(t);    }    return (false);}/* * Set a job state parameter that has a boolean value. */boolHylaFAXServer::setJobParameter(Job& job, Token t, bool b){    if (checkParm(job, t, A_WRITE|A_MODIFY)) {	switch (t) {	case T_USE_ECM:	    job.desiredec = b;	    return (true);	case T_USE_TAGLINE:	    job.desiredtl = b;	    return (true);	case T_USE_XVRES:	    job.usexvres = b;	    return (true);	case T_USE_CONTCOVER:	    job.useccover = b;	    return (true);	}	parmBotch(t);    }    return (true);}/* * Set a job state parameter that has a float value. */boolHylaFAXServer::setJobParameter(Job& job, Token t, float value){    if (checkParm(job, t, A_WRITE|A_MODIFY)) {	switch (t) {	case T_CHOPTHRESH:	    if (job.chopthreshold != value) {		job.chopthreshold = value;		job.pagehandling = "";		// force recalculation	    }	    return (true);	}	parmBotch(t);    }    return (false);}/* * Initialize the default job state.  We * explicitly set string values since this * routine may be called for a JREST command * to reset job state to the default settings. */voidHylaFAXServer::initDefaultJob(void){    defJob.jobid	= "default";    defJob.owner	= the_user;    defJob.state	= FaxRequest::state_undefined;    defJob.maxdials	= FAX_REDIALS;    defJob.maxtries	= FAX_RETRIES;    defJob.pagewidth	= 0;    defJob.pagelength	= 0;    defJob.resolution	= FAX_DEFVRES;    defJob.usrpri	= FAX_DEFPRIORITY;    defJob.minbr	= BR_2400;    defJob.desiredbr	= BR_33600;    defJob.desiredst	= ST_0MS;    defJob.desiredec	= EC_ENABLE256;    defJob.desireddf	= DF_2DMMR;    defJob.desiredtl	= false;    defJob.usexvres	= false;    defJob.useccover	= true;    defJob.pagechop	= FaxRequest::chop_default;    defJob.notify	= FaxRequest::no_notice;// FAX_DEFNOTIFY    defJob.chopthreshold= 3.0;    defJob.tts		= 0;			// ``NOW''    defJob.killtime	= 3*60*60;		// FAX_TIMEOUT    defJob.retrytime	= 0;    defJob.sender	= the_user;		// XXX usually incorrect    defJob.mailaddr	= the_user | "@" | remotehost;    defJob.jobtag	= "";    defJob.number	= "";    defJob.subaddr	= "";    defJob.passwd	= "";    defJob.external	= "";    defJob.modem	= MODEM_ANY;    defJob.faxnumber	= "";    defJob.tsi		= "";    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";}/* * JNEW command; create a new job and * make it the current job. */voidHylaFAXServer::newJobCmd(void){    fxStr emsg;    if (newJob(emsg) && updateJobOnDisk(*curJob, emsg)) {	fxStr file("/" | curJob->qfile);	setFileOwner(file);			// force ownership	FileCache::chmod(file, 0660);		// sync cache	curJob->lastmod = Sys::now();		// noone else should update	reply(200, "New job created: jobid: %s groupid: %s.",	    (const char*) curJob->jobid, (const char*) curJob->groupid);	blankJobs[curJob->jobid] = curJob;    } else	reply(503, "%s.", (const char*) emsg);}/* * Create a new job, inheriting state from the current * job and make the new job be the current job.  Note * that the current job must be owned by the client; * otherwise people could ``look inside'' other people's * jobs by inheriting state--this would permit them to * look at privileged information such as calling card * information in dial strings and passwords to be * transmitted with polling items. */boolHylaFAXServer::newJob(fxStr& emsg){    if (!IS(PRIVILEGED) && the_user != curJob->owner) {	emsg = "Permission denied; cannot inherit from job " | curJob->jobid;	return (false);    }    u_int id = getJobNumber(emsg);		// allocate unique job ID    if (id == (u_int) -1)	return (false);    fxStr jobid = fxStr::format("%u", id);    Job* job = new Job(FAX_SENDDIR "/" FAX_QFILEPREF | jobid);    job->jobid = jobid;    job->groupid = curJob->groupid;    if (job->groupid == "")	job->groupid = jobid;    job->owner = the_user;    job->state = FaxRequest::state_suspended;    job->maxdials = curJob->maxdials;    job->maxtries = curJob->maxtries;    job->pagewidth = curJob->pagewidth;    job->pagelength = curJob->pagelength;    job->resolution = curJob->resolution;    job->usrpri = curJob->usrpri;    job->minbr = curJob->minbr;    job->desiredbr = curJob->desiredbr;    job->desiredst = curJob->desiredst;    job->desiredec = curJob->desiredec;    job->desireddf = curJob->desireddf;    job->desiredtl = curJob->desiredtl;    job->usexvres = curJob->usexvres;    job->useccover = curJob->useccover;    job->pagechop = curJob->pagechop;    job->notify = curJob->notify;    job->chopthreshold = curJob->chopthreshold;    job->tts = curJob->tts;    job->killtime = curJob->killtime;    job->retrytime = curJob->retrytime;    job->sender = curJob->sender;    job->mailaddr = curJob->mailaddr;    job->jobtag = curJob->jobtag;		// ???    job->number = curJob->number;    job->external = curJob->external;    job->modem = curJob->modem;    job->faxnumber = curJob->faxnumber;    job->tsi = curJob->tsi;    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;    job->doneop = curJob->doneop;    job->queued = curJob->queued;    jobs[jobid] = job;    curJob = job;    return (true);}/* * Update the job's state on disk. */boolHylaFAXServer::updateJobOnDisk(Job& job, fxStr& emsg){    if (lockJob(job, LOCK_EX|LOCK_NB, emsg)) {	// XXX don't update in place, use temp file and rename	job.writeQFile();	unlockJob(job);	return (true);    } else	return (false);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区二区视频 | 国产自产高清不卡| 成人永久看片免费视频天堂| 欧美视频一区二区三区| 久久网站热最新地址| 亚洲午夜精品网| 成人av网站在线| 久久久亚洲综合| 视频一区视频二区在线观看| 99在线精品视频| 久久久精品欧美丰满| 久久精品免费看| 色综合久久久久综合| 国产日韩欧美精品综合| 精品一区二区在线播放| 欧美日韩免费观看一区三区| 亚洲日穴在线视频| 99久久精品国产一区二区三区| 欧美xxxx老人做受| 免费在线观看一区二区三区| 欧美色图片你懂的| 亚洲综合久久av| 色成人在线视频| 一区二区三区久久| 色视频成人在线观看免| 亚洲青青青在线视频| 91丨porny丨最新| 中文字幕亚洲不卡| 99久久精品国产观看| 国产精品美女久久久久久久久久久 | 99国产欧美久久久精品| 国产精品色在线观看| 国产不卡视频在线播放| 国产日韩影视精品| 成人深夜视频在线观看| 国产日韩欧美制服另类| 成人国产精品免费观看动漫 | 欧美一级在线视频| 日本亚洲一区二区| 欧美videos大乳护士334| 狠狠色伊人亚洲综合成人| 久久久亚洲午夜电影| 成人久久视频在线观看| 亚洲欧美另类小说| 欧美图区在线视频| 日韩1区2区日韩1区2区| 精品国产麻豆免费人成网站| 国产在线不卡一卡二卡三卡四卡| 久久久久久久久伊人| 99久久精品国产精品久久| 一区二区三区在线视频免费观看| 欧美午夜精品久久久久久孕妇 | 中文字幕字幕中文在线中不卡视频| 不卡视频免费播放| 亚洲黄色免费电影| 日韩午夜在线播放| 成人ar影院免费观看视频| 亚洲一区二三区| 精品日韩一区二区三区免费视频| 国产精品66部| 成人免费在线观看入口| 88在线观看91蜜桃国自产| 国产麻豆精品久久一二三| 亚洲欧美成人一区二区三区| 日韩一区二区在线看片| 成人激情电影免费在线观看| 亚洲国产综合视频在线观看| 精品国产伦理网| 91福利小视频| 国产一区欧美二区| 亚洲国产人成综合网站| 国产亚洲制服色| 精品视频999| 国产99久久久精品| 美女一区二区三区| 亚洲精品中文字幕在线观看| 欧美不卡激情三级在线观看| 日本高清无吗v一区| 国产一区二区美女| 天天做天天摸天天爽国产一区| 国产日产精品一区| 337p亚洲精品色噜噜狠狠| 99久久er热在这里只有精品15| 男女性色大片免费观看一区二区 | 国产亚洲欧洲一区高清在线观看| 色综合久久久久久久久| 国产精品一区二区三区四区| 日韩精品乱码免费| 亚洲精品水蜜桃| 国产精品女上位| 久久久久久久久伊人| 日韩一级在线观看| 欧美剧情电影在线观看完整版免费励志电影| 国产精品一级二级三级| 日本最新不卡在线| 五月天激情综合网| 亚洲综合激情小说| 亚洲免费观看高清| 亚洲日本一区二区| 亚洲私人黄色宅男| 欧美国产一区二区| 久久久久久久久99精品| 精品国产免费一区二区三区香蕉| 在线电影国产精品| 欧美日韩大陆在线| 欧美日韩免费一区二区三区视频| 色老汉av一区二区三区| bt欧美亚洲午夜电影天堂| 成人一二三区视频| 成人黄色小视频在线观看| 高清免费成人av| 成人久久18免费网站麻豆| 国产成人三级在线观看| 国产高清一区日本| 国产精品一卡二卡在线观看| 国产激情视频一区二区三区欧美 | 国产激情精品久久久第一区二区| 麻豆精品在线观看| 理论电影国产精品| 国内精品国产三级国产a久久| 久久成人免费日本黄色| 国内精品不卡在线| 成人黄动漫网站免费app| 色综合天天综合网天天看片| 在线免费观看成人短视频| 欧洲一区在线电影| 欧美一区二区三区免费在线看| 日韩一区二区精品| 国产日韩欧美精品在线| 国产精品夫妻自拍| 一区二区三区四区激情| 亚洲综合久久av| 日本成人在线看| 国产激情视频一区二区三区欧美 | 欧美顶级少妇做爰| 精品久久久久一区| 中文字幕va一区二区三区| 夜夜精品浪潮av一区二区三区| 午夜精品久久久| 国产精品香蕉一区二区三区| av激情亚洲男人天堂| 欧美日韩电影在线播放| 久久亚洲综合色一区二区三区| 国产精品区一区二区三| 亚洲午夜精品在线| 国产精品77777| 欧美在线观看你懂的| 精品久久久久久久久久久院品网| 中文字幕中文字幕在线一区| 亚洲福利视频一区| 国产成人精品网址| 精品视频资源站| 国产欧美1区2区3区| 亚洲va韩国va欧美va精品| 国产中文一区二区三区| 欧美三级午夜理伦三级中视频| 欧美大片免费久久精品三p| 亚洲女性喷水在线观看一区| 免播放器亚洲一区| 91九色最新地址| 久久久久久亚洲综合| 日韩国产欧美视频| 99精品热视频| 久久奇米777| 日韩精品高清不卡| 在线一区二区三区做爰视频网站| 欧美精品一区二| 日一区二区三区| 色天使久久综合网天天| 国产欧美日韩综合精品一区二区| 亚洲一级二级三级| 99国产精品久久久久| 2024国产精品视频| 无吗不卡中文字幕| 91麻豆自制传媒国产之光| 久久精品夜色噜噜亚洲a∨ | 一二三四区精品视频| 国产不卡高清在线观看视频| 日韩一区二区三区电影| 亚洲一区二区三区在线看| 91在线国内视频| 中文字幕第一区二区| 国产寡妇亲子伦一区二区| 26uuu国产电影一区二区| 日本不卡的三区四区五区| 欧美无砖专区一中文字| 亚洲人精品一区| 欧美一区二区三区视频免费| 精品国产1区二区| 成人小视频免费在线观看| 男人操女人的视频在线观看欧美| 男女性色大片免费观看一区二区 | 51精品久久久久久久蜜臀| 久久久久国产免费免费 | 一区二区三区91| 99国产精品国产精品毛片| 国产精品美女久久久久久久久久久 | 久久精品人人做人人综合| 青椒成人免费视频| 91精品国产色综合久久不卡电影 |