-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Expand file tree
/
Copy pathstream_errors.stub.php
More file actions
144 lines (127 loc) · 2.94 KB
/
Copy pathstream_errors.stub.php
File metadata and controls
144 lines (127 loc) · 2.94 KB
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
<?php
/**
* @generate-class-entries static
* @generate-c-enums
*/
/** @c-name-table */
enum StreamErrorCode
{
/* General errors */
case None;
case Generic;
/* I/O operation errors */
case ReadFailed;
case WriteFailed;
case SeekFailed;
case SeekNotSupported;
case FlushFailed;
case TruncateFailed;
case ConnectFailed;
case BindFailed;
case ListenFailed;
case AcceptFailed;
case NotWritable;
case NotReadable;
/* File system operations */
case Disabled;
case NotFound;
case PermissionDenied;
case AlreadyExists;
case InvalidPath;
case PathTooLong;
case OpenFailed;
case CreateFailed;
case DupFailed;
case UnlinkFailed;
case RenameFailed;
case MkdirFailed;
case RmdirFailed;
case StatFailed;
case MetaFailed;
case ChmodFailed;
case ChownFailed;
case CopyFailed;
case TouchFailed;
case InvalidMode;
case InvalidMeta;
case ModeNotSupported;
case Readonly;
case RecursionDetected;
/* Wrapper/protocol operations */
case NotImplemented;
case NoOpener;
case PersistentNotSupported;
case WrapperNotFound;
case WrapperDisabled;
case ProtocolUnsupported;
case WrapperRegistrationFailed;
case WrapperUnregistrationFailed;
case WrapperRestorationFailed;
/* Filter operations */
case FilterNotFound;
case FilterFailed;
/* Cast/conversion operations */
case CastFailed;
case CastNotSupported;
case MakeSeekableFailed;
case BufferedDataLost;
/* Network/socket operations */
case NetworkSendFailed;
case NetworkRecvFailed;
case SslNotSupported;
case ResumptionFailed;
case SocketPathTooLong;
case OobNotSupported;
case ProtocolError;
case InvalidUrl;
case InvalidResponse;
case InvalidHeader;
case InvalidParam;
case RedirectLimit;
case AuthFailed;
case TimeOut;
/* Encoding/decoding/archiving operations */
case ArchivingFailed;
case EncodingFailed;
case DecodingFailed;
case InvalidFormat;
/* Resource/allocation operations */
case AllocationFailed;
case TemporaryFileFailed;
/* Locking operations */
case LockFailed;
case LockNotSupported;
/* Userspace stream operations */
case UserspaceNotImplemented;
case UserspaceInvalidReturn;
case UserspaceCallFailed;
}
enum StreamErrorMode
{
case Error;
case Exception;
case Silent;
}
enum StreamErrorStore
{
case Auto;
case None;
case NonTerminating;
case Terminating;
case All;
}
final readonly class StreamError
{
public StreamErrorCode $code;
public string $message;
public string $wrapperName;
public int $severity;
public bool $terminating;
}
class StreamException extends Exception
{
/** @var array<int, StreamError> */
private array $errors = [];
/** @return array<int, StreamError> */
public function getErrors(): array {}
}