PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 5.3.1
Defender Security – Malware Scanner, Login Security & Firewall v5.3.1
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / vendor / thecodingmachine / safe / generated / eio.php

eio.php in Defender Security – Malware Scanner, Login Security & Firewall 5.3.1, at vendor/thecodingmachine/safe/generated/eio.php

2,072 lines 54.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Safe;
4
5 use Safe\Exceptions\EioException;
6
7 /**
8 * eio_busy artificially increases load taking
9 * delay seconds to execute. May be used for debugging,
10 * or benchmarking.
11 *
12 * @param int $delay Delay in seconds
13 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
14 * If NULL passed, pri internally is set to
15 * EIO_PRI_DEFAULT.
16 * @param callable $callback This callback is called when all the group requests are done.
17 * @param mixed $data Arbitrary variable passed to callback.
18 * @return resource eio_busy returns request resource on success.
19 * @throws EioException
20 *
21 */
22 function eio_busy(int $delay, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
23 {
24 error_clear_last();
25 $result = \eio_busy($delay, $pri, $callback, $data);
26 if ($result === false) {
27 throw EioException::createFromPhpError();
28 }
29 return $result;
30 }
31
32
33 /**
34 * eio_chmod changes file, or directory permissions. The
35 * new permissions are specified by mode.
36 *
37 * @param string $path Path to the target file or directory
38 * Avoid relative
39 * paths
40 * @param int $mode The new permissions. E.g. 0644.
41 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
42 * If NULL passed, pri internally is set to
43 * EIO_PRI_DEFAULT.
44 * @param callable $callback
45 * callback function is called when the request is done.
46 * It should match the following prototype:
47 *
48 *
49 * data
50 * is custom data passed to the request.
51 *
52 *
53 * result
54 * request-specific result value; basically, the value returned by corresponding
55 * system call.
56 *
57 *
58 * req
59 * is optional request resource which can be used with functions like eio_get_last_error
60 *
61 *
62 *
63 * is custom data passed to the request.
64 *
65 * request-specific result value; basically, the value returned by corresponding
66 * system call.
67 *
68 * is optional request resource which can be used with functions like eio_get_last_error
69 * @param mixed $data is custom data passed to the request.
70 * @return resource eio_chmod returns request resource on success.
71 * @throws EioException
72 *
73 */
74 function eio_chmod(string $path, int $mode, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
75 {
76 error_clear_last();
77 $result = \eio_chmod($path, $mode, $pri, $callback, $data);
78 if ($result === false) {
79 throw EioException::createFromPhpError();
80 }
81 return $result;
82 }
83
84
85 /**
86 * Changes file, or directory permissions.
87 *
88 * @param string $path Path to file or directory.
89 * Avoid relative
90 * paths
91 * @param int $uid User ID. Is ignored when equal to -1.
92 * @param int $gid Group ID. Is ignored when equal to -1.
93 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
94 * If NULL passed, pri internally is set to
95 * EIO_PRI_DEFAULT.
96 * @param callable $callback
97 * callback function is called when the request is done.
98 * It should match the following prototype:
99 *
100 *
101 * data
102 * is custom data passed to the request.
103 *
104 *
105 * result
106 * request-specific result value; basically, the value returned by corresponding
107 * system call.
108 *
109 *
110 * req
111 * is optional request resource which can be used with functions like eio_get_last_error
112 *
113 *
114 *
115 * is custom data passed to the request.
116 *
117 * request-specific result value; basically, the value returned by corresponding
118 * system call.
119 *
120 * is optional request resource which can be used with functions like eio_get_last_error
121 * @param mixed $data is custom data passed to the request.
122 * @return resource eio_chown returns request resource on success.
123 * @throws EioException
124 *
125 */
126 function eio_chown(string $path, int $uid, int $gid = -1, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
127 {
128 error_clear_last();
129 $result = \eio_chown($path, $uid, $gid, $pri, $callback, $data);
130 if ($result === false) {
131 throw EioException::createFromPhpError();
132 }
133 return $result;
134 }
135
136
137 /**
138 * eio_close closes file specified by
139 * fd.
140 *
141 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
142 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
143 * If NULL passed, pri internally is set to
144 * EIO_PRI_DEFAULT.
145 * @param callable $callback
146 * callback function is called when the request is done.
147 * It should match the following prototype:
148 *
149 *
150 * data
151 * is custom data passed to the request.
152 *
153 *
154 * result
155 * request-specific result value; basically, the value returned by corresponding
156 * system call.
157 *
158 *
159 * req
160 * is optional request resource which can be used with functions like eio_get_last_error
161 *
162 *
163 *
164 * is custom data passed to the request.
165 *
166 * request-specific result value; basically, the value returned by corresponding
167 * system call.
168 *
169 * is optional request resource which can be used with functions like eio_get_last_error
170 * @param mixed $data is custom data passed to the request.
171 * @return resource eio_close returns request resource on success.
172 * @throws EioException
173 *
174 */
175 function eio_close($fd, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
176 {
177 error_clear_last();
178 $result = \eio_close($fd, $pri, $callback, $data);
179 if ($result === false) {
180 throw EioException::createFromPhpError();
181 }
182 return $result;
183 }
184
185
186 /**
187 * eio_custom executes custom function specified by
188 * execute processing it just like any other eio_* call.
189 *
190 * @param callable $execute Specifies the request function that should match the following prototype:
191 *
192 *
193 * callback is event completion callback that should match the following
194 * prototype:
195 *
196 *
197 * data is the data passed to
198 * execute via data argument
199 * without modifications
200 * result value returned by execute
201 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
202 * If NULL passed, pri internally is set to
203 * EIO_PRI_DEFAULT.
204 * @param callable $callback
205 * callback function is called when the request is done.
206 * It should match the following prototype:
207 *
208 *
209 * data
210 * is custom data passed to the request.
211 *
212 *
213 * result
214 * request-specific result value; basically, the value returned by corresponding
215 * system call.
216 *
217 *
218 * req
219 * is optional request resource which can be used with functions like eio_get_last_error
220 *
221 *
222 *
223 * is custom data passed to the request.
224 *
225 * request-specific result value; basically, the value returned by corresponding
226 * system call.
227 *
228 * is optional request resource which can be used with functions like eio_get_last_error
229 * @param mixed $data is custom data passed to the request.
230 * @return resource eio_custom returns request resource on success.
231 * @throws EioException
232 *
233 */
234 function eio_custom(callable $execute, int $pri, callable $callback, $data = null)
235 {
236 error_clear_last();
237 $result = \eio_custom($execute, $pri, $callback, $data);
238 if ($result === false) {
239 throw EioException::createFromPhpError();
240 }
241 return $result;
242 }
243
244
245 /**
246 * eio_dup2 duplicates file descriptor.
247 *
248 * @param mixed $fd Source stream, Socket resource, or numeric file descriptor
249 * @param mixed $fd2 Target stream, Socket resource, or numeric file descriptor
250 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
251 * If NULL passed, pri internally is set to
252 * EIO_PRI_DEFAULT.
253 * @param callable $callback
254 * callback function is called when the request is done.
255 * It should match the following prototype:
256 *
257 *
258 * data
259 * is custom data passed to the request.
260 *
261 *
262 * result
263 * request-specific result value; basically, the value returned by corresponding
264 * system call.
265 *
266 *
267 * req
268 * is optional request resource which can be used with functions like eio_get_last_error
269 *
270 *
271 *
272 * is custom data passed to the request.
273 *
274 * request-specific result value; basically, the value returned by corresponding
275 * system call.
276 *
277 * is optional request resource which can be used with functions like eio_get_last_error
278 * @param mixed $data is custom data passed to the request.
279 * @return resource eio_dup2 returns request resource on success.
280 * @throws EioException
281 *
282 */
283 function eio_dup2($fd, $fd2, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
284 {
285 error_clear_last();
286 $result = \eio_dup2($fd, $fd2, $pri, $callback, $data);
287 if ($result === false) {
288 throw EioException::createFromPhpError();
289 }
290 return $result;
291 }
292
293
294 /**
295 * eio_event_loop polls libeio until all requests proceeded.
296 *
297 * @throws EioException
298 *
299 */
300 function eio_event_loop(): void
301 {
302 error_clear_last();
303 $result = \eio_event_loop();
304 if ($result === false) {
305 throw EioException::createFromPhpError();
306 }
307 }
308
309
310 /**
311 * eio_fallocate allows the caller to directly manipulate the allocated disk space for the
312 * file specified by fd file descriptor for the byte
313 * range starting at offset and continuing for
314 * length bytes.
315 *
316 * @param mixed $fd Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open.
317 * @param int $mode Currently only one flag is supported for mode:
318 * EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant
319 * FALLOC_FL_KEEP_SIZE).
320 * @param int $offset Specifies start of the byte range.
321 * @param int $length Specifies length the byte range.
322 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
323 * If NULL passed, pri internally is set to
324 * EIO_PRI_DEFAULT.
325 * @param callable $callback
326 * callback function is called when the request is done.
327 * It should match the following prototype:
328 *
329 *
330 * data
331 * is custom data passed to the request.
332 *
333 *
334 * result
335 * request-specific result value; basically, the value returned by corresponding
336 * system call.
337 *
338 *
339 * req
340 * is optional request resource which can be used with functions like eio_get_last_error
341 *
342 *
343 *
344 * is custom data passed to the request.
345 *
346 * request-specific result value; basically, the value returned by corresponding
347 * system call.
348 *
349 * is optional request resource which can be used with functions like eio_get_last_error
350 * @param mixed $data is custom data passed to the request.
351 * @return resource eio_fallocate returns request resource on success.
352 * @throws EioException
353 *
354 */
355 function eio_fallocate($fd, int $mode, int $offset, int $length, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
356 {
357 error_clear_last();
358 $result = \eio_fallocate($fd, $mode, $offset, $length, $pri, $callback, $data);
359 if ($result === false) {
360 throw EioException::createFromPhpError();
361 }
362 return $result;
363 }
364
365
366 /**
367 * eio_fchmod changes permissions for the file specified
368 * by fd file descriptor.
369 *
370 * @param mixed $fd Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open.
371 * @param int $mode The new permissions. E.g. 0644.
372 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
373 * If NULL passed, pri internally is set to
374 * EIO_PRI_DEFAULT.
375 * @param callable $callback
376 * callback function is called when the request is done.
377 * It should match the following prototype:
378 *
379 *
380 * data
381 * is custom data passed to the request.
382 *
383 *
384 * result
385 * request-specific result value; basically, the value returned by corresponding
386 * system call.
387 *
388 *
389 * req
390 * is optional request resource which can be used with functions like eio_get_last_error
391 *
392 *
393 *
394 * is custom data passed to the request.
395 *
396 * request-specific result value; basically, the value returned by corresponding
397 * system call.
398 *
399 * is optional request resource which can be used with functions like eio_get_last_error
400 * @param mixed $data is custom data passed to the request.
401 * @return resource eio_fchmod returns request resource on success.
402 * @throws EioException
403 *
404 */
405 function eio_fchmod($fd, int $mode, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
406 {
407 error_clear_last();
408 $result = \eio_fchmod($fd, $mode, $pri, $callback, $data);
409 if ($result === false) {
410 throw EioException::createFromPhpError();
411 }
412 return $result;
413 }
414
415
416 /**
417 * eio_fdatasync synchronizes a file's in-core state with storage device.
418 *
419 * @param mixed $fd Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open.
420 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
421 * If NULL passed, pri internally is set to
422 * EIO_PRI_DEFAULT.
423 * @param callable $callback
424 * callback function is called when the request is done.
425 * It should match the following prototype:
426 *
427 *
428 * data
429 * is custom data passed to the request.
430 *
431 *
432 * result
433 * request-specific result value; basically, the value returned by corresponding
434 * system call.
435 *
436 *
437 * req
438 * is optional request resource which can be used with functions like eio_get_last_error
439 *
440 *
441 *
442 * is custom data passed to the request.
443 *
444 * request-specific result value; basically, the value returned by corresponding
445 * system call.
446 *
447 * is optional request resource which can be used with functions like eio_get_last_error
448 * @param mixed $data is custom data passed to the request.
449 * @return resource eio_fdatasync returns request resource on success.
450 * @throws EioException
451 *
452 */
453 function eio_fdatasync($fd, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
454 {
455 error_clear_last();
456 $result = \eio_fdatasync($fd, $pri, $callback, $data);
457 if ($result === false) {
458 throw EioException::createFromPhpError();
459 }
460 return $result;
461 }
462
463
464 /**
465 * eio_fstat returns file status information in
466 * result argument of callback
467 *
468 * @param mixed $fd Stream, Socket resource, or numeric file descriptor.
469 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
470 * If NULL passed, pri internally is set to
471 * EIO_PRI_DEFAULT.
472 * @param callable $callback
473 * callback function is called when the request is done.
474 * It should match the following prototype:
475 *
476 *
477 * data
478 * is custom data passed to the request.
479 *
480 *
481 * result
482 * request-specific result value; basically, the value returned by corresponding
483 * system call.
484 *
485 *
486 * req
487 * is optional request resource which can be used with functions like eio_get_last_error
488 *
489 *
490 *
491 * is custom data passed to the request.
492 *
493 * request-specific result value; basically, the value returned by corresponding
494 * system call.
495 *
496 * is optional request resource which can be used with functions like eio_get_last_error
497 * @param mixed $data is custom data passed to the request.
498 * @return resource eio_busy returns request resource on success.
499 * @throws EioException
500 *
501 */
502 function eio_fstat($fd, int $pri, callable $callback, $data = null)
503 {
504 error_clear_last();
505 if ($data !== null) {
506 $result = \eio_fstat($fd, $pri, $callback, $data);
507 } else {
508 $result = \eio_fstat($fd, $pri, $callback);
509 }
510 if ($result === false) {
511 throw EioException::createFromPhpError();
512 }
513 return $result;
514 }
515
516
517 /**
518 * eio_fstatvfs returns file system statistics in
519 * result of callback.
520 *
521 * @param mixed $fd A file descriptor of a file within the mounted file system.
522 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
523 * If NULL passed, pri internally is set to
524 * EIO_PRI_DEFAULT.
525 * @param callable $callback
526 * callback function is called when the request is done.
527 * It should match the following prototype:
528 *
529 *
530 * data
531 * is custom data passed to the request.
532 *
533 *
534 * result
535 * request-specific result value; basically, the value returned by corresponding
536 * system call.
537 *
538 *
539 * req
540 * is optional request resource which can be used with functions like eio_get_last_error
541 *
542 *
543 *
544 * is custom data passed to the request.
545 *
546 * request-specific result value; basically, the value returned by corresponding
547 * system call.
548 *
549 * is optional request resource which can be used with functions like eio_get_last_error
550 * @param mixed $data is custom data passed to the request.
551 * @return resource eio_fstatvfs returns request resource on success.
552 * @throws EioException
553 *
554 */
555 function eio_fstatvfs($fd, int $pri, callable $callback, $data = null)
556 {
557 error_clear_last();
558 if ($data !== null) {
559 $result = \eio_fstatvfs($fd, $pri, $callback, $data);
560 } else {
561 $result = \eio_fstatvfs($fd, $pri, $callback);
562 }
563 if ($result === false) {
564 throw EioException::createFromPhpError();
565 }
566 return $result;
567 }
568
569
570 /**
571 * Synchronize a file's in-core state with storage device
572 *
573 * @param mixed $fd Stream, Socket resource, or numeric file descriptor.
574 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
575 * If NULL passed, pri internally is set to
576 * EIO_PRI_DEFAULT.
577 * @param callable $callback
578 * callback function is called when the request is done.
579 * It should match the following prototype:
580 *
581 *
582 * data
583 * is custom data passed to the request.
584 *
585 *
586 * result
587 * request-specific result value; basically, the value returned by corresponding
588 * system call.
589 *
590 *
591 * req
592 * is optional request resource which can be used with functions like eio_get_last_error
593 *
594 *
595 *
596 * is custom data passed to the request.
597 *
598 * request-specific result value; basically, the value returned by corresponding
599 * system call.
600 *
601 * is optional request resource which can be used with functions like eio_get_last_error
602 * @param mixed $data is custom data passed to the request.
603 * @return resource eio_fsync returns request resource on success.
604 * @throws EioException
605 *
606 */
607 function eio_fsync($fd, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
608 {
609 error_clear_last();
610 $result = \eio_fsync($fd, $pri, $callback, $data);
611 if ($result === false) {
612 throw EioException::createFromPhpError();
613 }
614 return $result;
615 }
616
617
618 /**
619 * eio_ftruncate causes a regular file referenced by
620 * fd file descriptor to be truncated to precisely
621 * length bytes.
622 *
623 * @param mixed $fd Stream, Socket resource, or numeric file descriptor.
624 * @param int $offset Offset from beginning of the file
625 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
626 * If NULL passed, pri internally is set to
627 * EIO_PRI_DEFAULT.
628 * @param callable $callback
629 * callback function is called when the request is done.
630 * It should match the following prototype:
631 *
632 *
633 * data
634 * is custom data passed to the request.
635 *
636 *
637 * result
638 * request-specific result value; basically, the value returned by corresponding
639 * system call.
640 *
641 *
642 * req
643 * is optional request resource which can be used with functions like eio_get_last_error
644 *
645 *
646 *
647 * is custom data passed to the request.
648 *
649 * request-specific result value; basically, the value returned by corresponding
650 * system call.
651 *
652 * is optional request resource which can be used with functions like eio_get_last_error
653 * @param mixed $data is custom data passed to the request.
654 * @return resource eio_ftruncate returns request resource on success.
655 * @throws EioException
656 *
657 */
658 function eio_ftruncate($fd, int $offset = 0, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
659 {
660 error_clear_last();
661 $result = \eio_ftruncate($fd, $offset, $pri, $callback, $data);
662 if ($result === false) {
663 throw EioException::createFromPhpError();
664 }
665 return $result;
666 }
667
668
669 /**
670 * eio_futime changes file last access and modification
671 * times.
672 *
673 * @param mixed $fd Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open
674 * @param float $atime Access time
675 * @param float $mtime Modification time
676 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
677 * If NULL passed, pri internally is set to
678 * EIO_PRI_DEFAULT.
679 * @param callable $callback
680 * callback function is called when the request is done.
681 * It should match the following prototype:
682 *
683 *
684 * data
685 * is custom data passed to the request.
686 *
687 *
688 * result
689 * request-specific result value; basically, the value returned by corresponding
690 * system call.
691 *
692 *
693 * req
694 * is optional request resource which can be used with functions like eio_get_last_error
695 *
696 *
697 *
698 * is custom data passed to the request.
699 *
700 * request-specific result value; basically, the value returned by corresponding
701 * system call.
702 *
703 * is optional request resource which can be used with functions like eio_get_last_error
704 * @param mixed $data is custom data passed to the request.
705 * @return resource eio_futime returns request resource on success.
706 * @throws EioException
707 *
708 */
709 function eio_futime($fd, float $atime, float $mtime, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
710 {
711 error_clear_last();
712 $result = \eio_futime($fd, $atime, $mtime, $pri, $callback, $data);
713 if ($result === false) {
714 throw EioException::createFromPhpError();
715 }
716 return $result;
717 }
718
719
720 /**
721 * eio_grp creates a request group.
722 *
723 * @param callable $callback
724 * callback function is called when the request is done.
725 * It should match the following prototype:
726 *
727 *
728 * data
729 * is custom data passed to the request.
730 *
731 *
732 * result
733 * request-specific result value; basically, the value returned by corresponding
734 * system call.
735 *
736 *
737 * req
738 * is optional request resource which can be used with functions like eio_get_last_error
739 *
740 *
741 *
742 * is custom data passed to the request.
743 *
744 * request-specific result value; basically, the value returned by corresponding
745 * system call.
746 *
747 * is optional request resource which can be used with functions like eio_get_last_error
748 * @param string $data is custom data passed to the request.
749 * @return resource eio_grp returns request group resource on success.
750 * @throws EioException
751 *
752 */
753 function eio_grp(callable $callback, string $data = null)
754 {
755 error_clear_last();
756 $result = \eio_grp($callback, $data);
757 if ($result === false) {
758 throw EioException::createFromPhpError();
759 }
760 return $result;
761 }
762
763
764 /**
765 * eio_lstat returns file status information in
766 * result argument of callback
767 *
768 * @param string $path The file path
769 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
770 * If NULL passed, pri internally is set to
771 * EIO_PRI_DEFAULT.
772 * @param callable $callback
773 * callback function is called when the request is done.
774 * It should match the following prototype:
775 *
776 *
777 * data
778 * is custom data passed to the request.
779 *
780 *
781 * result
782 * request-specific result value; basically, the value returned by corresponding
783 * system call.
784 *
785 *
786 * req
787 * is optional request resource which can be used with functions like eio_get_last_error
788 *
789 *
790 *
791 * is custom data passed to the request.
792 *
793 * request-specific result value; basically, the value returned by corresponding
794 * system call.
795 *
796 * is optional request resource which can be used with functions like eio_get_last_error
797 * @param mixed $data is custom data passed to the request.
798 * @return resource eio_lstat returns request resource on success.
799 * @throws EioException
800 *
801 */
802 function eio_lstat(string $path, int $pri, callable $callback, $data = null)
803 {
804 error_clear_last();
805 $result = \eio_lstat($path, $pri, $callback, $data);
806 if ($result === false) {
807 throw EioException::createFromPhpError();
808 }
809 return $result;
810 }
811
812
813 /**
814 * eio_mkdir creates directory with specified access
815 * mode.
816 *
817 * @param string $path Path for the new directory.
818 * @param int $mode Access mode, e.g. 0755
819 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
820 * If NULL passed, pri internally is set to
821 * EIO_PRI_DEFAULT.
822 * @param callable $callback
823 * callback function is called when the request is done.
824 * It should match the following prototype:
825 *
826 *
827 * data
828 * is custom data passed to the request.
829 *
830 *
831 * result
832 * request-specific result value; basically, the value returned by corresponding
833 * system call.
834 *
835 *
836 * req
837 * is optional request resource which can be used with functions like eio_get_last_error
838 *
839 *
840 *
841 * is custom data passed to the request.
842 *
843 * request-specific result value; basically, the value returned by corresponding
844 * system call.
845 *
846 * is optional request resource which can be used with functions like eio_get_last_error
847 * @param mixed $data is custom data passed to the request.
848 * @return resource eio_mkdir returns request resource on success.
849 * @throws EioException
850 *
851 */
852 function eio_mkdir(string $path, int $mode, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
853 {
854 error_clear_last();
855 $result = \eio_mkdir($path, $mode, $pri, $callback, $data);
856 if ($result === false) {
857 throw EioException::createFromPhpError();
858 }
859 return $result;
860 }
861
862
863 /**
864 * eio_mknod creates ordinary or special(often) file.
865 *
866 * @param string $path Path for the new node(file).
867 * @param int $mode Specifies both the permissions to use and the type of node to be
868 * created. It should be a combination (using bitwise OR) of one of the
869 * file types listed below and the permissions for the new node(e.g. 0640).
870 *
871 * Possible file types are: EIO_S_IFREG(regular file),
872 * EIO_S_IFCHR(character file),
873 * EIO_S_IFBLK(block special file),
874 * EIO_S_IFIFO(FIFO - named pipe) and
875 * EIO_S_IFSOCK(UNIX domain socket).
876 *
877 * To specify permissions EIO_S_I* constants could be
878 * used.
879 * @param int $dev If the file type is EIO_S_IFCHR or
880 * EIO_S_IFBLK then dev specifies the major and minor
881 * numbers of the newly created device special file. Otherwise
882 * dev ignored. See mknod(2) man page for
883 * details.
884 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
885 * If NULL passed, pri internally is set to
886 * EIO_PRI_DEFAULT.
887 * @param callable $callback
888 * callback function is called when the request is done.
889 * It should match the following prototype:
890 *
891 *
892 * data
893 * is custom data passed to the request.
894 *
895 *
896 * result
897 * request-specific result value; basically, the value returned by corresponding
898 * system call.
899 *
900 *
901 * req
902 * is optional request resource which can be used with functions like eio_get_last_error
903 *
904 *
905 *
906 * is custom data passed to the request.
907 *
908 * request-specific result value; basically, the value returned by corresponding
909 * system call.
910 *
911 * is optional request resource which can be used with functions like eio_get_last_error
912 * @param mixed $data is custom data passed to the request.
913 * @return resource eio_mknod returns request resource on success.
914 * @throws EioException
915 *
916 */
917 function eio_mknod(string $path, int $mode, int $dev, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
918 {
919 error_clear_last();
920 $result = \eio_mknod($path, $mode, $dev, $pri, $callback, $data);
921 if ($result === false) {
922 throw EioException::createFromPhpError();
923 }
924 return $result;
925 }
926
927
928 /**
929 * eio_nop does nothing, except go through the whole
930 * request cycle. Could be useful in debugging.
931 *
932 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
933 * If NULL passed, pri internally is set to
934 * EIO_PRI_DEFAULT.
935 * @param callable $callback
936 * callback function is called when the request is done.
937 * It should match the following prototype:
938 *
939 *
940 * data
941 * is custom data passed to the request.
942 *
943 *
944 * result
945 * request-specific result value; basically, the value returned by corresponding
946 * system call.
947 *
948 *
949 * req
950 * is optional request resource which can be used with functions like eio_get_last_error
951 *
952 *
953 *
954 * is custom data passed to the request.
955 *
956 * request-specific result value; basically, the value returned by corresponding
957 * system call.
958 *
959 * is optional request resource which can be used with functions like eio_get_last_error
960 * @param mixed $data is custom data passed to the request.
961 * @return resource eio_nop returns request resource on success.
962 * @throws EioException
963 *
964 */
965 function eio_nop(int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
966 {
967 error_clear_last();
968 $result = \eio_nop($pri, $callback, $data);
969 if ($result === false) {
970 throw EioException::createFromPhpError();
971 }
972 return $result;
973 }
974
975
976 /**
977 * eio_readahead populates the page cache with data from a file so that subsequent reads from
978 * that file will not block on disk I/O. See READAHEAD(2) man page for details.
979 *
980 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
981 * @param int $offset Starting point from which data is to be read.
982 * @param int $length Number of bytes to be read.
983 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
984 * If NULL passed, pri internally is set to
985 * EIO_PRI_DEFAULT.
986 * @param callable $callback
987 * callback function is called when the request is done.
988 * It should match the following prototype:
989 *
990 *
991 * data
992 * is custom data passed to the request.
993 *
994 *
995 * result
996 * request-specific result value; basically, the value returned by corresponding
997 * system call.
998 *
999 *
1000 * req
1001 * is optional request resource which can be used with functions like eio_get_last_error
1002 *
1003 *
1004 *
1005 * is custom data passed to the request.
1006 *
1007 * request-specific result value; basically, the value returned by corresponding
1008 * system call.
1009 *
1010 * is optional request resource which can be used with functions like eio_get_last_error
1011 * @param mixed $data is custom data passed to the request.
1012 * @return resource eio_readahead returns request resource on success.
1013 * @throws EioException
1014 *
1015 */
1016 function eio_readahead($fd, int $offset, int $length, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1017 {
1018 error_clear_last();
1019 $result = \eio_readahead($fd, $offset, $length, $pri, $callback, $data);
1020 if ($result === false) {
1021 throw EioException::createFromPhpError();
1022 }
1023 return $result;
1024 }
1025
1026
1027 /**
1028 * Reads through a whole directory(via the opendir, readdir and
1029 * closedir system calls) and returns either the names or an array in
1030 * result argument of callback
1031 * function, depending on the flags argument.
1032 *
1033 * @param string $path Directory path.
1034 * @param int $flags Combination of EIO_READDIR_* constants.
1035 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1036 * If NULL passed, pri internally is set to
1037 * EIO_PRI_DEFAULT.
1038 * @param callable $callback
1039 * callback function is called when the request is done.
1040 * It should match the following prototype:
1041 *
1042 *
1043 * data
1044 * is custom data passed to the request.
1045 *
1046 *
1047 * result
1048 * request-specific result value; basically, the value returned by corresponding
1049 * system call.
1050 *
1051 *
1052 * req
1053 * is optional request resource which can be used with functions like eio_get_last_error
1054 *
1055 *
1056 *
1057 * is custom data passed to the request.
1058 *
1059 * request-specific result value; basically, the value returned by corresponding
1060 * system call.
1061 *
1062 * is optional request resource which can be used with functions like eio_get_last_error
1063 * @param string $data is custom data passed to the request.
1064 * @return resource eio_readdir returns request resource on success. Sets result argument of
1065 * callback function according to
1066 * flags:
1067 *
1068 *
1069 *
1070 *
1071 *
1072 *
1073 * EIO_READDIR_DENTS
1074 * (integer)
1075 *
1076 *
1077 *
1078 * eio_readdir flag. If specified, the result argument of the callback
1079 * becomes an array with the following keys:
1080 * 'names' - array of directory names
1081 * 'dents' - array of struct
1082 * eio_dirent-like arrays having the following keys each:
1083 * 'name' - the directory name;
1084 * 'type' - one of EIO_DT_*
1085 * constants;
1086 * 'inode' - the inode number, if available, otherwise
1087 * unspecified;
1088 *
1089 *
1090 *
1091 *
1092 *
1093 * EIO_READDIR_DIRS_FIRST
1094 * (integer)
1095 *
1096 *
1097 *
1098 * When this flag is specified, the names will be returned in an order
1099 * where likely directories come first, in optimal stat order.
1100 *
1101 *
1102 *
1103 *
1104 *
1105 * EIO_READDIR_STAT_ORDER
1106 * (integer)
1107 *
1108 *
1109 *
1110 * When this flag is specified, then the names will be returned in an order
1111 * suitable for stat'ing each one. When planning to
1112 * stat all files in the given directory, the
1113 * returned order will likely be
1114 * fastest.
1115 *
1116 *
1117 *
1118 *
1119 *
1120 * EIO_READDIR_FOUND_UNKNOWN
1121 * (integer)
1122 *
1123 *
1124 *
1125 *
1126 *
1127 *
1128 *
1129 *
1130 *
1131 *
1132 *
1133 * Node types:
1134 *
1135 *
1136 *
1137 *
1138 *
1139 * EIO_DT_UNKNOWN
1140 * (integer)
1141 *
1142 *
1143 *
1144 * Unknown node type(very common). Further stat needed.
1145 *
1146 *
1147 *
1148 *
1149 *
1150 * EIO_DT_FIFO
1151 * (integer)
1152 *
1153 *
1154 *
1155 * FIFO node type
1156 *
1157 *
1158 *
1159 *
1160 *
1161 * EIO_DT_CHR
1162 * (integer)
1163 *
1164 *
1165 *
1166 * Node type
1167 *
1168 *
1169 *
1170 *
1171 *
1172 * EIO_DT_MPC
1173 * (integer)
1174 *
1175 *
1176 *
1177 * Multiplexed char device (v7+coherent) node type
1178 *
1179 *
1180 *
1181 *
1182 *
1183 * EIO_DT_DIR
1184 * (integer)
1185 *
1186 *
1187 *
1188 * Directory node type
1189 *
1190 *
1191 *
1192 *
1193 *
1194 * EIO_DT_NAM
1195 * (integer)
1196 *
1197 *
1198 *
1199 * Xenix special named file node type
1200 *
1201 *
1202 *
1203 *
1204 *
1205 * EIO_DT_BLK
1206 * (integer)
1207 *
1208 *
1209 *
1210 * Node type
1211 *
1212 *
1213 *
1214 *
1215 *
1216 * EIO_DT_MPB
1217 * (integer)
1218 *
1219 *
1220 *
1221 * Multiplexed block device (v7+coherent)
1222 *
1223 *
1224 *
1225 *
1226 *
1227 * EIO_DT_REG
1228 * (integer)
1229 *
1230 *
1231 *
1232 * Node type
1233 *
1234 *
1235 *
1236 *
1237 *
1238 * EIO_DT_NWK
1239 * (integer)
1240 *
1241 *
1242 *
1243 *
1244 *
1245 *
1246 *
1247 *
1248 * EIO_DT_CMP
1249 * (integer)
1250 *
1251 *
1252 *
1253 * HP-UX network special node type
1254 *
1255 *
1256 *
1257 *
1258 *
1259 * EIO_DT_LNK
1260 * (integer)
1261 *
1262 *
1263 *
1264 * Link node type
1265 *
1266 *
1267 *
1268 *
1269 *
1270 * EIO_DT_SOCK
1271 * (integer)
1272 *
1273 *
1274 *
1275 * Socket node type
1276 *
1277 *
1278 *
1279 *
1280 *
1281 * EIO_DT_DOOR
1282 * (integer)
1283 *
1284 *
1285 *
1286 * Solaris door node type
1287 *
1288 *
1289 *
1290 *
1291 *
1292 * EIO_DT_WHT
1293 * (integer)
1294 *
1295 *
1296 *
1297 * Node type
1298 *
1299 *
1300 *
1301 *
1302 *
1303 * EIO_DT_MAX
1304 * (integer)
1305 *
1306 *
1307 *
1308 * Highest node type value
1309 *
1310 *
1311 *
1312 *
1313 *
1314 *
1315 *
1316 * @throws EioException
1317 *
1318 */
1319 function eio_readdir(string $path, int $flags, int $pri, callable $callback, string $data = null)
1320 {
1321 error_clear_last();
1322 $result = \eio_readdir($path, $flags, $pri, $callback, $data);
1323 if ($result === false) {
1324 throw EioException::createFromPhpError();
1325 }
1326 return $result;
1327 }
1328
1329
1330 /**
1331 *
1332 *
1333 * @param string $path Source symbolic link path
1334 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1335 * If NULL passed, pri internally is set to
1336 * EIO_PRI_DEFAULT.
1337 * @param callable $callback
1338 * callback function is called when the request is done.
1339 * It should match the following prototype:
1340 *
1341 *
1342 * data
1343 * is custom data passed to the request.
1344 *
1345 *
1346 * result
1347 * request-specific result value; basically, the value returned by corresponding
1348 * system call.
1349 *
1350 *
1351 * req
1352 * is optional request resource which can be used with functions like eio_get_last_error
1353 *
1354 *
1355 *
1356 * is custom data passed to the request.
1357 *
1358 * request-specific result value; basically, the value returned by corresponding
1359 * system call.
1360 *
1361 * is optional request resource which can be used with functions like eio_get_last_error
1362 * @param string $data is custom data passed to the request.
1363 * @return resource eio_readlink returns request resource on success.
1364 * @throws EioException
1365 *
1366 */
1367 function eio_readlink(string $path, int $pri, callable $callback, string $data = null)
1368 {
1369 error_clear_last();
1370 $result = \eio_readlink($path, $pri, $callback, $data);
1371 if ($result === false) {
1372 throw EioException::createFromPhpError();
1373 }
1374 return $result;
1375 }
1376
1377
1378 /**
1379 * eio_rename renames or moves a file to new location.
1380 *
1381 * @param string $path Source path
1382 * @param string $new_path Target path
1383 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1384 * If NULL passed, pri internally is set to
1385 * EIO_PRI_DEFAULT.
1386 * @param callable $callback
1387 * callback function is called when the request is done.
1388 * It should match the following prototype:
1389 *
1390 *
1391 * data
1392 * is custom data passed to the request.
1393 *
1394 *
1395 * result
1396 * request-specific result value; basically, the value returned by corresponding
1397 * system call.
1398 *
1399 *
1400 * req
1401 * is optional request resource which can be used with functions like eio_get_last_error
1402 *
1403 *
1404 *
1405 * is custom data passed to the request.
1406 *
1407 * request-specific result value; basically, the value returned by corresponding
1408 * system call.
1409 *
1410 * is optional request resource which can be used with functions like eio_get_last_error
1411 * @param mixed $data is custom data passed to the request.
1412 * @return resource eio_rename returns request resource on success.
1413 * @throws EioException
1414 *
1415 */
1416 function eio_rename(string $path, string $new_path, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1417 {
1418 error_clear_last();
1419 $result = \eio_rename($path, $new_path, $pri, $callback, $data);
1420 if ($result === false) {
1421 throw EioException::createFromPhpError();
1422 }
1423 return $result;
1424 }
1425
1426
1427 /**
1428 * eio_rmdir removes a directory.
1429 *
1430 * @param string $path Directory path
1431 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1432 * If NULL passed, pri internally is set to
1433 * EIO_PRI_DEFAULT.
1434 * @param callable $callback
1435 * callback function is called when the request is done.
1436 * It should match the following prototype:
1437 *
1438 *
1439 * data
1440 * is custom data passed to the request.
1441 *
1442 *
1443 * result
1444 * request-specific result value; basically, the value returned by corresponding
1445 * system call.
1446 *
1447 *
1448 * req
1449 * is optional request resource which can be used with functions like eio_get_last_error
1450 *
1451 *
1452 *
1453 * is custom data passed to the request.
1454 *
1455 * request-specific result value; basically, the value returned by corresponding
1456 * system call.
1457 *
1458 * is optional request resource which can be used with functions like eio_get_last_error
1459 * @param mixed $data is custom data passed to the request.
1460 * @return resource eio_rmdir returns request resource on success.
1461 * @throws EioException
1462 *
1463 */
1464 function eio_rmdir(string $path, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1465 {
1466 error_clear_last();
1467 $result = \eio_rmdir($path, $pri, $callback, $data);
1468 if ($result === false) {
1469 throw EioException::createFromPhpError();
1470 }
1471 return $result;
1472 }
1473
1474
1475 /**
1476 * eio_seek repositions the offset of the open file associated with
1477 * stream, Socket resource, or file descriptor specified by fd to the argument offset according to the directive whence as follows:
1478 *
1479 * EIO_SEEK_SET - Set position equal to offset bytes.
1480 * EIO_SEEK_CUR - Set position to current location plus offset.
1481 * EIO_SEEK_END - Set position to end-of-file plus offset.
1482 *
1483 *
1484 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
1485 * @param int $offset Starting point from which data is to be read.
1486 * @param int $whence Number of bytes to be read.
1487 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1488 * If NULL passed, pri internally is set to
1489 * EIO_PRI_DEFAULT.
1490 * @param callable $callback
1491 * callback function is called when the request is done.
1492 * It should match the following prototype:
1493 *
1494 *
1495 * data
1496 * is custom data passed to the request.
1497 *
1498 *
1499 * result
1500 * request-specific result value; basically, the value returned by corresponding
1501 * system call.
1502 *
1503 *
1504 * req
1505 * is optional request resource which can be used with functions like eio_get_last_error
1506 *
1507 *
1508 *
1509 * is custom data passed to the request.
1510 *
1511 * request-specific result value; basically, the value returned by corresponding
1512 * system call.
1513 *
1514 * is optional request resource which can be used with functions like eio_get_last_error
1515 * @param mixed $data is custom data passed to the request.
1516 * @return resource eio_seek returns request resource on success.
1517 * @throws EioException
1518 *
1519 */
1520 function eio_seek($fd, int $offset, int $whence, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1521 {
1522 error_clear_last();
1523 $result = \eio_seek($fd, $offset, $whence, $pri, $callback, $data);
1524 if ($result === false) {
1525 throw EioException::createFromPhpError();
1526 }
1527 return $result;
1528 }
1529
1530
1531 /**
1532 * eio_sendfile copies data between one file descriptor
1533 * and another. See SENDFILE(2) man page for details.
1534 *
1535 * @param mixed $out_fd Output stream, Socket resource, or file descriptor. Should be opened for writing.
1536 * @param mixed $in_fd Input stream, Socket resource, or file descriptor. Should be opened for reading.
1537 * @param int $offset Offset within the source file.
1538 * @param int $length Number of bytes to copy.
1539 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1540 * If NULL passed, pri internally is set to
1541 * EIO_PRI_DEFAULT.
1542 * @param callable $callback
1543 * callback function is called when the request is done.
1544 * It should match the following prototype:
1545 *
1546 *
1547 * data
1548 * is custom data passed to the request.
1549 *
1550 *
1551 * result
1552 * request-specific result value; basically, the value returned by corresponding
1553 * system call.
1554 *
1555 *
1556 * req
1557 * is optional request resource which can be used with functions like eio_get_last_error
1558 *
1559 *
1560 *
1561 * is custom data passed to the request.
1562 *
1563 * request-specific result value; basically, the value returned by corresponding
1564 * system call.
1565 *
1566 * is optional request resource which can be used with functions like eio_get_last_error
1567 * @param string $data is custom data passed to the request.
1568 * @return resource eio_sendfile returns request resource on success.
1569 * @throws EioException
1570 *
1571 */
1572 function eio_sendfile($out_fd, $in_fd, int $offset, int $length, int $pri = null, callable $callback = null, string $data = null)
1573 {
1574 error_clear_last();
1575 if ($data !== null) {
1576 $result = \eio_sendfile($out_fd, $in_fd, $offset, $length, $pri, $callback, $data);
1577 } elseif ($callback !== null) {
1578 $result = \eio_sendfile($out_fd, $in_fd, $offset, $length, $pri, $callback);
1579 } elseif ($pri !== null) {
1580 $result = \eio_sendfile($out_fd, $in_fd, $offset, $length, $pri);
1581 } else {
1582 $result = \eio_sendfile($out_fd, $in_fd, $offset, $length);
1583 }
1584 if ($result === false) {
1585 throw EioException::createFromPhpError();
1586 }
1587 return $result;
1588 }
1589
1590
1591 /**
1592 * eio_stat returns file status information in
1593 * result argument of callback
1594 *
1595 * @param string $path The file path
1596 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1597 * If NULL passed, pri internally is set to
1598 * EIO_PRI_DEFAULT.
1599 * @param callable $callback
1600 * callback function is called when the request is done.
1601 * It should match the following prototype:
1602 *
1603 *
1604 * data
1605 * is custom data passed to the request.
1606 *
1607 *
1608 * result
1609 * request-specific result value; basically, the value returned by corresponding
1610 * system call.
1611 *
1612 *
1613 * req
1614 * is optional request resource which can be used with functions like eio_get_last_error
1615 *
1616 *
1617 *
1618 * is custom data passed to the request.
1619 *
1620 * request-specific result value; basically, the value returned by corresponding
1621 * system call.
1622 *
1623 * is optional request resource which can be used with functions like eio_get_last_error
1624 * @param mixed $data is custom data passed to the request.
1625 * @return resource eio_stat returns request resource on success. On success assigns result argument of
1626 * callback to an array.
1627 * @throws EioException
1628 *
1629 */
1630 function eio_stat(string $path, int $pri, callable $callback, $data = null)
1631 {
1632 error_clear_last();
1633 $result = \eio_stat($path, $pri, $callback, $data);
1634 if ($result === false) {
1635 throw EioException::createFromPhpError();
1636 }
1637 return $result;
1638 }
1639
1640
1641 /**
1642 * eio_statvfs returns file system statistics information in
1643 * result argument of callback
1644 *
1645 * @param string $path Pathname of any file within the mounted file system
1646 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1647 * If NULL passed, pri internally is set to
1648 * EIO_PRI_DEFAULT.
1649 * @param callable $callback
1650 * callback function is called when the request is done.
1651 * It should match the following prototype:
1652 *
1653 *
1654 * data
1655 * is custom data passed to the request.
1656 *
1657 *
1658 * result
1659 * request-specific result value; basically, the value returned by corresponding
1660 * system call.
1661 *
1662 *
1663 * req
1664 * is optional request resource which can be used with functions like eio_get_last_error
1665 *
1666 *
1667 *
1668 * is custom data passed to the request.
1669 *
1670 * request-specific result value; basically, the value returned by corresponding
1671 * system call.
1672 *
1673 * is optional request resource which can be used with functions like eio_get_last_error
1674 * @param mixed $data is custom data passed to the request.
1675 * @return resource eio_statvfs returns request resource on success. On success assigns result argument of
1676 * callback to an array.
1677 * @throws EioException
1678 *
1679 */
1680 function eio_statvfs(string $path, int $pri, callable $callback, $data = null)
1681 {
1682 error_clear_last();
1683 if ($data !== null) {
1684 $result = \eio_statvfs($path, $pri, $callback, $data);
1685 } else {
1686 $result = \eio_statvfs($path, $pri, $callback);
1687 }
1688 if ($result === false) {
1689 throw EioException::createFromPhpError();
1690 }
1691 return $result;
1692 }
1693
1694
1695 /**
1696 * eio_symlink creates a symbolic link
1697 * new_path to path.
1698 *
1699 * @param string $path Source path
1700 * @param string $new_path Target path
1701 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1702 * If NULL passed, pri internally is set to
1703 * EIO_PRI_DEFAULT.
1704 * @param callable $callback
1705 * callback function is called when the request is done.
1706 * It should match the following prototype:
1707 *
1708 *
1709 * data
1710 * is custom data passed to the request.
1711 *
1712 *
1713 * result
1714 * request-specific result value; basically, the value returned by corresponding
1715 * system call.
1716 *
1717 *
1718 * req
1719 * is optional request resource which can be used with functions like eio_get_last_error
1720 *
1721 *
1722 *
1723 * is custom data passed to the request.
1724 *
1725 * request-specific result value; basically, the value returned by corresponding
1726 * system call.
1727 *
1728 * is optional request resource which can be used with functions like eio_get_last_error
1729 * @param mixed $data is custom data passed to the request.
1730 * @return resource eio_symlink returns request resource on success.
1731 * @throws EioException
1732 *
1733 */
1734 function eio_symlink(string $path, string $new_path, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1735 {
1736 error_clear_last();
1737 $result = \eio_symlink($path, $new_path, $pri, $callback, $data);
1738 if ($result === false) {
1739 throw EioException::createFromPhpError();
1740 }
1741 return $result;
1742 }
1743
1744
1745 /**
1746 * eio_sync_file_range permits fine control when synchronizing the open file referred to by the file
1747 * descriptor fd with disk.
1748 *
1749 * @param mixed $fd File descriptor
1750 * @param int $offset The starting byte of the file range to be synchronized
1751 * @param int $nbytes Specifies the length of the range to be synchronized, in bytes. If
1752 * nbytes is zero, then all bytes from offset through
1753 * to the end of file are synchronized.
1754 * @param int $flags A bit-mask. Can include any of the following values:
1755 * EIO_SYNC_FILE_RANGE_WAIT_BEFORE,
1756 * EIO_SYNC_FILE_RANGE_WRITE,
1757 * EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have
1758 * the same meaning as their SYNC_FILE_RANGE_*
1759 * counterparts(see SYNC_FILE_RANGE(2) man page).
1760 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1761 * If NULL passed, pri internally is set to
1762 * EIO_PRI_DEFAULT.
1763 * @param callable $callback
1764 * callback function is called when the request is done.
1765 * It should match the following prototype:
1766 *
1767 *
1768 * data
1769 * is custom data passed to the request.
1770 *
1771 *
1772 * result
1773 * request-specific result value; basically, the value returned by corresponding
1774 * system call.
1775 *
1776 *
1777 * req
1778 * is optional request resource which can be used with functions like eio_get_last_error
1779 *
1780 *
1781 *
1782 * is custom data passed to the request.
1783 *
1784 * request-specific result value; basically, the value returned by corresponding
1785 * system call.
1786 *
1787 * is optional request resource which can be used with functions like eio_get_last_error
1788 * @param mixed $data is custom data passed to the request.
1789 * @return resource eio_sync_file_range returns request resource on success.
1790 * @throws EioException
1791 *
1792 */
1793 function eio_sync_file_range($fd, int $offset, int $nbytes, int $flags, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1794 {
1795 error_clear_last();
1796 $result = \eio_sync_file_range($fd, $offset, $nbytes, $flags, $pri, $callback, $data);
1797 if ($result === false) {
1798 throw EioException::createFromPhpError();
1799 }
1800 return $result;
1801 }
1802
1803
1804 /**
1805 *
1806 *
1807 * @param int $pri
1808 * @param callable $callback
1809 * @param mixed $data
1810 * @return resource eio_sync returns request resource on success.
1811 * @throws EioException
1812 *
1813 */
1814 function eio_sync(int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1815 {
1816 error_clear_last();
1817 $result = \eio_sync($pri, $callback, $data);
1818 if ($result === false) {
1819 throw EioException::createFromPhpError();
1820 }
1821 return $result;
1822 }
1823
1824
1825 /**
1826 *
1827 *
1828 * @param mixed $fd File descriptor
1829 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1830 * If NULL passed, pri internally is set to
1831 * EIO_PRI_DEFAULT.
1832 * @param callable $callback
1833 * callback function is called when the request is done.
1834 * It should match the following prototype:
1835 *
1836 *
1837 * data
1838 * is custom data passed to the request.
1839 *
1840 *
1841 * result
1842 * request-specific result value; basically, the value returned by corresponding
1843 * system call.
1844 *
1845 *
1846 * req
1847 * is optional request resource which can be used with functions like eio_get_last_error
1848 *
1849 *
1850 *
1851 * is custom data passed to the request.
1852 *
1853 * request-specific result value; basically, the value returned by corresponding
1854 * system call.
1855 *
1856 * is optional request resource which can be used with functions like eio_get_last_error
1857 * @param mixed $data is custom data passed to the request.
1858 * @return resource eio_syncfs returns request resource on success.
1859 * @throws EioException
1860 *
1861 */
1862 function eio_syncfs($fd, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1863 {
1864 error_clear_last();
1865 $result = \eio_syncfs($fd, $pri, $callback, $data);
1866 if ($result === false) {
1867 throw EioException::createFromPhpError();
1868 }
1869 return $result;
1870 }
1871
1872
1873 /**
1874 * eio_truncate causes the regular file named by path to be truncated to
1875 * a size of precisely length bytes
1876 *
1877 * @param string $path File path
1878 * @param int $offset Offset from beginning of the file.
1879 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1880 * If NULL passed, pri internally is set to
1881 * EIO_PRI_DEFAULT.
1882 * @param callable $callback
1883 * callback function is called when the request is done.
1884 * It should match the following prototype:
1885 *
1886 *
1887 * data
1888 * is custom data passed to the request.
1889 *
1890 *
1891 * result
1892 * request-specific result value; basically, the value returned by corresponding
1893 * system call.
1894 *
1895 *
1896 * req
1897 * is optional request resource which can be used with functions like eio_get_last_error
1898 *
1899 *
1900 *
1901 * is custom data passed to the request.
1902 *
1903 * request-specific result value; basically, the value returned by corresponding
1904 * system call.
1905 *
1906 * is optional request resource which can be used with functions like eio_get_last_error
1907 * @param mixed $data is custom data passed to the request.
1908 * @return resource eio_busy returns request resource on success.
1909 * @throws EioException
1910 *
1911 */
1912 function eio_truncate(string $path, int $offset = 0, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1913 {
1914 error_clear_last();
1915 $result = \eio_truncate($path, $offset, $pri, $callback, $data);
1916 if ($result === false) {
1917 throw EioException::createFromPhpError();
1918 }
1919 return $result;
1920 }
1921
1922
1923 /**
1924 * eio_unlink deletes a name from the file system.
1925 *
1926 * @param string $path Path to file
1927 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1928 * If NULL passed, pri internally is set to
1929 * EIO_PRI_DEFAULT.
1930 * @param callable $callback
1931 * callback function is called when the request is done.
1932 * It should match the following prototype:
1933 *
1934 *
1935 * data
1936 * is custom data passed to the request.
1937 *
1938 *
1939 * result
1940 * request-specific result value; basically, the value returned by corresponding
1941 * system call.
1942 *
1943 *
1944 * req
1945 * is optional request resource which can be used with functions like eio_get_last_error
1946 *
1947 *
1948 *
1949 * is custom data passed to the request.
1950 *
1951 * request-specific result value; basically, the value returned by corresponding
1952 * system call.
1953 *
1954 * is optional request resource which can be used with functions like eio_get_last_error
1955 * @param mixed $data is custom data passed to the request.
1956 * @return resource eio_unlink returns request resource on success.
1957 * @throws EioException
1958 *
1959 */
1960 function eio_unlink(string $path, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
1961 {
1962 error_clear_last();
1963 $result = \eio_unlink($path, $pri, $callback, $data);
1964 if ($result === false) {
1965 throw EioException::createFromPhpError();
1966 }
1967 return $result;
1968 }
1969
1970
1971 /**
1972 *
1973 *
1974 * @param string $path Path to the file.
1975 * @param float $atime Access time
1976 * @param float $mtime Modification time
1977 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
1978 * If NULL passed, pri internally is set to
1979 * EIO_PRI_DEFAULT.
1980 * @param callable $callback
1981 * callback function is called when the request is done.
1982 * It should match the following prototype:
1983 *
1984 *
1985 * data
1986 * is custom data passed to the request.
1987 *
1988 *
1989 * result
1990 * request-specific result value; basically, the value returned by corresponding
1991 * system call.
1992 *
1993 *
1994 * req
1995 * is optional request resource which can be used with functions like eio_get_last_error
1996 *
1997 *
1998 *
1999 * is custom data passed to the request.
2000 *
2001 * request-specific result value; basically, the value returned by corresponding
2002 * system call.
2003 *
2004 * is optional request resource which can be used with functions like eio_get_last_error
2005 * @param mixed $data is custom data passed to the request.
2006 * @return resource eio_utime returns request resource on success.
2007 * @throws EioException
2008 *
2009 */
2010 function eio_utime(string $path, float $atime, float $mtime, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
2011 {
2012 error_clear_last();
2013 $result = \eio_utime($path, $atime, $mtime, $pri, $callback, $data);
2014 if ($result === false) {
2015 throw EioException::createFromPhpError();
2016 }
2017 return $result;
2018 }
2019
2020
2021 /**
2022 * eio_write writes up to length
2023 * bytes from str at offset
2024 * offset from the beginning of the file.
2025 *
2026 * @param mixed $fd Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open
2027 * @param string $str Source string
2028 * @param int $length Maximum number of bytes to write.
2029 * @param int $offset Offset from the beginning of file.
2030 * @param int $pri The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or NULL.
2031 * If NULL passed, pri internally is set to
2032 * EIO_PRI_DEFAULT.
2033 * @param callable $callback
2034 * callback function is called when the request is done.
2035 * It should match the following prototype:
2036 *
2037 *
2038 * data
2039 * is custom data passed to the request.
2040 *
2041 *
2042 * result
2043 * request-specific result value; basically, the value returned by corresponding
2044 * system call.
2045 *
2046 *
2047 * req
2048 * is optional request resource which can be used with functions like eio_get_last_error
2049 *
2050 *
2051 *
2052 * is custom data passed to the request.
2053 *
2054 * request-specific result value; basically, the value returned by corresponding
2055 * system call.
2056 *
2057 * is optional request resource which can be used with functions like eio_get_last_error
2058 * @param mixed $data is custom data passed to the request.
2059 * @return resource eio_write returns request resource on success.
2060 * @throws EioException
2061 *
2062 */
2063 function eio_write($fd, string $str, int $length = 0, int $offset = 0, int $pri = EIO_PRI_DEFAULT, callable $callback = null, $data = null)
2064 {
2065 error_clear_last();
2066 $result = \eio_write($fd, $str, $length, $offset, $pri, $callback, $data);
2067 if ($result === false) {
2068 throw EioException::createFromPhpError();
2069 }
2070 return $result;
2071 }
2072