summaryrefslogtreecommitdiff
path: root/Xos_r.h
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2009-06-12 12:33:22 -0400
committerAdam Jackson <ajax@redhat.com>2009-06-12 12:33:22 -0400
commitbab9c572cd4dc916ff0acab99de8bb526212d77f (patch)
treef9e484e5d5157505712d6dac64d478716b468efa /Xos_r.h
parentced38e880b54f2aae31a5354aecb4235a129f0a4 (diff)
Remove a bunch of garbage for unsupported platforms.
Diffstat (limited to 'Xos_r.h')
-rw-r--r--Xos_r.h94
1 files changed, 16 insertions, 78 deletions
diff --git a/Xos_r.h b/Xos_r.h
index 97e459b..813714a 100644
--- a/Xos_r.h
+++ b/Xos_r.h
@@ -37,13 +37,13 @@ in this Software without prior written authorization from The Open Group.
*
* If you are on a platform that defines XTHREADS but does not have
* MT-safe system API (e.g. UnixWare) you must define _Xos_processLock
- * and _Xos_processUnlock macros before including this header. If
- * you are on OSF/1 V3.2 and plan to use readdir(), you must also define
- * _Xos_isThreadInitialized. For convenience XOS_USE_XLIB_LOCKING or
- * XOS_USE_XT_LOCKING may be defined to obtain either Xlib-only or
- * Xt-based versions of these macros. These macros won't result in
- * truly thread-safe calls, but they are better than nothing. If you
- * do not want locking in this situation define XOS_USE_NO_LOCKING.
+ * and _Xos_processUnlock macros before including this header.
+ *
+ * For convenience XOS_USE_XLIB_LOCKING or XOS_USE_XT_LOCKING may be defined
+ * to obtain either Xlib-only or Xt-based versions of these macros. These
+ * macros won't result in truly thread-safe calls, but they are better than
+ * nothing. If you do not want locking in this situation define
+ * XOS_USE_NO_LOCKING.
*
* NOTE: On systems lacking appropriate _r functions Gethostbyname(),
* Gethostbyaddr(), and Getservbyname() do NOT copy the host or
@@ -197,15 +197,6 @@ extern void XtProcessUnlock(
# undef _POSIX_THREAD_SAFE_FUNCTIONS
#endif
-/*
- * LynxOS 3.1 defines _POSIX_THREAD_SAFE_FUNCTIONS but
- * getpwuid_r has different semantics than defined by POSIX
- */
-#if defined(Lynx) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
-# undef _POSIX_THREAD_SAFE_FUNCTIONS
-#endif
-
-
/***** <pwd.h> wrappers *****/
/*
@@ -328,24 +319,16 @@ static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
(p).pwp )
#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
-/* SVR4 threads, AIX 4.2.0 and earlier and OSF/1 3.2 and earlier pthreads */
# define X_NEEDS_PWPARAMS
typedef struct {
struct passwd pws;
char pwbuf[X_LINE_MAX];
} _Xgetpwparams;
-# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4) || defined(Lynx)
-# ifndef Lynx
+# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4)
# define _XGetpwuid(u,p) \
((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
# define _XGetpwnam(u,p) \
((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
-# else /* Lynx */
-# define _XGetpwuid(u,p) \
-((getpwuid_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
-# define _XGetpwnam(u,p) \
-((getpwnam_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
-# endif
# else /* SVR4 */
# define _XGetpwuid(u,p) \
((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
@@ -354,12 +337,6 @@ typedef struct {
# endif /* SVR4 */
#else /* _POSIX_THREAD_SAFE_FUNCTIONS */
-/* Digital UNIX 4.0, but not (beta) T4.0-1 */
-# if defined(__osf__)
-/* OSF/1 V4.0 <pwd.h> doesn't declare the _P routines, breaking under C++. */
-extern int _Pgetpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **);
-extern int _Pgetpwnam_r(const char *, struct passwd *, char *, size_t, struct passwd **);
-# endif
# define X_NEEDS_PWPARAMS
typedef struct {
struct passwd pws;
@@ -424,7 +401,6 @@ typedef int _Xgetservbynameparams; /* dummy */
# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI)
-/* UnixWare 2.0, or other systems with thread support but no _r API. */
/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
@@ -482,9 +458,6 @@ typedef struct {
*/
# ifdef _POSIX_REENTRANT_FUNCTIONS
# ifndef _POSIX_THREAD_SAFE_FUNCTIONS
-# if defined(AIXV3) || defined(AIXV4) || defined(__osf__)
-# define X_POSIX_THREAD_SAFE_FUNCTIONS 1
-# endif
# endif
# endif
# ifdef _POSIX_THREAD_SAFE_FUNCTIONS
@@ -619,32 +592,10 @@ typedef struct {
# endif
} _Xreaddirparams;
-# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(AIXV3) || \
- defined(AIXV4) || defined(__APPLE__)
-/* AIX defines the draft POSIX symbol, but uses the final API. */
+# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(__APPLE__)
/* POSIX final API, returns (int)0 on success. */
-# if defined(__osf__)
-/* OSF/1 V4.0 <dirent.h> doesn't declare _Preaddir_r, breaking under C++. */
-extern int _Preaddir_r(DIR *, struct dirent *, struct dirent **);
-# endif
# define _XReaddir(d,p) \
(readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
-# elif defined(_POSIX_REENTRANT_FUNCTIONS) && defined(__osf__)
-/*
- * OSF/1 V3.2 readdir_r() will SEGV if the main program is not
- * explicitly linked with -lc_r. The library REQUIREDLIBS don't help.
- * Assume that if threads have been initialized we're linked properly.
- */
-# define _XReaddir(d,p) \
- ( (_Xos_isThreadInitialized) ? \
- (readdir_r((d), &((p).dir_entry)) ? NULL : &((p).dir_entry)) : \
- ((_Xos_processLock), \
- (((p).result = readdir((d))) ? \
- (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
- ((p).result = &(p).dir_entry), 0) : \
- 0), \
- (_Xos_processUnlock), \
- (p).result) )
# elif defined(_POSIX_REENTRANT_FUNCTIONS)
/* POSIX draft API, returns (int)0 on success. */
# define _XReaddir(d,p) \
@@ -942,8 +893,8 @@ typedef struct {
(_Xos_processUnlock), \
(p).result )
-#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(__osf__) || defined(hpV4))
-/* Returns (int)0 on success. OSF/1 v3.2, HP/UX 10
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(hpV4)
+/* Returns (int)0 on success.
*
* extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen);
* extern int ctime_r(const time_t *timer, char *buffer, int buflen);
@@ -987,19 +938,12 @@ typedef struct tm _Xltimeparams;
# define _XLocaltime(t,p) localtime_r((t),&(p))
#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */
-/* POSIX final API. OSF/1 v4.0, AIX, etc.
- *
+/* POSIX final API.
* extern char *asctime_r(const struct tm *timeptr, char *buffer);
* extern char *ctime_r(const time_t *timer, char *buffer);
* extern struct tm *gmtime_r(const time_t *timer, struct tm *result);
* extern struct tm *localtime_r(const time_t *timer, struct tm *result);
*/
-# if defined(__osf__)
-/* OSF/1 V4.0 <time.h> doesn't declare the _P routines, breaking under C++. */
-extern char *_Pasctime_r(const struct tm *, char *);
-extern char *_Pctime_r(const time_t *, char *);
-extern struct tm *_Plocaltime_r(const time_t *, struct tm *);
-# endif
# ifdef TIMELEN
typedef char _Xatimeparams[TIMELEN];
typedef char _Xctimeparams[TIMELEN];
@@ -1094,8 +1038,8 @@ typedef struct {
(_Xos_processUnlock), \
(p).pgrp )
-#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(sun) || defined(__osf__))
-/* Non-POSIX API. Solaris, DEC v3.2.
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(sun)
+/* Non-POSIX API. Solaris.
*
* extern struct group *getgrgid_r(gid_t, struct group *, char *, int);
* extern struct group *getgrnam_r(const char *, struct group *, char *, int);
@@ -1108,8 +1052,7 @@ typedef struct {
#define _XGetgrnam(n,p) getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf))
#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
-/* Non-POSIX API. HP/UX 10, AIX 4.
- *
+/* Non-POSIX API.
* extern int getgrgid_r(gid_t, struct group *, char *, int);
* extern int getgrnam_r(const char *, struct group *, char *, int);
*/
@@ -1123,16 +1066,11 @@ typedef struct {
((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
#else
-/* POSIX final API. DEC v4.0, IRIX 6.2.
+/* POSIX final API.
*
* int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
* int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
*/
-# if defined(__osf__)
-/* OSF/1 V4.0 <grp.h> doesn't declare the _P routines, breaking under C++. */
-extern int _Pgetgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
-extern int _Pgetgrnam_r(const char *, struct group *, char *, size_t, struct group **);
-# endif
typedef struct {
struct group grp;
char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */