/* Get most of the stuff from bsd4.3 */
#include "bsd4-3.h"

/* For mem-limits.h. */
#define BSD4_2

/* thses aren't needed, since we have getloadavg() */
#undef KERNEL_FILE
#undef LDAV_SYMBOL

#define PENDING_OUTPUT_COUNT(FILE) (__fpending(FILE))

#define LIBS_DEBUG
#define LIBS_SYSTEM -lutil -lcrypt
#define LIBS_TERMCAP -ltermcap
#define LIB_GCC -lgcc

/* Reread the time zone on startup. */
#define LOCALTIME_CACHE

#define SYSV_SYSTEM_DIR

/* freebsd has POSIX-style pgrp behavior. */
#undef BSD_PGRPS

#define LD_SWITCH_SYSTEM -e _start
#define HAVE_TEXT_START		/* No need to define `start_of_text'. */
#define UNEXEC unexelf.o

#ifndef N_TRELOFF
#define N_PAGSIZ(x) __LDPGSZ
#define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
#define N_TRELOFF(x) N_RELOFF(x)
#endif

#define HAVE_WAIT_HEADER
#define HAVE_GETLOADAVG
#define HAVE_TERMIOS
#define NO_TERMIO
#define DECLARE_GETPWUID_WITH_UID_T

/* freebsd uses OXTABS instead of the expected TAB3. */
#define TABDLY OXTABS
#define TAB3 OXTABS

/* this silences a few compilation warnings */
#undef BSD
#if __FreeBSD__ == 1
#define BSD 199103
#elif __FreeBSD__ == 2
#define BSD 199306
#endif

#define WAITTYPE int
/* get this since it won't be included if WAITTYPE is defined */
#ifdef emacs
#include <sys/wait.h>
#endif
#define WRETCODE(w) (_W_INT(w) >> 8)
#define CURRENT_USER
#define NO_MATHERR

#define ORDINARY_LINK

#if defined(__i386__)
#define DATA_SEG_BITS 0x08000000
#endif /* __i386__ */
