61#if defined(PJ_WIN64) && PJ_WIN64!=0
75#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
83#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
84# define PJ_T(literal_str) L##literal_str
86# define PJ_T(literal_str) literal_str
105#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0
137#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0
260#if defined(PJ_WIN64) && PJ_WIN64!=0
281#define PJ_ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
286#define PJ_MAX_OBJ_NAME 32
369#if (PJ_MAXLONG <= 2147483647L)
370# define PJ_CHECK_OVERFLOW_UINT32_TO_LONG(uint32_var, exec_on_overflow) \
372 if (uint32_var > PJ_MAXLONG) { \
378# define PJ_CHECK_OVERFLOW_UINT32_TO_LONG(uint32_var, exec_on_overflow)
421#define PJ_TIME_VAL_MSEC(t) ((t).sec * 1000 + (t).msec)
431#define PJ_TIME_VAL_EQ(t1, t2) ((t1).sec==(t2).sec && (t1).msec==(t2).msec)
441#define PJ_TIME_VAL_GT(t1, t2) ((t1).sec>(t2).sec || \
442 ((t1).sec==(t2).sec && (t1).msec>(t2).msec))
452#define PJ_TIME_VAL_GTE(t1, t2) (PJ_TIME_VAL_GT(t1,t2) || \
453 PJ_TIME_VAL_EQ(t1,t2))
463#define PJ_TIME_VAL_LT(t1, t2) (!(PJ_TIME_VAL_GTE(t1,t2)))
473#define PJ_TIME_VAL_LTE(t1, t2) (!PJ_TIME_VAL_GT(t1, t2))
483#define PJ_TIME_VAL_ADD(t1, t2) do { \
484 (t1).sec += (t2).sec; \
485 (t1).msec += (t2).msec; \
486 pj_time_val_normalize(&(t1)); \
498#define PJ_TIME_VAL_SUB(t1, t2) do { \
499 (t1).sec -= (t2).sec; \
500 (t1).msec -= (t2).msec; \
501 pj_time_val_normalize(&(t1)); \
PJLIB Main configuration settings.
unsigned char pj_uint8_t
Definition: types.h:55
pj_status_t pj_init(void)
long pj_ssize_t
Definition: types.h:64
short pj_int16_t
Definition: types.h:46
int pj_bool_t
Definition: types.h:71
struct pj_ioqueue_t pj_ioqueue_t
Definition: types.h:210
struct pj_mutex_t pj_mutex_t
Definition: types.h:245
struct pj_lock_t pj_lock_t
Definition: types.h:239
void * pj_oshandle_t
Definition: types.h:257
struct pj_sem_t pj_sem_t
Definition: types.h:248
unsigned short pj_uint16_t
Definition: types.h:49
pj_int32_t pj_swap32(pj_int32_t val32)
Definition: types.h:352
PJ_ATOMIC_VALUE_TYPE pj_atomic_value_t
Definition: types.h:231
void pj_list_type
Definition: types.h:157
long pj_sock_t
Definition: types.h:263
pj_constants_
Definition: types.h:91
struct pj_atomic_t pj_atomic_t
Definition: types.h:226
char pj_char_t
Definition: types.h:78
struct pj_ioqueue_key_t pj_ioqueue_key_t
Definition: types.h:216
pj_int16_t pj_swap16(pj_int16_t val16)
Definition: types.h:336
struct pj_hash_entry pj_hash_entry
Definition: types.h:172
size_t pj_size_t
Definition: types.h:58
struct pj_event_t pj_event_t
Definition: types.h:251
void pj_sockaddr_t
Definition: types.h:267
int pj_status_t
Definition: types.h:68
struct pj_pipe_t pj_pipe_t
Definition: types.h:254
struct pj_hash_table_t pj_hash_table_t
Definition: types.h:167
int pj_int32_t
Definition: types.h:40
void(* pj_exit_callback)(void)
Definition: types.h:315
struct pj_thread_t pj_thread_t
Definition: types.h:236
int pj_exception_id_t
Definition: types.h:276
struct pj_grp_lock_t pj_grp_lock_t
Definition: types.h:242
unsigned int pj_color_t
Definition: types.h:273
struct pj_timer_heap_t pj_timer_heap_t
Definition: types.h:221
pj_ssize_t pj_off_t
Definition: types.h:108
pj_status_t pj_atexit(pj_exit_callback func)
signed char pj_int8_t
Definition: types.h:52
unsigned int pj_uint32_t
Definition: types.h:43
@ PJ_SUCCESS
Definition: types.h:93
@ PJ_TRUE
Definition: types.h:96
@ PJ_FALSE
Definition: types.h:99
void pj_time_val_normalize(pj_time_val *t)
#define PJ_BEGIN_DECL
Definition: config.h:1284
#define PJ_INLINE(type)
Definition: config.h:1178
#define PJ_END_DECL
Definition: config.h:1285
Common min and max values.
pj_uint32_t index
Definition: types.h:181
pj_hash_entry * entry
Definition: types.h:182
int sec
Definition: types.h:531
int hour
Definition: types.h:537
int year
Definition: types.h:528
int msec
Definition: types.h:540
int min
Definition: types.h:534
int wday
Definition: types.h:512
int day
Definition: types.h:520
int mon
Definition: types.h:523
pj_ssize_t slen
Definition: types.h:125
char * ptr
Definition: types.h:122
long msec
Definition: types.h:402
long sec
Definition: types.h:399
@ PJ_TERM_COLOR_BRIGHT
Definition: types.h:560
@ PJ_TERM_COLOR_G
Definition: types.h:558
@ PJ_TERM_COLOR_B
Definition: types.h:559
@ PJ_TERM_COLOR_R
Definition: types.h:557
pj_uint32_t lo
Definition: types.h:142
pj_uint32_t hi
Definition: types.h:141
struct pj_timestamp::@9 u32