![]() |
Nilorea Library
C utilities for networking, threading, graphics
|
Common headers and low-level functions & define. More...
#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <malloc.h>#include <errno.h>#include <string.h>#include <strings.h>#include <stdint.h>#include <nilorea/n_log.h>#include <nilorea/n_enum.h>#include <alloca.h>#include <signal.h>
Include dependency graph for n_common.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | __n_assert(__ptr, __ret) |
| macro to assert things | |
| #define | _nstr(__PTR) ((__PTR && __PTR->data) ? (__PTR->data) : "NULL") |
| N_STR or "NULL" string for logging purposes. | |
| #define | _nstrp(__PTR) ((__PTR && __PTR->data) ? (__PTR->data) : NULL) |
| N_STR or NULL pointer for testing purposes. | |
| #define | _str(__PTR) ((__PTR) ? (__PTR) : "NULL") |
| define true | |
| #define | _strp(__PTR) ((__PTR) ? (__PTR) : NULL) |
| String or NULL pointer for testing purposes. | |
| #define | _strw(__PTR) ((__PTR) ? (__PTR) : " ") |
| String or " " string for config purposes. | |
| #define | Alloca(__ptr, __size) |
| Malloca Handler to get errors and set to 0. | |
| #define | BYTEORDER_BIG_ENDIAN 1 |
| Big endian macro value. | |
| #define | BYTEORDER_LITTLE_ENDIAN 0 |
| Little endian macro value. | |
| #define | CALL_RETRY(__retvar, __expression, __max_tries, __delay) |
| TEMP_FAILURE gnu macro portable version. | |
| #define | checkerror() |
| check for errors | |
| #define | CONCAT(a, b) CONCAT_BUILDER(a, b) |
| Concatenate two macro. | |
| #define | CONCAT_BUILDER(a, b) a##b |
| CONCAT macro helper. | |
| #define | DEFAULT 1000 |
| Default APP_STATUS Value. | |
| #define | endif |
| close a ifwhatever block | |
| #define | equal_if(__a, __cond, __b) |
| if( a , condition, b ) then a = b | |
| #define | FALL_THROUGH |
| set windows if true | |
| #define | FORCE_INLINE static inline __attribute__((always_inline)) |
| FORCE_INLINE portable macro. | |
| #define | Free(__ptr) |
| Free Handler to get errors. | |
| #define | FreeNoLog(__ptr) |
| Free Handler without log. | |
| #define | GET 4321 |
| Flag for GET something , passing as a function parameter. | |
| #define | get_error() (___error__check_flag == TRUE) |
| pop up errors if any | |
| #define | iffalse if( FALSE == |
| error checker type if( toto == FALSE ) | |
| #define | ifnull if( ! |
| error checker type if( !toto ) | |
| #define | iftrue if( TRUE == |
| error checker type if( toto == FALSE ) | |
| #define | ifzero if( 0 == |
| error checker type if( 0 != toto ) | |
| #define | init_error_check() static int ___error__check_flag = FALSE; |
| init error checking in a function | |
| #define | init_lock(__rwlock_mutex) |
| Macro for initializing a rwlock. | |
| #define | Malloc(__ptr, __struct, __size) |
| Malloc Handler to get errors and set to 0. | |
| #define | N_DAEMON_NO_CHDIR 64 |
| daemonize flag: do not call chdir("/") | |
| #define | N_DAEMON_NO_CLOSE 2 |
| daemonize flag: no descriptor close at all | |
| #define | N_DAEMON_NO_DOUBLE_FORK 8 |
| daemonize flag: do not double fork | |
| #define | N_DAEMON_NO_SETSID 16 |
| daemonize flag: do not call setsid | |
| #define | N_DAEMON_NO_SIGCHLD_HANDLER 256 |
| daemonize flag: do not use internal zombie SIGCHLD handler | |
| #define | N_DAEMON_NO_SIGCHLD_IGN 128 |
| daemonize flag: do not ignore SIGCHLD | |
| #define | N_DAEMON_NO_STD_REDIRECT 4 |
| daemonize flag: just do not redirect stdin/out/err to /dev/null | |
| #define | N_DAEMON_NO_UMASK 32 |
| daemonize flag: do not call umask( 0 ) | |
| #define | next_even(__val) ((__val) % 2 == 0) ? (__val + 1) : (__val) |
| next odd helper | |
| #define | next_odd(__val) ((__val) % 2 == 0) ? (__val) : (__val + 1) |
| next odd helper | |
| #define | PAUSED 1004 |
| Value of the state of an application who is paused. | |
| #define | randomize() |
| Initialize the random sequence with time. | |
| #define | read_lock(__rwlock_mutex) |
| Macro for acquiring a read lock on a rwlock mutex. | |
| #define | Realloc(__ptr, __struct, __size) |
| Realloc Handler to get errors. | |
| #define | Reallocz(__ptr, __struct, __old_size, __size) |
| Realloc + zero new memory zone Handler to get errors. | |
| #define | RUNNING 1001 |
| Value of the state of an application who is running. | |
| #define | rw_lock_destroy(__rwlock_mutex) |
| Macro to destroy rwlock mutex. | |
| #define | RWLOCK_LOGLEVEL LOG_NULL |
| flag to tell the API to disable DEBUG log on locks | |
| #define | SET 1234 |
| Flag for SET something , passing as a function parameter. | |
| #define | STOPPED 1003 |
| Value of the state of an application who is stopped. | |
| #define | STOPWANTED 1002 |
| Value of the state of an application who want to stop his activity. | |
| #define | unlock(__rwlock_mutex) |
| Macro for releasing read/write lock a rwlock mutex. | |
| #define | write_lock(__rwlock_mutex) |
| Macro for acquiring a write lock on a rwlock mutex. | |
Functions | |
| int | file_exist (const char *filename) |
| test if file exist and if it's readable | |
| int | get_computer_name (char *computer_name, size_t len) |
| abort program with a text | |
| char * | get_prog_dir (void) |
| get current program running directory | |
| char * | get_prog_name (void) |
| get current program name | |
| void | log_environment (int loglevel) |
| log environment variables in syslog | |
| void | n_abort (char const *format,...) |
| htonl for 64 bits numbers | |
| int | n_daemonize (void) |
| Daemonize program. | |
| int | n_daemonize_ex (int mode) |
| Daemonize program. | |
| char * | n_get_file_extension (char path[]) |
| get extension of path+filename | |
| void | N_HIDE_STR (char *buf,...) |
| store a hidden version of a string | |
| int | n_popen (char *cmd, size_t read_buf_size, void **nstr_output, int *ret) |
| launch a command abd return output and status | |
| void | sigchld_handler (int sig) |
| Handles SIGCHLD issues when forking. | |
| int | sigchld_handler_installer () |
| install signal SIGCHLD handler to reap zombie processes | |
| pid_t | system_nb (const char *command, int *infp, int *outfp) |
| Non blocking system call. | |
Common headers and low-level functions & define.
Definition in file n_common.h.