os_unix.c File Reference
#include "includes.h"
#include "os.h"
Go to the source code of this file.
Defines |
#define | os_daemon daemon |
Functions |
int | os_daemonize (const char *pid_file) |
void | os_daemonize_terminate (const char *pid_file) |
int | os_get_random (unsigned char *buf, size_t len) |
int | os_get_time (struct os_time *t) |
int | os_mktime (int year, int month, int day, int hour, int min, int sec, os_time_t *t) |
void | os_program_deinit (void) |
int | os_program_init (void) |
unsigned long | os_random (void) |
char * | os_readfile (const char *name, size_t *len) |
char * | os_rel2abs_path (const char *rel_path) |
int | os_setenv (const char *name, const char *value, int overwrite) |
void | os_sleep (os_time_t sec, os_time_t usec) |
size_t | os_strlcpy (char *dest, const char *src, size_t siz) |
int | os_unsetenv (const char *name) |
void * | os_zalloc (size_t size) |
Define Documentation
Function Documentation
int os_daemonize |
( |
const char * |
pid_file |
) |
|
os_daemonize - Run in the background (detach from the controlling terminal) : File name to write the process ID to or NULL to skip this Returns: 0 on success, -1 on failure
Definition at line 136 of file os_unix.c.
void os_daemonize_terminate |
( |
const char * |
pid_file |
) |
|
os_daemonize_terminate - Stop running in the background (remove pid file) : File name to write the process ID to or NULL to skip this
Definition at line 159 of file os_unix.c.
int os_get_random |
( |
unsigned char * |
buf, |
|
|
size_t |
len | |
|
) |
| | |
os_get_random - Get cryptographically strong pseudo random data : Buffer for pseudo random data : Length of the buffer Returns: 0 on success, -1 on failure
Definition at line 166 of file os_unix.c.
int os_get_time |
( |
struct os_time * |
t |
) |
|
os_get_time - Get current time (sec, usec) : Pointer to buffer for the time Returns: 0 on success, -1 on failure
Definition at line 50 of file os_unix.c.
int os_mktime |
( |
int |
year, |
|
|
int |
month, |
|
|
int |
day, |
|
|
int |
hour, |
|
|
int |
min, |
|
|
int |
sec, |
|
|
os_time_t * |
t | |
|
) |
| | |
os_mktime - Convert broken-down time into seconds since 1970-01-01 : Four digit year : Month (1 .. 12) : Day of month (1 .. 31) : Hour (0 .. 23) : Minute (0 .. 59) : Second (0 .. 60) : Buffer for returning calendar time representation (seconds since 1970-01-01 00:00:00) Returns: 0 on success, -1 on failure
Note: The result is in seconds from Epoch, i.e., in UTC, not in local time which is used by POSIX mktime().
Definition at line 61 of file os_unix.c.
void os_program_deinit |
( |
void |
|
) |
|
os_program_deinit - 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 242 of file os_unix.c.
int os_program_init |
( |
void |
|
) |
|
os_program_init - 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 233 of file os_unix.c.
unsigned long os_random |
( |
void |
|
) |
|
os_random - Get pseudo random value (not necessarily very strong) Returns: Pseudo random value
Definition at line 184 of file os_unix.c.
char* os_readfile |
( |
const char * |
name, |
|
|
size_t * |
len | |
|
) |
| | |
char* os_rel2abs_path |
( |
const char * |
rel_path |
) |
|
os_rel2abs_path - Get an absolute path for a file : 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 190 of file os_unix.c.
int os_setenv |
( |
const char * |
name, |
|
|
const char * |
value, |
|
|
int |
overwrite | |
|
) |
| | |
os_sleep - Sleep (sec, usec) : Number of seconds to sleep : Number of microseconds to sleep
Definition at line 41 of file os_unix.c.
size_t os_strlcpy |
( |
char * |
dest, |
|
|
const char * |
src, |
|
|
size_t |
siz | |
|
) |
| | |
os_strlcpy - Copy a string with size bound and NUL-termination : Destination : Source : Size of the target buffer Returns: Total length of the target string (length of src) (not including NUL-termination)
This function matches in behavior with the strlcpy(3) function in OpenBSD.
Definition at line 323 of file os_unix.c.
int os_unsetenv |
( |
const char * |
name |
) |
|
void* os_zalloc |
( |
size_t |
size |
) |
|
os_zalloc - Allocate and zero memory : 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 316 of file os_unix.c.