/*
* nmh.h -- system configuration header file
*
* $Id: nmh.h,v 1.1.1.1 1999/04/30 18:08:34 doug Exp $
*/
#include <config.h>
#ifdef HAVE_UNISTD_H
# include <sys/types.h>
# include <unistd.h>
#endif
#include <stdio.h>
#include <ctype.h>
#include <sys/stat.h>
#if HAVE_DIRENT_H
# include <dirent.h>
# define NLENGTH(dirent) strlen((dirent)->d_name)
#else
# define dirent direct
# define NLENGTH(dirent) (dirent)->d_namlen
# if HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif
# if HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif
# if HAVE_NDIR_H
# include <ndir.h>
# endif
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#include <stdarg.h>
#if STDC_HEADERS || HAVE_STRING_H
# include <string.h>
/* An ANSI string.h and pre-ANSI memory.h might conflict. */
# if !STDC_HEADERS && HAVE_MEMORY_H
# include <memory.h>
# endif /* not STDC_HEADERS and HAVE_MEMORY_H */
#else /* not STDC_HEADERS and not HAVE_STRING_H */
# include <strings.h>
/* memory.h and strings.h conflict on some systems. */
#endif /* not STDC_HEADERS and not HAVE_STRING_H */
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
/*
* symbolic constants for lseek and fseek
*/
#ifndef SEEK_SET
# define SEEK_SET 0
#endif
#ifndef SEEK_CUR
# define SEEK_CUR 1
#endif
#ifndef SEEK_END
# define SEEK_END 2
#endif
/*
* we should be getting this value from pathconf(_PC_PATH_MAX)
*/
#ifndef PATH_MAX
# ifdef MAXPATHLEN
# define PATH_MAX MAXPATHLEN
# else
/* so we will just pick something */
# define PATH_MAX 1024
# endif
#endif
/*
* we should get this value from sysconf(_SC_NGROUPS_MAX)
*/
#ifndef NGROUPS_MAX
# ifdef NGROUPS
# define NGROUPS_MAX NGROUPS
# else
# define NGROUPS_MAX 16
# endif
#endif
/*
* we should be getting this value from sysconf(_SC_OPEN_MAX)
*/
#ifndef OPEN_MAX
# ifdef NOFILE
# define OPEN_MAX NOFILE
# else
/* so we will just pick something */
# define OPEN_MAX 64
# endif
#endif
#include <signal.h>
#define bcmp(b1,b2,length) memcmp(b1, b2, length)
#define bcopy(b1,b2,length) memcpy (b2, b1, length)
#define bcpy(b1,b2,length) memcmp (b1, b2, length)
#define bzero(b,length) memset (b, 0, length)
#ifdef HAVE_KILLPG
# define KILLPG(pgrp,sig) killpg(pgrp,sig);
#else
# define KILLPG(pgrp,sig) kill((-pgrp),sig);
#endif
/*
* If your stat macros are broken,
* we will just undefine them.
*/
#ifdef STAT_MACROS_BROKEN
# ifdef S_ISBLK
# undef S_ISBLK
# endif
# ifdef S_ISCHR
# undef S_ISCHR
# endif
# ifdef S_ISDIR
# undef S_ISDIR
# endif
# ifdef S_ISFIFO
# undef S_ISFIFO
# endif
# ifdef S_ISLNK
# undef S_ISLNK
# endif
# ifdef S_ISMPB
# undef S_ISMPB
# endif
# ifdef S_ISMPC
# undef S_ISMPC
# endif
# ifdef S_ISNWK
# undef S_ISNWK
# endif
# ifdef S_ISREG
# undef S_ISREG
# endif
# ifdef S_ISSOCK
# undef S_ISSOCK
# endif
#endif /* STAT_MACROS_BROKEN. */
syntax highlighted by Code2HTML, v. 0.9.1