Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 140 lines (120 sloc) 3.143 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
/* vi:set ts=8 sts=4 sw=4:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/

/*
* os_unixx.h -- include files that are only used in os_unix.c
*/

/*
* Stuff for signals
*/
#if defined(HAVE_SIGSET) && !defined(signal)
# define signal sigset
#endif

   /* sun's sys/ioctl.h redefines symbols from termio world */
#if defined(HAVE_SYS_IOCTL_H) && !defined(sun)
# include <sys/ioctl.h>
#endif

#ifndef USE_SYSTEM /* use fork/exec to start the shell */

# if defined(HAVE_SYS_WAIT_H) || defined(HAVE_UNION_WAIT)
# include <sys/wait.h>
# endif

# if defined(HAVE_SYS_SELECT_H) && \
(!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME))
# include <sys/select.h>
# endif

# ifndef WEXITSTATUS
# ifdef HAVE_UNION_WAIT
# define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode)
# else
# define WEXITSTATUS(stat_val) (((stat_val) >> 8) & 0377)
# endif
# endif

# ifndef WIFEXITED
# ifdef HAVE_UNION_WAIT
# define WIFEXITED(stat_val) ((stat_val).w_T.w_Termsig == 0)
# else
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
# endif
# endif

#endif /* !USE_SYSTEM */

#ifdef HAVE_STROPTS_H
#ifdef sinix
#define buf_T __system_buf_t__
#endif
# include <stropts.h>
#ifdef sinix
#undef buf_T
#endif
#endif

#ifdef HAVE_STRING_H
# include <string.h>
#endif

#ifndef HAVE_SELECT
# ifdef HAVE_SYS_POLL_H
# include <sys/poll.h>
# else
# ifdef HAVE_POLL_H
# include <poll.h>
# endif
# endif
#endif

#ifdef HAVE_SYS_STREAM_H
# include <sys/stream.h>
#endif

#ifdef HAVE_SYS_UTSNAME_H
# include <sys/utsname.h>
#endif

#ifdef HAVE_SYS_SYSTEMINFO_H
/*
* foolish Sinix <sys/systeminfo.h> uses SYS_NMLN but doesn't include
* <limits.h>, where it is defined. Perhaps other systems have the same
* problem? Include it here. -- Slootman
*/
# if defined(HAVE_LIMITS_H) && !defined(_LIMITS_H)
# include <limits.h> /* for SYS_NMLN (Sinix 5.41 / Unix SysV.4) */
# endif

/* Define SYS_NMLN ourselves if it still isn't defined (for CrayT3E). */
# ifndef SYS_NMLN
# define SYS_NMLN 32
# endif

# include <sys/systeminfo.h> /* for sysinfo */
#endif

/*
* We use termios.h if both termios.h and termio.h are available.
* Termios is supposed to be a superset of termio.h. Don't include them both,
* it may give problems on some systems (e.g. hpux).
* I don't understand why we don't want termios.h for apollo.
*/
#if defined(HAVE_TERMIOS_H) && !defined(apollo)
# include <termios.h>
#else
# ifdef HAVE_TERMIO_H
# include <termio.h>
# else
# ifdef HAVE_SGTTY_H
# include <sgtty.h>
# endif
# endif
#endif

#ifdef HAVE_SYS_PTEM_H
# include <sys/ptem.h> /* must be after termios.h for Sinix */
# ifndef _IO_PTEM_H /* For UnixWare that should check for _IO_PT_PTEM_H */
# define _IO_PTEM_H
# endif
#endif

/* shared library access */
#if defined(HAVE_DLFCN_H) && defined(USE_DLOPEN)
# ifdef __MVS__
    /* needed to define RTLD_LAZY (Anthony Giorgio) */
# define __SUSV3
# endif
# include <dlfcn.h>
#else
# if defined(HAVE_DL_H) && defined(HAVE_SHL_LOAD)
# include <dl.h>
# endif
#endif
Something went wrong with that request. Please try again.