⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataproc.c~

📁 这是一个linux下基于MiniGUI的手机界面设计源码
💻 C~
📖 第 1 页 / 共 3 页
字号:
#ifndef _DATAPROC_C_#define _DATAPROC_C_ 0#include "../DataProcessing/MySHM.h"#include "sysSrcInfo.h"/* Store the newcomming message to Temporary file 1 or 2*/int TempStore( MESGTYPE mesgType, TMPSTOREMODE mode){	int  ret;	FILE *fp;	struct stat buf; 	printf("Enter TempStore.\n");	switch( mesgType )	{	case	TYPE_OF_DWXX: 		if( mode == CREAT )		{			printf("**********Add newly message to file_DWtmp1************\n");			Pthread_mutex_trylock( &fLock.DWtmp1_FLOCK);			fp = Fopen( "DWtmp1.data","a+");			Fwrite( &newMesg.dwxx,LEN_DWXX,1,fp );			Fclose( fp );			AddCount( INBOX, TYPE_OF_DWXX , 1);			tmpDWXX1++;			printf("File DWtmp1 is %d\n",tmpDWXX1);			Pthread_mutex_unlock( &fLock.DWtmp1_FLOCK );			return 1;		}		else if( mode == QUERY)		{			if( stat( "DWtmp1.data",&buf ) == 0 )			{	//file DWtmp1 exist				printf("File DWtmp1 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.DWtmp1_FLOCK)) == EBUSY )				{					//Add newly message to file_DWtmp2					Pthread_mutex_trylock( &fLock.DWtmp2_FLOCK);					printf("**********Add newly message to file_DWtmp2************\n");					fp = Fopen( "DWtmp2.data","a+");					Fwrite( &newMesg.dwxx,LEN_DWXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_DWXX , 1);					tmpDWXX2++;					printf("tmpDWXX2 is %d\n",tmpDWXX2);					Pthread_mutex_unlock( &fLock.DWtmp2_FLOCK);					return 1;				}				else if( ret == 0 )				{					//Add newly message to file_DWtmp1					printf("**********Add newly message to file_DWtmp1************\n");					fp = Fopen( "DWtmp1.data","a+");					Fwrite( &newMesg.dwxx,LEN_DWXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_DWXX , 1);					tmpDWXX1++;					printf("tmpDWXX1 is %d\n",tmpDWXX1);					Pthread_mutex_unlock( &fLock.DWtmp1_FLOCK );					return 1;					}							}			else if( stat( "DWtmp2.data",&buf ) == 0 )//file DWtmp2 exist			{				printf("File DWtmp2 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.DWtmp2_FLOCK )) == EBUSY )				{					//Add newly message to file_DWtmp1					Pthread_mutex_trylock( &fLock.DWtmp1_FLOCK);					printf("**********Add newly message to file_DWtmp1************\n");					fp = Fopen( "DWtmp1.data","a+");					Fwrite( &newMesg.dwxx,LEN_DWXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_DWXX , 1);					tmpDWXX2++;					printf("tmpDWXX2 is %d\n",tmpDWXX2);					Pthread_mutex_unlock( &fLock.DWtmp1_FLOCK);					return 1;				}					else if( ret == 0)				{					//Add newly message to file_DWtmp2					printf("**********Add newly message to file_DWtmp2************\n");					fp = Fopen( "DWtmp2.data","a+");					Fwrite( &newMesg.dwxx,LEN_DWXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_DWXX , 1);					tmpDWXX1++;					printf("tmpDWXX1 is %d\n",tmpDWXX1);					Pthread_mutex_unlock( &fLock.DWtmp2_FLOCK );					return 1;				}			}			else			{				printf("Leave TempStore.\n");				return 0;			}		} 		break;	case	TYPE_OF_TXXX:		if( mode == CREAT )		{			printf("**********Add newly message to file_TXtmp1************\n");			Pthread_mutex_trylock( &fLock.TXtmp1_FLOCK);			fp = Fopen( "TXtmp1.data","a+");			Fwrite( &newMesg.txIndex,LEN_TXINDEX,1,fp );			Fclose( fp );			AddCount( INBOX, TYPE_OF_TXXX , 1);			tmpTXXX1++;			printf("tmpTXXX1 is %d\n",tmpTXXX1);			Pthread_mutex_unlock( &fLock.TXtmp1_FLOCK );			return 1;		}		else if( mode == QUERY)		{			if( stat( "TXtmp1.data",&buf ) == 0 )			{	//file TXtmp1 exist				printf("File F_TXtmp1 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.TXtmp1_FLOCK)) == EBUSY )				{					//Add newly message to file_TXtmp2					Pthread_mutex_trylock( &fLock.TXtmp2_FLOCK);					printf("**********Add newly message to file_TXtmp2************\n");					fp = Fopen( "TXtmp2.data","a+");					Fwrite( &newMesg.txIndex,LEN_TXINDEX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_TXXX , 1);					tmpTXXX2++;					printf("tmpDWXX2 is %d\n",tmpTXXX2);					Pthread_mutex_unlock( &fLock.TXtmp2_FLOCK);					return 1;				}				else if( ret == 0 )				{					//Add newly message to file_TXtmp1					printf("**********Add newly message to file_TXtmp1************\n");					fp = Fopen( "TXtmp1.data","a+");					Fwrite( &newMesg.txIndex,LEN_TXINDEX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_TXXX , 1);					tmpTXXX1++;					printf("tmpTXXX1 is %d\n",tmpTXXX1);					Pthread_mutex_unlock( &fLock.TXtmp1_FLOCK );					return 1;					}							}			else if( stat( "TXtmp2.data",&buf ) == 0 )//file DWtmp2 exist			{				printf("File F_TXtmp2 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.TXtmp2_FLOCK )) == EBUSY )				{					//Add newly message to file_TXtmp1					Pthread_mutex_trylock( &fLock.TXtmp1_FLOCK);					printf("**********Add newly message to file_DWtmp1************\n");					fp = Fopen( "TXtmp1.data","a+");					Fwrite( &newMesg.txIndex,LEN_TXINDEX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_TXXX , 1);					tmpTXXX2++;					printf("tmpTXXX2 is %d\n",tmpTXXX2);					Pthread_mutex_unlock( &fLock.TXtmp1_FLOCK);					return 1;				}					else if( ret == 0)				{					//Add newly message to file_TXtmp2					printf("**********Add newly message to file_TXtmp2************\n");					fp = Fopen( "TXtmp2.data","a+");					Fwrite( &newMesg.dwxx,LEN_TXINDEX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_TXXX , 1);					tmpTXXX1++;					printf("tmpTXXX1 is %d\n",tmpTXXX1);					Pthread_mutex_unlock( &fLock.TXtmp2_FLOCK );					return 1;				}			}			else			{				printf("Leave TempStore.\n");				return 0;			}		} 		break;	case	TYPE_OF_ICXX:		if( mode == CREAT )		{			printf("**********Add newly message to file_ICtmp1************\n");			Pthread_mutex_trylock( &fLock.ICtmp1_FLOCK);			fp = Fopen( "ICtmp1.data","w+");			Fwrite( &newMesg.icxx,LEN_ICXX,1,fp );			Fclose( fp );			tmpICXX1++;			printf("File ICtmp1 is %d\n",tmpICXX1);			Pthread_mutex_unlock( &fLock.ICtmp1_FLOCK );			return 1;		}		else if( mode == QUERY)		{			if( stat( "ICtmp1.data",&buf ) == 0 )			{	//file DWtmp1 exist				printf("File ICtmp1 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.ICtmp1_FLOCK)) == EBUSY )				{					//Add newly message to file_ICtmp2					Pthread_mutex_trylock( &fLock.ICtmp2_FLOCK);					printf("**********Add newly message to file_ICtmp2************\n");					fp = Fopen( "ICtmp2.data","w+");					Fwrite( &newMesg.icxx,LEN_ICXX,1,fp );					Fclose( fp );					tmpICXX2++;					printf("tmpICXX2 is %d\n",tmpICXX2);					Pthread_mutex_unlock( &fLock.ICtmp2_FLOCK);					return 1;				}				else if( ret == 0 )				{					//Add newly message to file_ICtmp1					printf("**********Add newly message to file_ICtmp1************\n");					fp = Fopen( "ICtmp1.data","w+");					Fwrite( &newMesg.icxx,LEN_ICXX,1,fp );					Fclose( fp );					tmpICXX1++;					printf("tmpICXX1 is %d\n",tmpICXX1);					Pthread_mutex_unlock( &fLock.ICtmp1_FLOCK );					return 1;					}							}			else if( stat( "ICtmp2.data",&buf ) == 0 )//file ICtmp2 exist			{				printf("File ICtmp2 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.ICtmp2_FLOCK )) == EBUSY )				{					//Add newly message to file_ICtmp1					Pthread_mutex_trylock( &fLock.ICtmp1_FLOCK);					printf("**********Add newly message to file_ICtmp1************\n");					fp = Fopen( "ICtmp1.data","w+");					Fwrite( &newMesg.icxx,LEN_ICXX,1,fp );					Fclose( fp );					tmpICXX2++;					printf("tmpICXX2 is %d\n",tmpICXX2);					Pthread_mutex_unlock( &fLock.ICtmp1_FLOCK);					return 1;				}					else if( ret == 0)				{					//Add newly message to file_ICtmp2					printf("**********Add newly message to file_ICtmp2************\n");					fp = Fopen( "ICtmp2.data","w+");					Fwrite( &newMesg.icxx,LEN_ICXX,1,fp );					Fclose( fp );					tmpICXX1++;					printf("tmpICXX1 is %d\n",tmpICXX1);					Pthread_mutex_unlock( &fLock.ICtmp2_FLOCK );					return 1;				}			}			else			{				printf("Leave TempStore.\n");				return 0;			}		} 		break;	case	TYPE_OF_ZJXX:		break;	case	TYPE_OF_SJXX:		break;	case	TYPE_OF_BBXX:		if( mode == CREAT )		{			printf("**********Add newly message to file_BBtmp1************\n");			Pthread_mutex_trylock( &fLock.BBtmp1_FLOCK);			fp = Fopen( "BBtmp1.data","w+");			Fwrite( &newMesg.bbxx,LEN_BBXX,1,fp );			Fclose( fp );			tmpBBXX1++;			printf("File BBtmp1 is %d\n",tmpBBXX1);			Pthread_mutex_unlock( &fLock.BBtmp1_FLOCK );			return 1;		}		else if( mode == QUERY)		{			if( stat( "BBtmp1.data",&buf ) == 0 )			{	//file BBtmp1 exist				printf("File BBtmp1 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.BBtmp1_FLOCK)) == EBUSY )				{					//Add newly message to file_BBtmp2					Pthread_mutex_trylock( &fLock.BBtmp2_FLOCK);					printf("**********Add newly message to file_BBtmp2************\n");					fp = Fopen( "BBtmp2.data","w+");					Fwrite( &newMesg.bbxx,LEN_BBXX,1,fp );					Fclose( fp );					tmpBBXX2++;					printf("tmpBBXX2 is %d\n",tmpBBXX2);					Pthread_mutex_unlock( &fLock.BBtmp2_FLOCK);					return 1;				}				else if( ret == 0 )				{					//Add newly message to file_BBtmp1					printf("**********Add newly message to file_BBtmp1************\n");					fp = Fopen( "BBtmp1.data","w+");					Fwrite( &newMesg.bbxx,LEN_BBXX,1,fp );					Fclose( fp );					tmpBBXX1++;					printf("tmpBBXX1 is %d\n",tmpBBXX1);					Pthread_mutex_unlock( &fLock.BBtmp1_FLOCK );					return 1;					}							}			else if( stat( "BBtmp2.data",&buf ) == 0 )//file BBtmp2 exist			{				printf("File BBtmp2 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.BBtmp2_FLOCK )) == EBUSY )				{					//Add newly message to file_BBtmp1					Pthread_mutex_trylock( &fLock.BBtmp1_FLOCK);					printf("**********Add newly message to file_BBtmp1************\n");					fp = Fopen( "BBtmp1.data","w+");					Fwrite( &newMesg.bbxx,LEN_BBXX,1,fp );					Fclose( fp );					tmpBBXX2++;					printf("tmpBBXX2 is %d\n",tmpBBXX2);					Pthread_mutex_unlock( &fLock.BBtmp1_FLOCK);					return 1;				}					else if( ret == 0)				{					//Add newly message to file_BBtmp2					printf("**********Add newly message to file_BBtmp2************\n");					fp = Fopen( "BBtmp2.data","w+");					Fwrite( &newMesg.bbxx,LEN_BBXX,1,fp );					Fclose( fp );					tmpBBXX1++;					printf("tmpBBXX1 is %d\n",tmpBBXX1);					Pthread_mutex_unlock( &fLock.BBtmp2_FLOCK );					return 1;				}			}			else			{				printf("Leave TempStore.\n");				return 0;			}		} 		break;	case	TYPE_OF_FKXX:		if( mode == CREAT )		{			printf("**********Add newly message to file_FKtmp1************\n");			Pthread_mutex_trylock( &fLock.FKtmp1_FLOCK);			fp = Fopen( "FKtmp1.data","a+");			Fwrite( &newMesg.fkxx,LEN_FKXX,1,fp );			Fclose( fp );			AddCount( INBOX, TYPE_OF_FKXX , 1);			tmpFKXX1++;			printf("File FKtmp1 is %d\n",tmpFKXX1);			Pthread_mutex_unlock( &fLock.FKtmp1_FLOCK );			return 1;		}		else if( mode == QUERY)		{			if( stat( "FKtmp1.data",&buf ) == 0 )			{	//file FKtmp1 exist				printf("File FKtmp1 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.FKtmp1_FLOCK)) == EBUSY )				{					//Add newly message to file_FKtmp2					Pthread_mutex_trylock( &fLock.FKtmp2_FLOCK);					printf("**********Add newly message to file_FKtmp2************\n");					fp = Fopen( "FKtmp2.data","a+");					Fwrite( &newMesg.fkxx,LEN_FKXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_FKXX , 1);					tmpFKXX2++;					printf("tmpFKXX2 is %d\n",tmpFKXX2);					Pthread_mutex_unlock( &fLock.FKtmp2_FLOCK);					return 1;				}				else if( ret == 0 )				{					//Add newly message to file_FKtmp1					printf("**********Add newly message to file_FKtmp1************\n");					fp = Fopen( "FKtmp1.data","a+");					Fwrite( &newMesg.fkxx,LEN_FKXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_FKXX , 1);					tmpFKXX1++;					printf("tmpFKXX1 is %d\n",tmpFKXX1);					Pthread_mutex_unlock( &fLock.FKtmp1_FLOCK );					return 1;					}							}			else if( stat( "FKtmp2.data",&buf ) == 0 )//file DWtmp2 exist			{				printf("File FKtmp2 exist!\n" );				if( (ret=Pthread_mutex_trylock( &fLock.FKtmp2_FLOCK )) == EBUSY )				{					//Add newly message to file_FKtmp1					Pthread_mutex_trylock( &fLock.FKtmp1_FLOCK);					printf("**********Add newly message to file_FKtmp1************\n");					fp = Fopen( "FKtmp1.data","a+");					Fwrite( &newMesg.fkxx,LEN_FKXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_FKXX , 1);					tmpFKXX2++;					printf("tmpFKXX2 is %d\n",tmpFKXX2);					Pthread_mutex_unlock( &fLock.FKtmp1_FLOCK);					return 1;				}					else if( ret == 0)				{					//Add newly message to file_FKtmp2					printf("**********Add newly message to file_FKtmp2************\n");					fp = Fopen( "FKtmp2.data","a+");					Fwrite( &newMesg.fkxx,LEN_FKXX,1,fp );					Fclose( fp );					AddCount( INBOX, TYPE_OF_FKXX , 1);					tmpFKXX1++;					printf("tmpFKXX1 is %d\n",tmpFKXX1);					Pthread_mutex_unlock( &fLock.FKtmp2_FLOCK );					return 1;				}			}			else			{				printf("Leave TempStore.\n");				return 0;			}		} 				break;	}}/* Automatically  write the new record to the appropriate file */void AutoRecord( MESGTYPE mesgType){	int  ret;	FILE *fp;	printf("Enter AutoRecord.\n");	switch( mesgType )	{	case	TYPE_OF_DWXX: 		//If there is no temp file in current directory,we can record it to main file directly

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -