File: nmh.h

package info (click to toggle)
nmh 1.3-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 4,056 kB
  • ctags: 4,531
  • sloc: ansic: 50,788; sh: 3,141; makefile: 965; awk: 74
file content (162 lines) | stat: -rw-r--r-- 2,943 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162

/*
 * 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.  */