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

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

?? service.c

?? ftam等標準協議服務器和客戶端的源代碼。
?? C
字號:
/* service.c - */#ifndef	lintstatic char *rcsid = "$Header: /xtel/isode/isode/dsap/common/RCS/service.c,v 9.0 1992/06/16 12:12:39 isode Rel $";#endif/*  * $Header: /xtel/isode/isode/dsap/common/RCS/service.c,v 9.0 1992/06/16 12:12:39 isode Rel $ * * * $Log: service.c,v $ * Revision 9.0  1992/06/16  12:12:39  isode * Release 8.0 * *//* *				  NOTICE * *    Acquisition, use, and distribution of this module and related *    materials are subject to the restrictions of a license agreement. *    Consult the Preface in the User's Manual for the full terms of *    this agreement. * */#include "quipu/util.h"#include "quipu/commonarg.h"#include "quipu/dua.h"#include "quipu/sequence.h"#include "osisec-stub.h"#define MAXSERV 20static char default_service [BUFSIZ] = { 0 };static char * serv_vec [MAXSERV];static int  serv_argc;static int default_serv_set = 0;extern DN user_name;extern int chase_flag;static char do_shuffle;int    copy_flag;char * result_sequence = NULLCP;struct dua_sequence * current_sequence = NULL_DS;struct dua_sequence * top_sequence = NULL_DS;extern struct SecurityServices *dsap_security;set_default_service (opt)PS opt;{	if (default_service [0] == 0) {		serv_argc = 0;		return (OK);	}	if ((serv_argc = sstr2arg (default_service, MAXSERV, serv_vec, " \t")) == -1) {		ps_print (opt,"Invalid default service controls");		return (NOTOK);	} else {		default_serv_set = 1;		return (OK);	}}int get_default_service (ca)CommonArgs * ca;{PS opt;char buffer [LINESIZE];extern int sizelimit;extern int timelimit;static CommonArgs sca = default_common_args;	*ca = sca;  /* struct copy */	ca->ca_servicecontrol.svc_sizelimit = sizelimit;	ca->ca_servicecontrol.svc_timelimit = timelimit;		if ((opt = ps_alloc (str_open)) == NULLPS) {		(void) fprintf (stderr,"ps_alloc error\n");		return (NOTOK);	}			if (str_setup (opt, buffer, LINESIZE, 1) == NOTOK) {		(void) fprintf (stderr,"ps_setup error\n");		return (NOTOK);	}	if (! default_serv_set)		if (set_default_service (opt) != OK) {			(void) fprintf (stderr,"error (1) - %s\n",buffer);			ps_free (opt);			return (NOTOK);		}	do_shuffle = FALSE;	if (do_service_control (opt,serv_argc, serv_vec, ca) < 0) {		(void) fprintf (stderr,"error (2) - %s\n",buffer);		ps_free (opt);		return (NOTOK);	}	ps_free (opt);	return (OK);	}int service_control (opt,argc, argv, ca)PS 		opt;int             argc;char          **argv;CommonArgs     *ca;{	if (get_default_service (ca) != OK) {		ps_print (opt,"default service error - check quipurc\n");		return (-1);	}	do_shuffle = TRUE;	return (do_service_control (opt,argc, argv, ca));}int do_service_control (opt,argc, argv, ca)PS 		opt;int             argc;char          **argv;CommonArgs     *ca;{	ServiceControl  *sc;	int             shuffle_up ();	int             x;	char            shuffle;	sc = &(ca->ca_servicecontrol);	copy_flag = TRUE;	for (x = 0; x < argc; x++) {		shuffle = do_shuffle;				if (test_arg (argv[x], "-preferchain",3)) 			sc->svc_options |= SVC_OPT_PREFERCHAIN;		else if (test_arg (argv[x], "-nopreferchain",5)) 			sc->svc_options &= ~SVC_OPT_PREFERCHAIN;					else if (test_arg (argv[x], "-localscope",3)) 			sc->svc_options |= SVC_OPT_LOCALSCOPE;		else if (test_arg (argv[x], "-nolocalscope",3)) 			sc->svc_options &= (~SVC_OPT_LOCALSCOPE);					else if (test_arg (argv[x], "-dontusecopy",5)) {			copy_flag = FALSE;			sc->svc_options |= SVC_OPT_DONTUSECOPY;		} else if (test_arg (argv[x], "-usecopy",1)) {			copy_flag = TRUE;			sc->svc_options &= (~SVC_OPT_DONTUSECOPY);		}		else if (test_arg (argv[x], "-dontdereferencealias",5)) 			sc->svc_options |= SVC_OPT_DONTDEREFERENCEALIAS;		else if (test_arg (argv[x], "-dereferencealias",3)) 			sc->svc_options &= (~SVC_OPT_DONTDEREFERENCEALIAS);		else if (test_arg (argv[x], "-low",3)) 			sc->svc_prio = SVC_PRIO_LOW;		else if (test_arg (argv[x], "-medium",2)) 			sc->svc_prio = SVC_PRIO_MED;		else if (test_arg (argv[x], "-high",1)) 			sc->svc_prio = SVC_PRIO_HIGH;					else if (test_arg (argv[x], "-timelimit",2)) {			if (x + 1 == argc) {					ps_printf (opt, "We need a number for timelimit.\n");				return (-1);			} else {				if (shuffle)					shuffle_up (argc--, argv, x);				else				        x++;				if ((sc->svc_timelimit = atoi (argv[x])) < -1) {					ps_printf (opt, "We need a posative number for timelimit.\n");					return (-1);				}			}		} else if (test_arg (argv[x], "-notimelimit",4)) 			sc->svc_timelimit = -1;					else if (test_arg (argv[x], "-sizelimit",3)) {			if (x + 1 == argc) {				ps_printf (opt, "We need a number for sizelimit.\n");				return (-1);			} else {				if (shuffle)					shuffle_up (argc--, argv, x);				else					x++;				if ((sc->svc_sizelimit = atoi (argv[x])) < -1) {					ps_printf (opt, "We need a posative number for sizelimit.\n");					return (-1);				}			}		} else if (test_arg (argv[x], "-nosizelimit",4)) 			sc->svc_sizelimit = -1;					else if (test_arg (argv[x], "-nochaining",4)) 			sc->svc_options |= SVC_OPT_CHAININGPROHIBIT;		else if (test_arg (argv[x], "-chaining",3)) 			sc->svc_options &= (~SVC_OPT_CHAININGPROHIBIT);					else if (test_arg (argv[x], "-norefer",5)) 			chase_flag = 1;		else if (test_arg (argv[x], "-refer",3)) 			chase_flag = 2;		else if (test_arg(argv[x], "-strong", 3)) {			char *new_version();			struct certificate *cert_cpy();			ca->ca_security = (struct security_parms *)				calloc(1, sizeof(struct security_parms));			ca->ca_security->sp_name = NULLDN;			ca->ca_security->sp_time = new_version();			ca->ca_security->sp_target = '\0';			if (dsap_security->serv_mkpath) 			  ca->ca_security->sp_path = 				(dsap_security->serv_mkpath)();			}		else if (test_arg (argv[x], "-sequence",3)) {			if (x + 1 == argc) {					ps_printf (opt, "We need a sequence name.\n");				return (-1);			} else {				if (shuffle)					shuffle_up (argc--, argv, x);				else					x++;				if (lexequ (argv[x],"result") == 0) {					if (x + 1 == argc) {							ps_printf (opt, "We need a result sequence name.\n");						return (-1);					}					if (shuffle)						shuffle_up (argc--, argv, x);					else						x++;					result_sequence = strdup (argv[x]);				} else					set_sequence (argv[x]);			}		} else if (test_arg (argv[x], "-nosequence",5)) 			unset_sequence();		else if (do_shuffle)			shuffle = FALSE;		else {			ps_printf (opt,"unknown service option %s\n",argv[x]);			return (-1);		}		if (shuffle) 			shuffle_up (argc--, argv, x--);	}	return (argc);}shuffle_up (argc, argv, start)register int    argc;char          **argv;register int    start;{	register int    x;	for (x = start; x < argc; x++)		if (x == argc - 1)	/* if it is the last one, then stick					 * a 0 in */			argv[x] = 0;		else		/* oterwise put the next one in it's place. */			argv[x] = argv[x + 1];}new_service (ptr)char * ptr;{	if (ptr != 0) {		if (*default_service != 0)			(void) strcat (default_service," ");		(void) strcat (default_service,ptr);	}}set_sequence (str)char * str;{struct dua_sequence *ptr;	if (lexequ (str,"reset") == 0) {                if (current_sequence == NULL_DS)                        return;                current_sequence->ds_data = NULL_DE;                current_sequence->ds_last = NULL_DE;		return;	}	for (ptr = top_sequence; ptr != NULL_DS; ptr=ptr->ds_next)		if (lexequ (ptr->ds_name,str) == 0) {			current_sequence = ptr;			return;		}	ptr = ds_alloc();	ptr->ds_name = strdup (str);	ptr->ds_data = NULL_DE;	ptr->ds_last = NULL_DE;	ptr->ds_next = top_sequence;	top_sequence = ptr;	current_sequence = ptr;}unset_sequence (){	current_sequence = NULL_DS;}add_sequence (adn)DN adn;{struct dua_seq_entry * ptr;register int x=1;	if (current_sequence == NULL_DS)		return (0);		for (ptr=current_sequence->ds_data; ptr != NULL_DE; ptr=ptr->de_next,x++) 		if (dn_cmp (adn,ptr->de_name) == 0)			return (x);	ptr = de_alloc();	ptr->de_name = dn_cpy (adn);	ptr->de_next = NULL_DE;	if (current_sequence->ds_data == NULL_DE) 		current_sequence->ds_data = ptr;	else		current_sequence->ds_last->de_next = ptr;	current_sequence->ds_last = ptr;			return (x);}DN sequence_dn(y)int y;{struct dua_seq_entry * ptr;register int x = 1;	if (current_sequence == NULL_DS)		return (NULLDN);	for (ptr=current_sequence->ds_data; 		(ptr != NULL_DE) && (x<y); 		ptr=ptr->de_next,x++) 			;			if (ptr == NULL_DE)		return (NULLDN);	if ( x == y )		return (ptr->de_name);	return (NULLDN);			}show_sequence (RPS,str,ufn)PS RPS;char * str;char	ufn;{struct dua_seq_entry * ptr;register int x = 1;	if (str != NULLCP)		set_sequence (str);	if (current_sequence == NULL_DS) {		ps_print (RPS,"No sequence set!\n");		return;	}	if (strcmp (current_sequence -> ds_name, "default"))	    ps_printf (RPS,"Sequence %s contains:-\n",		       current_sequence->ds_name);	for (ptr=current_sequence->ds_data; ptr != NULL_DE; ptr=ptr->de_next, x++) {		ps_printf (RPS,"%-3d%s",x,ufn ? " " : " @");		if (ufn)		    (void) ufn_dn_print_aux (RPS, ptr -> de_name, NULLDN, 0);		else		    dn_print (RPS,ptr->de_name,EDBOUT);		ps_print (RPS,"\n");	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国成人福利片在线播放| 99国产精品国产精品毛片| 不卡av免费在线观看| 欧美日韩美女一区二区| 成人免费一区二区三区在线观看| 日韩av一区二| 欧美日韩在线观看一区二区| 国产精品国产三级国产普通话99| 久久99精品久久久| 欧美一区二区三区四区五区| 一区二区欧美精品| av高清不卡在线| 国产日韩欧美制服另类| 精品一区二区国语对白| 欧美精品在线观看播放| 一区二区三区国产精华| 99久久国产综合精品麻豆| 日本一区二区三区四区在线视频| 奇米精品一区二区三区四区 | 久久人人爽人人爽| 日韩av电影天堂| 欧美日韩高清一区二区三区| 有码一区二区三区| 一本色道久久综合亚洲91| 亚洲婷婷国产精品电影人久久| 岛国精品在线观看| 国产精品人妖ts系列视频| 国产99久久久国产精品免费看| 久久久三级国产网站| 国产一区二区毛片| 日本一区二区动态图| 成人动漫视频在线| 亚洲欧美怡红院| 色婷婷av一区二区三区之一色屋| 亚洲精品乱码久久久久| 91福利在线观看| 石原莉奈在线亚洲三区| 日韩精品中午字幕| 粉嫩嫩av羞羞动漫久久久| 国产精品美女久久久久久2018| av电影在线观看一区| 亚洲一区二区三区美女| 欧美精品在线视频| 黑人巨大精品欧美一区| 中文字幕av一区二区三区| 97se亚洲国产综合在线| 亚洲国产精品自拍| 日韩视频免费观看高清完整版 | 国产精品美女久久久久久久网站| 国内成+人亚洲+欧美+综合在线| 精品福利一二区| 成人在线视频一区| 亚洲婷婷综合色高清在线| 在线观看网站黄不卡| 肉肉av福利一精品导航| 精品欧美久久久| av成人老司机| 婷婷丁香激情综合| 久久蜜桃av一区二区天堂| 成人蜜臀av电影| 亚洲福中文字幕伊人影院| 日韩精品一区二区三区蜜臀| 成人精品一区二区三区中文字幕| 亚洲一区二区在线免费看| 欧美一级理论片| av在线播放成人| 奇米777欧美一区二区| 中文字幕欧美一| 欧美一区二区精品久久911| 国产精品自在欧美一区| 亚洲一区日韩精品中文字幕| 久久免费精品国产久精品久久久久| 91久久国产最好的精华液| 国产在线国偷精品免费看| 亚洲国产中文字幕在线视频综合 | 国产成a人亚洲精品| 洋洋av久久久久久久一区| 26uuu国产一区二区三区| 在线看国产一区二区| 国产一区二区电影| 日日噜噜夜夜狠狠视频欧美人 | 亚洲在线视频网站| 欧美国产欧美综合| 欧美精品一区二区三| 欧美中文字幕亚洲一区二区va在线| 国产裸体歌舞团一区二区| 亚洲一区二区三区免费视频| 国产精品毛片久久久久久久| 欧美成人乱码一区二区三区| 欧美日韩一区中文字幕| 99国产欧美另类久久久精品| 国产一区二区导航在线播放| 美女性感视频久久| 日韩avvvv在线播放| 亚洲一区在线看| 亚洲老妇xxxxxx| 亚洲色图色小说| 亚洲色图丝袜美腿| 亚洲视频免费观看| 国产精品传媒在线| 国产精品久久久久久久久免费桃花 | 成人午夜av电影| 国内精品国产成人国产三级粉色| 奇米精品一区二区三区在线观看| 亚洲国产欧美日韩另类综合| 一区二区在线观看av| 一区免费观看视频| 中文字幕在线观看不卡视频| 国产精品日产欧美久久久久| 久久久久久久久岛国免费| 精品国产一二三区| 精品国产精品网麻豆系列| 欧美r级在线观看| 精品久久久久一区二区国产| 精品女同一区二区| 久久奇米777| 国产精品久久免费看| 国产精品美女一区二区在线观看| 国产亚洲欧美日韩在线一区| 久久久不卡网国产精品一区| 国产日韩欧美高清| 国产精品家庭影院| 亚洲色图19p| 午夜精品一区二区三区电影天堂| 日韩精品高清不卡| 久88久久88久久久| 国产电影一区二区三区| 91浏览器在线视频| 欧美性极品少妇| 91精品国产欧美一区二区成人| 日韩精品自拍偷拍| 国产精品免费久久久久| 亚洲色图.com| 五月婷婷激情综合网| 六月丁香婷婷久久| 高清不卡在线观看av| 色综合久久久久综合体| 欧美精品777| 久久久久国产精品厨房| 亚洲乱码日产精品bd| 日韩高清欧美激情| 国产xxx精品视频大全| 在线视频你懂得一区| 91麻豆精品久久久久蜜臀| 亚洲精品一区二区三区福利| ●精品国产综合乱码久久久久| 亚洲无人区一区| 国产高清不卡一区| 欧美视频一区在线| 国产欧美一区二区三区鸳鸯浴| 亚洲精品乱码久久久久久日本蜜臀| 日本亚洲免费观看| 成人黄页毛片网站| 91精品国产一区二区| 国产精品美日韩| 蜜臀精品一区二区三区在线观看 | 91在线国产福利| 欧美一区二区二区| 亚洲欧洲日韩一区二区三区| 日韩经典一区二区| 成人av在线资源网| 精品成人免费观看| 一区二区三区**美女毛片| 国产成人亚洲综合a∨婷婷 | 99视频在线精品| 日韩欧美国产三级电影视频| 亚洲女同ⅹxx女同tv| 大胆亚洲人体视频| 日韩欧美的一区| 亚洲午夜精品一区二区三区他趣| 国产ts人妖一区二区| 日韩一级二级三级| 亚洲国产中文字幕在线视频综合| 成人h动漫精品| 久久午夜羞羞影院免费观看| 午夜日韩在线电影| 日本道精品一区二区三区 | 欧美伊人久久大香线蕉综合69| 久久精品夜色噜噜亚洲aⅴ| 免费高清视频精品| 欧美三级视频在线| 亚洲精品成人在线| 91免费看片在线观看| 日本一区二区三区电影| 精品在线播放免费| 久久一区二区三区四区| 蜜桃视频在线观看一区| 欧美日韩黄视频| 亚洲国产精品久久久久秋霞影院| 色婷婷综合视频在线观看| 国产精品久久夜| 成人av资源在线观看| 国产精品久久久久一区二区三区共 | 91亚洲精品一区二区乱码| 日本一区二区三区dvd视频在线| 韩国一区二区在线观看| 欧美精品一区二区三| 国产一区不卡在线| 国产欧美一区二区在线观看| 成人性生交大片|