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

📄 mess_mms_encode.c

📁 彩信的编码解码(代码化)
💻 C
📖 第 1 页 / 共 2 页
字号:
	//编码内容中content_type值
}

/************************************************
编码content_type值域函数
*************************************************/
UC* EncodeContentypeHeaderValue(UC *stream)
{
//编码content_type值域
}

/************************************************
*彩信编码主体函数
*************************************************/
UC * _MmsEncode(MMS_STRUCTION *messmms)
{	
//编码主函数
}


#if 0
						/*		外部使用示例		*/
/******************************   UNUSED  ******************************************/

void main()  //预先设定,全部仅用于测试
{
	UC *Contentmp;
	UC *streamofmms = NULL;
	UL32 nType = 2;

	//streamofmms = ( UC* )malloc(sizeof(UC));
	messmms = (MMS_STRUCTION* ) malloc(sizeof(MMS_STRUCTION));
	messmms->body = (MMS_BODY*) malloc (nType*sizeof(MMS_BODY));  
	messmms->to = (TO*) malloc (sizeof(TO));
	messmms->bcc =(BCC*) malloc (sizeof(BCC));
	messmms->cc = (CC*) malloc (sizeof(CC));

	UL32 mediarraylen[]={0x1810,95};
	UL32 *smedia = mediarraylen;
	UL32 i;
	for(i=0;i<nType;i++)
	{
		messmms->body[i].mediarray = (UC*) SpaceMalloc (smedia[i] * sizeof(UC));
	}

	messmms->messagetype = m_send_req;
		UC string1[]={0x31,0x32,0x33,0x00};
		Contentmp = (UC *) SpaceMalloc (4  * sizeof(UC *));
	messmms->transcationid = StoringToArray(string1,Contentmp,0,4); 
	messmms->version = 0x90;

	messmms->date.datecontent.year = 2006;
	messmms->date.datecontent.month = 10;
	messmms->date.datecontent.day = 10;
	messmms->date.datecontent.hour = 9;
	messmms->date.datecontent.minute = 10;
	messmms->date.datecontent.second = 40;
	messmms->date.datelength = 4;

		UC string2[]={0x2B, 0x38, 0x36, 0x31, 0x33, 0x38, 0x35, 0x39, 
					 0x39, 0x30, 0x31, 0x39, 0x33, 0x35, 0x2F, 0x54, 
					 0x59, 0x50, 0x45, 0x3D, 0x50, 0x4C, 0x4D, 0x4E,0x00};
		Contentmp = (UC *) SpaceMalloc (25	* sizeof(UC ));
	messmms->to[0].content = StoringToArray(string2,Contentmp,0,25); 

		UC string3[]={0x2B, 0x38, 0x36, 0x31, 0x33, 0x38, 0x35, 0x39, 
					  0x39, 0x30, 0x31, 0x39, 0x32, 0x30, 0x2F, 0x54, 
					  0x59, 0x50, 0x45, 0x3D, 0x50, 0x4C, 0x4D, 0x4E,0x00};
		Contentmp = (UC *) SpaceMalloc (25	* sizeof(UC ));
	messmms->to[1].content = StoringToArray(string3,Contentmp,0,25); 
	messmms->to->number = 2;

		UC string4[]={0x53, 0x6D, 0x61, 0x72, 0x74, 0x46, 0x6F, 0x78, 
					  0x20, 0x4D, 0x4D, 0x53, 0x20, 0x43, 0x6C, 0x69, 
					  0x65, 0x6E, 0x74,0x00};
		Contentmp = (UC *) SpaceMalloc (20	* sizeof(UC ));
	messmms->subject.content = StoringToArray(string4,Contentmp,0,20); 

	messmms->deliveryreport = No;
	messmms->sendervisibility = No;
	messmms->readreport = No;

	messmms->messageclass = Personal;
	messmms->messageclasstext = NULL;

	messmms->expiry.datecontent.year = 2006;
	messmms->expiry.datecontent.month = 10;
	messmms->expiry.datecontent.day = 10;
	messmms->expiry.datecontent.hour = 9;
	messmms->expiry.datecontent.minute = 10;
	messmms->expiry.datecontent.second = 40;
	messmms->expiry.length = 6;
	messmms->expiry.datelength = 4;
	messmms->expiry.tokentype = Absolute_token;

	messmms->deliverytime.datecontent.year = 2006;
	messmms->deliverytime.datecontent.month = 10;
	messmms->deliverytime.datecontent.day = 10;
	messmms->deliverytime.datecontent.hour = 9;
	messmms->deliverytime.datecontent.minute = 10;
	messmms->deliverytime.datecontent.second = 40;
	messmms->deliverytime.length = 6;
	messmms->deliverytime.datelength = 4;
	messmms->deliverytime.tokentype = Absolute_token;

	messmms->retrievestate = Ok;  
	messmms->retrievetext = NULL;

	messmms->responsestate = UNUSED;  //当状态字段没有出现的时候,置为 unused
	messmms->responsetext = NULL;

	messmms->storestate = UNUSED;
	messmms->storestatustext = NULL;
 
	messmms->priority = Low;

	messmms->from.content = NULL;
	messmms->from.length = NULL;
	messmms->from.type = NULL;

	messmms->cc = NULL; 

	messmms->bcc = NULL; 

	messmms->subject.length = NULL;
	messmms->subject.font = NULL;
	messmms->store = NULL;					
	messmms->mmstate = NULL;			
	messmms->responsetext = NULL;			
	messmms->messageid = NULL;					
	messmms->contentlocation = NULL;	
	messmms->storestatustext = NULL;		
	messmms->messagesize = NULL;			
	messmms->distributionindicator = NULL;	
	messmms->elementdescriptor = NULL;		
	messmms->reportallowed = NULL;	
	messmms->retrievetext = NULL;
	messmms->readstatus = NULL; 	

	messmms->Contentype.contentypename = application_vnd_wap_multipart_mixed;
	messmms->Contentype.contentypelength = NULL;
	messmms->Contentype.characterset = NULL;

	messmms->Contentype.accept = NULL;

	messmms->body->typenumber = 0x02;

	messmms->body[0].headerlength = 0x4D;
	messmms->body[0].datalength = 0x1810;

	messmms->body[0].Contentype.contentypetext = NULL;
	messmms->body[0].Contentype.contentypename = 0x9E;
	messmms->body[0].Contentype.contentlength = NULL;

	messmms->body[1].Contentype.contentypetext = NULL;
	messmms->body[1].Contentype.contentypename = 0x83;
	messmms->body[1].Contentype.contentlength = NULL;

		UC string5[]={0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 
					  0x72, 0x69, 0x67, 0x2E, 0x68, 0x6F, 0x73, 0x74, 
					  0x2F, 0x31, 0x30, 0x30, 0x32, 0x30, 0x35, 0x5F, 
					  0x30, 0x30, 0x33, 0x2E, 0x6A, 0x70, 0x67, 0x00};
		Contentmp = (UC *) SpaceMalloc (32	* sizeof(UC ));
	messmms->body[0].Contentype.wapcontenturl = StoringToArray(string5,Contentmp,0,32); 

		UC string6[]={0x43, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 
							0x74, 0x2D, 0x49, 0x44, 0x00};
		Contentmp = (UC *) SpaceMalloc (11	* sizeof(UC ));
	messmms->body[0].Contentype.contentidname = StoringToArray(string6,Contentmp,0,11); 

		UC string7[]={0x3C, 0x69, 0x64, 0x2D, 0x31, 0x30, 0x30, 0x30, 0x3E, 0x00};
		Contentmp = (UC *) SpaceMalloc (10	* sizeof(UC ));
	messmms->body[0].Contentype.contentid = StoringToArray(string7,Contentmp,0,10); 

		UC string8[]={0x31, 0x30, 0x30, 0x32, 0x30, 0x35, 0x5F, 0x30, 
					  0x30, 0x33, 0x2E, 0x6A, 0x70, 0x67, 0x00};
		Contentmp = (UC *) SpaceMalloc (15	* sizeof(UC ));
	messmms->body[0].Contentype.contentlocation = StoringToArray(string8,Contentmp,0,15);
	
	messmms->body[0].Contentype.date.datecontent.year = 2007;
	messmms->body[0].Contentype.date.datecontent.month = 1;
	messmms->body[0].Contentype.date.datecontent.day = 2;
	messmms->body[0].Contentype.date.datecontent.hour = 8;
	messmms->body[0].Contentype.date.datecontent.minute = 6;
	messmms->body[0].Contentype.date.datecontent.second = 41;
	messmms->body[0].Contentype.date.datelength = 4;

	messmms->body[0].Contentype.expires.datecontent.year = NULL;
	messmms->body[0].Contentype.expires.datecontent.month = NULL;
	messmms->body[0].Contentype.expires.datecontent.day = NULL;
	messmms->body[0].Contentype.expires.datecontent.minute = NULL;
	messmms->body[0].Contentype.expires.datecontent.hour= NULL;
	messmms->body[0].Contentype.expires.datecontent.second = NULL;
	messmms->body[0].Contentype.expires.datelength = NULL;

	/*		UC string9[]={ 0xFF, 0xD8, 0xFF, 0xDB, 0x00, 0x84, 0x00, 0x0A, 
					   0x07, 0x07, 0x08, 0x07, 0x06, 0x0A, 0x08, 0x08, 
					   0x08, 0x0B, 0x0A, 0x0A, 0x0B, 0x0E, 0x18, 0x10, 
					   0x0E, 0x0D, 0x0D, 0x0E, 0x1D, 0x15, 0x16, 0x11, 
					   0x18, 0x23, 0x1F, 0x25, 0x24, 0x22, 0x1F, 0x22, 
					   0x21, 0x26, 0x2B, 0x37, 0x2F, 0x26, 0x29, 0x34, 
					   0x29, 0x21, 0x22, 0x30, 0x41, 0x31, 0x34, 0x39, 
					   0x3B, 0x3E, 0x3E, 0x3E, 0x25, 0x2E, 0x44, 0x49, 
					   0x43, 0x3C, 0x48, 0x37, 0x3D, 0x3E, 0x3B, 0x01, 
					   0x0A, 0x0B, 0x0B, 0x0E, 0x0D, 0x0E, 0x1C, 0x10, 
					   0x10, 0x1C, 0x3B, 0x28, 0x22, 0x28, 0x3B, 0x3B, 
					   0x3B, 0x3B, 0x3B, 0x3B};
	UL32 ib,ibp=0;
	UC *sib =  string9;
	for(ib=0;ib<92;ib++)
	{
		messmms->body[0].mediarray[ib] = sib[ibp++];
	}*/
	messmms->body[0].mediarray[0] = NULL;

		UC string10[]={0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 
						0x72, 0x69, 0x67, 0x2E, 0x68, 0x6F, 0x73, 0x74, 
						0x2F,0x61, 0x6D, 0x6F, 0x69, 0x5F, 0x66,0x74, 
						0x70,0x2E, 0x74, 0x78, 0x74, 0x00};
		Contentmp = (UC *) SpaceMalloc (30	* sizeof(UC ));
	messmms->body[1].Contentype.wapcontenturl = StoringToArray(string10,Contentmp,0,30); 

		UC string11[]={0x43,0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x2D, 
					   0x49,0x44, 0x00};
		Contentmp = (UC *) SpaceMalloc (11 * sizeof(UC ));
	messmms->body[1].Contentype.contentidname = StoringToArray(string11,Contentmp,0,11);

	UC string12[]={0x3C, 0x69, 0x64, 0x2D, 0x31, 0x30, 0x30, 0x32, 
					   0x3E, 0x00};
		Contentmp = (UC *) SpaceMalloc (10	* sizeof(UC ));
	messmms->body[1].Contentype.contentid = StoringToArray(string12,Contentmp,0,10);

		UC string13[]={0x61, 0x6D, 0x6F, 0x69, 0x5F, 0x66, 0x74, 0x70, 
					   0x2E, 0x74, 0x78, 0x74, 0x00};
		Contentmp = (UC *) SpaceMalloc (13	* sizeof(UC ));
	messmms->body[1].Contentype.contentlocation = StoringToArray(string13,Contentmp,0,13); 

	messmms->body[1].headerlength = 0x49;
	messmms->body[1].datalength = 95;

		messmms->body[1].Contentype.date.datecontent.year = 2007;
	messmms->body[1].Contentype.date.datecontent.month = 1;
	messmms->body[1].Contentype.date.datecontent.day = 2;
	messmms->body[1].Contentype.date.datecontent.hour = 8;
	messmms->body[1].Contentype.date.datecontent.minute = 6;
	messmms->body[1].Contentype.date.datecontent.second = 41;
	messmms->body[1].Contentype.date.datelength = 4;

	messmms->body[1].Contentype.expires.datecontent.year = NULL;
	messmms->body[1].Contentype.expires.datecontent.month = NULL;
	messmms->body[1].Contentype.expires.datecontent.day = NULL;
	messmms->body[1].Contentype.expires.datecontent.minute = NULL;
	messmms->body[1].Contentype.expires.datecontent.hour= NULL;
	messmms->body[1].Contentype.expires.datecontent.second = NULL;
	messmms->body[1].Contentype.expires.datelength = NULL;
	
/*		UC string14[]={0x75, 0x73, 0x65, 0x72, 0x3A, 0x61, 0x6D, 0x6F, 
					   0x69, 0x73, 0x6F, 0x66, 0x74, 0x0D, 0x0A, 0x70, 
					   0x61, 0x73, 0x73, 0x3A, 0x75, 0x69, 0x6C, 0x78, 
					   0x37, 0x64, 0x34, 0x6E, 0x64, 0x30, 0x23, 0x43, 
					   0x0D, 0x0A, 0x31, 0x30, 0x2E, 0x31, 0x30, 0x30, 
					   0x2E, 0x35, 0x31, 0x2E, 0x32, 0x34, 0x0D, 0x0A, 
					   0x0D, 0x0A, 0x32, 0xA1, 0xA2, 0xD5, 0xCA, 0xBA, 
					   0xC5, 0xA3, 0xBA, 0x41, 0x6D, 0x6F, 0x69, 0x47, 
					   0x53, 0x4D, 0x47, 0x72, 0x6F, 0x75, 0x70, 0x20, 
					   0x0D, 0x0A, 0x20, 0x20, 0x20, 0xC3, 0xDC, 0xC2,	
					   0xEB, 0xA3, 0xBA, 0x66, 0x6E, 0x61, 0x23, 0x43, 
					   0x43, 0x25, 0x35, 0x77, 0x75, 0x34, 0x62};
	UL32 ic,icp=0;
	UC *sic =  string14;
	for(ic=0;ic<95;ic++)
	{
		messmms->body[1].mediarray[ic] = sic[icp++];
	}*/messmms->body[1].mediarray[0] = NULL;

	streamofmms =  _MmsEncode(messmms);	 //编码接口
	
	free(streamofmms);	 // 外部释放	   
}
#endif





⌨️ 快捷键说明

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