Add convertion function from string to macaddress
This commit is contained in:
parent
a7e9ab26a1
commit
680354c842
@ -1275,6 +1275,8 @@ void capwap_interface_list(struct capwap_network* net, struct capwap_list* list)
|
|||||||
freeifaddrs(ifaddrlist);
|
freeifaddrs(ifaddrlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* */
|
||||||
char* capwap_printf_macaddress(char* buffer, unsigned char* macaddress, int type) {
|
char* capwap_printf_macaddress(char* buffer, unsigned char* macaddress, int type) {
|
||||||
if (type == MACADDRESS_EUI48_LENGTH) {
|
if (type == MACADDRESS_EUI48_LENGTH) {
|
||||||
sprintf(buffer, "%02x:%02x:%02x:%02x:%02x:%02x", macaddress[0], macaddress[1], macaddress[2], macaddress[3], macaddress[4], macaddress[5]);
|
sprintf(buffer, "%02x:%02x:%02x:%02x:%02x:%02x", macaddress[0], macaddress[1], macaddress[2], macaddress[3], macaddress[4], macaddress[5]);
|
||||||
@ -1286,3 +1288,20 @@ char* capwap_printf_macaddress(char* buffer, unsigned char* macaddress, int type
|
|||||||
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
int capwap_scanf_macaddress(unsigned char* macaddress, const char* buffer, int type) {
|
||||||
|
if (type == MACADDRESS_EUI48_LENGTH) {
|
||||||
|
if (sscanf(buffer, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddress[0], &macaddress[1], &macaddress[2], &macaddress[3], &macaddress[4], &macaddress[5]) != 6) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} else if (type == MACADDRESS_EUI64_LENGTH) {
|
||||||
|
if (sscanf(buffer, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddress[0], &macaddress[1], &macaddress[2], &macaddress[3], &macaddress[4], &macaddress[5], &macaddress[6], &macaddress[7]) != 8) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
@ -93,5 +93,6 @@ int capwap_address_from_string(const char* ip, struct sockaddr_storage* address)
|
|||||||
int capwap_get_localaddress_by_remoteaddress(struct sockaddr_storage* local, struct sockaddr_storage* remote, char* oif, int ipv6dualstack);
|
int capwap_get_localaddress_by_remoteaddress(struct sockaddr_storage* local, struct sockaddr_storage* remote, char* oif, int ipv6dualstack);
|
||||||
|
|
||||||
char* capwap_printf_macaddress(char* buffer, unsigned char* macaddress, int type);
|
char* capwap_printf_macaddress(char* buffer, unsigned char* macaddress, int type);
|
||||||
|
int capwap_scanf_macaddress(unsigned char* macaddress, const char* buffer, int type);
|
||||||
|
|
||||||
#endif /* __CAPWAP_NETWORK_HEADER__ */
|
#endif /* __CAPWAP_NETWORK_HEADER__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user