blob: 80d7209eaf990a1a88ca665ed3e731de989d973f [file] [log] [blame]
Rashed Abdel-Tawab4db47f42019-09-06 10:38:22 -07001package Fcntl;
2
3use strict;
4our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
5
6require Exporter;
7require XSLoader;
8@ISA = qw(Exporter);
9$VERSION = '1.13';
10
11XSLoader::load();
12
13# Named groups of exports
14%EXPORT_TAGS = (
15 'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
16 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
17 FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
18 'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
19 'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
20 _S_IFMT S_IFREG S_IFDIR S_IFLNK
21 S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
22 S_IRUSR S_IWUSR S_IXUSR S_IRWXU
23 S_IRGRP S_IWGRP S_IXGRP S_IRWXG
24 S_IROTH S_IWOTH S_IXOTH S_IRWXO
25 S_IREAD S_IWRITE S_IEXEC
26 S_ISREG S_ISDIR S_ISLNK S_ISSOCK
27 S_ISBLK S_ISCHR S_ISFIFO
28 S_ISWHT S_ISENFMT
29 S_IFMT S_IMODE
30 )],
31);
32
33# Items to export into callers namespace by default
34# (move infrequently used names to @EXPORT_OK below)
35@EXPORT =
36 qw(
37 FD_CLOEXEC
38 F_ALLOCSP
39 F_ALLOCSP64
40 F_COMPAT
41 F_DUP2FD
42 F_DUPFD
43 F_EXLCK
44 F_FREESP
45 F_FREESP64
46 F_FSYNC
47 F_FSYNC64
48 F_GETFD
49 F_GETFL
50 F_GETLK
51 F_GETLK64
52 F_GETOWN
53 F_NODNY
54 F_POSIX
55 F_RDACC
56 F_RDDNY
57 F_RDLCK
58 F_RWACC
59 F_RWDNY
60 F_SETFD
61 F_SETFL
62 F_SETLK
63 F_SETLK64
64 F_SETLKW
65 F_SETLKW64
66 F_SETOWN
67 F_SHARE
68 F_SHLCK
69 F_UNLCK
70 F_UNSHARE
71 F_WRACC
72 F_WRDNY
73 F_WRLCK
74 O_ACCMODE
75 O_ALIAS
76 O_APPEND
77 O_ASYNC
78 O_BINARY
79 O_CREAT
80 O_DEFER
81 O_DIRECT
82 O_DIRECTORY
83 O_DSYNC
84 O_EXCL
85 O_EXLOCK
86 O_LARGEFILE
87 O_NDELAY
88 O_NOCTTY
89 O_NOFOLLOW
90 O_NOINHERIT
91 O_NONBLOCK
92 O_RANDOM
93 O_RAW
94 O_RDONLY
95 O_RDWR
96 O_RSRC
97 O_RSYNC
98 O_SEQUENTIAL
99 O_SHLOCK
100 O_SYNC
101 O_TEMPORARY
102 O_TEXT
103 O_TRUNC
104 O_WRONLY
105 );
106
107# Other items we are prepared to export if requested
108@EXPORT_OK = (qw(
109 DN_ACCESS
110 DN_ATTRIB
111 DN_CREATE
112 DN_DELETE
113 DN_MODIFY
114 DN_MULTISHOT
115 DN_RENAME
116 F_GETLEASE
117 F_GETPIPE_SZ
118 F_GETSIG
119 F_NOTIFY
120 F_SETLEASE
121 F_SETPIPE_SZ
122 F_SETSIG
123 LOCK_MAND
124 LOCK_READ
125 LOCK_RW
126 LOCK_WRITE
127 O_ALT_IO
128 O_EVTONLY
129 O_IGNORE_CTTY
130 O_NOATIME
131 O_NOLINK
132 O_NOSIGPIPE
133 O_NOTRANS
134 O_SYMLINK
135 O_TTY_INIT
136), map {@{$_}} values %EXPORT_TAGS);
137
1381;