/**ernest 20161129*/
#include "unistd.h"
#include "fcntl.h"
#include "stdio.h"
#include <stdlib.h>
#include "Program_Global.h"
#include "read_imei_2_mac.h"
#define IMEI_PATH "/home/IMEI_ID/IMEI_ID.txt"
BYTE Const_Termination_Unique_MAC_ID[6] = { 0x00,0x00,0x00,0x00,0x00,0x00 }; //Define it in Terminal_Protocol_Data_Struct.h
char S_MAC_ID[13];
void Read_Mac_Init(void)
{
char buf[20];
long long num_imei=0;
int fd=0;
BYTE i;
fd = open(IMEI_PATH,O_RDONLY,0777);
if (fd == -1)
{
perror("open IMEI_PATH ERR\n");
exit(EXIT_FAILURE);
}
if(read(fd,&buf,15)==-1)
{
perror("read IMEI_PATH ERR\n");
exit(EXIT_FAILURE);
}
else
{
//printf("IMEI_readorg:%s\n",buf);
if(strcmp(buf,"000000000000000")==0)
{
printf("IMEI_ERR,rm /home/IMEI_ID/IMEI_ID.txt and #EIXT!#\n");
system("rm /home/IMEI_ID/IMEI_ID.txt");
exit(EXIT_FAILURE);
}
buf[14]='\0';
printf("IMEI_read_s:%s\n",buf);
num_imei = atoll(buf);//strtol(buf, NULL, 10 );
printf("%012llx\n",num_imei);
//printf("%012lld\n",num_imei);
///输出有问题
// memset(S_MAC_ID,0,sizeof(S_MAC_ID));
// sprintf(S_MAC_ID,"%012llx",1234);
// printf("S_MAC_ID_test:%s\n",S_MAC_ID);
Const_Termination_Unique_MAC_ID[5] = (BYTE)(num_imei&0x00000000000000FF);
Const_Termination_Unique_MAC_ID[4] = (BYTE)((num_imei&0x000000000000FF00)>>8);
Const_Termination_Unique_MAC_ID[3] = (BYTE)((num_imei&0x0000000000FF0000)>>16);
Const_Termination_Unique_MAC_ID[2] = (BYTE)((num_imei&0x00000000FF000000)>>24);
Const_Termination_Unique_MAC_ID[1] = (BYTE)((num_imei&0x000000FF00000000)>>32);
Const_Termination_Unique_MAC_ID[0] = (BYTE)((num_imei&0x0000FF0000000000)>>40);
printf("\nMAC地址: ");
for(i=0;i<6;i++)
{
printf("%02X:",Const_Termination_Unique_MAC_ID[i] );
}
printf("\n");
memset(S_MAC_ID,0,sizeof(S_MAC_ID));
sprintf(S_MAC_ID,"%02X%02X%02X%02X%02X%02X",Const_Termination_Unique_MAC_ID[0],
Const_Termination_Unique_MAC_ID[1],
Const_Termination_Unique_MAC_ID[2],
Const_Termination_Unique_MAC_ID[3],
Const_Termination_Unique_MAC_ID[4],
Const_Termination_Unique_MAC_ID[5]
);
printf("S_MAC_ID:%s\n",S_MAC_ID);
}
}
#include "unistd.h"
#include "fcntl.h"
#include "stdio.h"
#include <stdlib.h>
#include "Program_Global.h"
#include "read_imei_2_mac.h"
#define IMEI_PATH "/home/IMEI_ID/IMEI_ID.txt"
BYTE Const_Termination_Unique_MAC_ID[6] = { 0x00,0x00,0x00,0x00,0x00,0x00 }; //Define it in Terminal_Protocol_Data_Struct.h
char S_MAC_ID[13];
void Read_Mac_Init(void)
{
char buf[20];
long long num_imei=0;
int fd=0;
BYTE i;
fd = open(IMEI_PATH,O_RDONLY,0777);
if (fd == -1)
{
perror("open IMEI_PATH ERR\n");
exit(EXIT_FAILURE);
}
if(read(fd,&buf,15)==-1)
{
perror("read IMEI_PATH ERR\n");
exit(EXIT_FAILURE);
}
else
{
//printf("IMEI_readorg:%s\n",buf);
if(strcmp(buf,"000000000000000")==0)
{
printf("IMEI_ERR,rm /home/IMEI_ID/IMEI_ID.txt and #EIXT!#\n");
system("rm /home/IMEI_ID/IMEI_ID.txt");
exit(EXIT_FAILURE);
}
buf[14]='\0';
printf("IMEI_read_s:%s\n",buf);
num_imei = atoll(buf);//strtol(buf, NULL, 10 );
printf("%012llx\n",num_imei);
//printf("%012lld\n",num_imei);
///输出有问题
// memset(S_MAC_ID,0,sizeof(S_MAC_ID));
// sprintf(S_MAC_ID,"%012llx",1234);
// printf("S_MAC_ID_test:%s\n",S_MAC_ID);
Const_Termination_Unique_MAC_ID[5] = (BYTE)(num_imei&0x00000000000000FF);
Const_Termination_Unique_MAC_ID[4] = (BYTE)((num_imei&0x000000000000FF00)>>8);
Const_Termination_Unique_MAC_ID[3] = (BYTE)((num_imei&0x0000000000FF0000)>>16);
Const_Termination_Unique_MAC_ID[2] = (BYTE)((num_imei&0x00000000FF000000)>>24);
Const_Termination_Unique_MAC_ID[1] = (BYTE)((num_imei&0x000000FF00000000)>>32);
Const_Termination_Unique_MAC_ID[0] = (BYTE)((num_imei&0x0000FF0000000000)>>40);
printf("\nMAC地址: ");
for(i=0;i<6;i++)
{
printf("%02X:",Const_Termination_Unique_MAC_ID[i] );
}
printf("\n");
memset(S_MAC_ID,0,sizeof(S_MAC_ID));
sprintf(S_MAC_ID,"%02X%02X%02X%02X%02X%02X",Const_Termination_Unique_MAC_ID[0],
Const_Termination_Unique_MAC_ID[1],
Const_Termination_Unique_MAC_ID[2],
Const_Termination_Unique_MAC_ID[3],
Const_Termination_Unique_MAC_ID[4],
Const_Termination_Unique_MAC_ID[5]
);
printf("S_MAC_ID:%s\n",S_MAC_ID);
}
}