#include <stdio.h>
#include <stdlib.h>
#include "util/copyright.h"
-#if defined(linux) || defined(sgi)
+#if defined(linux) || defined(sgi) || defined(__FreeBSD__)
#include <getopt.h>
#endif
#include "dbck.h"
#if defined(linux)
#include <unistd.h>
#endif
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
#include <getopt.h>
#endif
#if defined(USL) || defined(__uxp__)
*/
#include <stdio.h>
+#include <stdlib.h>
#include <X11/Xos.h>
#include <X11/Xfuncs.h>
extern char *ProgramName;
-#if !defined(linux)
+#if !defined(linux) && !defined(CSRG_BASED)
extern char *malloc(), *realloc();
#endif
int process_command(), auth_initialize(), auth_finalize();
extern uid_t _tt_uid;
extern gid_t _tt_gid;
-extern gid_t _tt_gidlist [NGROUPS_MAX];
+extern gid_t _tt_gidlist [NGROUPS];
extern int _tt_gidlen;
extern int _tt_auth_level;
#include <termios.h>
#include <time.h>
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
#include <getopt.h>
#endif
#include <sys/resource.h>
#include <unistd.h>
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
#include <getopt.h>
#endif
# define OPT_BUG_RPCINTR
# undef OPT_XTHREADS
+#elif defined(__FreeBSD__)
+# undef OPT_UNIX_SOCKET_RPC
+# undef OPT_TLI
+# undef OPT_DLOPEN_X11
+# undef OPT_DLOPEN_CE
+# undef OPT_ADDMSG_DIRECT
+# undef OPT_SECURE_RPC
+# undef OPT_CLASSING_ENGINE
+# undef OPT_PATCH
+# define OPT_POSIX_SIGNAL
+# undef OPT_BSD_WAIT
+# undef OPT_DGETTEXT
+# define OPT_CATGETS
+# undef OPT_GETDTABLESIZE
+# undef OPT_SYSINFO
+# if defined(OSMAJORVERSION) && (OSMAJORVERSION >= 5)
+# define OPT_CPP_PATH "/usr/bin/cpp"
+# else
+# define OPT_CPP_PATH "/usr/libexec/cpp"
+# endif
+# define OPT_CPP_OPTIONS ""
+# define OPT_STRERROR
+# undef OPT_SVR4_GETMNTENT
+# undef OPT_LOCKF_MNTENT
+# define OPT_LOCAL_MOUNT_TYPE MNTTYPE_UFS
+# undef OPT_OLD_RPC
+# define OPT_DEFINE_SIG_PF
+# define OPT_TAR_HAS_EXCLUDE_OPTION
+# define OPT_HAS_REALPATH
+# define OPT_AUTOMOUNT_PATH_FIX
+# define OPT_BUG_RPCINTR
+# undef OPT_XTHREADS
+# define OPT_CONST_CORRECT
+
#else
/* Unknown configuration, complain */
}}}} You must edit lib/tt_options.h and add a section defining the options for your configuration.
return "tt_feature_required";
#if defined(__osf__) || defined(linux)
case TT_API_CALL_LAST: return (char *) NULL;
+#elif defined(OPT_CONST_CORRECT)
+ case TT_API_CALL_LAST: return (const char *) NULL;
#else
case TT_API_CALL_LAST: return NULL;
#endif
typedef bool_t (*local_xdrproc_t)(XDR *, caddr_t *);
#ifndef OPT_XDR_LONG_TYPE
+#if defined(OPT_CONST_CORRECT)
+# define OPT_XDR_LONG_TYPE const long
+#else
# define OPT_XDR_LONG_TYPE long
#endif
+#endif
static bool_t
tt_x_putlong(XDR *xp, OPT_XDR_LONG_TYPE *)
{
* expect int instead of u_int.
*/
#if defined(CSRG_BASED)
+#if defined(OPT_CONST_CORRECT)
+tt_x_putbytes(XDR *xp, const char *, unsigned int len)
+#else
tt_x_putbytes(XDR *xp, caddr_t, unsigned int len)
+#endif
#else
tt_x_putbytes(XDR *xp, caddr_t, int len)
#endif