📄 mess_mms_encode.c
字号:
//编码内容中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 + -