common.c File Reference

wpa_supplicant/hostapd / common helper functions, etc. More...

#include "includes.h"
#include "common.h"

Include dependency graph for common.c:

Go to the source code of this file.

Functions

int hwaddr_aton (const char *txt, u8 *addr)
 Convert ASCII string to MAC address.
int hexstr2bin (const char *hex, u8 *buf, size_t len)
 Convert ASCII hex string into binary data.
void inc_byte_array (u8 *counter, size_t len)
 Increment arbitrary length byte array by one.
void wpa_get_ntp_timestamp (u8 *buf)
void wpa_debug_print_timestamp (void)
 Print timestamp for debug output.
void wpa_printf (int level, char *fmt,...)
 conditional printf
void wpa_hexdump (int level, const char *title, const u8 *buf, size_t len)
 conditional hex dump
void wpa_hexdump_key (int level, const char *title, const u8 *buf, size_t len)
 conditional hex dump, hide keys
void wpa_hexdump_ascii (int level, const char *title, const u8 *buf, size_t len)
 conditional hex dump
void wpa_hexdump_ascii_key (int level, const char *title, const u8 *buf, size_t len)
 conditional hex dump, hide keys
int wpa_debug_open_file (void)
void wpa_debug_close_file (void)
void wpa_msg_register_cb (wpa_msg_cb_func func)
 Register callback function for wpa_msg() messages.
void wpa_msg (void *ctx, int level, char *fmt,...)
int wpa_snprintf_hex (char *buf, size_t buf_size, const u8 *data, size_t len)
 Print data as a hex string into a buffer.
int wpa_snprintf_hex_uppercase (char *buf, size_t buf_size, const u8 *data, size_t len)
 Print data as a upper case hex string into buf.
const char * wpa_ssid_txt (u8 *ssid, size_t ssid_len)
 Convert SSID to a printable string.

Variables

int wpa_debug_use_file = 0
int wpa_debug_level = MSG_INFO
int wpa_debug_show_keys = 0
int wpa_debug_timestamp = 0


Detailed Description

wpa_supplicant/hostapd / common helper functions, etc.

Copyright
Copyright (c) 2002-2006, Jouni Malinen <[email protected]>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Alternatively, this software may be distributed under the terms of BSD license.

See README and COPYING for more details.

Definition in file common.c.


Function Documentation

int hexstr2bin const char *  hex,
u8 *  buf,
size_t  len
 

Convert ASCII hex string into binary data.

Parameters:
hex ASCII hex string (e.g., "01ab")
buf Buffer for the binary data
len Length of the text to convert in bytes (of buf); hex will be double this size
Returns:
0 on success, -1 on failure (invalid hex string)

Definition at line 93 of file common.c.

int hwaddr_aton const char *  txt,
u8 *  addr
 

Convert ASCII string to MAC address.

Parameters:
txt MAC address as a string (e.g., "00:11:22:33:44:55")
addr Buffer for the MAC address (ETH_ALEN = 6 bytes)
Returns:
0 on success, -1 on failure (e.g., string not a MAC address)

Definition at line 62 of file common.c.

void inc_byte_array u8 *  counter,
size_t  len
 

Increment arbitrary length byte array by one.

Parameters:
counter Pointer to byte array
len Length of the counter in bytes
This function increments the last byte of the counter by one and continues rolling over to more significant bytes if the byte was incremented from 0xff to 0x00.

Definition at line 121 of file common.c.

void wpa_debug_print_timestamp void   ) 
 

Print timestamp for debug output.

This function prints a timestamp in <seconds from 1970>.<microsoconds> format if debug output has been configured to include timestamps in debug messages.

Definition at line 152 of file common.c.

Here is the call graph for this function:

void wpa_hexdump int  level,
const char *  title,
const u8 *  buf,
size_t  len
 

conditional hex dump

Parameters:
level priority level (MSG_*) of the message
title title of for the message
buf data buffer to be dumped
len length of the buf
This function is used to print conditional debugging and error messages. The output may be directed to stdout, stderr, and/or syslog based on configuration. The contents of buf is printed out has hex dump.

Definition at line 242 of file common.c.

void wpa_hexdump_ascii int  level,
const char *  title,
const u8 *  buf,
size_t  len
 

conditional hex dump

Parameters:
level priority level (MSG_*) of the message
title title of for the message
buf data buffer to be dumped
len length of the buf
This function is used to print conditional debugging and error messages. The output may be directed to stdout, stderr, and/or syslog based on configuration. The contents of buf is printed out has hex dump with both the hex numbers and ASCII characters (for printable range) are shown. 16 bytes per line will be shown.

Definition at line 339 of file common.c.

void wpa_hexdump_ascii_key int  level,
const char *  title,
const u8 *  buf,
size_t  len
 

conditional hex dump, hide keys

Parameters:
level priority level (MSG_*) of the message
title title of for the message
buf data buffer to be dumped
len length of the buf
This function is used to print conditional debugging and error messages. The output may be directed to stdout, stderr, and/or syslog based on configuration. The contents of buf is printed out has hex dump with both the hex numbers and ASCII characters (for printable range) are shown. 16 bytes per line will be shown. This works like wpa_hexdump_ascii(), but by default, does not include secret keys (passwords, etc.) in debug output.

Definition at line 345 of file common.c.

void wpa_hexdump_key int  level,
const char *  title,
const u8 *  buf,
size_t  len
 

conditional hex dump, hide keys

Parameters:
level priority level (MSG_*) of the message
title title of for the message
buf data buffer to be dumped
len length of the buf
This function is used to print conditional debugging and error messages. The output may be directed to stdout, stderr, and/or syslog based on configuration. The contents of buf is printed out has hex dump. This works like wpa_hexdump(), but by default, does not include secret keys (passwords, etc.) in debug output.

Definition at line 248 of file common.c.

void wpa_msg_register_cb wpa_msg_cb_func  func  ) 
 

Register callback function for wpa_msg() messages.

Parameters:
func Callback function (NULL to unregister)

Definition at line 390 of file common.c.

void wpa_printf int  level,
char *  fmt,
  ...
 

conditional printf

Parameters:
level priority level (MSG_*) of the message
fmt printf format string, followed by optional arguments
This function is used to print conditional debugging and error messages. The output may be directed to stdout, stderr, and/or syslog based on configuration.

Note: New line '
' is added to the end of the text when printing to stdout.

Definition at line 182 of file common.c.

Here is the call graph for this function:

int wpa_snprintf_hex char *  buf,
size_t  buf_size,
const u8 *  data,
size_t  len
 

Print data as a hex string into a buffer.

Parameters:
buf Memory area to use as the output buffer
buf_size Maximum buffer size in bytes (should be at least 2 * len + 1)
data Data to be printed
len Length of data in bytes
Returns:
Number of bytes written

Definition at line 450 of file common.c.

int wpa_snprintf_hex_uppercase char *  buf,
size_t  buf_size,
const u8 *  data,
size_t  len
 

Print data as a upper case hex string into buf.

Parameters:
buf Memory area to use as the output buffer
buf_size Maximum buffer size in bytes (should be at least 2 * len + 1)
data Data to be printed
len Length of data in bytes
Returns:
Number of bytes written

Definition at line 465 of file common.c.

const char* wpa_ssid_txt u8 *  ssid,
size_t  ssid_len
 

Convert SSID to a printable string.

Parameters:
ssid SSID (32-octet string)
ssid_len Length of ssid in octets
Returns:
Pointer to a printable string
This function can be used to convert SSIDs into printable form. In most cases, SSIDs do not use unprintable characters, but IEEE 802.11 standard does not limit the used character set, so anything could be used in an SSID.

This function uses a static buffer, so only one call can be used at the time, i.e., this is not re-entrant and the returned buffer must be used before calling this again.

Definition at line 598 of file common.c.


Generated on Sun Dec 31 13:49:35 2006 for wpa_supplicant by  doxygen 1.4.2