os.h File Reference

wpa_supplicant/hostapd / OS specific functions More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define os_time_before(a, b)
#define os_time_sub(a, b, res)
#define os_malloc(s)   malloc((s))
#define os_realloc(p, s)   realloc((p), (s))
#define os_free(p)   free((p))
#define os_memcpy(d, s, n)   memcpy((d), (s), (n))
#define os_memmove(d, s, n)   memmove((d), (s), (n))
#define os_memset(s, c, n)   memset(s, c, n)
#define os_memcmp(s1, s2, n)   memcmp((s1), (s2), (n))
#define os_strdup(s)   strdup(s)
#define os_strlen(s)   strlen(s)
#define os_strcasecmp(s1, s2)   strcasecmp((s1), (s2))
#define os_strncasecmp(s1, s2, n)   strncasecmp((s1), (s2), (n))
#define os_strchr(s, c)   strchr((s), (c))
#define os_strcmp(s1, s2)   strcmp((s1), (s2))
#define os_strncmp(s1, s2, n)   strncmp((s1), (s2), (n))
#define os_strncpy(d, s, n)   strncpy((d), (s), (n))
#define os_strrchr(s, c)   strrchr((s), (c))
#define os_strstr(h, n)   strstr((h), (n))
#define os_snprintf   snprintf

Typedefs

typedef long os_time_t

Functions

void os_sleep (os_time_t sec, os_time_t usec)
 Sleep (sec, usec).
int os_get_time (struct os_time *t)
 Get current time (sec, usec).
int os_mktime (int year, int month, int day, int hour, int min, int sec, os_time_t *t)
 Convert broken-down time into seconds since 1970-01-01.
int os_daemonize (const char *pid_file)
 Run in the background (detach from the controlling terminal).
void os_daemonize_terminate (const char *pid_file)
 Stop running in the background (remove pid file).
int os_get_random (unsigned char *buf, size_t len)
 Get cryptographically strong pseudo random data.
unsigned long os_random (void)
 Get pseudo random value (not necessarily very strong).
char * os_rel2abs_path (const char *rel_path)
 Get an absolute path for a file.
int os_program_init (void)
 Program initialization (called at start).
void os_program_deinit (void)
 Program deinitialization (called just before exit).
int os_setenv (const char *name, const char *value, int overwrite)
 Set environment variable.
int os_unsetenv (const char *name)
 Delete environent variable.
char * os_readfile (const char *name, size_t *len)
 Read a file to an allocated memory buffer.
void * os_zalloc (size_t size)
 Allocate and zero memory.


Detailed Description

wpa_supplicant/hostapd / OS specific functions

Copyright
Copyright (c) 2005-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 os.h.


Define Documentation

#define os_time_before a,
 ) 
 

Value:

((a)->sec < (b)->sec || \
         ((a)->sec == (b)->sec && (a)->usec < (b)->usec))

Definition at line 45 of file os.h.

#define os_time_sub a,
b,
res   ) 
 

Value:

do { \
        (res)->sec = (a)->sec - (b)->sec; \
        (res)->usec = (a)->usec - (b)->usec; \
        if ((res)->usec < 0) { \
                (res)->sec--; \
                (res)->usec += 1000000; \
        } \
} while (0)

Definition at line 49 of file os.h.


Function Documentation

int os_daemonize const char *  pid_file  ) 
 

Run in the background (detach from the controlling terminal).

Parameters:
pid_file File name to write the process ID to or NULL to skip this
Returns:
0 on success, -1 on failure

Definition at line 74 of file os_internal.c.

void os_daemonize_terminate const char *  pid_file  ) 
 

Stop running in the background (remove pid file).

Parameters:
pid_file File name to write the process ID to or NULL to skip this

Definition at line 93 of file os_internal.c.

int os_get_random unsigned char *  buf,
size_t  len
 

Get cryptographically strong pseudo random data.

Parameters:
buf Buffer for pseudo random data
len Length of the buffer
Returns:
0 on success, -1 on failure

Definition at line 100 of file os_internal.c.

int os_get_time struct os_time *  t  ) 
 

Get current time (sec, usec).

Parameters:
t Pointer to buffer for the time
Returns:
0 on success, -1 on failure

Definition at line 40 of file os_internal.c.

int os_mktime int  year,
int  month,
int  day,
int  hour,
int  min,
int  sec,
os_time_t *  t
 

Convert broken-down time into seconds since 1970-01-01.

Parameters:
year Four digit year
month Month (1 .. 12)
day Day of month (1 .. 31)
hour Hour (0 .. 23)
min Minute (0 .. 59)
sec Second (0 .. 60)
t Buffer for returning calendar time representation (seconds since 1970-01-01 00:00:00)
Returns:
0 on success, -1 on failure

Definition at line 51 of file os_internal.c.

void os_program_deinit void   ) 
 

Program deinitialization (called just before exit).

This function is called just before a program exists. If there are any OS specific processing, e.g., freeing resourced allocated in os_program_init(), it should be done here. It is also acceptable for this function to do nothing.

Definition at line 169 of file os_internal.c.

int os_program_init void   ) 
 

Program initialization (called at start).

Returns:
0 on success, -1 on failure
This function is called when a programs starts. If there are any OS specific processing that is needed, it can be placed here. It is also acceptable to just return 0 if not special processing is needed.

Definition at line 163 of file os_internal.c.

unsigned long os_random void   ) 
 

Get pseudo random value (not necessarily very strong).

Returns:
Pseudo random value

Definition at line 118 of file os_internal.c.

char* os_readfile const char *  name,
size_t *  len
 

Read a file to an allocated memory buffer.

Parameters:
name Name of the file to read
len For returning the length of the allocated buffer
Returns:
Pointer to the allocated buffer or NULL on failure
This function allocates memory and reads the given file to this buffer. Both binary and text files can be read with this function. The caller is responsible for freeing the returned buffer with os_free().

Definition at line 191 of file os_internal.c.

char* os_rel2abs_path const char *  rel_path  ) 
 

Get an absolute path for a file.

Parameters:
rel_path Relative path to a file
Returns:
Absolute path for the file or NULL on failure
This function tries to convert a relative path of a file to an absolute path in order for the file to be found even if current working directory has changed. The returned value is allocated and caller is responsible for freeing it. It is acceptable to just return the same path in an allocated buffer, e.g., return strdup(rel_path). This function is only used to find configuration files when os_daemonize() may have changed the current working directory and relative path would be pointing to a different location.

Definition at line 124 of file os_internal.c.

int os_setenv const char *  name,
const char *  value,
int  overwrite
 

Set environment variable.

Parameters:
name Name of the variable
value Value to set to the variable
overwrite Whether existing variable should be overwritten
Returns:
0 on success, -1 on error
This function is only used for wpa_cli action scripts. OS wrapper does not need to implement this if such functionality is not needed.

Definition at line 174 of file os_internal.c.

void os_sleep os_time_t  sec,
os_time_t  usec
 

Sleep (sec, usec).

Parameters:
sec Number of seconds to sleep
usec Number of microseconds to sleep

Definition at line 31 of file os_internal.c.

int os_unsetenv const char *  name  ) 
 

Delete environent variable.

Parameters:
name Name of the variable
Returns:
0 on success, -1 on error
This function is only used for wpa_cli action scripts. OS wrapper does not need to implement this if such functionality is not needed.

Definition at line 180 of file os_internal.c.

void* os_zalloc size_t  size  ) 
 

Allocate and zero memory.

Parameters:
size Number of bytes to allocate
Returns:
Pointer to allocated and zeroed memory or NULL on failure
Caller is responsible for freeing the returned buffer with os_free().

Definition at line 217 of file os_internal.c.


Generated on Sun Dec 31 13:45:37 2006 for hostapd by  doxygen 1.4.2