xref: /openbsd-src/gnu/usr.bin/cvs/vms/config.h (revision e79e306285af588019b14bb4031379f450685a93)
150bf276cStholo /* config.h - OpenVMS/AXP specific configuration
250bf276cStholo               June 1995 - <benjamin@cyclic.com> */
350bf276cStholo 
450bf276cStholo /* We only want to build the client */
550bf276cStholo #define CLIENT_SUPPORT 1
650bf276cStholo #undef SERVER_SUPPORT
750bf276cStholo 
8*43c1707eStholo /* Set up for other #if's which follow */
9*43c1707eStholo #ifndef __DECC_VER
10*43c1707eStholo #define __DECC_VER  0
11*43c1707eStholo #endif
12*43c1707eStholo #ifndef __VMS_VER
13*43c1707eStholo #define __VMS_VER   0
14*43c1707eStholo #endif
15*43c1707eStholo 
1650bf276cStholo /* VMS is case insensitive */
1750bf276cStholo /* #define FOLD_FN_CHAR(c) tolower(c) */
1850bf276cStholo 
1950bf276cStholo /* Temporary files named "#booger.3.6~" aren't legal under VMS,
2050bf276cStholo    Define this if you want to use names which are legal for VMS */
2150bf276cStholo #define USE_VMS_FILENAMES 1
2250bf276cStholo 
2350bf276cStholo /* More issues with how VMS names files, kind of a kludge.  See login.c.  */
2450bf276cStholo #define NO_SLASH_AFTER_HOME 1
2550bf276cStholo 
2650bf276cStholo /* Define to empty if the keyword does not work.  */
2750bf276cStholo /* #undef const */
2850bf276cStholo 
2950bf276cStholo /* Define if you have <dirent.h>.  */
3050bf276cStholo /* #undef DIRENT */
3150bf276cStholo 
3250bf276cStholo /* Define if you have <sys/param.h> */
3350bf276cStholo /* #undef HAVE_SYS_PARAM_H */
3450bf276cStholo 
3550bf276cStholo /* Define to `int' if <sys/types.h> doesn't define.  */
3650bf276cStholo /* #undef gid_t */
3750bf276cStholo 
3850bf276cStholo /* Define if you support file names longer than 14 characters.  */
3950bf276cStholo /* #undef HAVE_LONG_FILE_NAMES */
4050bf276cStholo 
4150bf276cStholo /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
4250bf276cStholo /* #define HAVE_SYS_WAIT_H 1 OpenVMS POSIX has it, but VMS does not. */
4350bf276cStholo #undef POSIX
4450bf276cStholo 
4550bf276cStholo /* Define if utime(file, NULL) sets file's timestamp to the present.  */
4650bf276cStholo /* #undef HAVE_UTIME_NULL */
4750bf276cStholo 
4850bf276cStholo /* Define if on MINIX.  */
4950bf276cStholo /* #undef _MINIX */
5050bf276cStholo 
5150bf276cStholo /* Define to `int' if <sys/types.h> doesn't define.  */
5250bf276cStholo /* #undef mode_t */
5350bf276cStholo 
5450bf276cStholo /* Define if you don't have <dirent.h>, but have <ndir.h>.  */
552286d8edStholo #define HAVE_NDIR_H 1
5650bf276cStholo 
5750bf276cStholo /* Define to `int' if <sys/types.h> doesn't define.  */
5850bf276cStholo /* #undef pid_t */
5950bf276cStholo 
6050bf276cStholo /* Define if the system does not provide POSIX.1 features except
6150bf276cStholo    with this defined.  */
6250bf276cStholo /* #undef _POSIX_1_SOURCE */
6350bf276cStholo 
6450bf276cStholo /* Define if you need to in order for stat and other things to work.  */
6550bf276cStholo /* #undef _POSIX_SOURCE */
6650bf276cStholo 
6750bf276cStholo /* Define as the return type of signal handlers (int or void).  */
6850bf276cStholo #define RETSIGTYPE void
6950bf276cStholo 
7050bf276cStholo /* Define to `unsigned' if <sys/types.h> doesn't define.  */
7150bf276cStholo /* #undef size_t */
7250bf276cStholo 
7350bf276cStholo /* Define if you have the ANSI C header files.  */
7450bf276cStholo #define STDC_HEADERS 1
7550bf276cStholo 
7650bf276cStholo /* Define if you don't have <dirent.h>, but have <sys/dir.h>.  */
7750bf276cStholo /* #undef SYSDIR */
7850bf276cStholo 
7950bf276cStholo /* Define if you don't have <dirent.h>, but have <sys/ndir.h>.  */
8050bf276cStholo /* #undef SYSNDIR */
8150bf276cStholo 
8250bf276cStholo /* Define if your <sys/time.h> declares struct tm.  */
8350bf276cStholo /* #undef TM_IN_SYS_TIME */
8450bf276cStholo 
8550bf276cStholo /* Define to `int' if <sys/types.h> doesn't define.  */
8650bf276cStholo /* #undef uid_t */
8750bf276cStholo 
8850bf276cStholo /* Define if the closedir function returns void instead of int.  */
8950bf276cStholo /* #undef VOID_CLOSEDIR */
9050bf276cStholo 
9150bf276cStholo /* Define if you have MIT Kerberos version 4 available.  */
9250bf276cStholo /* #undef HAVE_KERBEROS */
9350bf276cStholo 
9450bf276cStholo /* Define if you have the fchmod function.  */
9550bf276cStholo /* #undef HAVE_FCHMOD */
9650bf276cStholo 
9750bf276cStholo /* Define if you have the fsync function.  */
9850bf276cStholo /* #undef HAVE_FSYNC */
9950bf276cStholo 
10050bf276cStholo /* Define if you have the ftime function.  */
10150bf276cStholo /* #undef HAVE_FTIME */
10250bf276cStholo 
10350bf276cStholo /* Define if you have the ftruncate function.  */
10450bf276cStholo /* #undef HAVE_FTRUNCATE */
10550bf276cStholo 
10650bf276cStholo /* Define if you have the getpagesize function.  */
10750bf276cStholo /* #undef HAVE_GETPAGESIZE */
10850bf276cStholo 
10950bf276cStholo /* Define if you have the krb_get_err_text function.  */
11050bf276cStholo /* #undef HAVE_KRB_GET_ERR_TEXT */
11150bf276cStholo 
11250bf276cStholo /* Define if you have the mkdir function */
11350bf276cStholo #define HAVE_MKDIR 1
11450bf276cStholo 
11550bf276cStholo /* Define if you have the rmdir function */
11650bf276cStholo #define HAVE_RMDIR 1
11750bf276cStholo 
11850bf276cStholo /* Define if you have the rename function */
11950bf276cStholo #define HAVE_RENAME 1
12050bf276cStholo 
12150bf276cStholo /* Define if you have the putenv function.  */
12250bf276cStholo /* #undef HAVE_PUTENV */
12350bf276cStholo 
12450bf276cStholo /* Define if you have the timezone function.  */
12550bf276cStholo /* #undef HAVE_TIMEZONE */
12650bf276cStholo 
12750bf276cStholo /* Define if you have the vfork function.  */
12850bf276cStholo #define HAVE_VFORK
12950bf276cStholo 
13050bf276cStholo /* Define if you have the vprintf function.  */
1312286d8edStholo #define HAVE_VPRINTF
13250bf276cStholo 
13350bf276cStholo /* Define if you have the <errno.h> header file.  */
13450bf276cStholo /* #undef HAVE_ERRNO_H */
13550bf276cStholo 
13650bf276cStholo /* Define if you have the <fcntl.h> header file.  */
137*43c1707eStholo #if __DECC_VER >= 50700000
138*43c1707eStholo # define HAVE_FCNTL_H 1
139*43c1707eStholo #endif
14050bf276cStholo 
14150bf276cStholo /* Define if you have the <memory.h> header file.  */
14250bf276cStholo /* #undef HAVE_MEMORY_H */
14350bf276cStholo 
14450bf276cStholo /* Define if you have the <ndbm.h> header file.  */
14550bf276cStholo /* #undef HAVE_NDBM_H */
14650bf276cStholo 
14750bf276cStholo /* Define if you have the <string.h> header file.  */
14850bf276cStholo #define HAVE_STRING_H 1
14950bf276cStholo 
150*43c1707eStholo /* Define to force lib/regex.c to use malloc instead of alloca.  */
151*43c1707eStholo #define REGEX_MALLOC 1
152*43c1707eStholo 
153*43c1707eStholo /* Define to force lib/regex.c to define re_comp et al.  */
154*43c1707eStholo #define _REGEX_RE_COMP 1
155*43c1707eStholo 
15650bf276cStholo /* Define if you have the <sys/select.h> header file.  */
15750bf276cStholo /* #undef HAVE_SYS_SELECT_H */
15850bf276cStholo 
15950bf276cStholo /* Define this if your <sys/socket.h> defines select() */
16050bf276cStholo #define SYS_SOCKET_H_DEFINES_SELECT 1
16150bf276cStholo 
16250bf276cStholo /* Define if you have the <unistd.h> header file.  */
16350bf276cStholo #define HAVE_UNISTD_H 1
16450bf276cStholo 
16550bf276cStholo /* Define if you have the <utime.h> header file.  */
16650bf276cStholo /* #undef HAVE_UTIME_H */
16750bf276cStholo 
16850bf276cStholo /* Define if you have the nsl library (-lnsl).  */
16950bf276cStholo /* #undef HAVE_LIBNSL */
17050bf276cStholo 
17150bf276cStholo /* Define if you have the socket library (-lsocket).  */
17250bf276cStholo /* #undef HAVE_LIBSOCKET */
17350bf276cStholo 
17450bf276cStholo /* Under Windows NT, filenames are case-insensitive, and both / and \
17550bf276cStholo    are path component separators.  */
17650bf276cStholo #define FOLD_FN_CHAR(c) (VMS_filename_classes[(unsigned char) (c)])
17750bf276cStholo extern unsigned char VMS_filename_classes[];
17850bf276cStholo #define FILENAMES_CASE_INSENSITIVE 1
17950bf276cStholo 
18050bf276cStholo /* Like strcmp, but with the appropriate tweaks for file names.
18150bf276cStholo    Under Windows NT, filenames are case-insensitive but case-preserving,
18250bf276cStholo    and both \ and / are path element separators.  */
18350bf276cStholo extern int fncmp (const char *n1, const char *n2);
18450bf276cStholo 
18550bf276cStholo /* Fold characters in FILENAME to their canonical forms.
18650bf276cStholo    If FOLD_FN_CHAR is not #defined, the system provides a default
18750bf276cStholo    definition for this.  */
18850bf276cStholo extern void fnfold (char *FILENAME);
18950bf276cStholo 
19050bf276cStholo #define RSH_NOT_TRANSPARENT 1
19150bf276cStholo #define START_SERVER vms_start_server
19250bf276cStholo #define NO_SOCKET_TO_FD 1
19350bf276cStholo #define START_SERVER_RETURNS_SOCKET 1
19450bf276cStholo #define SEND_NEVER_PARTIAL 1
1952286d8edStholo #define SYSTEM_GETCALLER() getlogin ()
1962286d8edStholo #define GETPWNAM_MISSING 1
19750bf276cStholo 
19850bf276cStholo /* Avoid name conflicts with VMS libraries.  */
19950bf276cStholo #define getopt cvs_getopt
20050bf276cStholo #define optind cvs_optind
20150bf276cStholo #define optopt cvs_optopt
20250bf276cStholo #define optarg cvs_optarg
20350bf276cStholo #define opterr cvs_opterr
20450bf276cStholo 
205*43c1707eStholo /* Avoid open/read/closedir name conflicts with DEC C 5.7 libraries,
206*43c1707eStholo    and fix the problem with readdir() retaining the trailing period.  */
207*43c1707eStholo #define CVS_OPENDIR  vms_opendir
208*43c1707eStholo #define CVS_READDIR  vms_readdir
209*43c1707eStholo #define CVS_CLOSEDIR vms_closedir
210*43c1707eStholo 
21150bf276cStholo /* argv[0] in VMS is the full pathname which would look really ugly in error
21250bf276cStholo    messages.  Even if we stripped out the directory and ".EXE;5", it would
21350bf276cStholo    still be misleading, as if one has used "OLDCVS :== ...CVS-JULY.EXE",
21450bf276cStholo    then argv[0] does not contain the name of the command which the user
21550bf276cStholo    invokes CVS with.  If there is a way for VMS to find the latter, that
21650bf276cStholo    might be worth messing with, but it also seems fine to just always call
21750bf276cStholo    it "cvs".  */
21850bf276cStholo #define ARGV0_NOT_PROGRAM_NAME
219*43c1707eStholo 
220*43c1707eStholo #define CVS_UNLINK vms_unlink
221