1 hdrchk(1ONBLD) illumos Build Tools hdrchk(1ONBLD)
2
3
4
5 NAME
6 hdrchk - check that header files conform to ON standards
7
8 SYNOPSIS
9 hdrchk [-a] file [file ...]
10
11 DESCRIPTION
12 hdrchk verifies that C header files (*.h) conform to the standards of
13 the ON consolidation. See HEADER STANDARDS for details.
14
15 OPTIONS
16 -a Apply (more lenient) application header rules.
17
18 HEADER STANDARDS
19 Standards for all header files:
20
21 1. Begin with a comment containing a copyright message.
22
23 2. Enclosed in a guard of the form:
24
25 #ifndef GUARD
26 #define GUARD
27 #endif /* [!]GUARD */
28
29 The preferred form is without the bang character, but either is
30 acceptable.
31
32 3. Has a valid ident declaration.
33
34 Additional standards for system header files:
35
36 1. The file guard must take the form '_FILENAME_H[_]', where FILENAME
37 matches the basename of the file. If it is installed in a
38 subdirectory, it should be of the form '_DIR_FILENAME_H[_]', though
39 this is not currently enforced. The form without the trailing
40 underscore is preferred in both cases.
41
42 2. All #include directives must use the <> form.
43
44 3. If the header file contains anything besides comments and
45 preprocessor directives, then it must be enclosed in a C++ guard of
46 the form:
47
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51
52 #ifdef __cplusplus
53 }
54 #endif
55
56
57
58
59 02 July 2008 hdrchk(1ONBLD)