1<?php
2
3/** @generate-class-entries */
4
5/**
6 * @var int
7 * @cvalue PSFS_PASS_ON
8 */
9const PSFS_PASS_ON = UNKNOWN;
10/**
11 * @var int
12 * @cvalue PSFS_FEED_ME
13 */
14const PSFS_FEED_ME = UNKNOWN;
15/**
16 * @var int
17 * @cvalue PSFS_ERR_FATAL
18 */
19const PSFS_ERR_FATAL = UNKNOWN;
20
21/**
22 * @var int
23 * @cvalue PSFS_FLAG_NORMAL
24 */
25const PSFS_FLAG_NORMAL = UNKNOWN;
26/**
27 * @var int
28 * @cvalue PSFS_FLAG_FLUSH_INC
29 */
30const PSFS_FLAG_FLUSH_INC = UNKNOWN;
31/**
32 * @var int
33 * @cvalue PSFS_FLAG_FLUSH_CLOSE
34 */
35const PSFS_FLAG_FLUSH_CLOSE = UNKNOWN;
36
37class php_user_filter
38{
39    public string $filtername = "";
40    public mixed $params = "";
41    /** @var resource|null */
42    public $stream = null;
43
44    /**
45     * @param resource $in
46     * @param resource $out
47     * @param int $consumed
48     * @tentative-return-type
49     */
50    public function filter($in, $out, &$consumed, bool $closing): int {}
51
52    /** @tentative-return-type */
53    public function onCreate(): bool {}
54
55    /** @tentative-return-type */
56    public function onClose(): void {}
57}
58
59final class StreamBucket
60{
61    /**
62     * @var resource
63     * @readonly
64     */
65    public $bucket;
66    /** @readonly */
67    public string $data;
68    /** @readonly */
69    public int $datalen;
70    /** @readonly */
71    public int $dataLength;
72}
73