summaryrefslogtreecommitdiff
path: root/main/php.h
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-04-09 19:09:29 +0000
committerZeev Suraski <zeev@php.net>1999-04-09 19:09:29 +0000
commit3e584505132e6cb161bfdd1d86d75609ebee7564 (patch)
treefcee61763fa7c575bf84ba31525c9f2868b02de2 /main/php.h
parent5cb576d81a53da011b76b0b0e376dc7dafa1a529 (diff)
downloadphp-git-3e584505132e6cb161bfdd1d86d75609ebee7564.tar.gz
* A lot of work on php_ini stuff
* A lot of work on getting rid from php3_ini
Diffstat (limited to 'main/php.h')
-rw-r--r--main/php.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/main/php.h b/main/php.h
index 610c68897d..6a31d0b87a 100644
--- a/main/php.h
+++ b/main/php.h
@@ -475,6 +475,39 @@ extern int yylineno;
#endif
extern void phprestart(FILE *input_file);
+
+/* Finding offsets of elements within structures.
+ * Taken from the Apache code, which in turn, was taken from X code...
+ */
+
+#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
+#ifdef __STDC__
+#define XtOffset(p_type,field) _Offsetof(p_type,field)
+#else
+#ifdef CRAY2
+#define XtOffset(p_type,field) \
+ (sizeof(int)*((unsigned int)&(((p_type)NULL)->field)))
+
+#else /* !CRAY2 */
+
+#define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field))
+
+#endif /* !CRAY2 */
+#endif /* __STDC__ */
+#else /* ! (CRAY || __arm) */
+
+#define XtOffset(p_type,field) \
+ ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
+
+#endif /* !CRAY */
+
+#ifdef offsetof
+#define XtOffsetOf(s_type,field) offsetof(s_type,field)
+#else
+#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
+#endif
+
+
#endif
/*