dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / lib / libast / common / man / modecanon.3
blob4a5d128f9cf7982caa7fadf391aa28053e1322b1
1 .fp 5 CW
2 .de Af
3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !\a\\$4\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
5 ..
6 .de aF
7 .ie \a\\$3\a\a .ft \\$1
8 .el \{\
9 .ds ;G \&
10 .nr ;G \\n(.f
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
12 \\*(;G
13 .ft \\n(;G \}
15 .de L
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
18 .de LR
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
21 .de RL
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX          \" start example
25 .ta 1i 2i 3i 4i 5i 6i
26 .PP
27 .RS 
28 .PD 0
29 .ft 5
30 .nf
32 .de EE          \" end example
33 .fi
34 .ft
35 .PD
36 .RE
37 .PP
39 .TH MODECANON 3
40 .SH NAME
41 modecanon \- canonical file mode representation
42 .SH SYNOPSIS
43 #include <modex.h>
45 int    modei(int \fIexternal\fP);
46 int    modex(int \fIinternal\fP);
47 .EE
48 .SH DESCRIPTION
49 POSIX threw out the file type bit macros and replaced them with
50 function-like macros that test file type.
51 This is bad in many ways, the worst of which is that it provides
52 no way for a user program to synthesize file types in the mode bits.
53 .IR pax (1),
54 .IR tar (1)
55 and
56 .IR cpio (1)
57 are examples of user programs that must convert between the internal mode
58 representation and a private external representation.
59 These routines provide a canonical external representation
60 with macros to access and synthesize the bits in the external
61 representation.
62 .PP
63 .L modei
64 takes an external mode representation
65 .I external
66 and returns the equivalent internal representation.
67 .PP
68 .L modex
69 takes an internal mode representation
70 .I internal
71 and returns the equivalent external representation.
72 .PP
73 The traditional bit access macro (\f5S_\fP prefix changes to \f5X_\fP) are:
74 .L X_IFMT ,
75 .L X_IFSOCK ,
76 .L X_IFLNK ,
77 .L X_IFCTG ,
78 .L X_IFREG ,
79 .L X_IFBLK ,
80 .L X_IFDIR ,
81 .L X_IFCHR ,
82 .L X_IFIFO ,
83 .L X_IPERM ,
84 .L X_ISUID ,
85 .L X_ISGID ,
86 .L X_ISVTX ,
87 .L X_IRUSR ,
88 .L X_IWUSR ,
89 .L X_IXUSR ,
90 .L X_IRGRP ,
91 .L X_IWGRP ,
92 .L X_IXGRP ,
93 .L X_IROTH ,
94 .L X_IWOTH ,
95 .L X_IXOTH ,
96 .L X_IRWXU ,
97 .L X_IRWXG
98 and
99 .L X_IRWXO .
100 .LI X_ITYPE( mode )
101 returns the type bits for 
102 .IR mode .
103 .SH "SEE ALSO"
104 pax(1), stat(2)