comparison src/core/ngx_config.h @ 1354:f69d1aab6a0f

make 64-bit ngx_int_t on 64-bit platforms
author Igor Sysoev <igor@sysoev.ru>
date Sun, 29 Jul 2007 18:24:53 +0000
parents 887d8dec72dc
children b56d4b1ebac7
comparison
equal deleted inserted replaced
1353:7443fbe0b013 1354:f69d1aab6a0f
68 #define ngx_cdecl 68 #define ngx_cdecl
69 #define ngx_libc_cdecl 69 #define ngx_libc_cdecl
70 70
71 #endif 71 #endif
72 72
73 typedef intptr_t ngx_int_t;
74 typedef uintptr_t ngx_uint_t;
75 typedef intptr_t ngx_flag_t;
73 76
74
75 /* TODO: platform specific: array[NGX_INVALID_ARRAY_INDEX] must cause SIGSEGV */
76 #define NGX_INVALID_ARRAY_INDEX 0x80000000
77
78
79 #if 1
80 /* STUB: autoconf */
81 typedef int ngx_int_t;
82 typedef u_int ngx_uint_t;
83 typedef int ngx_flag_t;
84 #define NGX_INT_T_LEN sizeof("-2147483648") - 1
85
86 #else
87
88 typedef long ngx_int_t;
89 typedef u_long ngx_uint_t;
90 typedef long ngx_flag_t;
91 #define NGX_INT_T_LEN sizeof("-9223372036854775808") - 1
92
93 #endif
94 77
95 #define NGX_INT32_LEN sizeof("-2147483648") - 1 78 #define NGX_INT32_LEN sizeof("-2147483648") - 1
96 #define NGX_INT64_LEN sizeof("-9223372036854775808") - 1 79 #define NGX_INT64_LEN sizeof("-9223372036854775808") - 1
80
81 #if (NGX_PTR_SIZE == 4)
82 #define NGX_INT_T_LEN NGX_INT32_LEN
83 #else
84 #define NGX_INT_T_LEN NGX_INT64_LEN
85 #endif
97 86
98 87
99 #ifndef NGX_ALIGNMENT 88 #ifndef NGX_ALIGNMENT
100 #define NGX_ALIGNMENT sizeof(unsigned long) /* platform word */ 89 #define NGX_ALIGNMENT sizeof(unsigned long) /* platform word */
101 #endif 90 #endif
104 #define ngx_align_ptr(p, a) \ 93 #define ngx_align_ptr(p, a) \
105 (u_char *) (((uintptr_t) (p) + ((uintptr_t) a - 1)) & ~((uintptr_t) a - 1)) 94 (u_char *) (((uintptr_t) (p) + ((uintptr_t) a - 1)) & ~((uintptr_t) a - 1))
106 95
107 96
108 #define ngx_abort abort 97 #define ngx_abort abort
98
99
100 /* TODO: platform specific: array[NGX_INVALID_ARRAY_INDEX] must cause SIGSEGV */
101 #define NGX_INVALID_ARRAY_INDEX 0x80000000
109 102
110 103
111 /* TODO: auto_conf: ngx_inline inline __inline __inline__ */ 104 /* TODO: auto_conf: ngx_inline inline __inline __inline__ */
112 #ifndef ngx_inline 105 #ifndef ngx_inline
113 #define ngx_inline inline 106 #define ngx_inline inline