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

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

?? jobs.c++

?? fax相關的東西
?? C++
?? 第 1 頁 / 共 4 頁
字號:
	    return;	}	state &= ~S_LOGTRIG;			// just process events	if (newTrigger(emsg, "J<%s>%04x", jobid, 1<<Trigger::JOB_DEAD)) {	    // XXX is lreply the right thing?	    lreply(216, "Waiting for job %s; use ABOR command to interrupt.",		jobid);	    if (setjmp(urgcatch) == 0) {		Dispatcher& disp = Dispatcher::instance();		for (state |= S_WAITTRIG; IS(WAITTRIG); disp.dispatch()) {		    /*		     * The trigger event handlers update our notion		     * of the job state asynchronously so we can just		     * monitor the job's state variable.  Beware however		     * that the job may get removed/moved to the doneq		     * while we're monitoring its status; so we cannot		     * blindly hold a reference to the in-memory structure.		     */		    job = findJob(jobid, emsg);		    if (!job || job->state == FaxRequest::state_done ||		      job->state == FaxRequest::state_failed)			break;		}		reply(216, "Wait for job %s completed.", jobid);	    }	    state &= ~S_WAITTRIG;	    (void) cancelTrigger(emsg);	} else	    reply(504, "Cannot register trigger: %s.", (const char*) emsg);    } else	reply(500, "Cannot wait for job %s; %s.", jobid, (const char*) emsg);}/* * Do common work used in adding a document to a * job's set of documents that are to be sent. */boolHylaFAXServer::checkAddDocument(Job& job, Token type,    const char* docname, FaxSendOp& op){    if (checkParm(job, type, A_WRITE)) {	struct stat sb;	if (!fileAccess(docname, R_OK, sb))	    perror_reply(550, docname, errno);	else if (!docType(docname, op))	    reply(550, "%s: Document type not recognized.", docname);	else	    return (true);    }    return (false);}/* * Add a cover document to the current job's * set of documents that are to be sent. */voidHylaFAXServer::addCoverDocument(Job& job, const char* docname){    FaxSendOp op;    if (checkAddDocument(job, T_COVER, docname, op)) {	fxStr covername = "/" FAX_DOCDIR "/cover" | job.jobid | ".cover";	if (Sys::link(docname, covername) >= 0) {	    // XXX mark as cover page	    job.items.append(FaxItem(op, 0, "", &covername[1]));	    reply(200, "Added cover page document %s as %s.",		docname, &covername[1]);	    job.pagehandling = "";		// force recalculation	} else	    reply(550, "Unable to link cover page document %s to %s: %s.",		docname, (const char*) covername, strerror(errno));    }}/* * Add a non-cover document to the current * job's set of documents that are to be sent. */voidHylaFAXServer::addDocument(Job& job, const char* docname){    FaxSendOp op;    if (checkAddDocument(job, T_DOCUMENT, docname, op)) {	const char* cp = strrchr(docname, '/');	if (!cp)				// relative name, e.g. doc123	    cp = docname;	fxStr document = fxStr::format("/" FAX_DOCDIR "%s.", cp) | job.jobid;	if (Sys::link(docname, document) >= 0) {	    job.items.append(FaxItem(op, 0, "", &document[1]));	    reply(200, "Added document %s as %s.", docname, &document[1]);	    job.pagehandling = "";		// force recalculation	} else	    reply(550, "Unable to link document %s to %s: %s.",		docname, (const char*) document, strerror(errno));    }}/* * Add a polling operation to the current job. */voidHylaFAXServer::addPollOp(Job& job, const char* sep, const char* pwd){    if (checkParm(job, T_POLL, A_WRITE)) {	job.items.append(FaxItem(FaxRequest::send_poll, 0, sep, pwd));	reply(200, "Added poll operation.");    }}/* * Directory interface support for querying job status. */boolHylaFAXServer::isVisibleSendQFile(const char* filename, const struct stat&){    if (filename[0] == 'q') {    	fxStr emsg;    	Job* job = findJob(&filename[1], emsg);	if (job && checkAccess(*job, T_JOB, A_READ))	    return true;    }    return false;}#ifdef roundup#undef roundup#endif#define	roundup(x, y)	((((x)+((y)-1))/(y))*(y))/* * Return a compact notation for the specified * time.  This notation is guaranteed to fit in * a 7-character field.  We select one of 5 * representations based on how close the time * is to ``now''. */const char*HylaFAXServer::compactTime(time_t t){    time_t now = Sys::now();    if (t > now) {			// already past	static char buf[15];	const struct tm* tm = cvtTime(t);	if (t < roundup(now, 24*60*60))		// today, use 19:37	    strftime(buf, sizeof (buf), "%H:%M", tm);	else if (t < now+7*24*60*60)		// within a week, use Sun 6pm	    strftime(buf, sizeof (buf), "%a%I%p", tm);	else					// over a week, use 25Dec95	    strftime(buf, sizeof (buf), "%d%b%y", tm);	return (buf);    } else	return ("");}static const char jformat[] = {    's',		// A (subaddr)    's',		// B (passwd)    's',		// C (company)    's',		// D (totdials & maxdials)    'u',		// E (desiredbr)    's',		// F (tagline)    'u',		// G (desiredst)    'u',		// H (desireddf)    'u',		// I (usrpri)    's',		// J (jobtag)    'c',		// K (desiredec as symbol)    's',		// L (location)    's',		// M (mailaddr)    'c',		// N (desiredtl as symbol)    'c',		// O (useccover as symbol)    's',		// P (npages & total pages)    'u',		// Q (minbr)    's',		// R (receiver)    's',		// S (sender)    's',		// T (tottries & maxtries)    's',		// U (chopthreshold)    's',		// V (doneop)    's',		// W (commid)    'c',		// X (jobtype as symbol)#ifdef OLDPROTO_SUPPORT    's',		// Y (tts in strftime %Y/%m/%d %H.%M.%S format)    'u',		// Z (tts as decimal time_t)#else    'Y',		// Y    'Z',		// Z#endif    '[',		// [    '\\',		// \ (must have something after the backslash)    ']',		// ]    '^',		// ^    '_',		// _    '`',		// `    'c',		// a (state as symbol)    'u',		// b (ntries)    's',		// c (client)    'u',		// d (totdials)    's',		// e (external)    'u',		// f (ndials)    's',		// g (groupid)    'c',		// h (pagechop as symbol)    'u',		// i (pri)    's',		// j (jobid)    's',		// k (killtime)    'u',		// l (pagelength)    's',		// m (modem)    'c',		// n (notify as symbol)    's',		// o (owner)    'u',		// p (npages)    's',		// q (retrytime)    'u',		// r (resolution)    's',		// s (notice a.k.a. status)    'u',		// t (tottries)    'u',		// u (maxtries)    's',		// v (number a.k.a dialstring)    'u',		// w (pagewidth)    'u',		// x (maxdials)    'u',		// y (total pages)    's',		// z (tts)    'c',		// 0 (usexvres as symbol)};/* * Print a formatted string with fields filled in from * the specified job's state.  This functionality is * used to permit clients to get job state listings in * preferred formats. */voidHylaFAXServer::Jprintf(FILE* fd, const char* fmt, const Job& job){    /*     * Check once to see if the client has access to     * privileged job state.  This typically is not     * needed but doing it here eliminates the need to     * do more work below (and the check should be fast).     *     * NB: This assumes that read access to T_DIALSTRING      *     implies read access to anything else in the     *     job state that is protected.     */    bool haveAccess = checkAccess(job, T_DIALSTRING, A_READ);    for (const char* cp = fmt; *cp; cp++) {	if (*cp == '%') {#define	MAXSPEC	20	    char fspec[MAXSPEC];	    char* fp = fspec;	    *fp++ = '%';	    char c = *++cp;	    if (c == '-')		*fp++ = c, c = *++cp;	    if (isdigit(c)) {		do {		    *fp++ = c;		} while (isdigit(c = *++cp) && fp < &fspec[MAXSPEC-3]);	    }	    if (c == '.') {		do {		    *fp++ = c;		} while (isdigit(c = *++cp) && fp < &fspec[MAXSPEC-2]);	    }	    if (!isalpha(c)) {		if (c == '%')		// %% -> %		    putc(c, fd);		else		    fprintf(fd, "%.*s%c", fp-fspec, fspec, c);		continue;	    }	    fp[0] = jformat[c-'A'];	// printf format string	    fp[1] = '\0';            switch (c) {	    case 'A':		fprintf(fd, fspec, (const char*) job.subaddr);		break;	    case 'B':		fprintf(fd, fspec, haveAccess ? (const char*) job.passwd : "");		break;	    case 'C':		fprintf(fd, fspec, (const char*) job.company);		break;	    case 'D':		fprintf(fd, fspec, (const char*)fxStr::format("%2u:%-2u", job.totdials, job.maxdials));		break;	    case 'E':		fprintf(fd, fspec, job.desiredbr);		break;	    case 'F':		fprintf(fd, fspec, (const char*) job.tagline);		break;	    case 'G':		fprintf(fd, fspec, job.desiredst);		break;	    case 'H':		fprintf(fd, fspec, job.desireddf);		break;	    case 'I':		fprintf(fd, fspec, job.usrpri);		break;	    case 'J':		fprintf(fd, fspec, (const char*) job.jobtag);		break;	    case 'K':		fprintf(fd, fspec, "D HF"[job.desiredec]);		break;	    case 'L':		fprintf(fd, fspec, (const char*) job.location);		break;	    case 'M':		fprintf(fd, fspec, (const char*) job.mailaddr);		break;	    case 'N':		fprintf(fd, fspec, " P"[job.desiredtl]);		break;	    case 'O':		fprintf(fd, fspec, "N "[job.useccover]);		break;	    case 'P':		fprintf(fd, fspec, (const char*)fxStr::format("%2u:%-2u", job.npages, job.totpages));		break;	    case 'Q':		fprintf(fd, fspec, job.minbr);		break;	    case 'R':		fprintf(fd, fspec, (const char*) job.receiver);		break;	    case 'S':		fprintf(fd, fspec, (const char*) job.sender);		break;	    case 'T':		fprintf(fd, fspec, (const char*)fxStr::format("%2u:%-2u", job.tottries, job.maxtries));		break;	    case 'U':		fprintf(fd, fspec, (const char*)fxStr::format("%.1f", job.chopthreshold));		break;	    case 'V':		fprintf(fd, fspec, (const char*) job.doneop);		break;	    case 'W':		fprintf(fd, fspec, (const char*) job.commid);		break;	    case 'X':		fprintf(fd, fspec, toupper(job.jobtype[0]));		break;	    case 'Y':		{ char buf[30];				// XXX HP C++		  strftime(buf, sizeof (buf), "%Y/%m/%d %H.%M.%S",			IS(USEGMT) ? gmtime(&job.tts) : localtime(&job.tts));		  fprintf(fd, fspec, buf);		}		break;	    case 'Z':		fprintf(fd, fspec, job.tts);		break;	    case 'a':		fprintf(fd, fspec, "?TPSBWRDF"[job.state]);		break;	    case 'b':		fprintf(fd, fspec, job.ntries);		break;	    case 'c':		fprintf(fd, fspec, (const char*) job.client);		break;	    case 'd':		fprintf(fd, fspec, job.totdials);		break;	    case 'e':		fprintf(fd, fspec, (const char*) job.external);		break;	    case 'f':		fprintf(fd, fspec, job.ndials);		break;	    case 'g':		fprintf(fd, fspec, (const char*) job.groupid);		break;	    case 'h':		fprintf(fd, fspec, " DAL"[job.pagechop]);		break;	    case 'i':		fprintf(fd, fspec, job.pri);		break;	    case 'j':		fprintf(fd, fspec, (const char*) job.jobid);		break;	    case 'k':		fprintf(fd, fspec, compactTime(job.killtime));		break;	    case 'l':		fprintf(fd, fspec, job.pagelength);		break;	    case 'm':		fprintf(fd, fspec, (const char*) job.modem);		break;	    case 'n':		fprintf(fd, fspec, " DQA"[job.notify]);		break;	    case 'o':		fprintf(fd, fspec, (const char*) job.owner);		break;	    case 'p':		fprintf(fd, fspec, job.npages);		break;	    case 'q':		fprintf(fd, fspec,		    job.retrytime == 0 ? "" : fmtTime(job.retrytime));		break;	    case 'r':		fprintf(fd, fspec, job.resolution);		break;	    case 's':		fprintf(fd, fspec, (const char*) job.notice);		break;	    case 't':		fprintf(fd, fspec, job.tottries);		break;	    case 'u':		fprintf(fd, fspec, job.maxtries);		break;	    case 'v':		fprintf(fd, fspec, haveAccess ? (const char*) job.number : "");		break;	    case 'w':		fprintf(fd, fspec, job.pagewidth);		break;	    case 'x':		fprintf(fd, fspec, job.maxdials);		break;	    case 'y':		fprintf(fd, fspec, job.totpages);		break;	    case 'z':		fprintf(fd, fspec, compactTime(job.tts));		break;	    case '0':		fprintf(fd, fspec, "N "[job.usexvres]);		break;	    }	} else	    putc(*cp, fd);    }}voidHylaFAXServer::listSendQ(FILE* fd, const SpoolDir&, DIR* dir){    struct dirent* dp;    while ((dp = readdir(dir)))	if (dp->d_name[0] == 'q') {	    fxStr emsg;	    Job* job = findJob(&dp->d_name[1], emsg);	    if (job) {		Jprintf(fd, jobFormat, *job);		fputs("\r\n", fd);	    }	}}voidHylaFAXServer::listSendQFile(FILE* fd, const SpoolDir& dir,    const char* filename, const struct stat& sb){    fxStr emsg;    Job* job = findJob(filename, emsg);    if (job)	Jprintf(fd, jobFormat, *job);    else	listUnixFile(fd, dir, filename, sb);}voidHylaFAXServer::nlstSendQ(FILE* fd, const SpoolDir&, DIR* dir){    struct dirent* dp;    while ((dp = readdir(dir)))	if (dp->d_name[0] == 'q') {	    fxStr emsg;	    Job* job = findJob(&dp->d_name[1], emsg);	    if (job)		Jprintf(fd, "%j\r\n", *job);	}}voidHylaFAXServer::nlstSendQFile(FILE* fd, const SpoolDir&,    const char* filename, const struct stat&){    fxStr emsg;    Job* job = findJob(filename, emsg);    if (job)	Jprintf(fd, "%j", *job);    else	fprintf(fd, "%s", filename);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品1区2区| 17c精品麻豆一区二区免费| 欧美大尺度电影在线| 国产精品久久久久久妇女6080| 亚洲综合精品自拍| 成人黄色av电影| 日韩欧美一级在线播放| 亚洲美女免费视频| 国产成人啪免费观看软件| 在线播放亚洲一区| 成人欧美一区二区三区小说| 国产综合久久久久久久久久久久| 在线亚洲+欧美+日本专区| 久久久久久电影| 青青草一区二区三区| 欧美日韩一区中文字幕| 中文字幕在线一区| 丁香激情综合国产| 久久久久99精品一区| 看片的网站亚洲| 欧美日本一区二区三区四区| 亚洲最大成人综合| 99精品久久只有精品| 国产精品嫩草99a| 国产成人精品亚洲午夜麻豆| 精品欧美一区二区在线观看| 日韩二区三区四区| 欧美精品一卡二卡| 午夜不卡在线视频| 欧美日韩在线播放| 日韩 欧美一区二区三区| 欧美视频一区在线| 亚洲一区二区精品视频| 欧美在线观看视频一区二区三区| 亚洲女爱视频在线| 99国产精品99久久久久久| 1000精品久久久久久久久| 91丝袜国产在线播放| 亚洲黄色av一区| 欧美少妇bbb| 日韩电影在线观看电影| 欧美大片一区二区| 国产精品一区在线| 日本一区二区高清| 93久久精品日日躁夜夜躁欧美| 日韩毛片视频在线看| 在线免费精品视频| 日产欧产美韩系列久久99| 精品国产1区二区| 国产成人免费视频精品含羞草妖精| 国产欧美一区二区精品性色超碰| 成人午夜私人影院| 亚洲男人的天堂一区二区| 欧美亚洲丝袜传媒另类| 蜜臀久久久久久久| 国产片一区二区三区| 99亚偷拍自图区亚洲| 天天操天天色综合| 久久综合九色综合欧美就去吻| 成人免费毛片嘿嘿连载视频| 亚洲精品少妇30p| 欧美一级生活片| 大尺度一区二区| 亚洲电影一级片| 久久欧美一区二区| 色综合久久天天综合网| 五月综合激情网| 久久精品一级爱片| 欧美性高清videossexo| 国产一区二区网址| 亚洲视频综合在线| 日韩欧美一区二区在线视频| 成人网页在线观看| 午夜不卡av免费| 中文字幕一区二| 日韩欧美中文一区二区| 99在线精品观看| 国产九色sp调教91| 五月天中文字幕一区二区| 久久久久国产精品人| 在线不卡一区二区| kk眼镜猥琐国模调教系列一区二区| 奇米777欧美一区二区| 亚洲老司机在线| 久久久久久一二三区| 欧美视频第二页| 成人sese在线| 国产福利精品导航| 性做久久久久久久免费看| 国产欧美一区二区精品婷婷| 5566中文字幕一区二区电影| 色综合 综合色| 国产v综合v亚洲欧| 经典三级在线一区| 天天综合天天综合色| 亚洲精品免费看| 国产精品丝袜在线| 久久精品人人做| 精品电影一区二区三区| 91精品免费在线| 欧洲一区在线电影| 91无套直看片红桃| 97精品国产露脸对白| 国产成人福利片| 国产一区二区三区国产| 玖玖九九国产精品| 男女激情视频一区| 美女任你摸久久| 日韩成人免费看| 青青草97国产精品免费观看 | 91黄视频在线观看| 99国产精品视频免费观看| 成人久久18免费网站麻豆| 国产精品中文字幕欧美| 国产精品一二三四区| 国产精品综合一区二区| 国产在线精品国自产拍免费| 国产精品一区二区久激情瑜伽| 国模少妇一区二区三区| 国产麻豆视频一区| 国产a精品视频| 丰满岳乱妇一区二区三区| 不卡影院免费观看| 91麻豆视频网站| 91福利在线免费观看| 91福利在线播放| 56国语精品自产拍在线观看| 欧美一区二区三区免费视频| 精品福利在线导航| 国产日产欧美一区| 国产精品萝li| 一片黄亚洲嫩模| 丝袜国产日韩另类美女| 国内精品伊人久久久久av影院| 国产一区二区三区| 波多野结衣精品在线| 91色在线porny| 欧美日韩一二区| 久久综合色8888| 国产精品乱码人人做人人爱| 亚洲一区二区在线观看视频| 奇米精品一区二区三区在线观看一 | 久久久久久久综合色一本| 国产欧美日韩另类视频免费观看| 国产精品少妇自拍| 亚洲欧美日韩国产中文在线| 午夜欧美电影在线观看| 九色|91porny| 日本韩国精品一区二区在线观看| 欧美喷水一区二区| 国产三级一区二区| 一区二区三区欧美激情| 精品一区二区精品| 99久久精品费精品国产一区二区| 欧美日韩高清在线播放| 日韩美女在线视频| 成人免费在线播放视频| 日韩精品久久理论片| 成人免费高清在线| 欧美一区二区视频网站| 国产精品热久久久久夜色精品三区| 亚洲a一区二区| 成人免费视频免费观看| 日韩一区二区不卡| 亚洲乱码国产乱码精品精可以看| 麻豆91精品91久久久的内涵| 99re8在线精品视频免费播放| 欧美肥妇毛茸茸| 亚洲品质自拍视频| 丝瓜av网站精品一区二区| 粉嫩在线一区二区三区视频| 日韩亚洲国产中文字幕欧美| 亚洲少妇最新在线视频| 激情小说亚洲一区| 91精品国产麻豆国产自产在线| 欧美国产欧美综合| 蜜桃视频免费观看一区| 欧美亚洲愉拍一区二区| 亚洲国产精品成人久久综合一区| 麻豆91在线播放免费| 欧美视频在线一区二区三区| 国产精品日韩精品欧美在线| 国产激情一区二区三区四区| 制服丝袜中文字幕一区| 一区二区免费视频| a美女胸又www黄视频久久| 亚洲一区二区三区三| 成人污视频在线观看| 久久九九全国免费| 黄色小说综合网站| 日韩欧美高清一区| 麻豆久久久久久久| 91.成人天堂一区| 午夜精品久久久久久久 | 中文字幕在线免费不卡| 粉嫩高潮美女一区二区三区| 久久中文娱乐网| 国内成人自拍视频| 国产性天天综合网| 成人美女视频在线观看18|