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

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

?? smgp3.c.bak

?? 基于上海電信 sgmp3.0短信協議,實現的源程序,現網運行穩定,unix (freeBSD) 環境下編程.
?? BAK
?? 第 1 頁 / 共 5 頁
字號:
#if 1
		// check resq 
		for(k=0; k<memsend; k++)
			if( 0 == strlen(resq[k].rq_submit_id)  )
				i++;
		if(i == memsend)
		{
			// resq is null 
			for(k = 0; k<memsend ; k++)
				if( strcmp(sendq[k].sq_submit_stat , "sub") ==0 )
					for( i=0; i< memsend ; i++ )
					{
						if( strlen(resq[i].rq_submit_id) == 0 )
						{
							strcpy(resq[i].rq_submit_id , sendq[k].sq_submit_id);
							strncpy(resq[i].rq_msgid, sendq[k].sq_submit_id, sizeof(resq[i].rq_msgid)-1);
							getdatetime(resq[i].rq_response_time);
							resq[i].rq_response_status = -3;
							resq[i].intime = time(NULL);
							n++;
						}
					}
		}
		else{
			
			for( k=0; k<memsend; k++ )
				if(strcmp(sendq[k].sq_submit_stat, "sub") ==0)
				{	
					for( i=0; i<memsend ; i++ )
						if(strcmp(resq[i].rq_submit_id , sendq[k].sq_submit_stat) ==0)
							// ignore 
							break ;

					for(i =0; i< memsend ; i++)
						if(strlen(resq[i].rq_submit_id) ==0)
						{
							strcpy(resq[i].rq_submit_id, sendq[k].sq_submit_id );
							strncpy(resq[i].rq_msgid, sendq[k].sq_submit_id, sizeof(resq[i].rq_msgid)-1);
							getdatetime(resq[i].rq_response_time);
							resq[i].rq_response_status = -3;
							resq[i].intime = time(NULL);
							n++;
						}
				}
		}
#endif 

	return n;
}

int Insertresq(RES_Q *resq, RES_Q tmp)
{
	int k=0, i=0;

	for(k =0 ; k< memsend ; k++)
		if(strlen(resq[k].rq_submit_id) ==0)
		{
			memcpy(&resq[k], &tmp, sizeof(RES_Q));
			return 0;
		}
	return -1; // buffer full 
}

int checkresqnum(RES_Q *resq)
{
	int k =0 , i=0;

	for(k=0; k< memsend ; k++)
		if(strlen(resq[k].rq_submit_id) ==0)
			i++;
	return i;
}

int CheckTimeout(SEND_Q *sendq)
{
	int i=0, count =0;
	
	for(	i=0;	i<memsend; i++)
		if( ( sendq[i].intime + timeout_no_submit_resp< time(NULL) ) && (strcmp(sendq[i].sq_submit_stat ,"sub") ==0) )
		{
			if(sendq[i].sq_pri <= retry_max)
			{
				// insert into send_log , failed
				InsertSendLog(&fsql_main, send_q_db,&sendq[i], -1);
				sendq[i].sq_id = 0;
				memset(&sendq[i], 0, sizeof(SEND_Q));
				continue;
			}
			sendq[i].intime = time(NULL);
			strcpy(sendq[i].sq_submit_stat, "");
			sendq[i].sq_pri--;
			count++;
		}
	return count;
}


int Countsendq(SEND_Q *sendq, int size )
{
	int i =0;
	int count =0;

//	INFO("DEBUG memsed:%d\n", memsend);
	for(i=0; i<size; i++)
	{
	//	INFO("DEBUG sendq[%d]->sq_id :%d\n", i, sendq[i].sq_id );
		if(sendq[i].sq_id<=0)
			count++;
	//	INFO("DEBUG count:%d\n",count);
	}
	return count;
}

int Countresq(RES_Q *resq, int size )
{
	int i =0;
	int count =0;

//	INFO("DEBUG memsed:%d\n", memsend);
	for(i=0; i<size; i++)
	{
	//	INFO("DEBUG sendq[%d]->sq_id :%d\n", i, sendq[i].sq_id );
		if( strlen(resq[i].rq_submit_id) ==0)
			count++;
	//	INFO("DEBUG count:%d\n",count);
	}
	return count;
}


int Countunsend(SEND_Q *sendq)
{
	int i =0;
	int count =0;

//	INFO("DEBUG memsed:%d\n", memsend);
	for(i=0; i<memsend; i++)
	{
	//	INFO("DEBUG sendq[%d]->sq_id :%d\n", i, sendq[i].sq_id );
		if(sendq[i].sq_id>0 && (strlen(sendq[i].sq_submit_stat) ==0) )
			count++;
	//	INFO("DEBUG count:%d\n",count);
	}
	return count;
}

/*把待發數據放入buffer*/
int CopyToBuffer(SEND_Q *map, int num,   SEND_Q temp)
{
	int k = 0;

//	INFO("[FUNCTION-CopyToBuffer]:  lock sendq buffer[%d] \n", num );
	
	k = FindPlace(map, memsend);
//	INFO("[FUNCTION-CopyToBuffer] k :%d\n", k);
	if(k >= 0)	//有位置可以放
	{
//	    INFO("[FUNCTION-CopyToBuffer] sendq_lock\n");
    	    pthread_mutex_lock(&sendq_lock[num]);
	    memcpy(&map[k], &temp, sizeof(SEND_Q));
//	    INFO("[FUNCTION-CopyToBuffer] sq_id :%d\n", map[k].sq_id);
	    map[k].intime = time(NULL);
	    pthread_mutex_unlock(&sendq_lock[num]);
//	    INFO("[FUNCTION-CopyToBuffer] sendq_unlock\n");
	}
	
//	INFO("[FUNCTION-CopyToBuffer]: unlock senq buffer[%d]\n", num);
	if(k < 0)	//MAP隊列滿
	{
		INFO("[FUNCTION-CopyToBuffer] send buffer[%d] full \n", num);
		return -1;
	}
	return 0;
}

int AllocateData( MYSQL_RES *result, char *deleteids)
{
	MYSQL_ROW row;
	SEND_Q send_tmp;
	int num =0, allrow=0;
	int ii =0,ret=0;
	
	allrow = mysql_num_rows(result);
	while( ( row = mysql_fetch_row(result) )!=NULL)
	{	
		send_tmp.length_pi = atoi(row[34]);
		send_tmp.length_mi = atoi(row[35]);
		send_tmp.sq_sms_length = atoi(row[36]);
		copy_send_q(&send_tmp, row);
//		strlcpy(send_tmp.sq_reg_gateway, send_tmp.sq_send, sizeof(send_tmp.sq_reg_gateway));
		strncpy(send_tmp.sq_reg_gateway,send_tmp.sq_send, sizeof(send_tmp.sq_reg_gateway) );
		send_tmp.sq_reg_gateway[sizeof(send_tmp.sq_reg_gateway) -1] ='\0';
		
		ret = CopyToBuffer(SENDQ[ii],ii, send_tmp);
		while(ret == -1)
		{
			if(ii == connections)
				ii =0;
			else
				ii++;
			ret = CopyToBuffer(SENDQ[ii],ii, send_tmp);
		}
		ii++;
		if( ii== connections)
			ii =0;
			
		if(num ==0)
			strcpy(deleteids,row[0]);
		else
			strcat(deleteids,row[0]);
		if(num < allrow-1)
		{
			strcat(deleteids, ",");
		}
		num ++;
	}
	INFO("[INFO-MAIN]: Deleteid [%s]\n", deleteids);
	return 0;
}

int read_uchar(unsigned char * dst, size_t siz, const unsigned char *key)
{
	int res;

	if ( (res = get_value_uchar(dst, siz, key)) == 0 ){
		INFO("[INFO]: get_conf: %s:  ==> %s\n", key, dst);
	}else{
		INFO("[-ERR]: get_conf: %s == NULL\n", key);
	}

	return res;
}

int read_int32(int * dst, const unsigned char *key)
{
	int res;

	if ( (res = get_value_int32(dst,key)) == 0 ){
		INFO("[INFO]: get_conf: %s:  ==> %d\n", key, *dst);
	}else{
		INFO("[-ERR]: get_conf: %s == NULL\n", key);
	}

	return res;
}


int read_uint32(unsigned int * dst, const unsigned char *key)
{
	int res;

	if ( (res = get_value_uint32(dst,key)) == 0 ){
		INFO("[INFO]: get_conf: %s:  ==> %u\n", key, *dst);
	}else{
		INFO("[-ERR]: get_conf: %s == NULL\n", key);
	}

	return res;
}

static int config(unsigned char *file)
{
    	int i=0;
    	char *value;
    	char cfgfile[256];

    	sprintf(cfgfile, "%s", file);
    	if (init_conf(cfgfile) != 0) 
	{
        	fprintf(stderr," [-ERR]: init_conf: failed\n");
        	return (-1);
    	}
    	
    	if (get_value_uchar(logfile, sizeof(logfile)-1, "LOG_FILE") !=0 ) goto CFGERR;
    	fprintf(stderr," [config]: logfile: %s\n", logfile);

    	if (read_int32(&smg_type, "SMG_TYPE") != 0) goto CFGERR;		
	if ((smg_type != 0) && (smg_type != 2)) goto CFGERR;
	if(smg_type == 0)
	{
		smg_recv_type = 1;
	}
	if (read_uchar(smg_host, sizeof(smg_host)-1, "SMG_HOST") != 0) goto CFGERR;
	if (read_int32(&smg_port, "SMG_PORT") != 0) goto CFGERR;
    	if (get_value_uchar(smg_user, sizeof(smg_user)-1, "SMG_USER") != 0) goto CFGERR;
	if (read_uchar(smg_user, sizeof(smg_user)-1, "SMG_USER") != 0) goto CFGERR;
	if (read_uchar(smg_pass, sizeof(smg_pass)-1, "SMG_PASS") != 0) goto CFGERR;
	
    	if (read_uchar(send_q_db, sizeof(send_q_db)-1, "SEND_Q_DB") != 0) goto CFGERR;
    	if (read_uchar(send_q_host, sizeof(send_q_host)-1, "SEND_Q_HOST") != 0) goto CFGERR;
    	if (read_uchar(send_q_user, sizeof(send_q_user)-1, "SEND_Q_USER") != 0) goto CFGERR;
    	if (read_uchar(send_q_pass, sizeof(send_q_pass)-1, "SEND_Q_PASS") != 0) goto CFGERR;
    	if (read_int32(&send_q_port, "SEND_Q_PORT") != 0) goto CFGERR;	
	       
	if (read_uchar(newspcode4, sizeof(newspcode4)-1, "NEWSPCODE4") != 0) goto CFGERR;
	
	//David for 2SP
    	if (read_uchar(media_db, sizeof(media_db)-1, "MEDIA_DB") != 0) goto CFGERR;
    	if (read_uchar(media_host, sizeof(media_host)-1, "MEDIA_HOST") != 0) goto CFGERR;
    	if (read_uchar(media_user, sizeof(media_user)-1, "MEDIA_USER") != 0) goto CFGERR;
    	if (read_uchar(media_pass, sizeof(media_pass)-1, "MEDIA_PASS") != 0) goto CFGERR;
    	if (read_int32(&media_port, "MEDIA_PORT") != 0) goto CFGERR;
	
	// For gateway argument
    	if (read_uchar(servicemedia_db, sizeof(servicemedia_db)-1, "SERVICEMEDIA_DB") != 0) goto CFGERR;
    	if (read_uchar(servicemedia_host, sizeof(servicemedia_host)-1, "SERVICEMEDIA_HOST") != 0) goto CFGERR;
    	if (read_uchar(servicemedia_user, sizeof(servicemedia_user)-1, "SERVICEMEDIA_USER") != 0) goto CFGERR;
    	if (read_uchar(servicemedia_pass, sizeof(servicemedia_pass)-1, "SERVICEMEDIA_PASS") != 0) goto CFGERR;
    	if (read_int32(&servicemedia_port, "SERVICEMEDIA_PORT") != 0) goto CFGERR;

    	if (read_int32(&memsend, "MEMSEND") != 0) goto CFGERR;
    	if (read_int32(&reportnum, "REPORTNUM") != 0) goto CFGERR;
    	if (read_int32(&reportnum, "REPORTNUM") != 0) goto CFGERR;
	if(read_int32(&socketbuffersize, "SOCKETBUFFER")!=0) goto CFGERR;

    	if (read_uchar(gateway_name, sizeof(gateway_name)-1, "GATEWAY_NAME") != 0) goto CFGERR;
    	if (read_uchar(province, sizeof(province)-1, "PROVINCE") != 0) goto CFGERR;
    	if (read_int32(&timeout_no_submit_resp,  "TIMEOUT_NO_SUBMIT_RESP") != 0) goto CFGERR;
    	read_int32(&expiretime, "EXPIRETIME");
    	if ((expiretime < 0) || (expiretime > 240))
        	expiretime = 0;
	if (read_int32(&priority,"PRIORITY") !=0) goto CFGERR;
    	if (get_value_int32(&retry_num, "RETRY_NUM") != 0) goto CFGERR;
    	if ((retry_num < 0) || (retry_num > 3)) retry_num = 3;
    	retry_max = -retry_num;

    	if (get_value_int32(&resnum, "RESNUM") != 0) goto CFGERR;
    	if ((resnum < 1) ) resnum = 10;

    	if (get_value_int32(&connections, "CONNECTIONS") != 0) goto CFGERR;
    	if(connections<=0 )
		connections = 1;

    	if (get_value_int32(&altq_num, "ALTQ_NUM") != 0) goto CFGERR;
    	if ((altq_num < 0) || (altq_num > 300)) altq_num = 20;
    	i = altq_num/10;
    	i = i * 10 + 10;
    	altq_timer = 1000 * 1000/i;
    	INFO("[INFO]: TIMER: %u,Send Speed limit %d.\n", altq_timer,altq_num);


    	if ((value = get_conf("ENABLE_FEETRIM")) != NULL) 
	{
        	if (strcmp(value, "YES") == 0) 
		{
            		feetrim_flag = 1;
            		INFO("[INFO]: ENABLE FREE TRIM\n");
        	}
    	}
        
        if ((value = get_conf("ISHAINANFLAG")) != NULL) 
	{
        	if (strcmp(value, "YES") == 0) 
		{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美精品| 日韩三区在线观看| 日韩一区二区三区精品视频| 久久免费的精品国产v∧| 亚洲国产综合色| 岛国精品一区二区| 日韩精品自拍偷拍| 亚洲线精品一区二区三区八戒| 国产成人在线视频网址| 欧美一区二区网站| 亚洲一区二区四区蜜桃| 99视频热这里只有精品免费| 精品国免费一区二区三区| 亚洲精品成人精品456| 国产精品一区二区黑丝| 日韩亚洲欧美综合| 日韩黄色免费电影| 欧美丰满少妇xxxxx高潮对白| 中文字幕一区二区三中文字幕| 国产在线乱码一区二区三区| 91精品国产入口| 亚洲成人av一区二区三区| 99精品欧美一区二区蜜桃免费| 精品美女在线播放| 久久精品国内一区二区三区| 欧美一区2区视频在线观看| 亚洲国产一区二区三区青草影视| 色综合激情久久| 日韩一区有码在线| 91丨porny丨国产| 日本欧美一区二区三区| 欧美日产国产精品| 亚洲图片自拍偷拍| 欧美日韩一区二区在线视频| 亚洲精选免费视频| 欧洲av在线精品| 亚洲国产精品天堂| 在线综合+亚洲+欧美中文字幕| 午夜精品福利视频网站| 欧美一级视频精品观看| 久久超碰97人人做人人爱| 精品国产一区二区亚洲人成毛片| 麻豆视频一区二区| 欧美成人a视频| 国产成人精品三级| 国产精品麻豆欧美日韩ww| av成人老司机| 亚洲自拍偷拍网站| 69久久夜色精品国产69蝌蚪网| 日韩精彩视频在线观看| 精品国产乱码久久久久久免费| 国产黄色精品网站| 亚洲欧美日韩电影| 欧美探花视频资源| 免费高清在线视频一区·| 亚洲精品在线观| 99精品视频一区二区| 亚洲综合免费观看高清完整版 | 亚洲精品久久7777| 色香色香欲天天天影视综合网| 夜色激情一区二区| 欧美一级二级三级蜜桃| 成人免费视频一区| 亚洲永久精品大片| 26uuu亚洲综合色| 一本久久综合亚洲鲁鲁五月天| 婷婷丁香激情综合| 日本一区二区在线不卡| 欧美做爰猛烈大尺度电影无法无天| 三级久久三级久久| 国产欧美一区二区三区鸳鸯浴| 91黄视频在线| 麻豆久久一区二区| 亚洲视频在线一区| 日韩精品一区二区三区视频在线观看 | 91成人在线观看喷潮| 日韩欧美久久久| 麻豆专区一区二区三区四区五区| 8x8x8国产精品| 美女被吸乳得到大胸91| 欧美大片一区二区| 国产一区二区久久| 欧美国产日韩亚洲一区| 国产大陆亚洲精品国产| 欧美激情综合网| 99精品久久只有精品| 亚洲欧美一区二区三区极速播放| 色狠狠av一区二区三区| 亚洲国产精品久久久久秋霞影院 | 91美女在线观看| 亚洲精品一二三| 国产欧美日韩麻豆91| 91精品国产91久久久久久一区二区| av亚洲精华国产精华精华| 狠狠久久亚洲欧美| 秋霞午夜鲁丝一区二区老狼| 亚洲综合图片区| 亚洲欧美视频在线观看视频| 国产午夜精品一区二区三区嫩草| 欧美一级夜夜爽| 欧美伦理视频网站| 欧美一a一片一级一片| 91亚洲男人天堂| 丁香婷婷综合激情五月色| 国产一区二区伦理片| 精品无码三级在线观看视频 | 久久99国产精品免费| 偷拍与自拍一区| 国产iv一区二区三区| 久久精品国产色蜜蜜麻豆| 日韩和欧美一区二区| 亚洲成a人v欧美综合天堂下载| 一区二区三区四区乱视频| 亚洲丝袜精品丝袜在线| 中文字幕视频一区| 亚洲三级在线看| 亚洲精品欧美专区| 一区二区三区电影在线播| 亚洲激情中文1区| 亚洲国产你懂的| 五月综合激情婷婷六月色窝| 日韩有码一区二区三区| 免费黄网站欧美| 麻豆成人91精品二区三区| 久久99久久99| 国产精品原创巨作av| 成人自拍视频在线观看| 99久久精品免费看国产免费软件| 91在线精品一区二区| 在线观看国产日韩| 欧美美女喷水视频| 欧美mv日韩mv国产网站app| 国产东北露脸精品视频| 成人欧美一区二区三区在线播放| 久久女同互慰一区二区三区| 欧美日韩国产免费| 在线观看国产一区二区| 北条麻妃一区二区三区| 国产麻豆成人传媒免费观看| 日韩福利电影在线观看| 亚洲国产一区二区视频| 亚洲啪啪综合av一区二区三区| 国产视频一区不卡| 久久精品视频在线看| 精品国偷自产国产一区| 日韩一级在线观看| 欧美一区二区视频在线观看 | 国产精品一卡二卡| 老司机精品视频线观看86| 日韩精品亚洲一区| 性做久久久久久久免费看| 一区二区高清免费观看影视大全| 亚洲天堂成人在线观看| 中文字幕中文字幕在线一区 | 毛片一区二区三区| 日本在线播放一区二区三区| 午夜伦理一区二区| 亚洲成a人片在线不卡一二三区| 亚洲在线成人精品| 亚洲国产视频直播| 天堂在线一区二区| 麻豆视频一区二区| 国产一区二区不卡| 成人一区二区三区| 99久久er热在这里只有精品66| 91色porny| 欧美天堂亚洲电影院在线播放| 欧美精品 国产精品| 日韩免费性生活视频播放| 久久综合九色欧美综合狠狠| 亚洲国产高清不卡| 亚洲欧美二区三区| 精品成a人在线观看| 中文字幕在线不卡一区| 久久国产精品一区二区| 欧美三级视频在线播放| 国产精品美女一区二区在线观看| 美日韩黄色大片| 欧美群妇大交群中文字幕| 亚洲天天做日日做天天谢日日欢| 国产精品一卡二卡在线观看| 日韩欧美亚洲国产另类| 亚洲福利电影网| 91搞黄在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 99re在线视频这里只有精品| 久久中文字幕电影| 美女视频免费一区| 欧美日韩精品一区二区三区 | 在线视频一区二区三| 国产精品久久久久久亚洲毛片| 色老综合老女人久久久| 亚洲欧美在线观看| 99久久er热在这里只有精品15| 国产欧美日韩三级| 国产999精品久久久久久| 国产亚洲欧美在线| 国产成人av自拍| 国产日韩欧美激情| 国产成人综合亚洲网站|