444 lines
21 KiB
C++
444 lines
21 KiB
C++
#include <iwlib.h>
|
|
#include <fstream>
|
|
#include <sstream>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>
|
|
#include <netdb.h>
|
|
#include <net/if.h>
|
|
#include <sys/types.h>
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include <cstdio>
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
typedef struct _couple_info{
|
|
unsigned char ap_mac_addr_bytes[6]; // Adresse MAC de l'AP
|
|
int antenna_signal_dbm; // Puissance du signal reçu par l'AP
|
|
} couple_info;
|
|
|
|
typedef struct _demande{
|
|
unsigned char ag_mac_addr_bytes[6]; // Adresse MAC de l'Aggregateur émetteur de la demande
|
|
int nb_couples; // Nombre couples (MAC AP;Puissance)
|
|
} demande;
|
|
|
|
char* mac_bytes_to_string(unsigned char *mac_binary) ;
|
|
int create_udp_sending_socket(char *server_address, int server_port, struct sockaddr_in *server_description, struct sockaddr_in * client_description) ;
|
|
void get_mac_addr(char *eth, unsigned char mac_bytes[6]);
|
|
int split(string buffer, vector<couple_info> &envoi_info);
|
|
unsigned char convertuchar(char *caractere, int);
|
|
|
|
int main(int argc, char **argv){
|
|
|
|
int sockfd, n = 0;
|
|
struct sockaddr_in serv;
|
|
struct sockaddr_in client;
|
|
unsigned char mac[6];
|
|
ifstream fichier(argv[3]);
|
|
string cppbuffer;
|
|
|
|
vector<couple_info> envoi_info;
|
|
demande envoi_demande;
|
|
|
|
|
|
if (argc != 4){
|
|
cerr << "usage: Client IPaddress interface fichier" << endl;
|
|
exit(1);
|
|
}
|
|
|
|
sockfd = create_udp_sending_socket(argv[1], 1234, &serv, &client);
|
|
|
|
if(sockfd < 0){
|
|
cerr << "Erreur ! Impossible de créer la socket vers le serveur de localisation" << endl;
|
|
return 1;
|
|
}
|
|
get_mac_addr(argv[2], mac) ;
|
|
memcpy(envoi_demande.ag_mac_addr_bytes, mac, 6);
|
|
|
|
if(fichier){
|
|
getline(fichier, cppbuffer);
|
|
envoi_demande.nb_couples = split(cppbuffer, envoi_info);
|
|
}
|
|
|
|
n = sendto(sockfd, (void *)&envoi_demande, sizeof(envoi_demande), 0, (struct sockaddr *)&serv, (socklen_t) sizeof(serv)) ;
|
|
|
|
for(int i = 0; i < envoi_demande.nb_couples; i++)
|
|
sendto(sockfd, (void *)&envoi_info.at(i), sizeof(couple_info), 0, (struct sockaddr *)&serv, (socklen_t) sizeof(serv));
|
|
|
|
exit(0);
|
|
}
|
|
|
|
void get_mac_addr(char *eth, unsigned char mac_bytes[6])
|
|
{
|
|
struct ifreq ifr;
|
|
int sockfd ;
|
|
|
|
bzero(mac_bytes, sizeof(unsigned char) * 6) ; // RàZ
|
|
|
|
sockfd = socket(AF_INET, SOCK_DGRAM, 0) ;
|
|
if(sockfd < 0)
|
|
perror("Impossible d'ouvrir la socket pour récupérer l'adresse MAC ") ;
|
|
|
|
strncpy(ifr.ifr_name, eth, IFNAMSIZ) ;
|
|
|
|
if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0)
|
|
return ;
|
|
|
|
if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) < 0)
|
|
return ;
|
|
|
|
memcpy(mac_bytes, ifr.ifr_hwaddr.sa_data, 6) ;
|
|
}
|
|
|
|
int split(string buffer, vector<couple_info> &envoi_info){
|
|
|
|
unsigned char mac[6];
|
|
int valueI;
|
|
char c[4];
|
|
couple_info elem;
|
|
int i = 0;
|
|
int nb = 0;
|
|
|
|
while(i < buffer.size()){
|
|
|
|
for(int j = 0; j < 6; j++){
|
|
c[0] = buffer[i++];
|
|
c[1] = buffer[i++];
|
|
c[2] = '\0';
|
|
mac[j] = convertuchar(c, 0);
|
|
i++;
|
|
}
|
|
c[0] = buffer[i++];
|
|
c[1] = buffer[i++];
|
|
c[2] = buffer[i++];
|
|
c[3] = '\0';
|
|
i++;
|
|
valueI = atoi(c);
|
|
memcpy(elem.ap_mac_addr_bytes, mac, 6);
|
|
elem.antenna_signal_dbm = valueI;
|
|
envoi_info.resize(nb+1);
|
|
envoi_info.at(nb) = elem;
|
|
nb++;
|
|
}
|
|
|
|
return nb;
|
|
}
|
|
|
|
char* mac_bytes_to_string(unsigned char *mac_binary)
|
|
{
|
|
char *ret = (char *)malloc(sizeof(char) * 18) ;
|
|
|
|
sprintf(ret, "%02x:%02x:%02x:%02x:%02x:%02x", mac_binary[0], mac_binary[1], mac_binary[2], mac_binary[3], mac_binary[4], mac_binary[5]) ;
|
|
ret[17] = '\0' ;
|
|
|
|
return ret ;
|
|
}
|
|
|
|
int create_udp_sending_socket(char *server_address, int server_port, struct sockaddr_in *server_description, struct sockaddr_in * client_description){
|
|
|
|
int sockfd ; // Descripteur de la socket
|
|
|
|
/* Ceation de la socket UDP */
|
|
sockfd = socket(AF_INET, SOCK_DGRAM, 0) ;
|
|
if (sockfd < 0){
|
|
cerr << "Échec de la création de la socket " << endl;
|
|
return sockfd;
|
|
}
|
|
|
|
/* Remise à zéro et initialisation de la structure du client */
|
|
bzero((char *) client_description, sizeof(*client_description)) ;
|
|
client_description->sin_family = AF_INET ; // Socket INET
|
|
client_description->sin_addr.s_addr = htonl(INADDR_ANY) ; // Toutes les connexions
|
|
|
|
/* Remise à zéro et initialisation de la structure du serveur */
|
|
bzero((char *) server_description, sizeof(*server_description)) ; // RÀZ
|
|
server_description->sin_family = AF_INET ; // Socket INET
|
|
server_description->sin_addr.s_addr = inet_addr(server_address) ; // Adresse du serveur
|
|
server_description->sin_port = htons(server_port) ; // Port d'écoute du serveur
|
|
|
|
return sockfd ; // On retourne le descripteur de la socket créée
|
|
}
|
|
|
|
unsigned char convertuchar(char *caractere, int debut) {
|
|
|
|
int i = debut;
|
|
|
|
if (caractere[i] == '0' && caractere[i + 1] == '0') return 0x00;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '1') return 0x01;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '2') return 0x02;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '3') return 0x03;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '4') return 0x04;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '5') return 0x05;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '6') return 0x06;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '7') return 0x07;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '8') return 0x08;
|
|
if (caractere[i] == '0' && caractere[i + 1] == '9') return 0x09;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'a') return 0x0a;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'b') return 0x0b;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'c') return 0x0c;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'd') return 0x0d;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'e') return 0x0e;
|
|
if (caractere[i] == '0' && caractere[i + 1] == 'f') return 0x0f;
|
|
|
|
if (caractere[i] == '1' && caractere[i + 1] == '0') return 0x10;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '1') return 0x11;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '2') return 0x12;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '3') return 0x13;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '4') return 0x14;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '5') return 0x15;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '6') return 0x16;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '7') return 0x17;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '8') return 0x18;
|
|
if (caractere[i] == '1' && caractere[i + 1] == '9') return 0x19;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'a') return 0x1a;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'b') return 0x1b;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'c') return 0x1c;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'd') return 0x1d;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'e') return 0x1e;
|
|
if (caractere[i] == '1' && caractere[i + 1] == 'f') return 0x1f;
|
|
|
|
if (caractere[i] == '2' && caractere[i + 1] == '0') return 0x20;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '1') return 0x21;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '2') return 0x22;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '3') return 0x23;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '4') return 0x24;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '5') return 0x25;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '6') return 0x26;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '7') return 0x27;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '8') return 0x28;
|
|
if (caractere[i] == '2' && caractere[i + 1] == '9') return 0x29;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'a') return 0x2a;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'b') return 0x2b;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'c') return 0x2c;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'd') return 0x2d;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'e') return 0x2e;
|
|
if (caractere[i] == '2' && caractere[i + 1] == 'f') return 0x2f;
|
|
|
|
if (caractere[i] == '3' && caractere[i + 1] == '0') return 0x30;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '1') return 0x31;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '2') return 0x32;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '3') return 0x33;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '4') return 0x34;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '5') return 0x35;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '6') return 0x36;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '7') return 0x37;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '8') return 0x38;
|
|
if (caractere[i] == '3' && caractere[i + 1] == '9') return 0x39;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'a') return 0x3a;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'b') return 0x3b;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'c') return 0x3c;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'd') return 0x3d;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'e') return 0x3e;
|
|
if (caractere[i] == '3' && caractere[i + 1] == 'f') return 0x3f;
|
|
|
|
if (caractere[i] == '4' && caractere[i + 1] == '0') return 0x40;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '1') return 0x41;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '2') return 0x42;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '3') return 0x43;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '4') return 0x44;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '5') return 0x45;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '6') return 0x46;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '7') return 0x47;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '8') return 0x48;
|
|
if (caractere[i] == '4' && caractere[i + 1] == '9') return 0x49;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'a') return 0x4a;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'b') return 0x4b;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'c') return 0x4c;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'd') return 0x4d;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'e') return 0x4e;
|
|
if (caractere[i] == '4' && caractere[i + 1] == 'f') return 0x4f;
|
|
|
|
if (caractere[i] == '5' && caractere[i + 1] == '0') return 0x50;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '1') return 0x51;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '2') return 0x52;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '3') return 0x53;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '4') return 0x54;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '5') return 0x55;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '6') return 0x56;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '7') return 0x57;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '8') return 0x58;
|
|
if (caractere[i] == '5' && caractere[i + 1] == '9') return 0x59;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'a') return 0x5a;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'b') return 0x5b;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'c') return 0x5c;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'd') return 0x5d;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'e') return 0x5e;
|
|
if (caractere[i] == '5' && caractere[i + 1] == 'f') return 0x5f;
|
|
|
|
if (caractere[i] == '6' && caractere[i + 1] == '0') return 0x60;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '1') return 0x61;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '2') return 0x62;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '3') return 0x63;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '4') return 0x64;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '5') return 0x65;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '6') return 0x66;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '7') return 0x67;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '8') return 0x68;
|
|
if (caractere[i] == '6' && caractere[i + 1] == '9') return 0x69;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'a') return 0x6a;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'b') return 0x6b;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'c') return 0x6c;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'd') return 0x6d;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'e') return 0x6e;
|
|
if (caractere[i] == '6' && caractere[i + 1] == 'f') return 0x6f;
|
|
|
|
if (caractere[i] == '7' && caractere[i + 1] == '0') return 0x70;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '1') return 0x71;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '2') return 0x72;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '3') return 0x73;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '4') return 0x74;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '5') return 0x75;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '6') return 0x76;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '7') return 0x77;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '8') return 0x78;
|
|
if (caractere[i] == '7' && caractere[i + 1] == '9') return 0x79;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'a') return 0x7a;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'b') return 0x7b;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'c') return 0x7c;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'd') return 0x7d;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'e') return 0x7e;
|
|
if (caractere[i] == '7' && caractere[i + 1] == 'f') return 0x7f;
|
|
|
|
if (caractere[i] == '8' && caractere[i + 1] == '0') return 0x80;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '1') return 0x81;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '2') return 0x82;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '3') return 0x83;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '4') return 0x84;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '5') return 0x85;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '6') return 0x86;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '7') return 0x87;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '8') return 0x88;
|
|
if (caractere[i] == '8' && caractere[i + 1] == '9') return 0x89;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'a') return 0x8a;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'b') return 0x8b;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'c') return 0x8c;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'd') return 0x8d;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'e') return 0x8e;
|
|
if (caractere[i] == '8' && caractere[i + 1] == 'f') return 0x8f;
|
|
|
|
if (caractere[i] == '9' && caractere[i + 1] == '0') return 0x90;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '1') return 0x91;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '2') return 0x92;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '3') return 0x93;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '4') return 0x94;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '5') return 0x95;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '6') return 0x96;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '7') return 0x97;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '8') return 0x98;
|
|
if (caractere[i] == '9' && caractere[i + 1] == '9') return 0x99;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'a') return 0x9a;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'b') return 0x9b;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'c') return 0x9c;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'd') return 0x9d;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'e') return 0x9e;
|
|
if (caractere[i] == '9' && caractere[i + 1] == 'f') return 0x9f;
|
|
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '0') return 0xa0;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '1') return 0xa1;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '2') return 0xa2;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '3') return 0xa3;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '4') return 0xa4;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '5') return 0xa5;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '6') return 0xa6;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '7') return 0xa7;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '8') return 0xa8;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == '9') return 0xa9;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'a') return 0xaa;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'b') return 0xab;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'c') return 0xac;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'd') return 0xad;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'e') return 0xae;
|
|
if (caractere[i] == 'a' && caractere[i + 1] == 'f') return 0xaf;
|
|
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '0') return 0xb0;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '1') return 0xb1;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '2') return 0xb2;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '3') return 0xb3;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '4') return 0xb4;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '5') return 0xb5;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '6') return 0xb6;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '7') return 0xb7;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '8') return 0xb8;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == '9') return 0xb9;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'a') return 0xba;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'b') return 0xbb;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'c') return 0xbc;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'd') return 0xbd;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'e') return 0xbe;
|
|
if (caractere[i] == 'b' && caractere[i + 1] == 'f') return 0xbf;
|
|
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '0') return 0xc0;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '1') return 0xc1;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '2') return 0xc2;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '3') return 0xc3;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '4') return 0xc4;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '5') return 0xc5;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '6') return 0xc6;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '7') return 0xc7;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '8') return 0xc8;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == '9') return 0xc9;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'a') return 0xca;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'b') return 0xcb;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'c') return 0xcc;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'd') return 0xcd;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'e') return 0xce;
|
|
if (caractere[i] == 'c' && caractere[i + 1] == 'f') return 0xcf;
|
|
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '0') return 0xd0;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '1') return 0xd1;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '2') return 0xd2;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '3') return 0xd3;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '4') return 0xd4;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '5') return 0xd5;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '6') return 0xd6;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '7') return 0xd7;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '8') return 0xd8;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == '9') return 0xd9;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'a') return 0xda;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'b') return 0xdb;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'c') return 0xdc;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'd') return 0xdd;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'e') return 0xde;
|
|
if (caractere[i] == 'd' && caractere[i + 1] == 'f') return 0xdf;
|
|
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '0') return 0xe0;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '1') return 0xe1;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '2') return 0xe2;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '3') return 0xe3;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '4') return 0xe4;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '5') return 0xe5;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '6') return 0xe6;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '7') return 0xe7;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '8') return 0xe8;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == '9') return 0xe9;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'a') return 0xea;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'b') return 0xeb;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'c') return 0xec;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'd') return 0xed;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'e') return 0xee;
|
|
if (caractere[i] == 'e' && caractere[i + 1] == 'f') return 0xef;
|
|
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '0') return 0xf0;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '1') return 0xf1;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '2') return 0xf2;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '3') return 0xf3;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '4') return 0xf4;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '5') return 0xf5;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '6') return 0xf6;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '7') return 0xf7;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '8') return 0xf8;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == '9') return 0xf9;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'a') return 0xfa;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'b') return 0xfb;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'c') return 0xfc;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'd') return 0xfd;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'e') return 0xfe;
|
|
if (caractere[i] == 'f' && caractere[i + 1] == 'f') return 0xff;
|
|
|
|
return 0x00;
|
|
}
|