![]() |
Nilorea Library
C utilities for networking, threading, graphics
|
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. | |
| #define __n_assert | ( | __ptr, | |
| __ret | |||
| ) |
macro to assert things
Definition at line 256 of file n_common.h.
| #define _nstr | ( | __PTR | ) | ((__PTR && __PTR->data) ? (__PTR->data) : "NULL") |
N_STR or "NULL" string for logging purposes.
Definition at line 180 of file n_common.h.
| #define _nstrp | ( | __PTR | ) | ((__PTR && __PTR->data) ? (__PTR->data) : NULL) |
N_STR or NULL pointer for testing purposes.
Definition at line 182 of file n_common.h.
| #define _str | ( | __PTR | ) | ((__PTR) ? (__PTR) : "NULL") |
define true
define TRUE
define false
define FALSE
returned by N_STRLIST functions to tell the caller that the list is empty
String or "NULL" string for logging purposes
Definition at line 174 of file n_common.h.
| #define _strp | ( | __PTR | ) | ((__PTR) ? (__PTR) : NULL) |
String or NULL pointer for testing purposes.
Definition at line 176 of file n_common.h.
| #define _strw | ( | __PTR | ) | ((__PTR) ? (__PTR) : " ") |
String or " " string for config purposes.
Definition at line 178 of file n_common.h.
| #define Alloca | ( | __ptr, | |
| __size | |||
| ) |
Malloca Handler to get errors and set to 0.
Definition at line 197 of file n_common.h.
| #define BYTEORDER_BIG_ENDIAN 1 |
Big endian macro value.
Definition at line 82 of file n_common.h.
| #define BYTEORDER_LITTLE_ENDIAN 0 |
Little endian macro value.
Definition at line 80 of file n_common.h.
| #define CALL_RETRY | ( | __retvar, | |
| __expression, | |||
| __max_tries, | |||
| __delay | |||
| ) |
TEMP_FAILURE gnu macro portable version.
Definition at line 263 of file n_common.h.
| #define checkerror | ( | ) |
check for errors
Definition at line 297 of file n_common.h.
| #define CONCAT | ( | a, | |
| b | |||
| ) | CONCAT_BUILDER(a, b) |
Concatenate two macro.
Definition at line 435 of file n_common.h.
| #define CONCAT_BUILDER | ( | a, | |
| b | |||
| ) | a##b |
CONCAT macro helper.
Definition at line 433 of file n_common.h.
| #define DEFAULT 1000 |
Default APP_STATUS Value.
Definition at line 406 of file n_common.h.
| #define endif |
close a ifwhatever block
Definition at line 304 of file n_common.h.
| #define equal_if | ( | __a, | |
| __cond, | |||
| __b | |||
| ) |
if( a , condition, b ) then a = b
Definition at line 314 of file n_common.h.
| #define FALL_THROUGH |
set windows if true
fall through macro for switch cases, avoid warning at compilation
Definition at line 53 of file n_common.h.
| #define FORCE_INLINE static inline __attribute__((always_inline)) |
| #define Free | ( | __ptr | ) |
Free Handler to get errors.
Definition at line 240 of file n_common.h.
| #define FreeNoLog | ( | __ptr | ) |
Free Handler without log.
Definition at line 249 of file n_common.h.
| #define GET 4321 |
Flag for GET something , passing as a function parameter.
Definition at line 404 of file n_common.h.
| #define get_error | ( | ) | (___error__check_flag == TRUE) |
| #define iffalse if( FALSE == |
error checker type if( toto == FALSE )
Definition at line 291 of file n_common.h.
| #define ifnull if( ! |
| #define iftrue if( TRUE == |
error checker type if( toto == FALSE )
Definition at line 294 of file n_common.h.
| #define ifzero if( 0 == |
| #define init_error_check | ( | ) | static int ___error__check_flag = FALSE; |
| #define init_lock | ( | __rwlock_mutex | ) |
Macro for initializing a rwlock.
Definition at line 329 of file n_common.h.
| #define Malloc | ( | __ptr, | |
| __struct, | |||
| __size | |||
| ) |
Malloc Handler to get errors and set to 0.
Definition at line 185 of file n_common.h.
| #define N_DAEMON_NO_CHDIR 64 |
daemonize flag: do not call chdir("/")
Definition at line 493 of file n_common.h.
| #define N_DAEMON_NO_CLOSE 2 |
daemonize flag: no descriptor close at all
Definition at line 483 of file n_common.h.
| #define N_DAEMON_NO_DOUBLE_FORK 8 |
daemonize flag: do not double fork
Definition at line 487 of file n_common.h.
| #define N_DAEMON_NO_SETSID 16 |
daemonize flag: do not call setsid
Definition at line 489 of file n_common.h.
| #define N_DAEMON_NO_SIGCHLD_HANDLER 256 |
daemonize flag: do not use internal zombie SIGCHLD handler
Definition at line 497 of file n_common.h.
| #define N_DAEMON_NO_SIGCHLD_IGN 128 |
daemonize flag: do not ignore SIGCHLD
Definition at line 495 of file n_common.h.
| #define N_DAEMON_NO_STD_REDIRECT 4 |
daemonize flag: just do not redirect stdin/out/err to /dev/null
Definition at line 485 of file n_common.h.
| #define N_DAEMON_NO_UMASK 32 |
daemonize flag: do not call umask( 0 )
Definition at line 491 of file n_common.h.
| #define next_even | ( | __val | ) | ((__val) % 2 == 0) ? (__val + 1) : (__val) |
| #define next_odd | ( | __val | ) | ((__val) % 2 == 0) ? (__val) : (__val + 1) |
| #define PAUSED 1004 |
Value of the state of an application who is paused.
Definition at line 414 of file n_common.h.
| #define randomize | ( | ) |
Initialize the random sequence with time.
Definition at line 417 of file n_common.h.
| #define read_lock | ( | __rwlock_mutex | ) |
Macro for acquiring a read lock on a rwlock mutex.
Definition at line 347 of file n_common.h.
| #define Realloc | ( | __ptr, | |
| __struct, | |||
| __size | |||
| ) |
Realloc Handler to get errors.
Definition at line 211 of file n_common.h.
| #define Reallocz | ( | __ptr, | |
| __struct, | |||
| __old_size, | |||
| __size | |||
| ) |
Realloc + zero new memory zone Handler to get errors.
Definition at line 225 of file n_common.h.
| #define RUNNING 1001 |
Value of the state of an application who is running.
Definition at line 408 of file n_common.h.
| #define rw_lock_destroy | ( | __rwlock_mutex | ) |
Macro to destroy rwlock mutex.
Definition at line 388 of file n_common.h.
| #define RWLOCK_LOGLEVEL LOG_NULL |
flag to tell the API to disable DEBUG log on locks
Definition at line 325 of file n_common.h.
| #define SET 1234 |
Flag for SET something , passing as a function parameter.
Definition at line 402 of file n_common.h.
| #define STOPPED 1003 |
Value of the state of an application who is stopped.
Definition at line 412 of file n_common.h.
| #define STOPWANTED 1002 |
Value of the state of an application who want to stop his activity.
Definition at line 410 of file n_common.h.
| #define unlock | ( | __rwlock_mutex | ) |
Macro for releasing read/write lock a rwlock mutex.
Definition at line 375 of file n_common.h.
| #define write_lock | ( | __rwlock_mutex | ) |
Macro for acquiring a write lock on a rwlock mutex.
Definition at line 361 of file n_common.h.
| int file_exist | ( | const char * | filename | ) |
test if file exist and if it's readable
| filename | Path/name of the file |
Definition at line 83 of file n_common.c.
Referenced by handle_request(), and main().
Here is the caller graph for this function:| int get_computer_name | ( | char * | computer_name, |
| size_t | len | ||
| ) |
abort program with a text
| computer_name | allocated buffer to hold the computer name |
| len | size of computer_name variable |
Definition at line 56 of file n_common.c.
References LOG_ERR, and n_log.
Referenced by n_kafka_load_config().
Here is the caller graph for this function:| char * get_prog_dir | ( | void | ) |
get current program running directory
Definition at line 96 of file n_common.c.
Referenced by main().
Here is the caller graph for this function:| char * get_prog_name | ( | void | ) |
get current program name
Definition at line 128 of file n_common.c.
Referenced by main().
Here is the caller graph for this function:| void log_environment | ( | int | loglevel | ) |
log environment variables in syslog
| loglevel | the loglevel used to log the environment |
Definition at line 244 of file n_common.c.
References n_log.
| void n_abort | ( | char const * | format, |
| ... | |||
| ) |
htonl for 64 bits numbers
ntonl for 64 bits numbers
htonl for 64 bits numbers
| format | printf style format and args |
Definition at line 39 of file n_common.c.
Referenced by main(), and main().
Here is the caller graph for this function:| int n_daemonize | ( | void | ) |
Daemonize program.
Definition at line 255 of file n_common.c.
References N_DAEMON_NO_SIGCHLD_HANDLER, N_DAEMON_NO_SIGCHLD_IGN, and n_daemonize_ex().
Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:| int n_daemonize_ex | ( | int | mode | ) |
Daemonize program.
| mode | flag made of a combination of N_DAEMON_NO_CLOSE, N_DAEMON_NO_STD_REDIRECT, N_DAEMON_NO_DOUBLE_FORK , N_DAEMON_NO_SETSID, N_DAEMON_NO_UMASK, N_DAEMON_NO_CHDIR, N_DAEMON_NO_SETSID, N_DAEMON_NO_SIGCHLD_IGN, N_DAEMON_NO_SIGCHLD_HANDLER or 0 for defaults |
Definition at line 264 of file n_common.c.
References LOG_ERR, LOG_NOTICE, mode, N_DAEMON_NO_CHDIR, N_DAEMON_NO_CLOSE, N_DAEMON_NO_DOUBLE_FORK, N_DAEMON_NO_SETSID, N_DAEMON_NO_SIGCHLD_HANDLER, N_DAEMON_NO_SIGCHLD_IGN, N_DAEMON_NO_STD_REDIRECT, N_DAEMON_NO_UMASK, n_log, and sigchld_handler_installer().
Referenced by n_daemonize().
Here is the call graph for this function:
Here is the caller graph for this function:| char * n_get_file_extension | ( | char | path[] | ) |
get extension of path+filename
| path | the path + filename |
Definition at line 451 of file n_common.c.
References __n_assert.
| void N_HIDE_STR | ( | char * | buf, |
| ... | |||
| ) |
store a hidden version of a string
| buf | the variable which will receive the string |
Definition at line 430 of file n_common.c.
Referenced by main().
Here is the caller graph for this function:| int n_popen | ( | char * | cmd, |
| size_t | read_buf_size, | ||
| void ** | nstr_output, | ||
| int * | ret | ||
| ) |
launch a command abd return output and status
| cmd | The command to launch |
| read_buf_size | popen read buf. Also serves as a minimum size for the dynamically allocated returned output if not already allocaded |
| nstr_output | Pointer to a valid N_STR or NULL (see read_buf_size) |
| ret | Command output if any. Should be initialized to -1 and tested against to check if it's valid. |
Definition at line 163 of file n_common.c.
References __n_assert, free_nstr, LOG_ERR, n_log, new_nstr(), and nstrprintf_cat.
Referenced by addr2line(), main(), and n_get_current_dir_hd_serial().
Here is the call graph for this function:
Here is the caller graph for this function:| void sigchld_handler | ( | int | sig | ) |
Handles SIGCHLD issues when forking.
| sig | signal type handle |
Definition at line 213 of file n_common.c.
References LOG_DEBUG, and n_log.
Referenced by sigchld_handler_installer().
Here is the caller graph for this function:| int sigchld_handler_installer | ( | ) |
install signal SIGCHLD handler to reap zombie processes
Definition at line 227 of file n_common.c.
References LOG_ERR, n_log, and sigchld_handler().
Referenced by main(), and n_daemonize_ex().
Here is the call graph for this function:
Here is the caller graph for this function:| pid_t system_nb | ( | const char * | command, |
| int * | infp, | ||
| int * | outfp | ||
| ) |
Non blocking system call.
| command | to call |
| infp | stdin file descriptor holder or NULL |
| outfp | stdout file descriptor holder or NULL |
Definition at line 362 of file n_common.c.
References __n_assert, LOG_ERR, and n_log.
Referenced by main().
Here is the caller graph for this function: