xref: /openbsd-src/gnu/usr.bin/cvs/emx/config.h (revision e79e306285af588019b14bb4031379f450685a93)
12770ece5Stholo /* config.h --- configuration file for OS/2 EMX
22770ece5Stholo    Thomas Epting <tepting@swol.de> --- Feb 1997  */
32770ece5Stholo 
42770ece5Stholo /* This program is free software; you can redistribute it and/or modify
52770ece5Stholo    it under the terms of the GNU General Public License as published by
62770ece5Stholo    the Free Software Foundation; either version 2, or (at your option)
72770ece5Stholo    any later version.
82770ece5Stholo 
92770ece5Stholo    This program is distributed in the hope that it will be useful,
102770ece5Stholo    but WITHOUT ANY WARRANTY; without even the implied warranty of
112770ece5Stholo    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
122770ece5Stholo    GNU General Public License for more details.  */
132770ece5Stholo 
142770ece5Stholo /* This file lives in the emx/ subdirectory, which is only included
152770ece5Stholo  * in your header search path if you use emx/Makefile (with GNU make
162770ece5Stholo  * for OS/2). Thus, this is the right place to put configuration
172770ece5Stholo  * information for OS/2.
182770ece5Stholo  */
192770ece5Stholo 
202770ece5Stholo #include <io.h>
212770ece5Stholo #include <sys/types.h>
222770ece5Stholo #include <sys/stat.h>
232770ece5Stholo 
242770ece5Stholo /* Define if on AIX 3.
252770ece5Stholo    System headers sometimes define this.
262770ece5Stholo    We just want to avoid a redefinition error message.  */
272770ece5Stholo #ifndef _ALL_SOURCE
282770ece5Stholo /* #undef _ALL_SOURCE */
292770ece5Stholo #endif
302770ece5Stholo 
312770ece5Stholo /* Define to empty if the keyword does not work.  */
322770ece5Stholo #undef const
332770ece5Stholo 
342770ece5Stholo /* Define to `int' if <sys/types.h> doesn't define.  */
352770ece5Stholo /* #undef gid_t */
362770ece5Stholo 
372770ece5Stholo /* Define if you support file names longer than 14 characters.  */
382770ece5Stholo #define HAVE_LONG_FILE_NAMES 1
392770ece5Stholo 
402770ece5Stholo /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
412770ece5Stholo #define HAVE_SYS_WAIT_H 1
422770ece5Stholo 
432770ece5Stholo /* Define if utime(file, NULL) sets file's timestamp to the present.  */
442770ece5Stholo #define HAVE_UTIME_NULL 1
452770ece5Stholo 
462770ece5Stholo /* Define if on MINIX.  */
472770ece5Stholo /* #undef _MINIX */
482770ece5Stholo 
492770ece5Stholo /* Define to `int' if <sys/types.h> doesn't define.  */
502770ece5Stholo /* #undef mode_t */
512770ece5Stholo 
522770ece5Stholo /* Define to `int' if <sys/types.h> doesn't define.  */
532770ece5Stholo /* #undef pid_t */
542770ece5Stholo 
552770ece5Stholo /* Define if the system does not provide POSIX.1 features except
562770ece5Stholo    with this defined.  */
572770ece5Stholo /* #undef _POSIX_1_SOURCE */
582770ece5Stholo 
592770ece5Stholo /* Define if you need to in order for stat and other things to work.  */
602770ece5Stholo /* #undef _POSIX_SOURCE */
612770ece5Stholo 
622770ece5Stholo /* Define as the return type of signal handlers (int or void).  */
632770ece5Stholo #define RETSIGTYPE void
642770ece5Stholo 
652770ece5Stholo /* Define to `unsigned' if <sys/types.h> doesn't define.  */
662770ece5Stholo /* #undef size_t */
672770ece5Stholo 
682770ece5Stholo /* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
692770ece5Stholo /* #undef STAT_MACROS_BROKEN */
702770ece5Stholo 
712770ece5Stholo /* Define if you have the ANSI C header files.  */
722770ece5Stholo #define STDC_HEADERS 1
732770ece5Stholo 
742770ece5Stholo /* Define if you can safely include both <sys/time.h> and <time.h>.  */
752770ece5Stholo #define TIME_WITH_SYS_TIME 1
762770ece5Stholo 
772770ece5Stholo /* Define to `int' if <sys/types.h> doesn't define.  */
782770ece5Stholo /* #undef uid_t */
792770ece5Stholo 
802770ece5Stholo /* Define if you have MIT Kerberos version 4 available.  */
812770ece5Stholo #undef HAVE_KERBEROS
822770ece5Stholo 
832770ece5Stholo /* Define if you want CVS to be able to be a remote repository client.  */
842770ece5Stholo #define CLIENT_SUPPORT 1
852770ece5Stholo 
862770ece5Stholo #if 0
872770ece5Stholo /* This doesn't work yet, and I'm sure I don't want the hassles of seeing
882770ece5Stholo    whether it will compile.  */
892770ece5Stholo /* Define if you want CVS to be able to serve repositories to remote
902770ece5Stholo    clients.  */
912770ece5Stholo #define SERVER_SUPPORT 1
922770ece5Stholo 
932770ece5Stholo /* Define if you want to use the password authenticated server.  */
942770ece5Stholo #define AUTH_SERVER_SUPPORT
952770ece5Stholo #endif /* 0 */
962770ece5Stholo 
972770ece5Stholo /* Define if you want encryption support.  */
982770ece5Stholo /* #undef ENCRYPTION */
992770ece5Stholo 
1002770ece5Stholo /* Define if you have the connect function.  */
1012770ece5Stholo #define HAVE_CONNECT 1
1022770ece5Stholo 
1032770ece5Stholo /* Define if you have the crypt function.  */
1042770ece5Stholo #define HAVE_CRYPT 1
1052770ece5Stholo 
1062770ece5Stholo /* Define if you have the fchdir function.  */
1072770ece5Stholo /* #define HAVE_FCHDIR */
1082770ece5Stholo 
1092770ece5Stholo /* Define if you have the fchmod function.  */
1102770ece5Stholo /* #define HAVE_FCHMOD */
1112770ece5Stholo 
1122770ece5Stholo /* Define if you have the fsync function.  */
1132770ece5Stholo #define HAVE_FSYNC 1
1142770ece5Stholo 
1152770ece5Stholo /* Define if you have the ftime function.  */
1162770ece5Stholo #define HAVE_FTIME 1
1172770ece5Stholo 
1182770ece5Stholo /* Define if you have the ftruncate function.  */
1192770ece5Stholo #define HAVE_FTRUNCATE 1
1202770ece5Stholo 
1212770ece5Stholo /* Define if you have the getpagesize function.  */
1222770ece5Stholo #define HAVE_GETPAGESIZE 1
1232770ece5Stholo 
1242770ece5Stholo /* Define if you have the getspnam function.  */
1252770ece5Stholo /* #define HAVE_GETSPNAM */
1262770ece5Stholo 
1272770ece5Stholo /* Define if you have the initgroups function.  */
1282770ece5Stholo /* #define HAVE_INITGROUPS */
1292770ece5Stholo 
1302770ece5Stholo /* Define if you have the krb_get_err_text function.  */
1312770ece5Stholo /* #undef HAVE_KRB_GET_ERR_TEXT */
1322770ece5Stholo 
1332770ece5Stholo /* Define if you have the putenv function.  */
1342770ece5Stholo #define HAVE_PUTENV 1
1352770ece5Stholo 
1362770ece5Stholo /* Define if you have the readlink function.  */
1372770ece5Stholo /* #define HAVE_READLINK */
1382770ece5Stholo 
1392770ece5Stholo /* Define if you have the sigaction function.  */
1402770ece5Stholo #define HAVE_SIGACTION 1
1412770ece5Stholo 
1422770ece5Stholo /* Define if you have the sigblock function.  */
1432770ece5Stholo /* #undef HAVE_SIGBLOCK */
1442770ece5Stholo 
1452770ece5Stholo /* Define if you have the sigprocmask function.  */
1462770ece5Stholo #define HAVE_SIGPROCMASK 1
1472770ece5Stholo 
1482770ece5Stholo /* Define if you have the sigsetmask function.  */
1492770ece5Stholo /* #undef HAVE_SIGSETMASK */
1502770ece5Stholo 
1512770ece5Stholo /* Define if you have the sigvec function.  */
1522770ece5Stholo /* #undef HAVE_SIGVEC */
1532770ece5Stholo 
1542770ece5Stholo /* Define if you have the timezone function.  */
1552770ece5Stholo #define HAVE_TIMEZONE 1
1562770ece5Stholo 
1572770ece5Stholo /* Define if you have the tzset function.  */
1582770ece5Stholo #define HAVE_TZSET 1
1592770ece5Stholo 
1602770ece5Stholo /* Define if you have the vfork function.  */
1612770ece5Stholo /* #undef HAVE_VFORK */
1622770ece5Stholo 
1632770ece5Stholo /* Define if you have the vprintf function.  */
1642770ece5Stholo #define HAVE_VPRINTF 1
1652770ece5Stholo 
1662770ece5Stholo /* Define if you have the <direct.h> header file.  */
1672770ece5Stholo /* #undef HAVE_DIRECT_H */
1682770ece5Stholo 
1692770ece5Stholo /* Define if you have the <dirent.h> header file.  */
1702770ece5Stholo #define HAVE_DIRENT_H 1
1712770ece5Stholo 
1722770ece5Stholo /* Define if you have the <errno.h> header file.  */
1732770ece5Stholo #define HAVE_ERRNO_H 1
1742770ece5Stholo 
1752770ece5Stholo /* Define if you have the <fcntl.h> header file.  */
1762770ece5Stholo #define HAVE_FCNTL_H 1
1772770ece5Stholo 
1782770ece5Stholo /* Define if you have the <io.h> header file.  */
1792770ece5Stholo #define HAVE_IO_H 1
1802770ece5Stholo 
1812770ece5Stholo /* Define if you have the <memory.h> header file.  */
1822770ece5Stholo #define HAVE_MEMORY_H 1
1832770ece5Stholo 
1842770ece5Stholo /* Define if you have the <ndbm.h> header file.  */
1852770ece5Stholo /* #undef HAVE_NDBM_H 1 */
1862770ece5Stholo 
1872770ece5Stholo /* Define if you have the <ndir.h> header file.  */
1882770ece5Stholo /* #undef HAVE_NDIR_H */
1892770ece5Stholo 
1902770ece5Stholo /* Define if you have the <string.h> header file.  */
1912770ece5Stholo #define HAVE_STRING_H 1
1922770ece5Stholo 
1932770ece5Stholo /* Define if you have the <sys/bsdtypes.h> header file.  */
1942770ece5Stholo /* #undef HAVE_SYS_BSDTYPES_H */
1952770ece5Stholo 
1962770ece5Stholo /* Define if you have the <sys/dir.h> header file.  */
1972770ece5Stholo #define HAVE_SYS_DIR_H 1
1982770ece5Stholo 
1992770ece5Stholo /* Define if you have the <sys/ndir.h> header file.  */
2002770ece5Stholo /* #undef HAVE_SYS_NDIR_H */
2012770ece5Stholo 
2022770ece5Stholo /* Define if you have the <sys/param.h> header file.  */
2032770ece5Stholo #define HAVE_SYS_PARAM_H 1
2042770ece5Stholo 
2052770ece5Stholo /* Define if you have the <sys/resource.h> header file.  */
2062770ece5Stholo #define HAVE_SYS_RESOURCE_H 1
2072770ece5Stholo 
2082770ece5Stholo /* Define if you have the <sys/select.h> header file.  */
2092770ece5Stholo #define HAVE_SYS_SELECT_H 1
2102770ece5Stholo 
2112770ece5Stholo /* Define if you have the <sys/time.h> header file.  */
2122770ece5Stholo #define HAVE_SYS_TIME_H 1
2132770ece5Stholo 
2142770ece5Stholo /* Define if you have the <unistd.h> header file.  */
2152770ece5Stholo #define HAVE_UNISTD_H 1
2162770ece5Stholo 
2172770ece5Stholo /* Define if you have the <utime.h> header file.  */
2182770ece5Stholo #define HAVE_UTIME_H 1
2192770ece5Stholo 
2202770ece5Stholo /* Define if you have the crypt library (-lcrypt).  */
2212770ece5Stholo #define HAVE_LIBCRYPT 1
2222770ece5Stholo 
2232770ece5Stholo /* Define if you have the inet library (-linet).  */
2242770ece5Stholo /* #undef HAVE_LIBINET */
2252770ece5Stholo 
2262770ece5Stholo /* Define if you have the nsl library (-lnsl).  */
2272770ece5Stholo #define HAVE_LIBNSL 1
2282770ece5Stholo 
2292770ece5Stholo /* Define if you have the nsl_s library (-lnsl_s).  */
2302770ece5Stholo /* #undef HAVE_LIBNSL_S */
2312770ece5Stholo 
2322770ece5Stholo /* Define if you have the sec library (-lsec).  */
2332770ece5Stholo /* #undef HAVE_LIBSEC 1 */
2342770ece5Stholo 
2352770ece5Stholo /* Define if you have the socket library (-lsocket).  */
2362770ece5Stholo #define HAVE_LIBSOCKET 1
2372770ece5Stholo 
2382770ece5Stholo /* Under OS/2, filenames are case-insensitive, and both / and \
2392770ece5Stholo    are path component separators.  */
2402770ece5Stholo #define FOLD_FN_CHAR(c) (OS2_filename_classes[(unsigned char) (c)])
2412770ece5Stholo extern unsigned char OS2_filename_classes[];
2422770ece5Stholo 
2432770ece5Stholo /* Is the character C a path name separator?  Under OS/2, you can use
2442770ece5Stholo    either / or \.  */
2452770ece5Stholo #define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
2462770ece5Stholo 
2472770ece5Stholo /* Like strcmp, but with the appropriate tweaks for file names.
2482770ece5Stholo    Under OS/2, filenames are case-insensitive but case-preserving,
2492770ece5Stholo    and both \ and / are path element separators.  */
2502770ece5Stholo extern int fncmp (const char *n1, const char *n2);
2512770ece5Stholo 
2522770ece5Stholo /* Fold characters in FILENAME to their canonical forms.
2532770ece5Stholo    If FOLD_FN_CHAR is not #defined, the system provides a default
2542770ece5Stholo    definition for this.  */
2552770ece5Stholo extern void fnfold (char *FILENAME);
2562770ece5Stholo 
2572770ece5Stholo /* This is where old bits go to die under OS/2 as well as WinNT.  */
2582770ece5Stholo #define DEVNULL "nul"
2592770ece5Stholo 
2602770ece5Stholo /* We actually do have a transparent rsh, whew. */
2612770ece5Stholo #undef RSH_NOT_TRANSPARENT
2622770ece5Stholo /* But it won't be transparent unless we ask it nicely! */
2632770ece5Stholo #define RSH_NEEDS_BINARY_FLAG 1
2642770ece5Stholo 
2652770ece5Stholo #define START_SERVER os2_start_server
2662770ece5Stholo #define SHUTDOWN_SERVER os2_shutdown_server
2672770ece5Stholo 
2682770ece5Stholo extern void START_SERVER (int *tofd, int *fromfd,
2692770ece5Stholo 			  char *client_user,
2702770ece5Stholo 			  char *server_user,
2712770ece5Stholo 			  char *server_host,
2722770ece5Stholo 			  char *server_cvsroot);
2732770ece5Stholo extern void SHUTDOWN_SERVER (int fd);
2742770ece5Stholo 
2752770ece5Stholo /* Call our own os2_initialize function */
2762770ece5Stholo #define SYSTEM_INITIALIZE(pargc,pargv) os2_initialize (pargc, pargv)
2772770ece5Stholo extern void os2_initialize (int *pargc, char ***pargv);
2782770ece5Stholo 
2792770ece5Stholo /* Under EMX, we already have popen() and pclose()... */
2802770ece5Stholo /* #undef USE_OWN_POPEN */
2812770ece5Stholo /* ... and we too have no need for popenRW to start the rsh server. */
2822770ece5Stholo /* #define START_RSH_WITH_POPEN_RW */
2832770ece5Stholo 
2842770ece5Stholo /* Socket handles and file handles share a command handle space under EMX. */
2852770ece5Stholo /* #undef NO_SOCKET_TO_FD */
2862770ece5Stholo 
2872770ece5Stholo 
2882770ece5Stholo 
2892770ece5Stholo #define CVS_STAT     os2_stat
2902770ece5Stholo #define CVS_CHDIR    os2_chdir
2912770ece5Stholo #define CVS_FNMATCH  os2_fnmatch
2922770ece5Stholo 
2932770ece5Stholo extern int os2_stat(const char *name, struct stat *buffer);
2942770ece5Stholo extern int os2_chdir(const char *name);
2952770ece5Stholo extern int os2_fnmatch(const char *pattern, const char *name, int flags);
2962770ece5Stholo 
2972770ece5Stholo /* Pipes need to be put into binary mode using setmode ().  */
2982770ece5Stholo #define USE_SETMODE_BINARY 1
2992770ece5Stholo 
3002770ece5Stholo /* The reason for this is that we don't know whether to pass -b to
3012770ece5Stholo    rsh.  The system-supplied rsh on OS/2 wants it.  Some other rsh
3022770ece5Stholo    replacement might not accept it.  Historically, the NT port of CVS
3032770ece5Stholo    has not passed -b, and the OS/2 port has.  What a mess.  If we can
3042770ece5Stholo    get away with just not accepting :ext: until we can figure out how
3052770ece5Stholo    we should deal with this, then it will avoid having people rely on
3062770ece5Stholo    behaviors which will need to change.  */
3072770ece5Stholo #define NO_EXT_METHOD 1
3082770ece5Stholo 
3092770ece5Stholo /* See above; we can't use rsh without -b.  */
3102770ece5Stholo #define RSH_NOT_TRANSPARENT 1
311*2286d8edStholo 
312*2286d8edStholo /* See discussion at xchmod in filesubr.c.  */
313*2286d8edStholo #define CHMOD_BROKEN 1
314