Skip to content

Commit 6ce7468

Browse files
bulk88mauke
authored andcommitted
Fcntl: add __END__ tag, don't parse ~16 KB of POD
This module since it was created decades ago only had a tiny amount of (no?) POD until this recent commit which finally added full detailed docs. But now 16 KB POD must be parsed on startup, and this core module is very high on the "river", probably through Cwd/Test2/POSIX. 8cacb84 - 1/22/2024 6:38:46 AM - Fcntl: add module documentation
1 parent 7946d6a commit 6ce7468

File tree

1 file changed

+145
-143
lines changed

1 file changed

+145
-143
lines changed

ext/Fcntl/Fcntl.pm

Lines changed: 145 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,150 @@
11
package Fcntl;
22

3+
use strict;
4+
5+
use Exporter 'import';
6+
require XSLoader;
7+
our $VERSION = '1.20';
8+
9+
XSLoader::load();
10+
11+
# Named groups of exports
12+
our %EXPORT_TAGS = (
13+
'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
14+
'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
15+
FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
16+
'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
17+
'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
18+
_S_IFMT S_IFREG S_IFDIR S_IFLNK
19+
S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
20+
S_IRUSR S_IWUSR S_IXUSR S_IRWXU
21+
S_IRGRP S_IWGRP S_IXGRP S_IRWXG
22+
S_IROTH S_IWOTH S_IXOTH S_IRWXO
23+
S_IREAD S_IWRITE S_IEXEC
24+
S_ISREG S_ISDIR S_ISLNK S_ISSOCK
25+
S_ISBLK S_ISCHR S_ISFIFO
26+
S_ISWHT
27+
S_IFMT S_IMODE
28+
)],
29+
);
30+
31+
# Items to export into callers namespace by default
32+
# (move infrequently used names to @EXPORT_OK below)
33+
our @EXPORT =
34+
qw(
35+
FD_CLOEXEC
36+
F_ALLOCSP
37+
F_ALLOCSP64
38+
F_COMPAT
39+
F_DUP2FD
40+
F_DUPFD
41+
F_EXLCK
42+
F_FREESP
43+
F_FREESP64
44+
F_FSYNC
45+
F_FSYNC64
46+
F_GETFD
47+
F_GETFL
48+
F_GETLK
49+
F_GETLK64
50+
F_GETOWN
51+
F_NODNY
52+
F_POSIX
53+
F_RDACC
54+
F_RDDNY
55+
F_RDLCK
56+
F_RWACC
57+
F_RWDNY
58+
F_SETFD
59+
F_SETFL
60+
F_SETLK
61+
F_SETLK64
62+
F_SETLKW
63+
F_SETLKW64
64+
F_SETOWN
65+
F_SHARE
66+
F_SHLCK
67+
F_UNLCK
68+
F_UNSHARE
69+
F_WRACC
70+
F_WRDNY
71+
F_WRLCK
72+
O_ACCMODE
73+
O_ALIAS
74+
O_APPEND
75+
O_ASYNC
76+
O_BINARY
77+
O_CREAT
78+
O_DEFER
79+
O_DIRECT
80+
O_DIRECTORY
81+
O_DSYNC
82+
O_EXCL
83+
O_EXLOCK
84+
O_LARGEFILE
85+
O_NDELAY
86+
O_NOCTTY
87+
O_NOFOLLOW
88+
O_NOINHERIT
89+
O_NONBLOCK
90+
O_RANDOM
91+
O_RAW
92+
O_RDONLY
93+
O_RDWR
94+
O_RSRC
95+
O_RSYNC
96+
O_SEQUENTIAL
97+
O_SHLOCK
98+
O_SYNC
99+
O_TEMPORARY
100+
O_TEXT
101+
O_TRUNC
102+
O_WRONLY
103+
);
104+
105+
# Other items we are prepared to export if requested
106+
our @EXPORT_OK = (qw(
107+
DN_ACCESS
108+
DN_ATTRIB
109+
DN_CREATE
110+
DN_DELETE
111+
DN_MODIFY
112+
DN_MULTISHOT
113+
DN_RENAME
114+
F_ADD_SEALS
115+
F_GETLEASE
116+
F_GETPIPE_SZ
117+
F_GET_SEALS
118+
F_GETSIG
119+
F_NOTIFY
120+
F_SEAL_FUTURE_WRITE
121+
F_SEAL_GROW
122+
F_SEAL_SEAL
123+
F_SEAL_SHRINK
124+
F_SEAL_WRITE
125+
F_SETLEASE
126+
F_SETPIPE_SZ
127+
F_SETSIG
128+
LOCK_MAND
129+
LOCK_READ
130+
LOCK_RW
131+
LOCK_WRITE
132+
O_ALT_IO
133+
O_EVTONLY
134+
O_IGNORE_CTTY
135+
O_NOATIME
136+
O_NOLINK
137+
O_NOSIGPIPE
138+
O_NOTRANS
139+
O_SYMLINK
140+
O_TMPFILE
141+
O_TTY_INIT
142+
), map {@{$_}} values %EXPORT_TAGS);
143+
144+
1;
145+
146+
__END__
147+
3148
=head1 NAME
4149
5150
Fcntl - various flag constants and helper functions from C's fcntl.h
@@ -847,146 +992,3 @@ By default, if you say C<use Fcntl;>, the following symbols are exported:
847992
O_WRONLY
848993
849994
=cut
850-
851-
use strict;
852-
853-
use Exporter 'import';
854-
require XSLoader;
855-
our $VERSION = '1.19';
856-
857-
XSLoader::load();
858-
859-
# Named groups of exports
860-
our %EXPORT_TAGS = (
861-
'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
862-
'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
863-
FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
864-
'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
865-
'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
866-
_S_IFMT S_IFREG S_IFDIR S_IFLNK
867-
S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
868-
S_IRUSR S_IWUSR S_IXUSR S_IRWXU
869-
S_IRGRP S_IWGRP S_IXGRP S_IRWXG
870-
S_IROTH S_IWOTH S_IXOTH S_IRWXO
871-
S_IREAD S_IWRITE S_IEXEC
872-
S_ISREG S_ISDIR S_ISLNK S_ISSOCK
873-
S_ISBLK S_ISCHR S_ISFIFO
874-
S_ISWHT
875-
S_IFMT S_IMODE
876-
)],
877-
);
878-
879-
# Items to export into callers namespace by default
880-
# (move infrequently used names to @EXPORT_OK below)
881-
our @EXPORT =
882-
qw(
883-
FD_CLOEXEC
884-
F_ALLOCSP
885-
F_ALLOCSP64
886-
F_COMPAT
887-
F_DUP2FD
888-
F_DUPFD
889-
F_EXLCK
890-
F_FREESP
891-
F_FREESP64
892-
F_FSYNC
893-
F_FSYNC64
894-
F_GETFD
895-
F_GETFL
896-
F_GETLK
897-
F_GETLK64
898-
F_GETOWN
899-
F_NODNY
900-
F_POSIX
901-
F_RDACC
902-
F_RDDNY
903-
F_RDLCK
904-
F_RWACC
905-
F_RWDNY
906-
F_SETFD
907-
F_SETFL
908-
F_SETLK
909-
F_SETLK64
910-
F_SETLKW
911-
F_SETLKW64
912-
F_SETOWN
913-
F_SHARE
914-
F_SHLCK
915-
F_UNLCK
916-
F_UNSHARE
917-
F_WRACC
918-
F_WRDNY
919-
F_WRLCK
920-
O_ACCMODE
921-
O_ALIAS
922-
O_APPEND
923-
O_ASYNC
924-
O_BINARY
925-
O_CREAT
926-
O_DEFER
927-
O_DIRECT
928-
O_DIRECTORY
929-
O_DSYNC
930-
O_EXCL
931-
O_EXLOCK
932-
O_LARGEFILE
933-
O_NDELAY
934-
O_NOCTTY
935-
O_NOFOLLOW
936-
O_NOINHERIT
937-
O_NONBLOCK
938-
O_RANDOM
939-
O_RAW
940-
O_RDONLY
941-
O_RDWR
942-
O_RSRC
943-
O_RSYNC
944-
O_SEQUENTIAL
945-
O_SHLOCK
946-
O_SYNC
947-
O_TEMPORARY
948-
O_TEXT
949-
O_TRUNC
950-
O_WRONLY
951-
);
952-
953-
# Other items we are prepared to export if requested
954-
our @EXPORT_OK = (qw(
955-
DN_ACCESS
956-
DN_ATTRIB
957-
DN_CREATE
958-
DN_DELETE
959-
DN_MODIFY
960-
DN_MULTISHOT
961-
DN_RENAME
962-
F_ADD_SEALS
963-
F_GETLEASE
964-
F_GETPIPE_SZ
965-
F_GET_SEALS
966-
F_GETSIG
967-
F_NOTIFY
968-
F_SEAL_FUTURE_WRITE
969-
F_SEAL_GROW
970-
F_SEAL_SEAL
971-
F_SEAL_SHRINK
972-
F_SEAL_WRITE
973-
F_SETLEASE
974-
F_SETPIPE_SZ
975-
F_SETSIG
976-
LOCK_MAND
977-
LOCK_READ
978-
LOCK_RW
979-
LOCK_WRITE
980-
O_ALT_IO
981-
O_EVTONLY
982-
O_IGNORE_CTTY
983-
O_NOATIME
984-
O_NOLINK
985-
O_NOSIGPIPE
986-
O_NOTRANS
987-
O_SYMLINK
988-
O_TMPFILE
989-
O_TTY_INIT
990-
), map {@{$_}} values %EXPORT_TAGS);
991-
992-
1;

0 commit comments

Comments
 (0)