File indexing completed on 2025-01-18 10:15:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef _XmosP_h
0024 #define _XmosP_h
0025
0026
0027 #include <Xm/Xmfuncs.h> /* for bzero et al */
0028
0029
0030
0031
0032
0033 #ifndef USER_VAR
0034 #if defined(SYSV) || defined(SVR4)
0035 #define USER_VAR "LOGNAME"
0036 #else
0037 #define USER_VAR "USER"
0038 #endif
0039 #endif
0040
0041
0042
0043
0044
0045 #ifdef NO_MEMMOVE
0046 #ifdef bcopy
0047 #undef bcopy
0048 #endif
0049 #ifdef memmove
0050 #undef memmove
0051 #endif
0052 #define memmove( p1, p2, p3 ) bcopy( p2, p1, p3 )
0053 #endif
0054
0055 #ifndef X_NOT_STDC_ENV
0056 #include <stdlib.h> /* Needed for MB_CUR_MAX, mbtowc, mbstowcs and mblen */
0057 #endif
0058
0059
0060
0061
0062 #if defined(sun)
0063 #undef mblen
0064 #define mblen(ptr, size) \
0065 ((ptr && *(ptr) == '\0') ? 0 : mbtowc((wchar_t *)0, (ptr), (size)))
0066 #endif
0067
0068 #include <limits.h> /* for MB_LEN_MAX et al */
0069
0070 #ifndef INT_MAX
0071 #define INT_MAX 2147483647
0072 #endif
0073 #ifndef LONG_MAX
0074 #define LONG_MAX 2147483647
0075 #endif
0076 #ifdef BOGUS_MB_MAX
0077 #undef MB_LEN_MAX
0078 #define MB_LEN_MAX 1
0079 #undef MB_CUR_MAX
0080 #define MB_CUR_MAX 1
0081 #endif
0082
0083
0084
0085
0086 #if defined(INCLUDE_ALLOCA_H) || defined(HAVE_ALLOCA_H)
0087 #include <alloca.h>
0088 #endif
0089
0090 #ifdef CRAY
0091 #define WORD64
0092 #endif
0093
0094
0095 #if defined(sun)
0096 #define NO_ALLOCA
0097 #endif
0098
0099
0100 #ifndef NO_ALLOCA
0101
0102
0103
0104
0105
0106 #if defined(__HIGHC__)
0107
0108 #if HCVERSION < 21003
0109 #define ALLOCATE_LOCAL(size) alloca(size)
0110 pragma on(alloca);
0111 #else
0112 #define ALLOCATE_LOCAL(size) _Alloca(size)
0113 #endif
0114
0115 #define DEALLOCATE_LOCAL(ptr)
0116
0117 #endif
0118
0119
0120 #ifdef __GNUC__
0121
0122 #ifndef alloca
0123 #define alloca __builtin_alloca
0124 #endif
0125
0126 #define ALLOCATE_LOCAL(size) alloca(size)
0127 #define DEALLOCATE_LOCAL(ptr)
0128 #else
0129
0130
0131
0132 #if defined(vax) || defined(sun) || defined(apollo) || defined(stellar)
0133
0134
0135
0136
0137 char *alloca();
0138 #define ALLOCATE_LOCAL(size) alloca(size)
0139 #define DEALLOCATE_LOCAL(ptr)
0140 #endif
0141 #endif
0142
0143 #endif
0144
0145 #ifndef ALLOCATE_LOCAL
0146 #define ALLOCATE_LOCAL(size) XtMalloc(size)
0147 #define DEALLOCATE_LOCAL(ptr) XtFree(ptr)
0148 #endif
0149
0150
0151
0152
0153 #include <Xm/XmP.h>
0154
0155
0156 #if !defined(CRAY) && !defined(__alpha)
0157 #define MrmShortPtr
0158 #endif
0159
0160 #ifdef __cplusplus
0161 extern "C" {
0162 #endif
0163
0164
0165 #define MATCH_CHAR 'P'
0166
0167
0168
0169
0170 #define XMBINDDIR "XMBINDDIR"
0171 #ifndef XMBINDDIR_FALLBACK
0172 #define XMBINDDIR_FALLBACK "/usr/lib/Xm/bindings"
0173 #endif
0174 #define XMBINDFILE "xmbind.alias"
0175 #define MOTIFBIND ".motifbind"
0176
0177 typedef enum {
0178 XmOS_METHOD_NULL,
0179 XmOS_METHOD_DEFAULTED,
0180 XmOS_METHOD_REPLACED
0181 } XmOSMethodStatus;
0182
0183 typedef XmDirection (*XmCharDirectionProc)(XtPointer ,
0184 XmTextType ,
0185 XmStringTag );
0186
0187 typedef Status (*XmInitialDirectionProc)(XtPointer ,
0188 XmTextType ,
0189 XmStringTag ,
0190 unsigned int * ,
0191 XmDirection * );
0192
0193
0194
0195
0196 extern XmOSMethodStatus XmOSGetMethod(Widget w,
0197 String method_name,
0198 XtPointer * method,
0199 XtPointer * os_data);
0200
0201
0202
0203
0204 #ifdef __cplusplus
0205 }
0206 #endif
0207
0208
0209 #endif
0210