Nilorea Library
C utilities for networking, threading, graphics
n_common.h File Reference

Common headers and low-level hugly functions & define. More...

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <malloc.h>
#include <errno.h>
#include <string.h>
#include <stdint.h>
#include <nilorea/n_log.h>
#include <nilorea/n_enum.h>
#include <alloca.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 __EXTENSIONS__
 feature test macro More...
 
#define __n_assert(__ptr, __ret)
 macro to assert things More...
 
#define _nstr(__PTR)   ((__PTR&&__PTR->data)?(__PTR->data):"NULL")
 N_STR or "NULL" string for logging purposes. More...
 
#define _nstrp(__PTR)   ((__PTR&&__PTR->data)?(__PTR->data):NULL)
 N_STR or NULL pointer for testing purposes. More...
 
#define _str(__PTR)   ((__PTR)?(__PTR):"NULL")
 define true More...
 
#define _strp(__PTR)   ((__PTR)?(__PTR):NULL)
 String or NULL pointer for testing purposes. More...
 
#define _strw(__PTR)   ((__PTR)?(__PTR):" ")
 String or " " string for config purposes. More...
 
#define Alloca(__ptr, __size)
 Malloca Handler to get errors and set to 0. More...
 
#define BYTEORDER_BIG_ENDIAN   1
 Big endian macro value. More...
 
#define BYTEORDER_LITTLE_ENDIAN   0
 Little endian macro value. More...
 
#define CALL_RETRY(retvar, expression)
 TEMP_FAILURE gnu macro portable version. More...
 
#define checkerror()
 check for errors More...
 
#define CONCAT(a, b)   CONCAT_BUILDER(a, b)
 Concatenate two macro. More...
 
#define CONCAT_BUILDER(a, b)   a ## b
 CONCAT macro helper. More...
 
#define DEFAULT   1000
 Default APP_STATUS Value. More...
 
#define endif   ){ ___error__check_flag = TRUE ; n_log( LOG_ERR , "First err was at line %d of %s" , __LINE__ , __FILE__ );}
 close a ifwhatever block More...
 
#define equal_if(__a, __cond, __b)   if( (__a) __cond (__b) ){ __a = __b ; }
 if( a , condition, b ) then a = b More...
 
#define FALL_THROUGH
 set windows if true More...
 
#define FORCE_INLINE   __attribute__((always_inline))
 FORCE_INLINE portable macro. More...
 
#define Free(__ptr)
 Free Handler to get errors. More...
 
#define FreeNoLog(__ptr)
 Free Handler without log. More...
 
#define GET   4321
 Flag for GET something , passing as a function parameter. More...
 
#define get_error()   (___error__check_flag == TRUE)
 pop up errors if any More...
 
#define htonll(x)   (x)
 htonl for 64 bits numbers More...
 
#define iffalse   if( FALSE ==
 error checker type if( toto == FALSE )
More...
 
#define ifnull   if( !
 error checker type if( !toto ) More...
 
#define iftrue   if( TRUE ==
 error checker type if( toto == FALSE )
More...
 
#define ifzero   if( 0 ==
 error checker type if( 0 != toto ) More...
 
#define init_error_check()    static int ___error__check_flag = FALSE ;
 init error checking in a function More...
 
#define init_lock(__rwlock_mutex)
 Macro for initializing a rwlock. More...
 
#define Malloc(__ptr, __struct, __size)
 Malloc Handler to get errors and set to 0. More...
 
#define next_even(__val)   ( (__val)%2 == 0 ) ? (__val + 1) : ( __val )
 next odd helper More...
 
#define next_odd(__val)   ( (__val)%2 == 0 ) ? (__val) : ( __val + 1 )
 next odd helper More...
 
#define ntohll(x)   (x)
 ntonl for 64 bits numbers More...
 
#define PAUSED   1004
 Value of the state of an application who is paused. More...
 
#define randomize()   { srand((unsigned)time(NULL)); rand(); }
 Initialize the random sequence with time. More...
 
#define read_lock(__rwlock_mutex)
 Macro for acquiring a read lock on a rwlock mutex. More...
 
#define Realloc(__ptr, __struct, __size)
 Realloc Handler to get errors. More...
 
#define Reallocz(__ptr, __struct, __old_size, __size)
 Realloc + zero new memory zone Handler to get errors. More...
 
#define RUNNING   1001
 Value of the state of an application who is running. More...
 
#define rw_lock_destroy(__rwlock_mutex)
 Macro to destroy rwlock mutex. More...
 
#define RWLOCK_LOGLEVEL   LOG_NULL
 flag to tell the API to disable DEBUG log on locks More...
 
#define SET   1234
 Flag for SET something , passing as a function parameter. More...
 
#define STOPPED   1003
 Value of the state of an application who is stopped. More...
 
#define STOPWANTED   1002
 Value of the state of an application who want to stop his activity. More...
 
#define unlock(__rwlock_mutex)
 Macro for releasing read/write lock a rwlock mutex. More...
 
#define write_lock(__rwlock_mutex)
 Macro for acquiring a write lock on a rwlock mutex. More...
 

Functions

int file_exist (const char *filename)
 test if file exist and if it's readable More...
 
int get_computer_name (char *computer_name, size_t len)
 abort program with a text More...
 
char * get_prog_dir (void)
 get current program running directory More...
 
char * get_prog_name (void)
 get current program name More...
 
void n_abort (char const *format,...)
 abort program with a text More...
 
int n_daemonize (void)
 Daemonize program. More...
 
char * n_get_file_extension (char path[])
 get extension of path+filename More...
 
void N_HIDE_STR (char *buf,...)
 store a hidden version of a string More...
 
int n_popen (char *cmd, int read_buf_size, void **nstr_output, int *ret)
 launch a command abd return output and status More...
 
pid_t system_nb (const char *command, int *infp, int *outfp)
 Non blocking system call. More...
 

Detailed Description

Common headers and low-level hugly functions & define.

Author
Castagnier Mickael
Version
1.0
Date
24/03/05

Definition in file n_common.h.